📄 group__osip__dialog.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 dialog Handling</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 dialog Handling</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__dialog.html">osip_dialog</a></td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>struct </td><td class="memItemRight" valign=bottom><a class="el" href="structosip__dialog.html">osip_dialog</a></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__dialog.html">osip_dialog</a> </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga0">osip_dialog_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__DIALOG.html#ga1">osip_dialog_init_as_uac</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> **dialog, <a class="el" href="structosip__message.html">osip_message_t</a> *response)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga2">osip_dialog_init_as_uac_with_remote_request</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> **dialog, <a class="el" href="structosip__message.html">osip_message_t</a> *next_request, int local_cseq)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga3">osip_dialog_init_as_uas</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> **dialog, <a class="el" href="structosip__message.html">osip_message_t</a> *invite, <a class="el" href="structosip__message.html">osip_message_t</a> *response)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga4">osip_dialog_free</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> *dialog)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>void </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga5">osip_dialog_set_state</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> *dialog, <a class="el" href="group__oSIP__FSM.html#ga0">state_t</a> type)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga6">osip_dialog_update_route_set_as_uas</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> *dialog, <a class="el" href="structosip__message.html">osip_message_t</a> *invite)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga7">osip_dialog_update_osip_cseq_as_uas</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> *dialog, <a class="el" href="structosip__message.html">osip_message_t</a> *request)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga8">osip_dialog_match_as_uac</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> *dialog, <a class="el" href="structosip__message.html">osip_message_t</a> *response)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga9">osip_dialog_update_tag_as_uac</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> *dialog, <a class="el" href="structosip__message.html">osip_message_t</a> *response)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga10">osip_dialog_update_route_set_as_uac</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> *dialog, <a class="el" href="structosip__message.html">osip_message_t</a> *response)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top>int </td><td class="memItemRight" valign=bottom><a class="el" href="group__oSIP__DIALOG.html#ga11">osip_dialog_match_as_uas</a> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> *dialog, <a class="el" href="structosip__message.html">osip_message_t</a> *request)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="ga12" doxytag="oSIP_DIALOG::osip_dialog_is_originator" ></a>int </td><td class="memItemRight" valign=bottom><b>osip_dialog_is_originator</b> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> *dialog)</td></tr><tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="ga13" doxytag="oSIP_DIALOG::osip_dialog_is_callee" ></a>int </td><td class="memItemRight" valign=bottom><b>osip_dialog_is_callee</b> (<a class="el" href="structosip__dialog.html">osip_dialog_t</a> *dialog)</td></tr></table><hr><h2>Typedef Documentation</h2><a class="anchor" name="ga0" doxytag="osip_dialog.h::osip_dialog_t" ></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"> <a class="el" href="structosip__dialog.html">osip_dialog_t</a> </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Structure for referencing a dialog. </td> </tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="ga4" doxytag="osip_dialog.h::osip_dialog_free" ></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"> void osip_dialog_free </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="structosip__dialog.html">osip_dialog_t</a> * </td> <td class="mdname1" valign="top" nowrap> <em>dialog</em> </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>Free all resource in a osip_dialog_t element. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>dialog</em> </td><td>The element to free. </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="ga1" doxytag="osip_dialog.h::osip_dialog_init_as_uac" ></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"> int osip_dialog_init_as_uac </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="structosip__dialog.html">osip_dialog_t</a> ** </td> <td class="mdname" nowrap> <em>dialog</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="structosip__message.html">osip_message_t</a> * </td> <td class="mdname" nowrap> <em>response</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Allocate a osip_dialog_t element as a UAC. <ul><li>NOTE1: Only INVITE transactions can create a dialog. </li><li>NOTE2: The dialog should be created when the first response is received. (except for a 100 Trying) </li><li>NOTE3: Remote UA should be compliant! If not (not tag in the to header?) the old mechanism is used to match the request but if 2 uncompliant UA both answer 200 OK for the same transaction, they won't be detected. This is a major BUG in the old rfc.</li></ul><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>dialog</em> </td><td>The element to allocate. </td></tr> <tr><td></td><td valign=top><em>response</em> </td><td>The response containing the informations. </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="ga2" doxytag="osip_dialog.h::osip_dialog_init_as_uac_with_remote_request" ></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"> int osip_dialog_init_as_uac_with_remote_request </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="structosip__dialog.html">osip_dialog_t</a> ** </td> <td class="mdname" nowrap> <em>dialog</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="structosip__message.html">osip_message_t</a> * </td> <td class="mdname" nowrap> <em>next_request</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>int </td> <td class="mdname" nowrap> <em>local_cseq</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Allocate a osip_dialog_t element as a UAC. <ul><li>This could be used to initiate dialog with a NOTIFY coming before the answer for a subscribe has reached us.</li></ul><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>dialog</em> </td><td>The element to allocate. </td></tr> <tr><td></td><td valign=top><em>next_request</em> </td><td>The response containing the informations. </td></tr> <tr><td></td><td valign=top><em>local_cseq</em> </td><td>The local cseq </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="ga3" doxytag="osip_dialog.h::osip_dialog_init_as_uas" ></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"> int osip_dialog_init_as_uas </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="structosip__dialog.html">osip_dialog_t</a> ** </td> <td class="mdname" nowrap> <em>dialog</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="structosip__message.html">osip_message_t</a> * </td> <td class="mdname" nowrap> <em>invite</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="structosip__message.html">osip_message_t</a> * </td> <td class="mdname" nowrap> <em>response</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Allocate a osip_dialog_t element as a UAS. NOTE1: Only INVITE transactions can create a dialog. NOTE2: The dialog should be created when the first response is sent. (except for a 100 Trying) <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign=top><em>dialog</em> </td><td>The element to allocate. </td></tr> <tr><td></td><td valign=top><em>invite</em> </td><td>The INVITE request containing some informations. </td></tr> <tr><td></td><td valign=top><em>response</em> </td><td>The response containing other informations. </td></tr> </table></dl> </td> </tr></table><a class="anchor" name="ga8" doxytag="osip_dialog.h::osip_dialog_match_as_uac" ></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"> int osip_dialog_match_as_uac </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="structosip__dialog.html">osip_dialog_t</a> * </td> <td class="mdname" nowrap> <em>dialog</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap><a class="el" href="structosip__message.html">osip_message_t</a> * </td> <td class="mdname" nowrap> <em>response</em></td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -