Hi,<br><br><br clear="all"><blockquote style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To run in debug mode: </font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_DEBUG</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable mysql: </font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_MYSQL</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable authentication execute:</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#  
   - define WITH_AUTH</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - add users using &#39;kamctl&#39;</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable IP authentication execute:</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - enable authentication</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_IPAUTH</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - add IP addresses with group id &#39;1&#39; to &#39;address&#39; table</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable persistent user location execute:</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_USRLOCDB</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable presence server execute:</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_PRESENCE</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable nat traversal execute:</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_NAT</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - install RTPProxy: <a href="http://www.rtpproxy.org/" target="_blank">http://www.rtpproxy.org</a></font></div><div>
<font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - start RTPProxy:</font></div>
<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#        rtpproxy -l _your_public_ip_ -s udp:localhost:7722</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable PSTN gateway routing execute:</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_PSTN</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - set the value of pstn.gw_ip</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - check route[PSTN] for regexp routing condition</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable database aliases lookup execute:</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_ALIASDB</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable speed dial lookup execute:</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_SPEEDDIAL</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable multi-domain support execute:</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_MULTIDOMAIN</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable TLS support execute:</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - adjust CFGDIR/tls.cfg as needed</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_TLS</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2"># *** To enable XMLRPC support execute:</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - define WITH_XMLRPC</font></div><div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#     - adjust route[XMLRPC] for access policy</font></div>

<div><font style="font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif" size="2">#</font></div></blockquote><div><br>These are the places where the instructions are placed, it say, for Authorization,<br>
`define WITH_AUTH `<br>
<br>you define a keyword with this statement in kamailio.cfg<br>`#define WITH_AUTH`<br><br>enabling AUTH also needs mysql support, and you have to anable that also...<br><br>There are some more you can do with Authorization, which you can find in the quoted text i have attached above....like IP_AUTH etc..<br>

<br clear="all"></div>Regards,<br><br>Vineet Menon<br><br><br>
<br><br><div class="gmail_quote">On 19 March 2012 18:17, Faisal Rehman <span dir="ltr">&lt;<a href="mailto:faisal.rehman22@yahoo.com">faisal.rehman22@yahoo.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><div style="font-size:10pt;font-family:tahoma,new york,times,serif"><div><span style="font-weight:bold">Hi Veneet,</span></div><div><span><br></span></div><div>Yeah its seems so that is why it is registering the users without any authorization, but I am new to Kamailio so will you please tell me how can I set that WITH_AUTH environment variable?</div>

<div><br></div><div> </div><div>Regards,<br><span style="font-size:10pt"><br></span></div><div><span style="font-size:10pt;font-weight:bold">Faisal Rehman</span><br></div><div><div class="hm HOEnZb">  </div><div style="font-size:10pt;font-family:tahoma,&#39;new york&#39;,times,serif">

<div class="hm HOEnZb"> </div><div style="font-size:12pt;font-family:&#39;times new roman&#39;,&#39;new york&#39;,times,serif"><div class="hm HOEnZb"> <div dir="ltr"> <font face="Arial"> <hr size="1">  <b><span style="font-weight:bold">From:</span></b> Vineet Menon &lt;<a href="mailto:mvineetmenon@gmail.com" target="_blank">mvineetmenon@gmail.com</a>&gt;<br>

 <b><span style="font-weight:bold">To:</span></b> Faisal Rehman &lt;<a href="mailto:faisal.rehman22@yahoo.com" target="_blank">faisal.rehman22@yahoo.com</a>&gt;; SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List &lt;<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>&gt; <br>

 <b><span style="font-weight:bold">Sent:</span></b> Monday, March 19, 2012 9:46 AM<br> <b><span style="font-weight:bold">Subject:</span></b> Re: [SR-Users] Users being registered without any Authentication<br> </font> </div>

</div><div><div class="h5"> <br><div>Hi,<div><br></div><div>have you set the WITH_AUTH environment variable? A quick glance over your config fie says the negative.... Just have a look...</div><div><br clear="all">Regards,<br>

<br>Vineet Menon<br><br><br>
<br><br><div>On 17 March 2012 03:03, Faisal Rehman <span dir="ltr">&lt;<a rel="nofollow" href="mailto:faisal.rehman22@yahoo.com" target="_blank">faisal.rehman22@yahoo.com</a>&gt;</span> wrote:<br><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div><div style="font-size:10pt;font-family:&#39;Courier New&#39;,courier,monaco,monospace,sans-serif"><div><span>Hi Sir, </span></div><div><span><br>

</span></div><div><span>Sending the email again.</span></div><div><span> </span></div><div><span>Regards,<br>

<br></span></div><div><span>Faisal Rehman</span><br>  <div style="font-size:10pt">

 <div style="font-size:12pt"><div><div> <div dir="ltr"> <font face="Arial"> -----
 Forwarded Message -----<br>  <b><span style="font-weight:bold">From:</span></b> Faisal Rehman &lt;<a rel="nofollow" href="mailto:faisal.rehman22@yahoo.com" target="_blank">faisal.rehman22@yahoo.com</a>&gt;<br> <b><span style="font-weight:bold">To:</span></b> SIP Router - Kamailio ( Open SER) and SIP Express Router ( SER) - Users Mailing List &lt;<a rel="nofollow" href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>&gt; <br>



 <b><span style="font-weight:bold">Sent:</span></b> Saturday, March 17, 2012 2:31 AM<br> <b><span style="font-weight:bold">Subject:</span></b> Users being registered without any Authentication<br> </font> </div> <br></div>



</div><div><div><div><div><div><div style="font-size:10pt"><span style="font-weight:bold">Hi,</span></div><div style="font-size:10pt"><br>

</div><div style="font-size:10pt">I have the below configuration file <span style="font-family:courier,monaco,monospace,sans-serif">kamailio.cfg
 </span>but all the users are not being registered with authentication, so am I doing some mistake in it?</div><div style="font-size:10pt"><span style="font-family:courier,monaco,monospace,sans-serif"><br></span></div><div style="font-size:10pt">



<span style="font-family:courier,monaco,monospace,sans-serif"><br></span></div></div></div><div><div><div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!KAMAILIO</font></div><div>

<font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Kamailio (OpenSER) SIP Server v3.2 - default configuration script</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - web: <a rel="nofollow" href="http://www.kamailio.org" target="_blank">http://www.kamailio.org</a></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - git:
 <a rel="nofollow" href="http://sip-router.org" target="_blank">http://sip-router.org</a></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Direct your questions about this file to: &lt;<a rel="nofollow" href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>&gt;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Refer to the Core CookBook at <a rel="nofollow" href="http://www.kamailio.org/dokuwiki/doku.php" target="_blank">http://www.kamailio.org/dokuwiki/doku.php</a></font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># for an explanation of possible statements, functions and parameters.</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Several features can be enabled using &#39;#!define
 WITH_FEATURE&#39; directives:</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To run in debug mode: </font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_DEBUG</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable mysql: </font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_MYSQL</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable authentication
 execute:</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#  
   - define WITH_AUTH</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - add users using &#39;kamctl&#39;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable IP authentication execute:</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - enable authentication</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_IPAUTH</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - add IP addresses with group id &#39;1&#39; to &#39;address&#39;
 table</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable persistent user location execute:</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_USRLOCDB</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable presence server execute:</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#  
   - define WITH_PRESENCE</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable nat traversal execute:</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_NAT</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - install RTPProxy: <a rel="nofollow" href="http://www.rtpproxy.org" target="_blank">http://www.rtpproxy.org</a></font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - start RTPProxy:</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#        rtpproxy -l _your_public_ip_ -s udp:localhost:7722</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable PSTN gateway routing execute:</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_PSTN</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - set the value of pstn.gw_ip</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - check route[PSTN] for regexp routing condition</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable database aliases lookup execute:</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_ALIASDB</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable speed dial lookup execute:</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_SPEEDDIAL</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable multi-domain support execute:</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_MULTIDOMAIN</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable TLS support execute:</font></div><div>


<font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - adjust CFGDIR/tls.cfg as needed</font></div>
<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_TLS</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable XMLRPC support execute:</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define
 WITH_XMLRPC</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - adjust route[XMLRPC] for access policy</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable anti-flood detection execute:</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - adjust pike and htable=&gt;ipban settings as needed (default is</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#       block if more than 16 requests in 2 seconds and ban for 300 seconds)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_ANTIFLOOD</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To block 3XX redirect replies execute:</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_BLOCK3XX</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enable VoiceMail routing execute:</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_VOICEMAIL</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - set the value of voicemail.srv_ip</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - adjust the value of
 voicemail.srv_port</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** To enhance accounting execute:</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - enable mysql</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - define WITH_ACCDB</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#     - add following columns to database</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef ACCDB_COMMENT</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE acc ADD COLUMN src_user VARCHAR(64) NOT NULL DEFAULT &#39;&#39;;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE acc
 ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT &#39;&#39;;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE acc ADD COLUMN src_ip varchar(64) NOT NULL default &#39;&#39;;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE acc ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT &#39;&#39;;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE acc ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT &#39;&#39;;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE acc ADD COLUMN dst_domain VARCHAR(128) NOT NULL DEFAULT &#39;&#39;;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE missed_calls ADD COLUMN src_user VARCHAR(64)
 NOT NULL DEFAULT &#39;&#39;;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE missed_calls ADD COLUMN src_domain VARCHAR(128) NOT NULL DEFAULT &#39;&#39;;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE missed_calls ADD COLUMN src_ip varchar(64) NOT NULL default &#39;&#39;;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE missed_calls ADD COLUMN dst_ouser VARCHAR(64) NOT NULL DEFAULT &#39;&#39;;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE missed_calls ADD COLUMN dst_user VARCHAR(64) NOT NULL DEFAULT &#39;&#39;;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  ALTER TABLE missed_calls ADD COLUMN dst_domain
 VARCHAR(128) NOT NULL DEFAULT &#39;&#39;;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">####### Defined Values #########</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># *** Value defines - IDs used later in config</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_MYSQL</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># - database URL - used to connect to database server by
 modules such</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#       as: auth_db, acc, usrloc, a.s.o.</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!define DBURL &quot;mysql://faisal:faisal123@localhost/kamailio&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_MULTIDOMAIN</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># - the value for &#39;use_domain&#39; parameters</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!define MULTIDOMAIN 1</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!else</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!define MULTIDOMAIN 0</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># - flags</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#   FLT_ - per transaction (message) flags</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#<span style="white-space:pre-wrap">        </span>FLB_ - per branch flags</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!define FLT_ACC 1</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!define FLT_ACCMISSED 2</font></div>


<div>
<font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!define FLT_ACCFAILED 3</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!define FLT_NATS 5</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!define FLB_NATB 6</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!define FLB_NATSIPPING 7</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">####### Global Parameters #########</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef
 WITH_DEBUG</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">debug=4</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">log_stderror=yes</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!else</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">debug=2</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">log_stderror=no</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">memdbg=5</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">memlog=5</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">log_facility=LOG_LOCAL0</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">fork=yes</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">children=4</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* uncomment the next line to disable TCP (default on) */</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#disable_tcp=yes</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* uncomment the next line to disable the auto discovery of local aliases</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">   based on reverse DNS on IPs (default on) */</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#auto_aliases=no</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* add local domain aliases */</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* uncomment and configure the following line if you want Kamailio to </font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">   bind on a specific interface/port/proto (default bind on all available) */</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">listen=udp:<a rel="nofollow" href="http://192.162.15.23:5161" target="_blank">192.162.15.23:5161</a></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">listen=tcp:<a rel="nofollow" href="http://129.162.15.23:5161" target="_blank">129.162.15.23:5161</a></font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">alias=&quot;<a rel="nofollow" href="http://xmpp.kamailio.org" target="_blank">xmpp.kamailio.org</a>&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* port to listen to</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"> * - can be specified more than once if needed to listen on many ports */</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">port=5161</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_TLS</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">enable_tls=yes</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># life time of TCP connection when there is no traffic</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># - a bit higher than registration expires to cope with UA behind NAT</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">tcp_connection_lifetime=3605</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">####### Custom Parameters #########</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># These parameters can be modified runtime via RPC interface</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># - see the documentation of &#39;cfg_rpc&#39; module.</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Format:
 <a rel="nofollow" href="http://group.id" target="_blank">group.id</a> = value &#39;desc&#39; description</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Access: $sel(<a rel="nofollow" href="http://cfg_get.group.id" target="_blank">cfg_get.group.id</a>) or @<a rel="nofollow" href="http://cfg_get.group.id" target="_blank">cfg_get.group.id</a></font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_PSTN</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># PSTN GW Routing</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># - pstn.gw_ip: valid IP or hostname as string value,
 example:</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># pstn.gw_ip = &quot;10.0.0.101&quot; desc &quot;My PSTN GW Address&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># - by default is empty to avoid misrouting</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">pstn.gw_ip = &quot;&quot; desc &quot;PSTN GW Address&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_VOICEMAIL</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># VoiceMail Routing on offline,
 busy or no answer</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># - by default Voicemail server IP is empty to avoid misrouting</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">voicemail.srv_ip = &quot;&quot; desc &quot;VoiceMail IP Address&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">voicemail.srv_port = &quot;5060&quot; desc &quot;VoiceMail Port&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">####### Modules Section ########</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># set paths to location of modules (to sources or installation folders)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_SRCPATH</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">mpath=&quot;modules_k:modules&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!else</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">mpath=&quot;/usr/local/lib/kamailio/modules_k/:/usr/local/lib/kamailio/modules/&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_MYSQL</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;db_mysql.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;mi_fifo.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;kex.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;tm.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;tmx.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;sl.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;rr.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;pv.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;maxfwd.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;usrloc.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;registrar.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;textops.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;siputils.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;xlog.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;sanity.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;ctl.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule
 &quot;cfg_rpc.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;mi_rpc.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;acc.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;xmpp.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_AUTH</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;auth.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;auth_db.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_IPAUTH</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;permissions.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_ALIASDB</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;alias_db.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_SPEEDDIAL</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;speeddial.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>


<div>
<font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_MULTIDOMAIN</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;domain.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_PRESENCE</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule
 &quot;presence.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;presence_xml.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_NAT</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;nathelper.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;rtpproxy.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_TLS</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;tls.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_ANTIFLOOD</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;htable.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;pike.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_XMLRPC</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;xmlrpc.so&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_DEBUG</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">loadmodule &quot;debugger.so&quot;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----------------- setting module-specific parameters
 ---------------</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- mi_fifo params -----</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;mi_fifo&quot;, &quot;fifo_name&quot;, &quot;/tmp/kamailio_fifo&quot;)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- tm params -----</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># auto-discard branches from previous serial forking
 leg</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;tm&quot;,
 &quot;failure_reply_mode&quot;, 3)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># default retransmission timeout: 30sec</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;tm&quot;, &quot;fr_timer&quot;, 30000)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># default invite retransmission timeout after 1xx: 120sec</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;tm&quot;, &quot;fr_inv_timer&quot;, 120000)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#--------XMPP Module Params---------------</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;xmpp&quot;, &quot;domain_separator&quot;, &quot;%&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;xmpp&quot;, &quot;xmpp_domain&quot;, &quot;192.168.15.23&quot;)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;xmpp&quot;, &quot;xmpp_host&quot;, &quot;192.168.15.23&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;xmpp&quot;, &quot;gateway_domain&quot;, &quot;192.168.15.23&quot;)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;xmpp&quot;, &quot;backend&quot;, &quot;server&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;xmpp&quot;, &quot;xmpp_port&quot;, 5299)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;xmpp&quot;,
 &quot;xmpp_password&quot;, &quot;casilla233&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- rr params -----</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># add value to ;lr param to cope with most of the UAs</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, 1)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># do not append from tag to the RR (no need for this script)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;rr&quot;, &quot;append_fromtag&quot;, 0)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- registrar params -----</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;registrar&quot;, &quot;method_filtering&quot;, 1)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* uncomment the next line to disable parallel forking via location */</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># modparam(&quot;registrar&quot;, &quot;append_branches&quot;, 0)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* uncomment the next line not to allow more than 10 contacts per AOR
 */</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#modparam(&quot;registrar&quot;, &quot;max_contacts&quot;, 10)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># max value for expires of registrations</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;registrar&quot;, &quot;max_expires&quot;, 3600)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- acc params -----</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* what special events should be accounted ?
 */</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;, &quot;early_media&quot;, 0)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;, &quot;report_ack&quot;, 0)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;, &quot;report_cancels&quot;, 0)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* by default ww do not adjust the direct of the sequential requests.</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">   if you enable this parameter, be sure the enable &quot;append_fromtag&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">   in &quot;rr&quot; module */</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;,
 &quot;detect_direction&quot;, 0)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* account triggers (flags) */</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;, &quot;log_flag&quot;, FLT_ACC)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;, &quot;log_missed_flag&quot;, FLT_ACCMISSED)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;, &quot;log_extra&quot;, </font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>&quot;src_user=$fU;src_domain=$fd;src_ip=$si;&quot;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">
        </span>&quot;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;, &quot;failed_transaction_flag&quot;, FLT_ACCFAILED)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* enhanced DB accounting */</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_ACCDB</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;, &quot;db_flag&quot;, FLT_ACC)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;, &quot;db_missed_flag&quot;, FLT_ACCMISSED)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;, &quot;db_url&quot;, DBURL)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;acc&quot;,
 &quot;db_extra&quot;,</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>&quot;src_user=$fU;src_domain=$fd;src_ip=$si;&quot;</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>&quot;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- usrloc params -----</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">/* enable DB
 persistency for location entries */</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_USRLOCDB</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;usrloc&quot;, &quot;db_url&quot;, DBURL)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, 2)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;usrloc&quot;, &quot;use_domain&quot;, MULTIDOMAIN)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- auth_db params
 -----</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_AUTH</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;auth_db&quot;, &quot;db_url&quot;, DBURL)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;auth_db&quot;, &quot;calculate_ha1&quot;, yes)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;auth_db&quot;, &quot;password_column&quot;,
 &quot;password&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;auth_db&quot;, &quot;load_credentials&quot;, &quot;&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;auth_db&quot;, &quot;use_domain&quot;, MULTIDOMAIN)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- permissions params -----</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_IPAUTH</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;permissions&quot;, &quot;db_url&quot;, DBURL)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;permissions&quot;, &quot;db_mode&quot;, 1)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- alias_db params -----</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_ALIASDB</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;alias_db&quot;, &quot;db_url&quot;, DBURL)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;alias_db&quot;, &quot;use_domain&quot;, MULTIDOMAIN)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- speedial params -----</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_SPEEDDIAL</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;speeddial&quot;,
 &quot;db_url&quot;, DBURL)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;speeddial&quot;, &quot;use_domain&quot;, MULTIDOMAIN)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- domain params -----</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_MULTIDOMAIN</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;domain&quot;, &quot;db_url&quot;, DBURL)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># use caching</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;domain&quot;, &quot;db_mode&quot;, 1)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># register callback to match myself condition with domains list</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;domain&quot;, &quot;register_myself&quot;, 1)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_PRESENCE</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- presence params -----</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;presence&quot;, &quot;db_url&quot;, DBURL)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- presence_xml params -----</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;presence_xml&quot;, &quot;db_url&quot;, DBURL)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;presence_xml&quot;, &quot;force_active&quot;, 1)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_NAT</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- rtpproxy params -----</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;rtpproxy&quot;, &quot;rtpproxy_sock&quot;, &quot;udp:<a rel="nofollow" href="http://127.0.0.1:7722" target="_blank">127.0.0.1:7722</a>&quot;)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- nathelper params
 -----</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;nathelper&quot;, &quot;natping_interval&quot;, 30)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;nathelper&quot;, &quot;ping_nated_only&quot;, 1)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;nathelper&quot;, &quot;sipping_bflag&quot;, FLB_NATSIPPING)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;nathelper&quot;, &quot;sipping_from&quot;, &quot;<a rel="nofollow" href="mailto:sip%3Apinger@kamailio.org" target="_blank">sip:pinger@kamailio.org</a>&quot;)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># params needed for NAT traversal in other modules</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;nathelper|registrar&quot;,
 &quot;received_avp&quot;, &quot;$avp(RECEIVED)&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;usrloc&quot;, &quot;nat_bflag&quot;, FLB_NATB)</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_TLS</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- tls params -----</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;tls&quot;, &quot;config&quot;, &quot;/usr/local/etc/kamailio/tls.cfg&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_ANTIFLOOD</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- pike params -----</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;pike&quot;, &quot;sampling_time_unit&quot;, 2)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;pike&quot;, &quot;reqs_density_per_unit&quot;, 16)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;pike&quot;, &quot;remove_latency&quot;, 4)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- htable
 params -----</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ip ban htable with autoexpire after 5 minutes</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;htable&quot;, &quot;htable&quot;, &quot;ipban=&gt;size=8;autoexpire=300;&quot;)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_XMLRPC</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- xmlrpc params -----</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;xmlrpc&quot;, &quot;route&quot;, &quot;XMLRPC&quot;);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;xmlrpc&quot;, &quot;url_match&quot;, &quot;^/RPC&quot;)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_DEBUG</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># ----- debugger params
 -----</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">modparam(&quot;debugger&quot;, &quot;cfgtrace&quot;, 1)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">####### Routing Logic ########</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Main SIP request routing logic</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># - processing of any incoming SIP request starts with this
 route</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># - note: this is the same as route { ... }</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">request_route {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># per request initial checks</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>route(REQINIT);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># NAT detection</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>route(NATDETECT);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># handle requests within SIP dialogs</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>route(WITHINDLG);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>### only initial requests (no To tag)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># CANCEL processing</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (is_method(&quot;CANCEL&quot;))</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>{</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>if (t_check_trans())</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>t_relay();</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>exit;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">
        </span>t_check_trans();</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>#authentication</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>route(AUTH);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">###############-----------------------------------XMPP Server Configuration----------------------------------------#################</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">if (uri =~ &quot;sip:.+@sip-xmpp\.kamailio\.org&quot;) {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">  #absorb transmission</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (!t_newtran()){</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>sl_reply_error();</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>exit;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#Handling Instant Messaging</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (is_method(&quot;MESSAGE&quot;)){</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>xlog(&quot;message to XMPP: from &lt;$fu&gt; ru&gt;\n&quot;);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (xmpp_send_message()){</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>sl_send_reply(&quot;202&quot;, &quot;Accepted&quot;);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>} else
 {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>sl_send_reply(&quot;404&quot;, &quot;Not found&quot;);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>exit;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">   }</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#Un-supported Type of SIP Message</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>xlog(&quot;message
 to XMPP: method [$rm] not supported yet\n&quot;);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>sl_send_reply(&quot;503&quot;, &quot;Service unavailable&quot;);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>exit;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">##################--------------------------------XMPP Server Configuration-----------------------------------------------###############</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># record routing for dialog forming requests (in case they are routed)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># - remove preloaded route headers</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>remove_hf(&quot;Route&quot;);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (is_method(&quot;INVITE|SUBSCRIBE&quot;))</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>record_route();</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># account only INVITEs</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (is_method(&quot;INVITE&quot;))</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>{</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>setflag(FLT_ACC); # do
 accounting</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># dispatch requests to foreign domains</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>route(SIPOUT);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">
        </span>### requests for my local domains</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># handle presence related requests</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>route(PRESENCE);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># handle registrations</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>route(REGISTRAR);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if ($rU==$null)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>{</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span># request with no Username in RURI</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>sl_send_reply(&quot;484&quot;,&quot;Address
 Incomplete&quot;);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>exit;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># dispatch destinations to PSTN</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>route(PSTN);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># user location service</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>route(LOCATION);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>route(RELAY);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">route[RELAY] {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># enable additional event routes for forwarded requests</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># - serial forking, RTP relaying handling, a.s.o.</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (is_method(&quot;INVITE|SUBSCRIBE&quot;))
 {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>t_on_branch(&quot;MANAGE_BRANCH&quot;);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>t_on_reply(&quot;MANAGE_REPLY&quot;);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (is_method(&quot;INVITE&quot;)) {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        
        </span>t_on_failure(&quot;MANAGE_FAILURE&quot;);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (!t_relay()) {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>sl_reply_error();</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>exit;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Per SIP request initial checks</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">route[REQINIT] {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_ANTIFLOOD</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># flood dection from same IP and traffic ban for a while</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># be sure you exclude checking trusted peers, such as pstn gateways</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># - local host excluded (e.g., loop to self)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if(src_ip!=myself)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>{</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        
        </span>if($sht(ipban=&gt;$si)!=$null)</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>{</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span># ip is already blocked</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>xdbg(&quot;request from blocked IP - $rm from $fu (IP:$si:$sp)\n&quot;);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>exit;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>if (!pike_check_req())</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>{</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>xlog(&quot;L_ALERT&quot;,&quot;ALERT: pike blocking $rm from $fu (IP:$si:$sp)\n&quot;);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>$sht(ipban=&gt;$si) = 1;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>exit;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (!mf_process_maxfwd_header(&quot;10&quot;)) {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        
        </span>sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>exit;</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if(!sanity_check(&quot;1511&quot;, &quot;7&quot;))</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>{</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>xlog(&quot;Malformed SIP message from $si:$sp\n&quot;);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>exit;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Handle requests within SIP dialogs</font></div><div>



<font style="font-family:courier,monaco,monospace,sans-serif" size="2">route[WITHINDLG] {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (has_totag()) {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span># sequential request withing a dialog should</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span># take the path determined by record-routing</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>if (loose_route()) {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>if (is_method(&quot;BYE&quot;)) {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>setflag(FLT_ACC); # do accounting ...</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>setflag(FLT_ACCFAILED); # ... even if the transaction fails</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>if ( is_method(&quot;ACK&quot;) ) {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span># ACK is forwarded
 statelessy</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>route(NATMANAGE);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>route(RELAY);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>} else {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>if (is_method(&quot;SUBSCRIBE&quot;) &amp;&amp; uri == myself)
 {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span># in-dialog subscribe requests</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>route(PRESENCE);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>exit;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>if ( is_method(&quot;ACK&quot;) ) {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>if ( t_check_trans() ) {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                        </span># no loose-route, but stateful ACK;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                        </span># must be an ACK after a 487</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                        </span># or e.g. 404 from upstream server</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                
        </span>t_relay();</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                        </span>exit;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>} else {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                        </span># ACK without matching transaction ... ignore and discard</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                        </span>exit;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        
        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>sl_send_reply(&quot;404&quot;,&quot;Not here&quot;);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>exit;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Handle SIP registrations</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">route[REGISTRAR] {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (is_method(&quot;REGISTER&quot;))</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>{</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>if(isflagset(FLT_NATS))</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>{</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>setbflag(FLB_NATB);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span># uncomment next line to do SIP NAT pinging </font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>##
 setbflag(FLB_NATSIPPING);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>if (!save(&quot;location&quot;))</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>sl_reply_error();</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br>



</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>exit;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># USER location service</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">route[LOCATION] {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_SPEEDIAL</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">
        </span># search for short dialing - 2-digit extension</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if($rU=~&quot;^[0-9][0-9]$&quot;)</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>if(sd_lookup(&quot;speed_dial&quot;))</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>route(SIPOUT);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_ALIASDB</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># search in DB-based aliases</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if(alias_db_lookup(&quot;dbaliases&quot;))</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>route(SIPOUT);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!endif</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>$avp(oexten) =
 $rU;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (!lookup(&quot;location&quot;)) {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>$var(rc) = $rc;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>route(TOVOICEMAIL);</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>t_newtran();</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>switch ($var(rc)) {</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>case -1:</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                        </span>case -3:</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>send_reply(&quot;404&quot;, &quot;Not Found&quot;);</font></div>



</div></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>exit;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                
        </span>case -2:</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>send_reply(&quot;405&quot;, &quot;Method Not Allowed&quot;);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                                </span>exit;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span># when routing via usrloc, log the missed calls also</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (is_method(&quot;INVITE&quot;))</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>{</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>setflag(FLT_ACCMISSED);</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"># Presence server route</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">route[PRESENCE] {</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if(!is_method(&quot;PUBLISH|SUBSCRIBE&quot;))</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>return;</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2">#!ifdef WITH_PRESENCE</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if (!t_newtran())</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>{</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>sl_reply_error();</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>exit;</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>};</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><br></font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if(is_method(&quot;PUBLISH&quot;))</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>{</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>handle_publish();</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>t_release();</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>}</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>else</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>if( is_method(&quot;SUBSCRIBE&quot;))</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">        </span>{</font></div><div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap">                </span>handle_subscribe();</font></div>



<div><font style="font-family:courier,monaco,monospace,sans-serif" size="2"><span style="white-space:pre-wrap"></span></font></div></div></div></div></div></div></div></div></div></div>...<br><br>[Message clipped]  <br>_______________________________________________<br>




SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>
<a rel="nofollow" href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<a rel="nofollow" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
<br></blockquote></div><br></div>
</div><br><br> </div></div></div> </div>  </div></div></div></blockquote></div><br>