BLOG | DOCUMENTATION | GITHUB

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

◆ 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

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.