<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>liblinphone: SIP address parser API.</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">liblinphone  <span id="projectnumber">3.5.2</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1.2 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">SIP address parser API.</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:gaa017e66840f5ee578168bd469b6c3e91"><td class="memItemLeft" align="right" valign="top">typedef struct SalAddress </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a></td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga301c9884c0bc8b1050fe790d424e0b49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga301c9884c0bc8b1050fe790d424e0b49">linphone_address_new</a> (const char *addr)</td></tr> <tr class="memitem:ga7b33626eea53bbd5cea9e5c4c58826df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga7b33626eea53bbd5cea9e5c4c58826df">linphone_address_clone</a> (const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *addr)</td></tr> <tr class="memitem:ga3a1cb31f2ccf9ed1cc26ed109186cd00"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga3a1cb31f2ccf9ed1cc26ed109186cd00">linphone_address_get_scheme</a> (const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *u)</td></tr> <tr class="memitem:ga7833893b452f330019557432dfe0cd56"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga7833893b452f330019557432dfe0cd56">linphone_address_get_display_name</a> (const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *u)</td></tr> <tr class="memitem:ga4fa5a4927c1d2f3a6b7c6824e35a87bf"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga4fa5a4927c1d2f3a6b7c6824e35a87bf">linphone_address_get_username</a> (const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *u)</td></tr> <tr class="memitem:ga95a356f26c67ed4ee88db878b617c65f"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga95a356f26c67ed4ee88db878b617c65f">linphone_address_get_domain</a> (const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *u)</td></tr> <tr class="memitem:ga5814d2ca174257d5e25da1e0d9c84ae4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga5814d2ca174257d5e25da1e0d9c84ae4">linphone_address_set_display_name</a> (<a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *u, const char *display_name)</td></tr> <tr class="memitem:gadf074b5a5ef0b2fb016e03cedec2106a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#gadf074b5a5ef0b2fb016e03cedec2106a">linphone_address_set_username</a> (<a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *uri, const char *username)</td></tr> <tr class="memitem:ga947819a2bbf6aedcd8e5903469cffec5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga947819a2bbf6aedcd8e5903469cffec5">linphone_address_set_domain</a> (<a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *uri, const char *host)</td></tr> <tr class="memitem:ga4b9924ffae89fcca6786ef56d1a28e1d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga4b9924ffae89fcca6786ef56d1a28e1d">linphone_address_set_port</a> (<a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *uri, const char *port)</td></tr> <tr class="memitem:gaae9f86270cefa9614026a743d4dd29f3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#gaae9f86270cefa9614026a743d4dd29f3">linphone_address_set_port_int</a> (<a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *uri, int port)</td></tr> <tr class="memitem:gacd575aa16b3458037ff71794812048d3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#gacd575aa16b3458037ff71794812048d3">linphone_address_clean</a> (<a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *uri)</td></tr> <tr class="memitem:ga24c1a16f49f8b72f2bab65cc5d8a51af"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga24c1a16f49f8b72f2bab65cc5d8a51af">linphone_address_as_string</a> (const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *u)</td></tr> <tr class="memitem:gae14a9f3157cc4421e5e5195c9ece2038"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#gae14a9f3157cc4421e5e5195c9ece2038">linphone_address_as_string_uri_only</a> (const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *u)</td></tr> <tr class="memitem:gaa1a43038b407c6ba04577fbc62f598d0"><td class="memItemLeft" align="right" valign="top">bool_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#gaa1a43038b407c6ba04577fbc62f598d0">linphone_address_weak_equal</a> (const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *a1, const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *a2)</td></tr> <tr class="memitem:ga5777f2976c71a48cf2b3f03c61818f13"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga5777f2976c71a48cf2b3f03c61818f13">linphone_address_destroy</a> (<a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *u)</td></tr> <tr class="memitem:ga3788e903ad095f67201972f81aa20b98"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#ga3788e903ad095f67201972f81aa20b98">linphone_address_get_port_int</a> (const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *u)</td></tr> <tr class="memitem:gac13c77f08c393ee11d6facbcbc6c6824"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__linphone__address.html#gac13c77f08c393ee11d6facbcbc6c6824">linphone_address_get_port</a> (const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> *u)</td></tr> </table> <a name="details" id="details"></a><h2>Detailed Description</h2> <p>This api is useful for manipulating SIP addresses ('from' or 'to' headers). </p> <h2>Typedef Documentation</h2> <a class="anchor" id="gaa017e66840f5ee578168bd469b6c3e91"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a></td> </tr> </table> </div><div class="memdoc"> <p>Object that represents a SIP address.</p> <p>The LinphoneAddress is an opaque object to represents SIP addresses, ie the content of SIP's 'from' and 'to' headers. A SIP address is made of display name, username, domain name, port, and various uri headers (such as tags). It looks like 'Alice <sip:<a href="#" onclick="location.href='mai'+'lto:'+'ali'+'ce'+'@ex'+'am'+'ple'+'.n'+'et'; return false;">alice<span style="display: none;">.nosp@m.</span>@exa<span style="display: none;">.nosp@m.</span>mple.<span style="display: none;">.nosp@m.</span>net</a>>'. The LinphoneAddress has methods to extract and manipulate all parts of the address. When some part of the address (for example the username) is empty, the accessor methods return NULL. </p> </div> </div> <h2>Function Documentation</h2> <a class="anchor" id="ga301c9884c0bc8b1050fe790d424e0b49"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a>* linphone_address_new </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>addr</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Constructs a LinphoneAddress object by parsing the user supplied address, given as a string. </p> </div> </div> <a class="anchor" id="ga7b33626eea53bbd5cea9e5c4c58826df"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a>* linphone_address_clone </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>addr</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Clones a LinphoneAddress object. </p> </div> </div> <a class="anchor" id="ga3a1cb31f2ccf9ed1cc26ed109186cd00"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* linphone_address_get_scheme </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>u</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the address scheme, normally "sip". </p> </div> </div> <a class="anchor" id="ga7833893b452f330019557432dfe0cd56"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* linphone_address_get_display_name </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>u</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the display name. </p> </div> </div> <a class="anchor" id="ga4fa5a4927c1d2f3a6b7c6824e35a87bf"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* linphone_address_get_username </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>u</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the username. </p> </div> </div> <a class="anchor" id="ga95a356f26c67ed4ee88db878b617c65f"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* linphone_address_get_domain </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>u</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the domain name. </p> </div> </div> <a class="anchor" id="ga5814d2ca174257d5e25da1e0d9c84ae4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void linphone_address_set_display_name </td> <td>(</td> <td class="paramtype"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>u</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>display_name</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Sets the display name. </p> </div> </div> <a class="anchor" id="gadf074b5a5ef0b2fb016e03cedec2106a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void linphone_address_set_username </td> <td>(</td> <td class="paramtype"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>uri</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>username</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Sets the username. </p> </div> </div> <a class="anchor" id="ga947819a2bbf6aedcd8e5903469cffec5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void linphone_address_set_domain </td> <td>(</td> <td class="paramtype"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>uri</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>host</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Sets the domain. </p> </div> </div> <a class="anchor" id="ga4b9924ffae89fcca6786ef56d1a28e1d"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void linphone_address_set_port </td> <td>(</td> <td class="paramtype"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>uri</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>port</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Sets the port number. </p> </div> </div> <a class="anchor" id="gaae9f86270cefa9614026a743d4dd29f3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void linphone_address_set_port_int </td> <td>(</td> <td class="paramtype"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>uri</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>port</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Sets the port number. </p> </div> </div> <a class="anchor" id="gacd575aa16b3458037ff71794812048d3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void linphone_address_clean </td> <td>(</td> <td class="paramtype"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>uri</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Removes address's tags and uri headers so that it is displayable to the user. </p> </div> </div> <a class="anchor" id="ga24c1a16f49f8b72f2bab65cc5d8a51af"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* linphone_address_as_string </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>u</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the address as a string. The returned char * must be freed by the application. Use ms_free(). </p> </div> </div> <a class="anchor" id="gae14a9f3157cc4421e5e5195c9ece2038"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* linphone_address_as_string_uri_only </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>u</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the SIP uri only as a string, that is display name is removed. The returned char * must be freed by the application. Use ms_free(). </p> </div> </div> <a class="anchor" id="gaa1a43038b407c6ba04577fbc62f598d0"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool_t linphone_address_weak_equal </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>a1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>a2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Compare two LinphoneAddress ignoring tags and headers, basically just domain, username, and port. Returns TRUE if they are equal. </p> </div> </div> <a class="anchor" id="ga5777f2976c71a48cf2b3f03c61818f13"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void linphone_address_destroy </td> <td>(</td> <td class="paramtype"><a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>u</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Destroys a LinphoneAddress object. </p> </div> </div> <a class="anchor" id="ga3788e903ad095f67201972f81aa20b98"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int linphone_address_get_port_int </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>u</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get port number as an integer value. </p> </div> </div> <a class="anchor" id="gac13c77f08c393ee11d6facbcbc6c6824"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* linphone_address_get_port </td> <td>(</td> <td class="paramtype">const <a class="el" href="group__linphone__address.html#gaa017e66840f5ee578168bd469b6c3e91">LinphoneAddress</a> * </td> <td class="paramname"><em>u</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Get port number, null if not present. </p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.2 </small></address> </body> </html>