BLOG | DOCUMENTATION | TRAC

Home --> Documentations --> PJSIP Reference

pjsip_transaction Struct Reference

#include <sip_transaction.h>

Data Fields

pj_pool_tpool
 
pjsip_moduletsx_user
 
pjsip_endpointendpt
 
pj_bool_t terminating
 
pj_grp_lock_tgrp_lock
 
pj_mutex_tmutex_b
 
char obj_name [PJ_MAX_OBJ_NAME]
 
pjsip_role_e role
 
pjsip_method method
 
pj_int32_t cseq
 
pj_str_t transaction_key
 
pj_uint32_t hashed_key
 
pj_str_t branch
 
int status_code
 
pj_str_t status_text
 
pjsip_tsx_state_e state
 
int handle_200resp
 
int tracing
 
pj_status_t(* state_handler )(struct pjsip_transaction *, pjsip_event *)
 
pjsip_transporttransport
 
pj_bool_t is_reliable
 
pj_sockaddr addr
 
int addr_len
 
pjsip_response_addr res_addr
 
unsigned transport_flag
 
pj_status_t transport_err
 
pjsip_tpselector tp_sel
 
pjsip_tx_datapending_tx
 
pjsip_tp_state_listener_keytp_st_key
 
pjsip_tx_datalast_tx
 
int retransmit_count
 
pj_timer_entry retransmit_timer
 
pj_timer_entry timeout_timer
 
void * mod_data [PJSIP_MAX_MODULE]
 

Detailed Description

This structure describes SIP transaction object. The transaction object is used to handle both UAS and UAC transaction.

Forward declaration for transactions (sip_transaction.h).

Field Documentation

pj_pool_t* pjsip_transaction::pool

Pool owned by the tsx.

pjsip_module* pjsip_transaction::tsx_user

Transaction user.

pjsip_endpoint* pjsip_transaction::endpt

Endpoint instance.

pj_bool_t pjsip_transaction::terminating

terminate() was called

pj_grp_lock_t* pjsip_transaction::grp_lock

Transaction grp lock.

pj_mutex_t* pjsip_transaction::mutex_b

Second mutex to avoid deadlock. It is used to protect timer.

char pjsip_transaction::obj_name[PJ_MAX_OBJ_NAME]

Log info.

pjsip_role_e pjsip_transaction::role

Role (UAS or UAC)

pjsip_method pjsip_transaction::method

The method.

pj_int32_t pjsip_transaction::cseq

The CSeq

pj_str_t pjsip_transaction::transaction_key

Hash table key.

pj_uint32_t pjsip_transaction::hashed_key

Key's hashed value.

pj_str_t pjsip_transaction::branch

The branch Id.

int pjsip_transaction::status_code

Last status code seen.

pj_str_t pjsip_transaction::status_text

Last reason phrase.

pjsip_tsx_state_e pjsip_transaction::state

State.

int pjsip_transaction::handle_200resp

UAS 200/INVITE retrsm.

int pjsip_transaction::tracing

Tracing enabled?

pj_status_t(* pjsip_transaction::state_handler) (struct pjsip_transaction *, pjsip_event *)

Handler according to current state.

pjsip_transport* pjsip_transaction::transport

Transport to use.

pj_bool_t pjsip_transaction::is_reliable

Transport is reliable.

pj_sockaddr pjsip_transaction::addr

Destination address.

int pjsip_transaction::addr_len

Address length.

pjsip_response_addr pjsip_transaction::res_addr

Response address.

unsigned pjsip_transaction::transport_flag

Miscelaneous flag.

pj_status_t pjsip_transaction::transport_err

Internal error code.

pjsip_tpselector pjsip_transaction::tp_sel

Transport selector.

pjsip_tx_data* pjsip_transaction::pending_tx

Tdata which caused pending transport flag to be set on tsx.

pjsip_tp_state_listener_key* pjsip_transaction::tp_st_key

Transport state listener key.

pjsip_tx_data* pjsip_transaction::last_tx

Msg kept for retrans.

int pjsip_transaction::retransmit_count

Retransmission count.

pj_timer_entry pjsip_transaction::retransmit_timer

Retransmit timer.

pj_timer_entry pjsip_transaction::timeout_timer

Timeout timer.

void* pjsip_transaction::mod_data[PJSIP_MAX_MODULE]

Module specific data.


The documentation for this struct was generated from the following file:

 


PJSIP Open Source, high performance, small footprint, and very very portable SIP stack
Copyright (C) 2006-2008 Teluu Inc.