📄 group__osip__message.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>libosip: oSIP message API</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.8 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div><h1>oSIP message API<br><small>[<a class="el" href="group__osip2__parser.html">The parser modules</a>]</small></h1><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Classes</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="structosip__message.html">osip_message</a></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="structosip__message.html">osip_message</a></td></tr><tr><td colspan=2><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga20">SIP_MESSAGE_MAX_LENGTH</a> 4000</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga21">BODY_MESSAGE_MAX_SIZE</a> 1000</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga22">MSG_IS_RESPONSE</a>(msg) ((msg)->status_code!=0)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga23">MSG_IS_REQUEST</a>(msg) ((msg)->status_code==0)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga24">MSG_IS_INVITE</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga25">MSG_IS_ACK</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga26">MSG_IS_REGISTER</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga27">MSG_IS_BYE</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga28">MSG_IS_OPTIONS</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga29">MSG_IS_INFO</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga30">MSG_IS_CANCEL</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga31">MSG_IS_REFER</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga32">MSG_IS_NOTIFY</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga33">MSG_IS_SUBSCRIBE</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga34">MSG_IS_MESSAGE</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga35">MSG_IS_PRACK</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga36">MSG_IS_UPDATE</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga37">MSG_IS_STATUS_1XX</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga38">MSG_IS_STATUS_2XX</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga39">MSG_IS_STATUS_3XX</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga40">MSG_IS_STATUS_4XX</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga41">MSG_IS_STATUS_5XX</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga42">MSG_IS_STATUS_6XX</a>(msg)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga43">MSG_TEST_CODE</a>(msg, code)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga44">MSG_IS_RESPONSE_FOR</a>(msg, requestname)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga45">osip_generic_param_init</a>(GP) osip_uri_param_init(GP)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga46">osip_generic_param_free</a>(GP) osip_uri_param_free(GP)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga47">osip_generic_param_set</a>(GP, NAME, VALUE) osip_uri_param_set(GP, NAME, VALUE)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga48">osip_generic_param_clone</a>(GP, DEST) osip_uri_param_clone(GP,DEST)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga49">osip_generic_param_add</a>(LIST, NAME, VALUE) osip_uri_param_add(LIST,NAME,VALUE)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>#define </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga50">osip_generic_param_get_byname</a>(LIST, NAME, DEST) osip_uri_param_get_byname(LIST,NAME,DEST)</td></tr><tr><td colspan=2><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="structosip__message.html">osip_message</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga0">osip_message_t</a></td></tr><tr><td colspan=2><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga1">osip_message_init</a> (<a class="el" href="structosip__message.html">osip_message_t</a> **sip)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga2">osip_message_free</a> (<a class="el" href="structosip__message.html">osip_message_t</a> *sip)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga3">osip_message_parse</a> (<a class="el" href="structosip__message.html">osip_message_t</a> *sip, const char *buf, size_t length)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga4">osip_message_to_str</a> (<a class="el" href="structosip__message.html">osip_message_t</a> *sip, char **dest, size_t *message_length)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga5">osip_message_clone</a> (const <a class="el" href="structosip__message.html">osip_message_t</a> *sip, <a class="el" href="structosip__message.html">osip_message_t</a> **dest)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga6">osip_message_set_reason_phrase</a> (<a class="el" href="structosip__message.html">osip_message_t</a> *sip, char *reason)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga7">osip_message_get_reason_phrase</a> (const <a class="el" href="structosip__message.html">osip_message_t</a> *sip)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga8">osip_message_set_status_code</a> (<a class="el" href="structosip__message.html">osip_message_t</a> *sip, int statuscode)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga9">osip_message_get_status_code</a> (const <a class="el" href="structosip__message.html">osip_message_t</a> *sip)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga10">osip_message_set_method</a> (<a class="el" href="structosip__message.html">osip_message_t</a> *sip, char *method)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga11">osip_message_get_method</a> (const <a class="el" href="structosip__message.html">osip_message_t</a> *sip)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga12">osip_message_set_version</a> (<a class="el" href="structosip__message.html">osip_message_t</a> *sip, char *version)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga13">osip_message_get_version</a> (const <a class="el" href="structosip__message.html">osip_message_t</a> *sip)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga14">osip_message_set_uri</a> (<a class="el" href="structosip__message.html">osip_message_t</a> *sip, <a class="el" href="structosip__uri.html">osip_uri_t</a> *uri)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structosip__uri.html">osip_uri_t</a> * </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga15">osip_message_get_uri</a> (const <a class="el" href="structosip__message.html">osip_message_t</a> *sip)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga16">osip_generic_param_set_name</a> (<a class="el" href="structosip__uri__param.html">osip_generic_param_t</a> *generic_param, char *name)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga17">osip_generic_param_get_name</a> (const <a class="el" href="structosip__uri__param.html">osip_generic_param_t</a> *generic_param)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga18">osip_generic_param_set_value</a> (<a class="el" href="structosip__uri__param.html">osip_generic_param_t</a> *generic_param, char *value)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__MESSAGE.html#ga19">osip_generic_param_get_value</a> (const <a class="el" href="structosip__uri__param.html">osip_generic_param_t</a> *generic_param)</td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="ga21" doxytag="osip_message.h::BODY_MESSAGE_MAX_SIZE" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define BODY_MESSAGE_MAX_SIZE 1000 </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>You can define the maximum length for a body inside a SIP message. </td> </tr></table><a class="anchor" name="ga25" doxytag="osip_message.h::MSG_IS_ACK" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define MSG_IS_ACK </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">msg </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><b>Value:</b><pre class="fragment"><div>(<a class="code" href="group__oSIP__MESSAGE.html#ga23">MSG_IS_REQUEST</a>(msg) && \ 0==strncmp((msg)->sip_method,<span class="stringliteral">"ACK"</span>,3))</div></pre>Test if the message is an ACK REQUEST <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>msg</em> </td><td>the SIP message. </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="ga27" doxytag="osip_message.h::MSG_IS_BYE" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define MSG_IS_BYE </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">msg </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><b>Value:</b><pre class="fragment"><div>(<a class="code" href="group__oSIP__MESSAGE.html#ga23">MSG_IS_REQUEST</a>(msg) && \ 0==strncmp((msg)->sip_method,<span class="stringliteral">"BYE"</span>,3))</div></pre>Test if the message is a BYE REQUEST <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>msg</em> </td><td>the SIP message. </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="ga30" doxytag="osip_message.h::MSG_IS_CANCEL" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define MSG_IS_CANCEL </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">msg </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><b>Value:</b><pre class="fragment"><div>(<a class="code" href="group__oSIP__MESSAGE.html#ga23">MSG_IS_REQUEST</a>(msg) && \ 0==strncmp((msg)->sip_method,<span class="stringliteral">"CANCEL"</span>,6))</div></pre>Test if the message is a CANCEL REQUEST <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>msg</em> </td><td>the SIP message. </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="ga29" doxytag="osip_message.h::MSG_IS_INFO" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define MSG_IS_INFO </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">msg </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><b>Value:</b><pre class="fragment"><div>(<a class="code" href="group__oSIP__MESSAGE.html#ga23">MSG_IS_REQUEST</a>(msg) && \ 0==strncmp((msg)->sip_method,<span class="stringliteral">"INFO"</span>,4))</div></pre>Test if the message is an INFO REQUEST <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>msg</em> </td><td>the SIP message. </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="ga24" doxytag="osip_message.h::MSG_IS_INVITE" ></a><p><table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> #define MSG_IS_INVITE </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">msg </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><b>Value:</b><pre class="fragment"><div>(<a class="code" href="group__oSIP__MESSAGE.html#ga23">MSG_IS_REQUEST</a>(msg) && \ 0==strncmp((msg)->sip_method,<span class="stringliteral">"INVITE"</span>,6))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -