00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _OSIP_PARSER_H_
00022 #define _OSIP_PARSER_H_
00023
00024 #include <osipparser2/osip_message.h>
00025
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042
00046 int parser_init (void);
00047
00052 int osip_message_fix_last_via_header (osip_message_t * request,
00053 const char *ip_addr, int port);
00054
00055
00066 int osip_message_get__property (const osip_message_t * sip);
00067
00072 int osip_message_force_update (osip_message_t * sip);
00073
00078 const char *osip_message_get_reason (int status_code);
00079
00085 int osip_message_set_accept (osip_message_t * sip, const char *hvalue);
00092 int osip_message_get_accept (const osip_message_t * sip, int pos,
00093 osip_accept_t ** dest);
00099 int osip_message_set_accept_encoding (osip_message_t * sip,
00100 const char *hvalue);
00107 int osip_message_get_accept_encoding (const osip_message_t * sip, int pos,
00108 osip_accept_encoding_t ** dest);
00114 int osip_message_set_accept_language (osip_message_t * sip,
00115 const char *hvalue);
00122 int osip_message_get_accept_language (const osip_message_t * sip, int pos,
00123 osip_accept_language_t ** dest);
00129 int osip_message_set_alert_info (osip_message_t * sip, const char *hvalue);
00136 int osip_message_get_alert_info (const osip_message_t * sip, int pos,
00137 osip_alert_info_t ** dest);
00143 int osip_message_set_allow (osip_message_t * sip, const char *hvalue);
00150 int osip_message_get_allow (const osip_message_t * sip, int pos,
00151 osip_allow_t ** dest);
00157 int osip_message_set_authentication_info (osip_message_t * sip, const char *hvalue);
00164 int osip_message_get_authentication_info (const osip_message_t * sip, int pos,
00165 osip_authentication_info_t ** dest);
00171 int osip_message_set_authorization (osip_message_t * sip,
00172 const char *hvalue);
00179 int osip_message_get_authorization (const osip_message_t * sip, int pos,
00180 osip_authorization_t ** dest);
00186 int osip_message_set_call_id (osip_message_t * sip, const char *hvalue);
00191 osip_call_id_t *osip_message_get_call_id (const osip_message_t * sip);
00197 int osip_message_set_call_info (osip_message_t * sip, const char *hvalue);
00204 int osip_message_get_call_info (const osip_message_t * sip, int pos,
00205 osip_call_info_t ** dest);
00211 int osip_message_set_contact (osip_message_t * sip, const char *hvalue);
00218 int osip_message_get_contact (const osip_message_t * sip, int pos,
00219 osip_contact_t ** dest);
00225 int osip_message_set_content_disposition (osip_message_t * sip,
00226 const char *hvalue);
00233 int osip_message_get_content_disposition (const osip_message_t * sip,
00234 int pos,
00235 osip_content_disposition_t **
00236 dest);
00242 int osip_message_set_content_encoding (osip_message_t * sip,
00243 const char *hvalue);
00250 int osip_message_get_content_encoding (const osip_message_t * sip, int pos,
00251 osip_content_encoding_t ** dest);
00257 int osip_message_set_content_length (osip_message_t * sip,
00258 const char *hvalue);
00263 osip_content_length_t *osip_message_get_content_length (const osip_message_t
00264 * sip);
00270 int osip_message_set_content_type (osip_message_t * sip,
00271 const char *hvalue);
00276 osip_content_type_t *osip_message_get_content_type (const osip_message_t *
00277 sip);
00283 int osip_message_set_cseq (osip_message_t * sip, const char *hvalue);
00288 osip_cseq_t *osip_message_get_cseq (const osip_message_t * sip);
00294 int osip_message_set_error_info (osip_message_t * sip, const char *hvalue);
00301 int osip_message_get_error_info (const osip_message_t * sip, int pos,
00302 osip_error_info_t ** dest);
00308 int osip_message_set_from (osip_message_t * sip, const char *hvalue);
00313 osip_from_t *osip_message_get_from (const osip_message_t * sip);
00319 int osip_message_set_mime_version (osip_message_t * sip,
00320 const char *hvalue);
00325 osip_mime_version_t *osip_message_get_mime_version (const osip_message_t *
00326 sip);
00332 int osip_message_set_proxy_authenticate (osip_message_t * sip,
00333 const char *hvalue);
00340 int osip_message_get_proxy_authenticate (const osip_message_t * sip,
00341 int pos,
00342 osip_proxy_authenticate_t ** dest);
00348 int osip_message_set_proxy_authorization (osip_message_t * sip,
00349 const char *hvalue);
00356 int osip_message_get_proxy_authorization (const osip_message_t * sip,
00357 int pos,
00358 osip_proxy_authorization_t **
00359 dest);
00365 int osip_message_set_proxy_authentication_info (osip_message_t * sip,
00366 const char *hvalue);
00373 int osip_message_get_proxy_authentication_info (const osip_message_t * sip,
00374 int pos,
00375 osip_proxy_authentication_info_t ** dest);
00381 int osip_message_set_record_route (osip_message_t * sip,
00382 const char *hvalue);
00389 int osip_message_get_record_route (const osip_message_t * sip, int pos,
00390 osip_record_route_t ** dest);
00396 int osip_message_set_route (osip_message_t * sip, const char *hvalue);
00403 int osip_message_get_route (const osip_message_t * sip, int pos,
00404 osip_route_t ** dest);
00410 int osip_message_set_to (osip_message_t * sip, const char *hvalue);
00415 osip_to_t *osip_message_get_to (const osip_message_t * sip);
00421 int osip_message_set_via (osip_message_t * sip, const char *hvalue);
00427 int osip_message_append_via (osip_message_t * sip, const char *hvalue);
00434 int osip_message_get_via (const osip_message_t * sip, int pos,
00435 osip_via_t ** dest);
00441 int osip_message_set_www_authenticate (osip_message_t * sip,
00442 const char *hvalue);
00449 int osip_message_get_www_authenticate (const osip_message_t * sip, int pos,
00450 osip_www_authenticate_t ** dest);
00457 int osip_message_set_header (osip_message_t * sip, const char *hname,
00458 const char *hvalue);
00466 int osip_message_set_topheader (osip_message_t * sip, const char *hname,
00467 const char *hvalue);
00468
00476 int osip_message_header_get_byname (const osip_message_t * sip,
00477 const char *hname, int pos,
00478 osip_header_t ** dest);
00485 int osip_message_get_header (const osip_message_t * sip, int pos,
00486 osip_header_t ** dest);
00487
00494 int osip_message_set_body (osip_message_t * sip, const char *buf, size_t length);
00501 int osip_message_set_body_mime (osip_message_t * sip, const char *buf, size_t length);
00508 int osip_message_get_body (const osip_message_t * sip, int pos,
00509 osip_body_t ** dest);
00510
00511
00512
00513
00514 #ifndef DOXYGEN
00515 #ifdef ENABLE_TRACE
00516 void msg_logrequest (osip_message_t * sip, char *fmt);
00517 void msg_logresponse (osip_message_t * sip, char *fmt);
00518 #else
00519 #define msg_logrequest(P,Q) ;
00520 #define msg_logresponse(P,Q) ;
00521 #endif
00522 #endif
00523
00529 #define osip_message_set_date(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Date",value)
00530
00536 #define osip_message_get_date(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"date",pos,(osip_header_t **)dest)
00537
00542 #define osip_message_set_encryption(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Encryption",value)
00543
00549 #define osip_message_get_encryption(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"encryption",pos,(osip_header_t **)dest)
00550
00555 #define osip_message_set_organization(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Organization",value)
00556
00562 #define osip_message_get_organization(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"organization",pos,(osip_header_t **)dest)
00563
00568 #define osip_message_set_require(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Require",value)
00569
00575 #define osip_message_get_require(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"require",pos,(osip_header_t **)dest)
00576
00581 #define osip_message_set_supported(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Supported",value)
00582
00588 #define osip_message_get_supported(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"supported",pos,(osip_header_t **)dest)
00589
00594 #define osip_message_set_timestamp(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Timestamp",value)
00595
00601 #define osip_message_get_timestamp(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"timestamp",pos,(osip_header_t **)dest)
00602
00607 #define osip_message_set_user_agent(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"User-Agent",value)
00608
00614 #define osip_message_get_user_agent(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"user-agent",pos,(osip_header_t **)dest)
00615
00620 #define osip_message_set_content_language(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Content-Language",value)
00621
00627 #define osip_message_get_content_language(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"content-language",pos,(osip_header_t **)dest)
00628
00633 #define osip_message_set_expires(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Expires",value)
00634
00640 #define osip_message_get_expires(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"expires",pos,(osip_header_t **)dest)
00641
00646 #define osip_message_set_in_reply_to(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"In-Reply-To",value)
00647
00653 #define osip_message_get_in_reply_to(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"in-reply-to",pos,(osip_header_t **)dest)
00654
00659 #define osip_message_set_max_forwards(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Max-Forwards",value)
00660
00666 #define osip_message_get_max_forwards(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"max-forwards",pos,(osip_header_t **)dest)
00667
00672 #define osip_message_set_priority(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Priority",value)
00673
00679 #define osip_message_get_priority(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"priority",pos,(osip_header_t **)dest)
00680
00685 #define osip_message_set_proxy_require(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Proxy-Require",value)
00686
00692 #define osip_message_get_proxy_require(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"proxy-require",pos,(osip_header_t **)dest)
00693
00698 #define osip_message_set_response_key(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Response-Key",value)
00699
00705 #define osip_message_get_response_key(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"response-key",pos,(osip_header_t **)dest)
00706
00711 #define osip_message_set_subject(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Subject",value)
00712
00718 #define osip_message_get_subject(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"subject",pos,(osip_header_t **)dest)
00719
00724 #define osip_message_set_retry_after(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Retry-After",value)
00725
00731 #define osip_message_get_retry_after(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"retry-after",pos,(osip_header_t **)dest)
00732
00737 #define osip_message_set_server(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Server",value)
00738
00744 #define osip_message_get_server(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"server",pos,(osip_header_t **)dest)
00745
00750 #define osip_message_set_unsupported(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Unsupported",value)
00751
00757 #define osip_message_get_unsupported(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"unsupported",pos,(osip_header_t **)dest)
00758
00763 #define osip_message_set_warning(sip,value) osip_message_set_header((osip_message_t *)sip,(const char *)"Warning",value)
00764
00770 #define osip_message_get_warning(sip,pos,dest) osip_message_header_get_byname(( osip_message_t *)sip,(const char *)"warning",pos,(osip_header_t **)dest)
00771
00775 #ifdef __cplusplus
00776 }
00777 #endif
00778
00779 #endif