freeswitch结构之sip_t

 

/** Structure for accessing parsed SIP headers. */
typedef struct sip_s                sip_t;

 

 

 

/**SIP message object.
 *
 * This structure contains a parsed SIP message. The struct is usually
 * referred with typedef #sip_t. It is used to access the headers and
 * payload within the SIP message. The generic transport aspects of the
 * message, like network address, is accessed using the #msg_t object
 * directly.
 */
struct sip_s {
  msg_common_t               sip_common[1];     /**< For recursive inclusion */
  msg_pub_t                 *sip_next;          /**< Dummy link to msgfrag */
  void                      *sip_user;         /**< Application data */
  unsigned                   sip_size;          /**< Size of structure */
  int                        sip_flags;         /**< Parser flags */

  sip_error_t               *sip_error;         /**< Erroneous headers */

  /* Pseudoheaders */
  sip_request_t             *sip_request;       /**< Request line  */
  sip_status_t              *sip_status;        /**< Status line */

  /* === Headers start here */
  sip_via_t             *sip_via;  /**< Via (v) */
  sip_route_t               *sip_route;  /**< Route */
  sip_record_route_t        *sip_record_route; /**< Record-Route */
  sip_max_forwards_t        *sip_max_forwards; /**< Max-Forwards */
  sip_proxy_require_t       *sip_proxy_require; /**< Proxy-Require */

  sip_from_t            *sip_from;  /**< From (f) */
  sip_to_t              *sip_to;  /**< To (t) */
  sip_call_id_t             *sip_call_id; /**< Call-ID (i) */
  sip_cseq_t            *sip_cseq;  /**< CSeq */
  sip_contact_t             *sip_contact; /**< Contact (m) */
  sip_rseq_t                *sip_rseq;          /**< RSeq */
  sip_rack_t                *sip_rack;          /**< RAck */

  /* Caller Preferences */
  sip_request_disposition_t *sip_request_disposition;
                                                /**< Request-Disposition (d) */
  sip_accept_contact_t      *sip_accept_contact;/**< Accept-Contact (a) */
  sip_reject_contact_t      *sip_reject_contact;/**< Reject-Contact (j) */

  sip_expires_t             *sip_expires; /**< Expires */
  sip_date_t                *sip_date;  /**< Date */
  sip_retry_after_t         *sip_retry_after; /**< Retry-After */
  sip_timestamp_t           *sip_timestamp; /**< Timestamp */
  sip_min_expires_t         *sip_min_expires;   /**< Min-Expires */

  sip_subject_t         *sip_subject; /**< Subject (s) */
  sip_priority_t            *sip_priority; /**< Priority */

  sip_call_info_t           *sip_call_info; /**< Call-Info */
  sip_organization_t        *sip_organization; /**< Organization */
  sip_server_t              *sip_server; /**< Server */
  sip_user_agent_t          *sip_user_agent; /**< User-Agent */
  sip_in_reply_to_t         *sip_in_reply_to;   /**< In-Reply-To */

  sip_accept_t              *sip_accept; /**< Accept */
  sip_accept_encoding_t     *sip_accept_encoding; /**< Accept-Encoding */
  sip_accept_language_t     *sip_accept_language; /**< Accept-Language */

  sip_allow_t               *sip_allow;  /**< Allow */
  sip_require_t             *sip_require; /**< Require */
  sip_supported_t           *sip_supported; /**< Supported (k) */
  sip_unsupported_t         *sip_unsupported; /**< Unsupported */

  /* RFC 3265 */
  sip_event_t               *sip_event;         /**< Event (o) */
  sip_allow_events_t        *sip_allow_events;  /**< Allow-Events (u) */
  sip_subscription_state_t  *sip_subscription_state;
    /**< Subscription-State */

  sip_proxy_authenticate_t  *sip_proxy_authenticate;
    /**< Proxy-Authenticate */
  sip_proxy_authentication_info_t *sip_proxy_authentication_info;
    /**< Proxy-Authentication-Info */
  sip_proxy_authorization_t *sip_proxy_authorization;
    /**< Proxy-Authorization */
  sip_authorization_t       *sip_authorization;
    /**< Authorization */
  sip_www_authenticate_t    *sip_www_authenticate;
    /**< WWW-Authenticate */
  sip_authentication_info_t *sip_authentication_info;
                                /**< Authentication-Info */
  sip_error_info_t          *sip_error_info;    /**< Error-Info */
  sip_warning_t             *sip_warning; /**< Warning */

  /* RFC 3515 */
  sip_refer_to_t            *sip_refer_to;      /**< Refer-To (r) */
  sip_referred_by_t         *sip_referred_by;   /**< Referred-By (b) */
  sip_replaces_t            *sip_replaces;      /**< Replaces */

  /* draft-ietf-sip-session-timer */
  sip_session_expires_t     *sip_session_expires;
    /**< Session-Expires (x) */
  sip_min_se_t              *sip_min_se;        /**< Min-SE */

  sip_path_t                *sip_path;        /**< Path */
  sip_service_route_t       *sip_service_route; /**< Service-Route */

  sip_reason_t              *sip_reason;        /**< Reason */

  sip_security_client_t     *sip_security_client; /**< Security-Client */
  sip_security_server_t     *sip_security_server; /**< Security-Server */
  sip_security_verify_t     *sip_security_verify; /**< Security-Verify */

  sip_privacy_t             *sip_privacy; /**< Privacy */

  sip_etag_t                *sip_etag;          /**< SIP-ETag */
  sip_if_match_t            *sip_if_match;      /**< SIP-If-Match */

  /* Entity headers */
  sip_mime_version_t        *sip_mime_version; /**< MIME-Version */
  sip_content_type_t        *sip_content_type; /**< Content-Type (c) */
  sip_content_encoding_t    *sip_content_encoding;
    /**< Content-Encoding (e) */
  sip_content_language_t    *sip_content_language; /**< Content-Language */
  sip_content_disposition_t *sip_content_disposition;
    /**< Content-Disposition */
  sip_content_length_t      *sip_content_length;/**< Content-Length (l) */

  /* === Headers end here */

  sip_unknown_t             *sip_unknown;       /**< Unknown headers */
  sip_separator_t           *sip_separator;
    /**< Separator between headers and payload */
  sip_payload_t             *sip_payload; /**< Message payload */
  msg_multipart_t           *sip_multipart;     /**< Multipart MIME payload */
};


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值