pjsip logo pjsip.org
Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication

HOME

SIP/media Features
High Performance SIP
Small Footprint SIP
Symbian Port

FAQ

Documentation

Licensing

Download

Development (Trac)

Projects using pjsip

Mailing List

Open Source Links


About: PJLIB, PJLIB-UTIL, PJSIP, and PJMEDIA are created by: Benny Prijono
<bennylp@pjsip.org>


 

Home --> Documentations --> PJSIP Reference

pjsip_tx_data Struct Reference
[Transport]

#include <sip_transport.h>


Detailed Description

Data structure for sending outgoing message. Application normally creates this buffer by calling pjsip_endpt_create_tdata.

The lifetime of this buffer is controlled by the reference counter in this structure, which is manipulated by calling pjsip_tx_data_add_ref and pjsip_tx_data_dec_ref. When the reference counter has reached zero, then this buffer will be destroyed.

A transaction object normally will add reference counter to this buffer when application calls pjsip_tsx_send_msg, because it needs to keep the message for retransmission. The transaction will release the reference counter once its state has reached final state.

Public Member Functions

 PJ_DECL_LIST_MEMBER (struct pjsip_tx_data)

Data Fields

pj_pool_tpool
char obj_name [PJ_MAX_OBJ_NAME]
char * info
pj_time_val rx_timestamp
pjsip_tpmgrmgr
pjsip_tx_data_op_key op_key
pj_lock_tlock
pjsip_msgmsg
pjsip_route_hdrsaved_strict_route
pjsip_buffer buf
pj_atomic_tref_cnt
int is_pending
void * token
void(* cb )(void *, pjsip_tx_data *, pj_ssize_t)
struct {
   pjsip_server_addresses   addr
   unsigned   cur_addr
dest_info
struct {
   pjsip_transport *   transport
   pj_sockaddr   dst_addr
   int   dst_addr_len
   char   dst_name [PJ_INET6_ADDRSTRLEN]
   int   dst_port
tp_info
pjsip_tpselector tp_sel


Member Function Documentation

pjsip_tx_data::PJ_DECL_LIST_MEMBER ( struct  pjsip_tx_data  ) 

This is for transmission queue; it's managed by transports.


Field Documentation

Memory pool for this buffer.

char pjsip_tx_data::obj_name[PJ_MAX_OBJ_NAME]

A name to identify this buffer.

Short information describing this buffer and the message in it. Application should use pjsip_tx_data_get_info() instead of directly accessing this member.

For response message, this contains the reference to timestamp when the original request message was received. The value of this field is set when application creates response message to a request by calling pjsip_endpt_create_response.

The transport manager for this buffer.

Ioqueue asynchronous operation key.

The message in this buffer.

Buffer to the printed text representation of the message. When the content of this buffer is set, then the transport will send the content of this buffer instead of re-printing the message structure. If the message structure has changed, then application must invalidate this buffer by calling pjsip_tx_data_invalidate_msg.

Reference counter.

Being processed by transport?

Transport manager internal.

Callback to be called when this tx_data has been transmitted.

Server addresses resolved.

Current server address being tried.

struct { ... } pjsip_tx_data::dest_info

Destination information, to be used to determine the network address of the message. For a request, this information is initialized when the request is sent with pjsip_endpt_send_request_stateless() and network address is resolved. For CANCEL request, this information will be copied from the original INVITE to make sure that the CANCEL request goes to the same physical network address as the INVITE request.

Transport being used.

Destination address.

Length of address.

char pjsip_tx_data::dst_name[PJ_INET6_ADDRSTRLEN]

Destination address.

Destination port.

struct { ... } pjsip_tx_data::tp_info

Transport information, only valid during on_tx_request() and on_tx_response() callback.

Transport selector, to specify which transport to be used. The value here must be set with pjsip_tx_data_set_transport(), to allow reference counter to be set properly.


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.