Home --> Documentations --> PJSIP Reference

pjsip_transaction Struct Reference

#include <sip_transaction.h>

Data Fields

pj_bool_t terminating
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 *)
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
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

◆ pool

pj_pool_t* pjsip_transaction::pool

Pool owned by the tsx.

◆ tsx_user

pjsip_module* pjsip_transaction::tsx_user

Transaction user.

◆ endpt

pjsip_endpoint* pjsip_transaction::endpt

Endpoint instance.

◆ terminating

pj_bool_t pjsip_transaction::terminating

terminate() was called

◆ grp_lock

pj_grp_lock_t* pjsip_transaction::grp_lock

Transaction grp lock.

◆ mutex_b

pj_mutex_t* pjsip_transaction::mutex_b

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

◆ obj_name

char pjsip_transaction::obj_name[PJ_MAX_OBJ_NAME]

Log info.

◆ role

pjsip_role_e pjsip_transaction::role

Role (UAS or UAC)

◆ method

pjsip_method pjsip_transaction::method

The method.

◆ cseq

pj_int32_t pjsip_transaction::cseq

The CSeq

◆ transaction_key

pj_str_t pjsip_transaction::transaction_key

Hash table key.

◆ hashed_key

pj_uint32_t pjsip_transaction::hashed_key

Key's hashed value.

◆ branch

pj_str_t pjsip_transaction::branch

The branch Id.

◆ status_code

int pjsip_transaction::status_code

Last status code seen.

◆ status_text

pj_str_t pjsip_transaction::status_text

Last reason phrase.

◆ state

pjsip_tsx_state_e pjsip_transaction::state


◆ handle_200resp

int pjsip_transaction::handle_200resp

UAS 200/INVITE retrsm.

◆ tracing

int pjsip_transaction::tracing

Tracing enabled?

◆ state_handler

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

Handler according to current state.

◆ transport

pjsip_transport* pjsip_transaction::transport

Transport to use.

◆ is_reliable

pj_bool_t pjsip_transaction::is_reliable

Transport is reliable.

◆ addr

pj_sockaddr pjsip_transaction::addr

Destination address.

◆ addr_len

int pjsip_transaction::addr_len

Address length.

◆ res_addr

pjsip_response_addr pjsip_transaction::res_addr

Response address.

◆ transport_flag

unsigned pjsip_transaction::transport_flag

Miscelaneous flag.

◆ transport_err

pj_status_t pjsip_transaction::transport_err

Internal error code.

◆ tp_sel

pjsip_tpselector pjsip_transaction::tp_sel

Transport selector.

◆ pending_tx

pjsip_tx_data* pjsip_transaction::pending_tx

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

◆ tp_st_key

pjsip_tp_state_listener_key* pjsip_transaction::tp_st_key

Transport state listener key.

◆ last_tx

pjsip_tx_data* pjsip_transaction::last_tx

Msg kept for retrans.

◆ retransmit_count

int pjsip_transaction::retransmit_count

Retransmission count.

◆ retransmit_timer

pj_timer_entry pjsip_transaction::retransmit_timer

Retransmit timer.

◆ timeout_timer

pj_timer_entry pjsip_transaction::timeout_timer

Timeout timer.

◆ mod_data

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.