00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef SIP_H
00026
00027 #define SIP_H
00028
00038 #ifndef MSG_TYPES_H
00039 #include <sofia-sip/msg_types.h>
00040 #endif
00041 #ifndef MSG_MIME_H
00042 #include <sofia-sip/msg_mime.h>
00043 #endif
00044
00045 SOFIA_BEGIN_DECLS
00046
00048 typedef enum {
00049 sip_method_invalid = -1,
00050 sip_method_unknown = 0,
00051 sip_method_invite,
00052 sip_method_ack,
00053 sip_method_cancel,
00054 sip_method_bye,
00055 sip_method_options,
00056 sip_method_register,
00057 sip_method_info,
00058 sip_method_prack,
00059 sip_method_update,
00060 sip_method_message,
00061 sip_method_subscribe,
00062 sip_method_notify,
00063 sip_method_refer,
00064 sip_method_publish,
00065 } sip_method_t;
00066
00067 #define SIP_METHOD(s) sip_method_unknown, #s
00068 #define SIP_METHOD_ACK sip_method_ack, "ACK"
00069 #define SIP_METHOD_CANCEL sip_method_cancel, "CANCEL"
00070 #define SIP_METHOD_BYE sip_method_bye, "BYE"
00071 #define SIP_METHOD_INVITE sip_method_invite, "INVITE"
00072 #define SIP_METHOD_OPTIONS sip_method_options, "OPTIONS"
00073 #define SIP_METHOD_REGISTER sip_method_register, "REGISTER"
00074 #define SIP_METHOD_INFO sip_method_info, "INFO"
00075 #define SIP_METHOD_PRACK sip_method_prack, "PRACK"
00076 #define SIP_METHOD_UPDATE sip_method_update, "UPDATE"
00077 #define SIP_METHOD_MESSAGE sip_method_message, "MESSAGE"
00078 #define SIP_METHOD_SUBSCRIBE sip_method_subscribe, "SUBSCRIBE"
00079 #define SIP_METHOD_NOTIFY sip_method_notify, "NOTIFY"
00080 #define SIP_METHOD_REFER sip_method_refer, "REFER"
00081 #define SIP_METHOD_PUBLISH sip_method_publish, "PUBLISH"
00082
00084 #define SIP_NONE ((void const *)-1L)
00085
00087 #define SIP_PROTOCOL_TAG ((void *)0x53495020)
00088
00089 enum {
00091 SIP_DEFAULT_PORT = 5060,
00092 #define SIP_DEFAULT_PORT SIP_DEFAULT_PORT
00093
00095 #define SIP_DEFAULT_SERV "5060"
00096
00098 SIPS_DEFAULT_PORT = 5061,
00099 #define SIPS_DEFAULT_PORT SIPS_DEFAULT_PORT
00100
00101 #define SIPS_DEFAULT_SERV "5061"
00102 };
00103
00105 typedef msg_time_t sip_time_t;
00106
00108 #define SIP_TIME_MAX ((sip_time_t)MSG_TIME_MAX)
00109
00111 typedef struct sip_s sip_t;
00112
00114 typedef union sip_header_u sip_header_t;
00115
00117 typedef struct msg_generic_s sip_generic_t;
00118 #define g_value g_string
00119
00121 typedef msg_common_t sip_common_t;
00122
00124 typedef msg_param_t sip_param_t;
00125
00127 typedef struct sip_addr_s sip_addr_t;
00128
00130 typedef msg_auth_t sip_auth_t;
00131
00132 typedef struct sip_request_s sip_request_t;
00133 typedef struct sip_status_s sip_status_t;
00134 typedef msg_error_t sip_error_t;
00135 typedef msg_unknown_t sip_unknown_t;
00136 typedef msg_separator_t sip_separator_t;
00137 typedef msg_payload_t sip_payload_t;
00138
00139 typedef struct sip_accept_s sip_accept_t;
00140 typedef msg_accept_any_t sip_accept_encoding_t;
00141 typedef msg_accept_any_t sip_accept_language_t;
00142 typedef msg_list_t sip_allow_t;
00143 typedef struct sip_authentication_info_s
00144 sip_authentication_info_t;
00145 typedef struct msg_auth_s sip_authorization_t;
00146 typedef struct sip_call_id_s sip_call_id_t;
00147 typedef struct sip_call_info_s sip_call_info_t;
00148 typedef struct sip_contact_s sip_contact_t;
00149 typedef struct sip_cseq_s sip_cseq_t;
00150 typedef struct msg_generic_s sip_etag_t;
00151 typedef struct msg_generic_s sip_if_match_t;
00152 typedef msg_content_disposition_t sip_content_disposition_t;
00153 typedef msg_list_t sip_content_encoding_t;
00154 typedef msg_list_t sip_content_language_t;
00155 typedef struct sip_content_length_s sip_content_length_t;
00156 typedef struct msg_content_type_s sip_content_type_t;
00157 typedef struct msg_generic_s sip_mime_version_t;
00158 typedef struct sip_date_s sip_date_t;
00159 typedef struct sip_error_info_s sip_error_info_t;
00160 typedef struct sip_expires_s sip_expires_t;
00161 typedef struct sip_addr_s sip_from_t;
00162 typedef msg_list_t sip_in_reply_to_t;
00163 typedef struct sip_max_forwards_s sip_max_forwards_t;
00164 typedef struct sip_min_expires_s sip_min_expires_t;
00165 typedef struct sip_min_se_s sip_min_se_t;
00166 typedef struct msg_generic_s sip_organization_t;
00167 typedef struct msg_generic_s sip_priority_t;
00168 typedef struct msg_auth_s sip_proxy_authenticate_t;
00169 typedef struct sip_authentication_info_s
00170 sip_proxy_authentication_info_t;
00171 typedef struct msg_auth_s sip_proxy_authorization_t;
00172 typedef msg_list_t sip_proxy_require_t;
00173 typedef struct sip_rack_s sip_rack_t;
00174 typedef struct sip_reason_s sip_reason_t;
00175 typedef struct sip_route_s sip_record_route_t;
00176
00177 typedef struct sip_refer_to_s sip_refer_to_t;
00178 typedef struct sip_referred_by_s sip_referred_by_t;
00179 typedef struct sip_replaces_s sip_replaces_t;
00180
00181 typedef struct sip_request_disposition_s sip_request_disposition_t;
00182
00183 typedef struct sip_caller_prefs_s sip_caller_prefs_t;
00184 typedef struct sip_caller_prefs_s sip_accept_contact_t;
00185 typedef struct sip_caller_prefs_s sip_reject_contact_t;
00186
00187 typedef msg_list_t sip_require_t;
00188 typedef struct sip_retry_after_s sip_retry_after_t;
00189 typedef struct sip_route_s sip_route_t;
00190 typedef struct sip_rseq_s sip_rseq_t;
00191 typedef struct msg_generic_s sip_server_t;
00192 typedef struct sip_session_expires_s
00193 sip_session_expires_t;
00194 typedef struct msg_generic_s sip_subject_t;
00195 typedef struct sip_subscription_state_s
00196 sip_subscription_state_t;
00197 typedef msg_list_t sip_supported_t;
00198 typedef struct sip_timestamp_s sip_timestamp_t;
00199 typedef struct sip_addr_s sip_to_t;
00200 typedef msg_list_t sip_unsupported_t;
00201 typedef struct msg_generic_s sip_user_agent_t;
00202 typedef struct sip_via_s sip_via_t;
00203 typedef msg_warning_t sip_warning_t;
00204 typedef struct msg_auth_s sip_www_authenticate_t;
00205
00206 typedef struct sip_event_s sip_event_t;
00207 typedef msg_list_t sip_allow_events_t;
00208
00209
00210 typedef struct sip_privacy_s sip_privacy_t;
00211
00212
00213 typedef struct sip_route_s sip_path_t;
00214
00215
00216 typedef struct sip_security_agree_s sip_security_client_t;
00217 typedef struct sip_security_agree_s sip_security_server_t;
00218 typedef struct sip_security_agree_s sip_security_verify_t;
00219
00220
00221 typedef struct sip_route_s sip_service_route_t;
00222
00223
00232 struct sip_s {
00233 msg_common_t sip_common[1];
00234 msg_pub_t *sip_next;
00235 void *sip_user;
00236 unsigned sip_size;
00237 int sip_flags;
00239 sip_error_t *sip_error;
00241
00242 sip_request_t *sip_request;
00243 sip_status_t *sip_status;
00245
00246 sip_via_t *sip_via;
00247 sip_route_t *sip_route;
00248 sip_record_route_t *sip_record_route;
00249 sip_max_forwards_t *sip_max_forwards;
00250 sip_proxy_require_t *sip_proxy_require;
00252 sip_from_t *sip_from;
00253 sip_to_t *sip_to;
00254 sip_call_id_t *sip_call_id;
00255 sip_cseq_t *sip_cseq;
00256 sip_contact_t *sip_contact;
00257 sip_rseq_t *sip_rseq;
00258 sip_rack_t *sip_rack;
00260
00261 sip_request_disposition_t *sip_request_disposition;
00263 sip_accept_contact_t *sip_accept_contact;
00264 sip_reject_contact_t *sip_reject_contact;
00266 sip_expires_t *sip_expires;
00267 sip_date_t *sip_date;
00268 sip_retry_after_t *sip_retry_after;
00269 sip_timestamp_t *sip_timestamp;
00270 sip_min_expires_t *sip_min_expires;
00272 sip_subject_t *sip_subject;
00273 sip_priority_t *sip_priority;
00275 sip_call_info_t *sip_call_info;
00276 sip_organization_t *sip_organization;
00277 sip_server_t *sip_server;
00278 sip_user_agent_t *sip_user_agent;
00279 sip_in_reply_to_t *sip_in_reply_to;
00281 sip_accept_t *sip_accept;
00282 sip_accept_encoding_t *sip_accept_encoding;
00283 sip_accept_language_t *sip_accept_language;
00285 sip_allow_t *sip_allow;
00286 sip_require_t *sip_require;
00287 sip_supported_t *sip_supported;
00288 sip_unsupported_t *sip_unsupported;
00290
00291 sip_event_t *sip_event;
00292 sip_allow_events_t *sip_allow_events;
00293 sip_subscription_state_t *sip_subscription_state;
00296 sip_proxy_authenticate_t *sip_proxy_authenticate;
00298 sip_proxy_authentication_info_t *sip_proxy_authentication_info;
00300 sip_proxy_authorization_t *sip_proxy_authorization;
00302 sip_authorization_t *sip_authorization;
00304 sip_www_authenticate_t *sip_www_authenticate;
00306 sip_authentication_info_t *sip_authentication_info;
00308 sip_error_info_t *sip_error_info;
00309 sip_warning_t *sip_warning;
00311
00312 sip_refer_to_t *sip_refer_to;
00313 sip_referred_by_t *sip_referred_by;
00314 sip_replaces_t *sip_replaces;
00316
00317 sip_session_expires_t *sip_session_expires;
00319 sip_min_se_t *sip_min_se;
00321 sip_path_t *sip_path;
00322 sip_service_route_t *sip_service_route;
00324 sip_reason_t *sip_reason;
00326 sip_security_client_t *sip_security_client;
00327 sip_security_server_t *sip_security_server;
00328 sip_security_verify_t *sip_security_verify;
00330 sip_privacy_t *sip_privacy;
00332 sip_etag_t *sip_etag;
00333 sip_if_match_t *sip_if_match;
00335
00336 sip_mime_version_t *sip_mime_version;
00337 sip_content_type_t *sip_content_type;
00338 sip_content_encoding_t *sip_content_encoding;
00340 sip_content_language_t *sip_content_language;
00341 sip_content_disposition_t *sip_content_disposition;
00343 sip_content_length_t *sip_content_length;
00345
00346
00347 sip_unknown_t *sip_unknown;
00348 sip_separator_t *sip_separator;
00350 sip_payload_t *sip_payload;
00351 msg_multipart_t *sip_multipart;
00352 };
00353
00354
00358 struct sip_request_s
00359 {
00360 sip_common_t rq_common[1];
00361 sip_error_t *rq_next;
00362 sip_method_t rq_method;
00363 char const *rq_method_name;
00364 url_t rq_url[1];
00365 char const *rq_version;
00366 };
00367
00371 struct sip_status_s
00372 {
00373 sip_common_t st_common[1];
00374 sip_error_t *st_next;
00375 char const *st_version;
00376 int st_status;
00377 char const *st_phrase;
00378 };
00379
00383 struct sip_addr_s
00384 {
00385 sip_common_t a_common[1];
00386 sip_error_t *a_next;
00387 char const *a_display;
00388 url_t a_url[1];
00389 msg_param_t const *a_params;
00390 char const *a_comment;
00392 char const *a_tag;
00393 };
00394
00395 #define a_user a_url->url_user
00396 #define a_host a_url->url_host
00397
00401 struct sip_accept_s
00402 {
00403 sip_common_t ac_common[1];
00404 sip_accept_t *ac_next;
00405 char const *ac_type;
00406 char const *ac_subtype;
00407 msg_param_t const *ac_params;
00408 char const *ac_q;
00409 };
00410
00414 struct sip_authentication_info_s
00415 {
00416 sip_common_t ai_common[1];
00417 sip_error_t *ai_next;
00418 msg_param_t const *ai_params;
00419 };
00420
00424 struct sip_call_id_s {
00425 sip_common_t i_common[1];
00426 sip_call_id_t *i_next;
00427 char const *i_id;
00428 uint32_t i_hash;
00429 };
00430
00434 struct sip_call_info_s
00435 {
00436 sip_common_t ci_common[1];
00437 sip_call_info_t *ci_next;
00438 url_t ci_url[1];
00439 msg_param_t const *ci_params;
00440 char const *ci_purpose;
00441 };
00442
00446 struct sip_cseq_s
00447 {
00448 sip_common_t cs_common[1];
00449 sip_error_t *cs_next;
00450 uint32_t cs_seq;
00451 sip_method_t cs_method;
00452 char const *cs_method_name;
00453 };
00454
00458 struct sip_contact_s
00459 {
00460 sip_common_t m_common[1];
00461 sip_contact_t *m_next;
00462 char const *m_display;
00463 url_t m_url[1];
00464 msg_param_t const *m_params;
00465 char const *m_comment;
00467 char const *m_q;
00468 char const *m_expires;
00469 };
00470
00474 struct sip_content_length_s
00475 {
00476 sip_common_t l_common[1];
00477 sip_error_t *l_next;
00478 uint32_t l_length;
00479 };
00480
00481 #if DOCUMENTATION_ONLY
00482
00486 struct sip_content_type_s
00487 {
00488 sip_common_t c_common[1];
00489 sip_error_t *c_next;
00490 char const *c_type;
00491 char const *c_subtype;
00492 msg_param_t const *c_params;
00493 };
00494 #endif
00495
00499 struct sip_date_s
00500 {
00501 sip_common_t d_common[1];
00502 sip_date_t *d_next;
00503 sip_time_t d_time;
00504 };
00505
00509 struct sip_error_info_s
00510 {
00511 sip_common_t ei_common[1];
00512 sip_call_info_t *ei_next;
00513 url_t ei_url[1];
00514 msg_param_t const *ei_params;
00515 };
00516
00520 struct sip_event_s
00521 {
00522 sip_common_t o_common[1];
00523 sip_error_t *o_next;
00524 char const * o_type;
00525 msg_param_t const *o_params;
00526 char const *o_id;
00527 };
00528
00532 struct sip_expires_s
00533 {
00534 sip_common_t ex_common[1];
00535 sip_error_t *ex_next;
00536 sip_time_t ex_date;
00537 # define ex_time ex_date
00538 sip_time_t ex_delta;
00539 };
00540
00544 struct sip_max_forwards_s
00545 {
00546 sip_common_t mf_common[1];
00547 sip_error_t *mf_next;
00548 unsigned long mf_count;
00549 };
00550
00554 struct sip_min_expires_s
00555 {
00556 sip_common_t me_common[1];
00557 sip_error_t *me_next;
00558 unsigned long me_delta;
00559 };
00560
00564 struct sip_rack_s
00565 {
00566 sip_common_t ra_common;
00567 sip_error_t *ra_next;
00568 uint32_t ra_response;
00569 uint32_t ra_cseq;
00570 sip_method_t ra_method;
00571 char const *ra_method_name;
00572 };
00573
00577 struct sip_refer_to_s
00578 {
00579 sip_common_t r_common[1];
00580 sip_error_t *r_next;
00581 char const *r_display;
00582 url_t r_url[1];
00583 msg_param_t const *r_params;
00584 };
00585
00589 struct sip_referred_by_s
00590 {
00591 sip_common_t b_common[1];
00592 sip_error_t *b_next;
00593 char const *b_display;
00594 url_t b_url[1];
00595 msg_param_t const *b_params;
00596 char const *b_cid;
00597 };
00598
00599
00603 struct sip_replaces_s
00604 {
00605 sip_common_t rp_common[1];
00606 sip_error_t *rp_next;
00607 char const *rp_call_id;
00608 msg_param_t const *rp_params;
00609 char const *rp_to_tag;
00610 char const *rp_from_tag;
00611 unsigned rp_early_only;
00612 };
00613
00614
00618 struct sip_retry_after_s {
00619 sip_common_t af_common[1];
00620 sip_error_t *af_next;
00621 sip_time_t af_delta;
00622 char const *af_comment;
00623 msg_param_t const *af_params;
00624 char const *af_duration;
00625 };
00626
00630 struct sip_request_disposition_s
00631 {
00632 sip_common_t rd_common[1];
00633 sip_error_t *rd_next;
00634 msg_param_t *rd_items;
00635 };
00636
00640 struct sip_caller_prefs_s
00641 {
00642 sip_common_t cp_common[1];
00643 sip_caller_prefs_t *cp_next;
00644 msg_param_t const *cp_params;
00645 char const *cp_q;
00646 unsigned cp_require :1;
00647 unsigned cp_explicit :1;
00648 };
00649
00653 struct sip_reason_s
00654 {
00655 sip_common_t re_common[1];
00656 sip_reason_t *re_next;
00657 char const *re_protocol;
00658 msg_param_t const *re_params;
00659 char const *re_cause;
00660 char const *re_text;
00661 };
00662
00666 struct sip_route_s
00667 {
00668 sip_common_t r_common[1];
00669 sip_route_t *r_next;
00670 char const *r_display;
00671 url_t r_url[1];
00672 msg_param_t const *r_params;
00673 };
00674
00678 struct sip_rseq_s
00679 {
00680 sip_common_t rs_common[1];
00681 sip_error_t *rs_next;
00682 unsigned long rs_response;
00683 };
00684
00688 struct sip_session_expires_s
00689 {
00690 sip_common_t x_common[1];
00691 sip_error_t *x_next;
00692 unsigned long x_delta;
00693 msg_param_t const *x_params;
00694 char const *x_refresher;
00696 };
00697
00701 struct sip_min_se_s
00702 {
00703 sip_common_t min_common[1];
00704 sip_error_t *min_next;
00705 unsigned long min_delta;
00706 msg_param_t const *min_params;
00707 };
00708
00712 struct sip_subscription_state_s
00713 {
00714 sip_common_t ss_common[1];
00715 sip_error_t *ss_next;
00717 char const *ss_substate;
00718 msg_param_t const *ss_params;
00719 char const *ss_reason;
00720 char const *ss_expires;
00721 char const *ss_retry_after;
00722 };
00723
00727 struct sip_timestamp_s
00728 {
00729 sip_common_t ts_common[1];
00730 sip_error_t *ts_next;
00731 char const *ts_stamp;
00732 char const *ts_delay;
00733 };
00734
00738 struct sip_via_s
00739 {
00740 sip_common_t v_common[1];
00741 sip_via_t *v_next;
00742 char const *v_protocol;
00743 char const *v_host;
00744 char const *v_port;
00745 msg_param_t const *v_params;
00746 char const *v_comment;
00747 char const *v_ttl;
00748 char const *v_maddr;
00749 char const *v_received;
00750 char const *v_branch;
00751 char const *v_rport;
00752 char const *v_comp;
00753 };
00754
00759 struct sip_security_agree_s
00760 {
00761 sip_common_t sa_common[1];
00762 struct sip_security_agree_s
00763 *sa_next;
00764 char const *sa_mec;
00765 msg_param_t const *sa_params;
00766 char const *sa_q;
00767 char const *sa_d_alg;
00768 char const *sa_d_qop;
00769 char const *sa_d_ver;
00770 };
00771
00775 struct sip_privacy_s
00776 {
00777 sip_common_t priv_common[1];
00778 sip_error_t *priv_next;
00779 msg_param_t const *priv_values;
00780 };
00781
00782
00783
00784
00785 union sip_header_u
00786 {
00787 sip_common_t sh_common[1];
00788 struct
00789 {
00790 sip_common_t shn_common;
00791 sip_header_t *shn_next;
00792 } sh_header_next[1];
00793 #define sh_next sh_header_next->shn_next
00794 #define sh_class sh_common->h_class
00795 #define sh_succ sh_common->h_succ
00796 #define sh_prev sh_common->h_prev
00797 #define sh_data sh_common->h_data
00798 #define sh_len sh_common->h_len
00799
00800 sip_addr_t sh_addr[1];
00801 sip_auth_t sh_auth[1];
00802 sip_generic_t sh_generic[1];
00803
00804 sip_request_t sh_request[1];
00805 sip_status_t sh_status[1];
00806
00807 sip_error_t sh_error[1];
00808
00809 sip_via_t sh_via[1];
00810 sip_route_t sh_route[1];
00811 sip_record_route_t sh_record_route[1];
00812 sip_max_forwards_t sh_max_forwards[1];
00813
00814 sip_from_t sh_from[1];
00815 sip_to_t sh_to[1];
00816 sip_contact_t sh_contact[1];
00817 sip_call_id_t sh_call_id[1];
00818 sip_cseq_t sh_cseq[1];
00819 sip_rseq_t sh_rseq[1];
00820 sip_rack_t sh_rack[1];
00821
00822 sip_subject_t sh_subject[1];
00823 sip_priority_t sh_priority[1];
00824
00825 sip_date_t sh_date[1];
00826 sip_retry_after_t sh_retry_after[1];
00827 sip_timestamp_t sh_timestamp[1];
00828 sip_expires_t sh_expires[1];
00829 sip_min_expires_t sh_min_expires[1];
00830
00831 sip_call_info_t sh_call_info[1];
00832 sip_organization_t sh_organization[1];
00833 sip_server_t sh_server[1];
00834 sip_user_agent_t sh_user_agent[1];
00835 sip_in_reply_to_t sh_in_reply_to[1];
00836
00837 sip_accept_t sh_accept[1];
00838 sip_accept_encoding_t sh_accept_encoding[1];
00839 sip_accept_language_t sh_accept_language[1];
00840
00841 sip_allow_t sh_allow[1];
00842 sip_require_t sh_require[1];
00843 sip_proxy_require_t sh_proxy_require[1];
00844 sip_supported_t sh_supported[1];
00845 sip_unsupported_t sh_unsupported[1];
00846
00847 sip_event_t sh_event[1];
00848 sip_allow_events_t sh_allow_events[1];
00849 sip_subscription_state_t sh_subscription_state[1];
00850
00851 sip_proxy_authenticate_t sh_proxy_authenticate[1];
00852 sip_proxy_authentication_info_t sh_proxy_authentication_info[1];
00853 sip_proxy_authorization_t sh_proxy_authorization[1];
00854
00855 sip_authorization_t sh_authorization[1];
00856 sip_www_authenticate_t sh_www_authenticate[1];
00857 sip_authentication_info_t sh_authentication_info[1];
00858
00859 sip_error_info_t sh_error_info[1];
00860 sip_warning_t sh_warning[1];
00861
00862 sip_refer_to_t sh_refer_to[1];
00863 sip_referred_by_t sh_referred_by[1];
00864 sip_replaces_t sh_replaces[1];
00865
00866
00867 sip_caller_prefs_t sh_caller_prefs[1];
00868 sip_request_disposition_t sh_request_disposition[1];
00869 sip_accept_contact_t sh_accept_contact[1];
00870 sip_reject_contact_t sh_reject_contact[1];
00871
00872 sip_session_expires_t sh_session_expires[1];
00873 sip_min_se_t sh_min_se[1];
00874
00875 sip_path_t sh_path[1];
00876 sip_service_route_t sh_service_route[1];
00877
00878 sip_reason_t sh_reason[1];
00879
00880 sip_security_client_t sh_security_client[1];
00881 sip_security_server_t sh_security_server[1];
00882 sip_security_verify_t sh_security_verify[1];
00883
00884 sip_privacy_t sh_privacy[1];
00885
00886 sip_etag_t sh_etag[1];
00887 sip_if_match_t sh_if_match[1];
00888
00889
00890 sip_mime_version_t sh_mime_version[1];
00891 sip_content_type_t sh_content_type[1];
00892 sip_content_encoding_t sh_content_encoding[1];
00893 sip_content_language_t sh_content_language[1];
00894 sip_content_length_t sh_content_length[1];
00895 sip_content_disposition_t sh_content_disposition[1];
00896
00897 sip_unknown_t sh_unknown[1];
00898
00899 sip_separator_t sh_separator[1];
00900 sip_payload_t sh_payload[1];
00901 };
00902
00903 SOFIA_END_DECLS
00904
00905 #endif