<html><body><div style="color:#000; background-color:#fff; font-family:tahoma, new york, times, serif;font-size:10pt"><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>&nbsp;</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 style="font-size: 10pt; font-family: tahoma, 'new york', times, serif; "> <div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Vineet Menon &lt;mvineetmenon@gmail.com&gt;<br> <b><span style="font-weight:
 bold;">To:</span></b> Faisal Rehman &lt;faisal.rehman22@yahoo.com&gt;; SIP Router - Kamailio (OpenSER) and SIP Express Router (SER) - Users Mailing List &lt;sr-users@lists.sip-router.org&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> <br><div id="yiv1300168965">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 class="yiv1300168965gmail_quote">On 17 March 2012 03:03, Faisal Rehman <span dir="ltr">&lt;<a rel="nofollow" ymailto="mailto:faisal.rehman22@yahoo.com" target="_blank" href="mailto:faisal.rehman22@yahoo.com">faisal.rehman22@yahoo.com</a>&gt;</span> wrote:<br><blockquote class="yiv1300168965gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

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

</span></div><div><span style="font-family:tahoma,;">Sending the email again.</span></div><div><span style="font-family:tahoma,;">&nbsp;</span></div><div><span style="font-family:tahoma,;">Regards,<br>

<br></span></div><div><span style="font-family:tahoma,;font-weight:bold;">Faisal Rehman</span><br>  <div style="font-size:10pt;">

 <div style="font-size:12pt;"><div><div class="yiv1300168965h5"> <div dir="ltr"> <font face="Arial"> -----
 Forwarded Message -----<br>  <b><span style="font-weight:bold;">From:</span></b> Faisal Rehman &lt;<a rel="nofollow" ymailto="mailto:faisal.rehman22@yahoo.com" target="_blank" href="mailto:faisal.rehman22@yahoo.com">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" ymailto="mailto:sr-users@lists.sip-router.org" target="_blank" href="mailto:sr-users@lists.sip-router.org">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 style="font-size:10pt;font-family:tahoma,;"><div><div class="yiv1300168965h5"><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 class="yiv1300168965h5"><div><font size="2" style="font-family: courier, monaco, monospace, sans-serif; ">#!KAMAILIO</font></div><div>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<br>
<a rel="nofollow" ymailto="mailto:sr-users@lists.sip-router.org" target="_blank" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a><br>
<a rel="nofollow" target="_blank" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">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></body></html>