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_rx_data Struct Reference
[Transport]

#include <sip_transport.h>


Detailed Description

Incoming message buffer. This structure keep all the information regarding the received message. This buffer lifetime is only very short, normally after the transaction has been called, this buffer will be deleted/recycled. So care must be taken when allocating storage from the pool of this buffer.

Data Fields

struct {
   pj_pool_t *   pool
   pjsip_transport *   transport
   void *   tp_data
   pjsip_rx_data_op_key   op_key
tp_info
struct {
   pj_time_val   timestamp
   char   packet [PJSIP_MAX_PKT_LEN]
   pj_uint32_t   zero
   pj_ssize_t   len
   pj_sockaddr   src_addr
   int   src_addr_len
   char   src_name [PJ_INET6_ADDRSTRLEN]
   int   src_port
pkt_info
struct {
   char *   msg_buf
   int   len
   pjsip_msg *   msg
   char *   info
   pjsip_cid_hdr *   cid
   pjsip_from_hdr *   from
   pjsip_to_hdr *   to
   pjsip_via_hdr *   via
   pjsip_cseq_hdr *   cseq
   pjsip_max_fwd_hdr *   max_fwd
   pjsip_route_hdr *   route
   pjsip_rr_hdr *   record_route
   pjsip_ctype_hdr *   ctype
   pjsip_clen_hdr *   clen
   pjsip_require_hdr *   require
   pjsip_parser_err_report   parse_err
msg_info
struct {
   void *   mod_data [PJSIP_MAX_MODULE]
endpt_info

Field Documentation

Memory pool for this buffer.

The transport object which received this packet.

Other transport specific data to be attached to this buffer.

struct { ... } pjsip_rx_data::tp_info

tp_info is part of rdata that remains static for the duration of the buffer. It is initialized when the buffer was created by transport.

Time when the message was received.

char pjsip_rx_data::packet[PJSIP_MAX_PKT_LEN]

Pointer to the original packet.

Zero termination for the packet.

The length of the packet received.

The source address from which the packet was received.

The length of the source address.

char pjsip_rx_data::src_name[PJ_INET6_ADDRSTRLEN]

The IP source address string (NULL terminated).

The IP source port number.

struct { ... } pjsip_rx_data::pkt_info

pkt_info is initialized by transport when it receives an incoming packet.

Start of msg buffer.

Length fo message.

The parsed message, if any.

Short description about the message. Application should use pjsip_rx_data_get_info() instead.

The Call-ID header as found in the message.

The From header as found in the message.

The To header as found in the message.

The topmost Via header as found in the message.

The CSeq header as found in the message.

The first route header.

The first record-route header.

Content-type header.

Content-length header.

The first Require header.

The list of error generated by the parser when parsing this message.

struct { ... } pjsip_rx_data::msg_info

msg_info is initialized by transport mgr (tpmgr) before this buffer is passed to endpoint.

void* pjsip_rx_data::mod_data[PJSIP_MAX_MODULE]

Data attached by modules to this message.

struct { ... } pjsip_rx_data::endpt_info

endpt_info is initialized by endpoint after this buffer reaches endpoint.


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

 


PJSIP Open Source, high performance, small footprint, and very very portable SIP stack
(C)2003-2008 Benny Prijono