BLOG | DOCUMENTATION | TRAC

Home --> Documentations --> PJSIP Reference

sip_msg.h File Reference

SIP Message Structure. More...

#include <pjsip/sip_types.h>
#include <pjsip/sip_uri.h>
#include <pj/list.h>

Data Structures

struct  pjsip_method
 
struct  pjsip_hdr_vptr
 
struct  pjsip_hdr
 
struct  pjsip_request_line
 
struct  pjsip_status_line
 
struct  pjsip_media_type
 
struct  pjsip_msg_body
 
struct  pjsip_msg
 
struct  pjsip_generic_string_hdr
 
struct  pjsip_generic_int_hdr
 
struct  pjsip_generic_array_hdr
 
struct  pjsip_cid_hdr
 
struct  pjsip_clen_hdr
 
struct  pjsip_cseq_hdr
 
struct  pjsip_contact_hdr
 
struct  pjsip_ctype_hdr
 
struct  pjsip_fromto_hdr
 
struct  pjsip_routing_hdr
 
struct  pjsip_retry_after_hdr
 
struct  pjsip_via_hdr
 

Macros

#define PJSIP_DECL_HDR_MEMBER(hdr)
 
#define PJSIP_IS_STATUS_IN_CLASS(status_code, code_class)   (status_code/100 == code_class/100)
 
#define PJSIP_MSG_CID_HDR(msg)   ((pjsip_cid_hdr*)pjsip_msg_find_hdr(msg, PJSIP_H_CALL_ID, NULL))
 
#define PJSIP_MSG_CSEQ_HDR(msg)   ((pjsip_cseq_hdr*)pjsip_msg_find_hdr(msg, PJSIP_H_CSEQ, NULL))
 
#define PJSIP_MSG_FROM_HDR(msg)   ((pjsip_from_hdr*)pjsip_msg_find_hdr(msg, PJSIP_H_FROM, NULL))
 
#define PJSIP_MSG_TO_HDR(msg)   ((pjsip_to_hdr*)pjsip_msg_find_hdr(msg, PJSIP_H_TO, NULL))
 
#define PJSIP_GENERIC_ARRAY_MAX_COUNT   32
 
#define PJSIP_MAX_ACCEPT_COUNT   PJSIP_GENERIC_ARRAY_MAX_COUNT
 
#define PJSIP_EXPIRES_NOT_SPECIFIED   ((pj_uint32_t)0xFFFFFFFFUL)
 
#define pjsip_accept_encoding_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_accept_lang_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_alert_info_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_auth_info_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_call_info_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_content_disposition_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_content_encoding_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_content_lang_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_date_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_err_info_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_in_reply_to_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_mime_version_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_organization_hdr_create   pjsip_genric_string_hdr_create
 
#define pjsip_priority_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_reply_to_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_server_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_subject_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_timestamp_hdr_create   pjsip_generic_string_hdr_create
 
#define pjsip_user_agent_hdr_create   pjsip_generic_string_hdr_create
 

Typedefs

typedef pjsip_generic_array_hdr pjsip_accept_hdr
 
typedef pjsip_generic_array_hdr pjsip_allow_hdr
 
typedef pjsip_generic_int_hdr pjsip_expires_hdr
 
typedef pjsip_fromto_hdr pjsip_from_hdr
 
typedef pjsip_fromto_hdr pjsip_to_hdr
 
typedef pjsip_generic_int_hdr pjsip_max_fwd_hdr
 
typedef pjsip_generic_int_hdr pjsip_min_expires_hdr
 
typedef pjsip_routing_hdr pjsip_rr_hdr
 
typedef pjsip_routing_hdr pjsip_route_hdr
 
typedef pjsip_generic_array_hdr pjsip_require_hdr
 
typedef pjsip_generic_array_hdr pjsip_supported_hdr
 
typedef pjsip_generic_array_hdr pjsip_unsupported_hdr
 
typedef pjsip_generic_string_hdr pjsip_warning_hdr
 
typedef pjsip_generic_string_hdr pjsip_accept_encoding_hdr
 
typedef pjsip_generic_string_hdr pjsip_accept_lang_hdr
 
typedef pjsip_generic_string_hdr pjsip_alert_info_hdr
 
typedef pjsip_generic_string_hdr pjsip_auth_info_hdr
 
typedef pjsip_generic_string_hdr pjsip_call_info_hdr
 
typedef pjsip_generic_string_hdr pjsip_content_disposition_hdr
 
typedef pjsip_generic_string_hdr pjsip_content_encoding_hdr
 
typedef pjsip_generic_string_hdr pjsip_content_lang_hdr
 
typedef pjsip_generic_string_hdr pjsip_date_hdr
 
typedef pjsip_generic_string_hdr pjsip_err_info_hdr
 
typedef pjsip_generic_string_hdr pjsip_in_reply_to_hdr
 
typedef pjsip_generic_string_hdr pjsip_mime_version_hdr
 
typedef pjsip_generic_string_hdr pjsip_organization_hdr
 
typedef pjsip_generic_string_hdr pjsip_priority_hdr
 
typedef pjsip_generic_string_hdr pjsip_proxy_require_hdr
 
typedef pjsip_generic_string_hdr pjsip_reply_to_hdr
 
typedef pjsip_generic_string_hdr pjsip_server_hdr
 
typedef pjsip_generic_string_hdr pjsip_subject_hdr
 
typedef pjsip_generic_string_hdr pjsip_timestamp_hdr
 
typedef pjsip_generic_string_hdr pjsip_user_agent_hdr
 

Enumerations

enum  pjsip_method_e {
  PJSIP_INVITE_METHOD, PJSIP_CANCEL_METHOD, PJSIP_ACK_METHOD, PJSIP_BYE_METHOD,
  PJSIP_REGISTER_METHOD, PJSIP_OPTIONS_METHOD, PJSIP_OTHER_METHOD
}
 
enum  pjsip_hdr_e {
  PJSIP_H_ACCEPT, PJSIP_H_ACCEPT_ENCODING_UNIMP, PJSIP_H_ACCEPT_LANGUAGE_UNIMP, PJSIP_H_ALERT_INFO_UNIMP,
  PJSIP_H_ALLOW, PJSIP_H_AUTHENTICATION_INFO_UNIMP, PJSIP_H_AUTHORIZATION, PJSIP_H_CALL_ID,
  PJSIP_H_CALL_INFO_UNIMP, PJSIP_H_CONTACT, PJSIP_H_CONTENT_DISPOSITION_UNIMP, PJSIP_H_CONTENT_ENCODING_UNIMP,
  PJSIP_H_CONTENT_LANGUAGE_UNIMP, PJSIP_H_CONTENT_LENGTH, PJSIP_H_CONTENT_TYPE, PJSIP_H_CSEQ,
  PJSIP_H_DATE_UNIMP, PJSIP_H_ERROR_INFO_UNIMP, PJSIP_H_EXPIRES, PJSIP_H_FROM,
  PJSIP_H_IN_REPLY_TO_UNIMP, PJSIP_H_MAX_FORWARDS, PJSIP_H_MIME_VERSION_UNIMP, PJSIP_H_MIN_EXPIRES,
  PJSIP_H_ORGANIZATION_UNIMP, PJSIP_H_PRIORITY_UNIMP, PJSIP_H_PROXY_AUTHENTICATE, PJSIP_H_PROXY_AUTHORIZATION,
  PJSIP_H_PROXY_REQUIRE_UNIMP, PJSIP_H_RECORD_ROUTE, PJSIP_H_REPLY_TO_UNIMP, PJSIP_H_REQUIRE,
  PJSIP_H_RETRY_AFTER, PJSIP_H_ROUTE, PJSIP_H_SERVER_UNIMP, PJSIP_H_SUBJECT_UNIMP,
  PJSIP_H_SUPPORTED, PJSIP_H_TIMESTAMP_UNIMP, PJSIP_H_TO, PJSIP_H_UNSUPPORTED,
  PJSIP_H_USER_AGENT_UNIMP, PJSIP_H_VIA, PJSIP_H_WARNING_UNIMP, PJSIP_H_WWW_AUTHENTICATE,
  PJSIP_H_OTHER
}
 
enum  pjsip_status_code {
  PJSIP_SC_NULL = 0, PJSIP_SC_TRYING = 100, PJSIP_SC_RINGING = 180, PJSIP_SC_CALL_BEING_FORWARDED = 181,
  PJSIP_SC_QUEUED = 182, PJSIP_SC_PROGRESS = 183, PJSIP_SC_EARLY_DIALOG_TERMINATED = 199, PJSIP_SC_OK = 200,
  PJSIP_SC_ACCEPTED = 202, PJSIP_SC_NO_NOTIFICATION = 204, PJSIP_SC_MULTIPLE_CHOICES = 300, PJSIP_SC_MOVED_PERMANENTLY = 301,
  PJSIP_SC_MOVED_TEMPORARILY = 302, PJSIP_SC_USE_PROXY = 305, PJSIP_SC_ALTERNATIVE_SERVICE = 380, PJSIP_SC_BAD_REQUEST = 400,
  PJSIP_SC_UNAUTHORIZED = 401, PJSIP_SC_PAYMENT_REQUIRED = 402, PJSIP_SC_FORBIDDEN = 403, PJSIP_SC_NOT_FOUND = 404,
  PJSIP_SC_METHOD_NOT_ALLOWED = 405, PJSIP_SC_NOT_ACCEPTABLE = 406, PJSIP_SC_PROXY_AUTHENTICATION_REQUIRED = 407, PJSIP_SC_REQUEST_TIMEOUT = 408,
  PJSIP_SC_CONFLICT = 409, PJSIP_SC_GONE = 410, PJSIP_SC_LENGTH_REQUIRED = 411, PJSIP_SC_CONDITIONAL_REQUEST_FAILED = 412,
  PJSIP_SC_REQUEST_ENTITY_TOO_LARGE = 413, PJSIP_SC_REQUEST_URI_TOO_LONG = 414, PJSIP_SC_UNSUPPORTED_MEDIA_TYPE = 415, PJSIP_SC_UNSUPPORTED_URI_SCHEME = 416,
  PJSIP_SC_UNKNOWN_RESOURCE_PRIORITY = 417, PJSIP_SC_BAD_EXTENSION = 420, PJSIP_SC_EXTENSION_REQUIRED = 421, PJSIP_SC_SESSION_TIMER_TOO_SMALL = 422,
  PJSIP_SC_INTERVAL_TOO_BRIEF = 423, PJSIP_SC_BAD_LOCATION_INFORMATION = 424, PJSIP_SC_USE_IDENTITY_HEADER = 428, PJSIP_SC_PROVIDE_REFERRER_HEADER = 429,
  PJSIP_SC_FLOW_FAILED = 430, PJSIP_SC_ANONIMITY_DISALLOWED = 433, PJSIP_SC_BAD_IDENTITY_INFO = 436, PJSIP_SC_UNSUPPORTED_CERTIFICATE = 437,
  PJSIP_SC_INVALID_IDENTITY_HEADER = 438, PJSIP_SC_FIRST_HOP_LACKS_OUTBOUND_SUPPORT = 439, PJSIP_SC_MAX_BREADTH_EXCEEDED = 440, PJSIP_SC_BAD_INFO_PACKAGE = 469,
  PJSIP_SC_CONSENT_NEEDED = 470, PJSIP_SC_TEMPORARILY_UNAVAILABLE = 480, PJSIP_SC_CALL_TSX_DOES_NOT_EXIST = 481, PJSIP_SC_LOOP_DETECTED = 482,
  PJSIP_SC_TOO_MANY_HOPS = 483, PJSIP_SC_ADDRESS_INCOMPLETE = 484, PJSIP_AC_AMBIGUOUS = 485, PJSIP_SC_BUSY_HERE = 486,
  PJSIP_SC_REQUEST_TERMINATED = 487, PJSIP_SC_NOT_ACCEPTABLE_HERE = 488, PJSIP_SC_BAD_EVENT = 489, PJSIP_SC_REQUEST_UPDATED = 490,
  PJSIP_SC_REQUEST_PENDING = 491, PJSIP_SC_UNDECIPHERABLE = 493, PJSIP_SC_SECURITY_AGREEMENT_NEEDED = 494, PJSIP_SC_INTERNAL_SERVER_ERROR = 500,
  PJSIP_SC_NOT_IMPLEMENTED = 501, PJSIP_SC_BAD_GATEWAY = 502, PJSIP_SC_SERVICE_UNAVAILABLE = 503, PJSIP_SC_SERVER_TIMEOUT = 504,
  PJSIP_SC_VERSION_NOT_SUPPORTED = 505, PJSIP_SC_MESSAGE_TOO_LARGE = 513, PJSIP_SC_PUSH_NOTIFICATION_SERVICE_NOT_SUPPORTED = 555, PJSIP_SC_PRECONDITION_FAILURE = 580,
  PJSIP_SC_BUSY_EVERYWHERE = 600, PJSIP_SC_DECLINE = 603, PJSIP_SC_DOES_NOT_EXIST_ANYWHERE = 604, PJSIP_SC_NOT_ACCEPTABLE_ANYWHERE = 606,
  PJSIP_SC_UNWANTED = 607, PJSIP_SC_REJECTED = 608, PJSIP_SC_TSX_TIMEOUT = PJSIP_SC_REQUEST_TIMEOUT, PJSIP_SC_TSX_TRANSPORT_ERROR = PJSIP_SC_SERVICE_UNAVAILABLE,
  PJSIP_SC__force_32bit = 0x7FFFFFFF
}
 
enum  pjsip_msg_type_e { PJSIP_REQUEST_MSG, PJSIP_RESPONSE_MSG }
 

Functions

const pjsip_methodpjsip_get_invite_method (void)
 
const pjsip_methodpjsip_get_cancel_method (void)
 
const pjsip_methodpjsip_get_ack_method (void)
 
const pjsip_methodpjsip_get_bye_method (void)
 
const pjsip_methodpjsip_get_register_method (void)
 
const pjsip_methodpjsip_get_options_method (void)
 
void pjsip_method_init (pjsip_method *m, pj_pool_t *pool, const pj_str_t *str)
 
void pjsip_method_init_np (pjsip_method *m, pj_str_t *str)
 
void pjsip_method_set (pjsip_method *m, pjsip_method_e id)
 
void pjsip_method_copy (pj_pool_t *pool, pjsip_method *method, const pjsip_method *rhs)
 
int pjsip_method_cmp (const pjsip_method *m1, const pjsip_method *m2)
 
void * pjsip_hdr_clone (pj_pool_t *pool, const void *hdr)
 
void * pjsip_hdr_shallow_clone (pj_pool_t *pool, const void *hdr)
 
int pjsip_hdr_print_on (void *hdr, char *buf, pj_size_t len)
 
void * pjsip_hdr_find (const void *hdr_list, pjsip_hdr_e type, const void *start)
 
void * pjsip_hdr_find_by_name (const void *hdr_list, const pj_str_t *name, const void *start)
 
void * pjsip_hdr_find_by_names (const void *hdr_list, const pj_str_t *name, const pj_str_t *sname, const void *start)
 
const pj_str_tpjsip_get_status_text (int status_code)
 
void pjsip_media_type_init (pjsip_media_type *mt, pj_str_t *type, pj_str_t *subtype)
 
void pjsip_media_type_init2 (pjsip_media_type *mt, char *type, char *subtype)
 
int pjsip_media_type_cmp (const pjsip_media_type *mt1, const pjsip_media_type *mt2, int cmp_param)
 
void pjsip_media_type_cp (pj_pool_t *pool, pjsip_media_type *dst, const pjsip_media_type *src)
 
int pjsip_media_type_print (char *buf, unsigned len, const pjsip_media_type *mt)
 
int pjsip_print_text_body (pjsip_msg_body *msg_body, char *buf, pj_size_t size)
 
void * pjsip_clone_text_data (pj_pool_t *pool, const void *data, unsigned len)
 
pj_status_t pjsip_msg_body_copy (pj_pool_t *pool, pjsip_msg_body *dst_body, const pjsip_msg_body *src_body)
 
pjsip_msg_bodypjsip_msg_body_clone (pj_pool_t *pool, const pjsip_msg_body *body)
 
pjsip_msg_bodypjsip_msg_body_create (pj_pool_t *pool, const pj_str_t *type, const pj_str_t *subtype, const pj_str_t *text)
 
pjsip_msgpjsip_msg_create (pj_pool_t *pool, pjsip_msg_type_e type)
 
pjsip_msgpjsip_msg_clone (pj_pool_t *pool, const pjsip_msg *msg)
 
void * pjsip_msg_find_hdr (const pjsip_msg *msg, pjsip_hdr_e type, const void *start)
 
void * pjsip_msg_find_hdr_by_name (const pjsip_msg *msg, const pj_str_t *name, const void *start)
 
void * pjsip_msg_find_hdr_by_names (const pjsip_msg *msg, const pj_str_t *name, const pj_str_t *sname, const void *start)
 
void * pjsip_msg_find_remove_hdr (pjsip_msg *msg, pjsip_hdr_e hdr, void *start)
 
void pjsip_msg_add_hdr (pjsip_msg *msg, pjsip_hdr *hdr)
 
void pjsip_msg_insert_first_hdr (pjsip_msg *msg, pjsip_hdr *hdr)
 
pj_ssize_t pjsip_msg_print (const pjsip_msg *msg, char *buf, pj_size_t size)
 
pjsip_generic_string_hdrpjsip_generic_string_hdr_create (pj_pool_t *pool, const pj_str_t *hname, const pj_str_t *hvalue)
 
pjsip_generic_string_hdrpjsip_generic_string_hdr_init (pj_pool_t *pool, void *mem, const pj_str_t *hname, const pj_str_t *hvalue)
 
void pjsip_generic_string_hdr_init2 (pjsip_generic_string_hdr *h, pj_str_t *hname, pj_str_t *hvalue)
 
pjsip_generic_int_hdrpjsip_generic_int_hdr_create (pj_pool_t *pool, const pj_str_t *hname, unsigned hvalue)
 
pjsip_generic_int_hdrpjsip_generic_int_hdr_init (pj_pool_t *pool, void *mem, const pj_str_t *hname, unsigned value)
 
pjsip_generic_array_hdrpjsip_generic_array_hdr_create (pj_pool_t *pool, const pj_str_t *hname)
 
pjsip_generic_array_hdrpjsip_generic_array_hdr_init (pj_pool_t *pool, void *mem, const pj_str_t *hname)
 
pjsip_accept_hdrpjsip_accept_hdr_create (pj_pool_t *pool)
 
pjsip_accept_hdrpjsip_accept_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_allow_hdrpjsip_allow_hdr_create (pj_pool_t *pool)
 
pjsip_allow_hdrpjsip_allow_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_cid_hdrpjsip_cid_hdr_create (pj_pool_t *pool)
 
pjsip_cid_hdrpjsip_cid_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_clen_hdrpjsip_clen_hdr_create (pj_pool_t *pool)
 
pjsip_clen_hdrpjsip_clen_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_cseq_hdrpjsip_cseq_hdr_create (pj_pool_t *pool)
 
pjsip_cseq_hdrpjsip_cseq_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_contact_hdrpjsip_contact_hdr_create (pj_pool_t *pool)
 
pjsip_contact_hdrpjsip_contact_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_ctype_hdrpjsip_ctype_hdr_create (pj_pool_t *pool)
 
pjsip_ctype_hdrpjsip_ctype_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_expires_hdrpjsip_expires_hdr_create (pj_pool_t *pool, unsigned value)
 
pjsip_expires_hdrpjsip_expires_hdr_init (pj_pool_t *pool, void *mem, unsigned value)
 
pjsip_from_hdrpjsip_from_hdr_create (pj_pool_t *pool)
 
pjsip_from_hdrpjsip_from_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_to_hdrpjsip_to_hdr_create (pj_pool_t *pool)
 
pjsip_to_hdrpjsip_to_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_from_hdrpjsip_fromto_hdr_set_from (pjsip_fromto_hdr *hdr)
 
pjsip_to_hdrpjsip_fromto_hdr_set_to (pjsip_fromto_hdr *hdr)
 
pjsip_max_fwd_hdrpjsip_max_fwd_hdr_create (pj_pool_t *pool, unsigned value)
 
pjsip_max_fwd_hdrpjsip_max_fwd_hdr_init (pj_pool_t *pool, void *mem, unsigned value)
 
pjsip_min_expires_hdrpjsip_min_expires_hdr_create (pj_pool_t *pool, unsigned value)
 
pjsip_min_expires_hdrpjsip_min_expires_hdr_init (pj_pool_t *pool, void *mem, unsigned value)
 
pjsip_rr_hdrpjsip_rr_hdr_create (pj_pool_t *pool)
 
pjsip_rr_hdrpjsip_rr_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_route_hdrpjsip_route_hdr_create (pj_pool_t *pool)
 
pjsip_route_hdrpjsip_route_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_rr_hdrpjsip_routing_hdr_set_rr (pjsip_routing_hdr *r)
 
pjsip_route_hdrpjsip_routing_hdr_set_route (pjsip_routing_hdr *r)
 
pjsip_require_hdrpjsip_require_hdr_create (pj_pool_t *pool)
 
pjsip_require_hdrpjsip_require_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_retry_after_hdrpjsip_retry_after_hdr_create (pj_pool_t *pool, int value)
 
pjsip_retry_after_hdrpjsip_retry_after_hdr_init (pj_pool_t *pool, void *mem, int value)
 
pjsip_supported_hdrpjsip_supported_hdr_create (pj_pool_t *pool)
 
pjsip_supported_hdrpjsip_supported_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_unsupported_hdrpjsip_unsupported_hdr_create (pj_pool_t *pool)
 
pjsip_unsupported_hdrpjsip_unsupported_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_via_hdrpjsip_via_hdr_create (pj_pool_t *pool)
 
pjsip_via_hdrpjsip_via_hdr_init (pj_pool_t *pool, void *mem)
 
pjsip_warning_hdrpjsip_warning_hdr_create (pj_pool_t *pool, int code, const pj_str_t *host, const pj_str_t *text)
 
pjsip_warning_hdrpjsip_warning_hdr_create_from_status (pj_pool_t *pool, const pj_str_t *host, pj_status_t status)
 

Variables

const pjsip_method pjsip_invite_method
 
const pjsip_method pjsip_cancel_method
 
const pjsip_method pjsip_ack_method
 
const pjsip_method pjsip_bye_method
 
const pjsip_method pjsip_register_method
 
const pjsip_method pjsip_options_method
 

 


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