<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:D="DAV:" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='color:#1F497D'>Hello,</span><o:p></o:p></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>I have been unsuccessfully trying
to setup OpenSER as a basic server in my private network. The idea is that
clients can register to the virtual domain </span>&#8220;sipserver.apt.local&#8221;<span
style='color:#1F497D'> and from then, INVITES will be sent to the appropiate
address. <o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>I use the following openser.cfg<o:p></o:p></span></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># ----------- global configuration parameters ------------------------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>debug=5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# debug level (cmd line: -dddddddddd)<o:p></o:p></p>

<p class=MsoNormal>fork=yes<o:p></o:p></p>

<p class=MsoNormal>log_stderror=no&nbsp;&nbsp;&nbsp; # (cmd line: -E)<o:p></o:p></p>

<p class=MsoNormal>children=4<o:p></o:p></p>

<p class=MsoNormal>log_facility=LOG_LOCAL7<o:p></o:p></p>

<p class=MsoNormal># Uncomment these lines to enter debugging mode <o:p></o:p></p>

<p class=MsoNormal>#fork=no<o:p></o:p></p>

<p class=MsoNormal>#log_stderror=yes<o:p></o:p></p>

<p class=MsoNormal>#<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>port=5060<o:p></o:p></p>

<p class=MsoNormal>listen=udp:192.168.100.244:5060<o:p></o:p></p>

<p class=MsoNormal>listen=udp:sipserver.apt.local:5060<o:p></o:p></p>

<p class=MsoNormal>alias=&quot;sipserver.apt.local:5060&quot;<o:p></o:p></p>

<p class=MsoNormal>sip_warning=yes<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># uncomment the following lines for TLS support<o:p></o:p></p>

<p class=MsoNormal>#disable_tls = 0<o:p></o:p></p>

<p class=MsoNormal>#listen = tls:your_IP:5061<o:p></o:p></p>

<p class=MsoNormal>#tls_verify_server = 1<o:p></o:p></p>

<p class=MsoNormal>#tls_verify_client = 1<o:p></o:p></p>

<p class=MsoNormal>#tls_require_client_certificate = 0<o:p></o:p></p>

<p class=MsoNormal>#tls_method = TLSv1<o:p></o:p></p>

<p class=MsoNormal>#tls_certificate =
&quot;/etc/openser/tls/user/user-cert.pem&quot;<o:p></o:p></p>

<p class=MsoNormal>#tls_private_key =
&quot;/etc/openser/tls/user/user-privkey.pem&quot;<o:p></o:p></p>

<p class=MsoNormal>#tls_ca_list =
&quot;/etc/openser/tls/user/user-calist.pem&quot;<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># ------------------ module loading
----------------------------------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>#set module path<o:p></o:p></p>

<p class=MsoNormal>mpath=&quot;/usr/lib/openser/modules/&quot;<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># Uncomment this if you want to use SQL database<o:p></o:p></p>

<p class=MsoNormal>#loadmodule &quot;mysql.so&quot;<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>loadmodule &quot;sl.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule &quot;tm.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule &quot;rr.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule &quot;maxfwd.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule &quot;usrloc.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule &quot;registrar.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule &quot;textops.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule &quot;mi_fifo.so&quot;<o:p></o:p></p>

<p class=MsoNormal>loadmodule &quot;xlog.so&quot;<o:p></o:p></p>

<p class=MsoNormal># Uncomment this if you want digest authentication<o:p></o:p></p>

<p class=MsoNormal># mysql.so must be loaded !<o:p></o:p></p>

<p class=MsoNormal>#loadmodule &quot;auth.so&quot;<o:p></o:p></p>

<p class=MsoNormal>#loadmodule &quot;auth_db.so&quot;<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># ----------------- setting module-specific parameters
---------------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># -- mi_fifo params --<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>modparam(&quot;mi_fifo&quot;, &quot;fifo_name&quot;,
&quot;/tmp/openser_fifo&quot;)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># -- usrloc params --<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>modparam(&quot;usrloc&quot;,
&quot;db_mode&quot;,&nbsp;&nbsp; 0)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># Uncomment this if you want to use SQL database <o:p></o:p></p>

<p class=MsoNormal># for persistent storage and comment the previous line<o:p></o:p></p>

<p class=MsoNormal>#modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, 2)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># -- auth params --<o:p></o:p></p>

<p class=MsoNormal># Uncomment if you are using auth module<o:p></o:p></p>

<p class=MsoNormal>#<o:p></o:p></p>

<p class=MsoNormal>#modparam(&quot;auth_db&quot;, &quot;calculate_ha1&quot;,
yes)<o:p></o:p></p>

<p class=MsoNormal>#<o:p></o:p></p>

<p class=MsoNormal># If you set &quot;calculate_ha1&quot; parameter to yes
(which true in this config), <o:p></o:p></p>

<p class=MsoNormal># uncomment also the following parameter)<o:p></o:p></p>

<p class=MsoNormal>#<o:p></o:p></p>

<p class=MsoNormal>#modparam(&quot;auth_db&quot;, &quot;password_column&quot;,
&quot;password&quot;)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># -- rr params --<o:p></o:p></p>

<p class=MsoNormal># add value to ;lr param to make some broken UAs happy<o:p></o:p></p>

<p class=MsoNormal>modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, 1)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># -------------------------&nbsp; request routing logic
-------------------<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal># main routing logic<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>route{<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# initial sanity checks -- messages with<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# max_forwards==0, or excessively long requests<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!mf_process_maxfwd_header(&quot;10&quot;)) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
exit;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (msg:len &gt;=&nbsp; max_len ) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
exit;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# we record-route all messages -- to make sure that<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# subsequent messages will go through our proxy; that's<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# particularly good if upstream and downstream entities<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# use different transport protocol<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!method==&quot;REGISTER&quot;)<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
record_route();<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# subsequent messages withing a dialog should take the<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# path determined by record-routing<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (loose_route()) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# mark routing logic in request<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
append_hf(&quot;P-hint: rr-enforced\r\n&quot;); <o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
route(1);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!uri==myself) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# mark routing logic in request<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
append_hf(&quot;P-hint: outbound\r\n&quot;); <o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# if you have some interdomain connections via TLS<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#if(uri=~&quot;@tls_domain1.net&quot;) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
t_relay(&quot;tls:domain1.net&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#} else if(uri=~&quot;@tls_domain2.net&quot;) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
t_relay(&quot;tls:domain2.net&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#}<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
route(1);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# if the request is for other domain use UsrLoc<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# (in case, it does not work, use the following command<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# with proper names and addresses in it)<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (uri==myself) {<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (method==&quot;REGISTER&quot;) {<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# Uncomment this if you want to use digest authentication<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#if (!www_authorize(&quot;openser.org&quot;, &quot;subscriber&quot;)) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span lang=ES-TRAD>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
www_challenge(&quot;openser.org&quot;, &quot;0&quot;);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=ES-TRAD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=ES-TRAD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>#};<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
xlog(&quot;L_INFO&quot;,&quot;[ACHTUNG] saved $ru&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
save(&quot;location&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
exit;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
xlog(&quot;L_INFO&quot;,&quot;[ACHTUNG]request from $ru&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#lookup(&quot;aliases&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#if (!uri==myself) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
append_hf(&quot;P-hint: outbound alias\r\n&quot;); <o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
route(1);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#};<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# native SIP destinations are handled using our USRLOC DB<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#if (!lookup(&quot;location&quot;)) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sl_send_reply(&quot;404&quot;, &quot;Not Found&quot;);<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit;<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#};<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#append_hf(&quot;P-hint: usrloc applied\r\n&quot;); <o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
route(1);<o:p></o:p></p>

<p class=MsoNormal>}<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>route[1] {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# send it out now; use stateful forwarding as it works reliably<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# even for UDP2TCP<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if (!t_relay()) {<o:p></o:p></p>

<p class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<span lang=ES-TRAD>sl_reply_error();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=ES-TRAD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
};<o:p></o:p></span></p>

<p class=MsoNormal><span lang=ES-TRAD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
exit;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=ES-TRAD>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=ES-TRAD><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>I can register fine, however, on
INVITE, openSER forwards it internally instead of fw to the client registered
until max_fw reaches 0 and an error &#8220;too many hops&#8221; is the final response. Log
below:</span> <span lang=ES-TRAD><o:p></o:p></span></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5022]: [ACHTUNG]
saved sip:192.168.100.244<o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5022]:
parse_headers: flags=ffffffffffffffff <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5022]:
parse_headers: flags=8000000 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5022]:
parse_headers: flags=ffffffffffffffff <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5022]:
build_contact(): Created Contact HF: Contact:
&lt;sip:oslo_2_Route_1@sipserver.apt.local:5060&gt;;expires=3600^M&nbsp; <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5022]:
parse_headers: flags=ffffffffffffffff <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5022]:
check_via_address(192.168.100.238, sipserver.apt.local, 0) <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5022]:
DEBUG:destroy_avp_list: destroying list (nil) <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5022]:
receive_msg: cleaning up <o:p></o:p></p>

<p class=MsoNormal><span lang=ES-TRAD>Apr 18 15:36:16 barcelona
/usr/sbin/openser[5024]: SIP Request: <o:p></o:p></span></p>

<p class=MsoNormal><span lang=ES-TRAD>Apr 18 15:36:16 barcelona
/usr/sbin/openser[5024]:&nbsp; method:&nbsp; &lt;INVITE&gt; <o:p></o:p></span></p>

<p class=MsoNormal><span lang=ES-TRAD>Apr 18 15:36:16 barcelona
/usr/sbin/openser[5024]:&nbsp; uri:&nbsp;&nbsp;&nbsp;&nbsp;
&lt;sip:oslo@sipserver.apt.local&gt; <o:p></o:p></span></p>

<p class=MsoNormal><span lang=ES-TRAD>Apr 18 15:36:16 barcelona
/usr/sbin/openser[5024]:&nbsp; version: &lt;SIP/2.0&gt; <o:p></o:p></span></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
parse_headers: flags=2 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: Found
param type 232, &lt;branch&gt; = &lt;z9hG4bK4211644481&gt;; state=16 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: end of
header reached, state=5 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
parse_headers: Via found, flags=2 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
parse_headers: this is the first via <o:p></o:p></p>

<p class=MsoNormal><span lang=ES-TRAD>Apr 18 15:36:16 barcelona
/usr/sbin/openser[5024]: After parse_msg... <o:p></o:p></span></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: preparing
to run routing scripts... <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
parse_headers: flags=100 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:parse_to:end of header reached, state=10 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DBUG:parse_to: display={}, ruri={sip:oslo@sipserver.apt.local} <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: DEBUG:
get_hdr_field: &lt;t&gt; [32]; uri=[sip:oslo@sipserver.apt.local]&nbsp; <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: DEBUG: to
body [&lt;sip:oslo@sipserver.apt.local&gt;^M ] <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
get_hdr_field: cseq &lt;CSeq&gt;: &lt;985859914&gt; &lt;INVITE&gt; <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:maxfwd:is_maxfwd_present: value = 70&nbsp; <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: DEBUG:
add_param: tag=3326383385 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:parse_to:end of header reached, state=29 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DBUG:parse_to: display={}, ruri={sip:oslo_2_Route_1@sipserver.apt.local} <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
parse_headers: flags=200 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: DEBUG:
get_hdr_body : content_length=202 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: found end
of header <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
find_first_route: No Route headers found <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
loose_route: There is no Route HF <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
grep_sock_info - checking if host==us: 19==15 &amp;&amp;&nbsp;
[sipserver.apt.local] == [192.168.100.244] <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: grep_sock_info
- checking if port 5060 matches port 5060 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
grep_sock_info - checking if host==us: 19==19 &amp;&amp;&nbsp;
[sipserver.apt.local] == [sipserver.apt.local] <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: grep_sock_info
- checking if port 5060 matches port 5060 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
grep_sock_info - checking if host==us: 19==15 &amp;&amp;&nbsp;
[sipserver.apt.local] == [192.168.100.244] <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: grep_sock_info
- checking if port 5060 matches port 5060 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
grep_sock_info - checking if host==us: 19==19 &amp;&amp;&nbsp;
[sipserver.apt.local] == [sipserver.apt.local] <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: grep_sock_info
- checking if port 5060 matches port 5060 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
[ACHTUNG]request from sip:oslo@sipserver.apt.local<o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: DEBUG:
t_newtran:&nbsp; T on entrance=0xffffffff <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
parse_headers: flags=ffffffffffffffff <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
parse_headers: flags=78 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
t_lookup_request: start searching: hash=45820, isACK=0 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: DEBUG:
RFC3261 transaction matching failed <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: DEBUG:
t_lookup_request: no transaction found <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: parse_headers:
flags=ffffffffffffffff <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
check_via_address(192.168.100.238, sipserver.apt.local, 0) <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
WARNING:vqm_resize: resize(0) called <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:tm:_reply_light: reply sent out. buf=0x813efd8: SIP/2.0 1...,
shmem=0xb3e5d980: SIP/2.0 1 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:tm:_reply_light: finished <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: DEBUG:
mk_proxy: doing DNS lookup... <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:sip_resolvehost2: no port, no proto -&gt; do NAPTR lookup! <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
get_record: lookup(sipserver.apt.local, 35) failed <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:sip_resolvehost2: no valid NAPTR record found for sipserver.apt.local,
trying direct SRV lookup... <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
get_record: lookup(_sip._udp.sipserver.apt.local, 33) failed <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:sip_resolvehost2: no valid SRV record found for
_sip._udp.sipserver.apt.local, trying A record lookup... <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: check_via_address(192.168.100.238,
sipserver.apt.local, 0) <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DBG:check_against_rule_list: using list dns&nbsp; <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:tm:set_timer: relative timeout is 500000 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: DEBUG:
add_to_tail_of_timer[4]: 0xb4091bac (104400000) <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:tm:set_timer: relative timeout is 30 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]: DEBUG:
add_to_tail_of_timer[0]: 0xb4091bc8 (133) <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:tm:t_relay_to: new transaction fwd'ed <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:tm:UNREF_UNSAFE: after is 0 <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
DEBUG:destroy_avp_list: destroying list (nil) <o:p></o:p></p>

<p class=MsoNormal>Apr 18 15:36:16 barcelona /usr/sbin/openser[5024]:
receive_msg: cleaning up<o:p></o:p></p>

<p class=MsoNormal><span lang=ES-TRAD style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>What is necessary so the INVITES
are sent to the client and not to the server?<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Regards,<o:p></o:p></span></p>

</div>

</body>

</html>