<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

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

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

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Ashwini,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Any chance you know where I can find those headers for Red Hat
system? I only see the ones for Debian.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thanks,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Leon <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> ASHWINI NAIDU
[mailto:ashwini.naidu@gmail.com] <br>
<b>Sent:</b> Wednesday, 24 June 2009 2:58 PM<br>
<b>To:</b> Leon Li<br>
<b>Cc:</b> Uwe Kastens; users@lists.opensips.org<br>
<b>Subject:</b> Re: [OpenSIPS-Users] No RADIUS traffic<o:p></o:p></span></p>

</div>

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

<p class=MsoNormal style='margin-bottom:12.0pt'>hi,<br>
<br>
For radius support these packages are needed.<br>
<br>
&nbsp; <b>libradius-ng -libs and devel headers</b>- if you want to use
functionalities<br>
&nbsp;&nbsp; with radius support - authentication, accounting, group support,
etc<br>
<br>
<br>
<br>
<o:p></o:p></p>

<div>

<p class=MsoNormal>On Wed, Jun 24, 2009 at 10:14 AM, Leon Li &lt;<a
href="mailto:Leon.Li@aarnet.edu.au">Leon.Li@aarnet.edu.au</a>&gt; wrote:<o:p></o:p></p>

<p class=MsoNormal>Hi Uwe,<br>
<br>
The file doesn't exist. :(<br>
<br>
Could you confirm my following installation is enough for OpenSIP +<br>
RADIUS?<br>
&nbsp; &nbsp; &nbsp; &nbsp;1. FreeRADIUS 2.1.3<br>
&nbsp; &nbsp; &nbsp; &nbsp;2. radiusclient-ng 0.5.6<br>
&nbsp; &nbsp; &nbsp; &nbsp;3. openSIP 1.5.1<br>
<br>
Do I need libradius-ng-dev or libradius-ng as well? My system is Red Hat<br>
5.<o:p></o:p></p>

<div>

<p class=MsoNormal><br>
Regards,<br>
Leon<br>
<br>
<br>
-----Original Message-----<br>
From: Uwe Kastens [mailto:<a href="mailto:kiste@kiste.org">kiste@kiste.org</a>]<o:p></o:p></p>

</div>

<div>

<div>

<p class=MsoNormal>Sent: Tuesday, 23 June 2009 5:31 PM<br>
To: Leon Li<br>
Cc: <a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a><br>
Subject: Re: [OpenSIPS-Users] No RADIUS traffic<br>
<br>
Li,<br>
<br>
I was wondering about the answer from radius:<br>
WARNING: Ignoring Status-Server request due to security configuration<br>
<br>
If I try the same I will get an answer like:<br>
Received response ID 196, code 2, length = 20<br>
<br>
Could you please check your shared secret.<br>
<br>
&gt; Also, I cannot find file /var/run/radius.seq. Is it created<br>
automatically?<br>
<br>
I should be there if radius will work - but remember your permissions.<br>
<br>
You can try one thing: set fork=no &nbsp;in opensips.cfg, install strace and<br>
start opensips with &quot;strace -f -e open opensips&quot;. Now start one
attempt<br>
to register etc.pp. and watch the line with the seq.<br>
<br>
[pid 20680] open(&quot;/var/run/opensips/radius.seq&quot;,<br>
O_RDWR|O_CREAT|O_APPEND, 0666) = 13<br>
<br>
<br>
BR<br>
<br>
Uwe<br>
<br>
<br>
Leon Li schrieb:<br>
&gt; Uwe,<br>
&gt;<br>
&gt; I got the following from RADIUS when issue the command you gave.<br>
&gt;<br>
&gt; rad_recv: Status-Server packet from host <a href="http://127.0.0.1:39297"
target="_blank">127.0.0.1:39297</a>, id=17,<br>
&gt; length=38<br>
&gt; WARNING: Ignoring Status-Server request due to security configuration<br>
&gt; --- Walking the entire request list ---<br>
&gt; Nothing to do. &nbsp;Sleeping until we see a request.<br>
&gt; rad_recv: Status-Server packet from host <a href="http://127.0.0.1:39297"
target="_blank">127.0.0.1:39297</a>, id=17,<br>
&gt; length=38<br>
&gt; WARNING: Ignoring Status-Server request due to security configuration<br>
&gt; --- Walking the entire request list ---<br>
&gt;<br>
&gt; So I assume that the radius server is working?<br>
&gt;<br>
&gt; Also, I cannot find file /var/run/radius.seq. Is it created<br>
&gt; automatically?<br>
&gt;<br>
&gt; Regards,<br>
&gt; Leon<br>
&gt;<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: Uwe Kastens [mailto:<a href="mailto:kiste@kiste.org">kiste@kiste.org</a>]<br>
&gt; Sent: Wednesday, 17 June 2009 6:01 PM<br>
&gt; To: Leon Li<br>
&gt; Cc: <a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a><br>
&gt; Subject: Re: [OpenSIPS-Users] No RADIUS traffic<br>
&gt;<br>
&gt; Leon,<br>
&gt;<br>
&gt; mysql.so in opensips is not needed for the radius authentication.<br>
&gt;<br>
&gt; Shared secrets for radius are correct? Anyway you should see some<br>
&gt; traffic on the radius server.<br>
&gt;<br>
&gt; Could you please test<br>
&gt; &nbsp;echo &quot;Message-Authenticator = 0x00&quot; | radclient <a
href="http://127.0.0.1:1812" target="_blank">127.0.0.1:1812</a><br>
status<br>
&gt; &nbsp;&lt;shared secret&gt;<br>
&gt;<br>
&gt; You should see then traffic on radiusd -X<br>
&gt;<br>
&gt; If yes I would start checking permissions again<br>
&gt;<br>
&gt; BR<br>
&gt;<br>
&gt; uwe<br>
&gt;<br>
&gt;<br>
&gt; Leon Li schrieb:<br>
&gt;&gt; Hi Ashwini,<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; I have added param for aut_radius, but no luck. L<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Why do I need mysql.so if the radius server will host all users<br>
&gt; credential?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Regards,<br>
&gt;&gt;<br>
&gt;&gt; Leon<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; *From:* ASHWINI NAIDU [mailto:<a href="mailto:ashwini.naidu@gmail.com">ashwini.naidu@gmail.com</a>]<br>
&gt;&gt; *Sent:* Monday, 15 June 2009 2:52 PM<br>
&gt;&gt; *To:* Leon Li<br>
&gt;&gt; *Cc:* Uwe Kastens; <a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a><br>
&gt;&gt; *Subject:* Re: [OpenSIPS-Users] No RADIUS traffic<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Mon, Jun 15, 2009 at 10:19 AM, ASHWINI NAIDU<br>
&gt; &lt;<a href="mailto:ashwini.naidu@gmail.com">ashwini.naidu@gmail.com</a><br>
&gt;&gt; &lt;mailto:<a href="mailto:ashwini.naidu@gmail.com">ashwini.naidu@gmail.com</a>&gt;&gt;
wrote:<br>
&gt;&gt;<br>
&gt;&gt; hi leon,<br>
&gt;&gt;<br>
&gt;&gt; But i do not see your openser communicating with radiusclient.<br>
&gt;&gt;<br>
&gt;&gt; modparam(&quot;auth_radius&quot;, &quot;radius_config&quot;,<br>
&gt;&gt; &quot;/etc/radiusclient-ng/radiusclient.conf&quot;)<br>
&gt;&gt;<br>
&gt;&gt; mention the path of radiusclient.conf properly.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Your mysql support is also commented.<br>
&gt;&gt;<br>
&gt;&gt; *loadmodule &quot;mysql.so&quot;*<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; On Mon, Jun 15, 2009 at 5:13 AM, Leon Li &lt;<a
href="mailto:Leon.Li@aarnet.edu.au">Leon.Li@aarnet.edu.au</a><br>
&gt;&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:Leon.Li@aarnet.edu.au">Leon.Li@aarnet.edu.au</a>&gt;&gt;
wrote:<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; Here it is.<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; ####### Global Parameters #########<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; debug=3<br>
&gt;&gt; &nbsp; &nbsp; log_stderror=no<br>
&gt;&gt; &nbsp; &nbsp; log_facility=LOG_LOCAL0<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; fork=yes<br>
&gt;&gt; &nbsp; &nbsp; children=4<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the following lines to enable debugging */<br>
&gt;&gt; &nbsp; &nbsp; debug=6<br>
&gt;&gt; &nbsp; &nbsp; fork=no<br>
&gt;&gt; &nbsp; &nbsp; log_stderror=yes<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the next line to disable TCP (default on)
*/<br>
&gt;&gt; &nbsp; &nbsp; #disable_tcp=yes<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the next line to enable the auto temporary<br>
&gt; blacklisting of<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; not available destinations (default disabled) */<br>
&gt;&gt; &nbsp; &nbsp; #disable_dns_blacklist=no<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the next line to enable IPv6 lookup after
IPv4 dns<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; lookup failures (default disabled) */
#dns_try_ipv6=yes<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the next line to disable the auto discovery
of local<br>
&gt;&gt; &nbsp; &nbsp; aliases<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; based on revers DNS on IPs (default on) */
#auto_aliases=no<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the following lines to enable TLS support
&nbsp;(default<br>
&gt; off) */<br>
&gt;&gt; &nbsp; &nbsp; #disable_tls = no #listen = tls:your_IP:5061
#tls_verify_server =<br>
&gt; 1<br>
&gt;&gt; &nbsp; &nbsp; #tls_verify_client = 1 #tls_require_client_certificate =
0<br>
&gt; #tls_method =<br>
&gt;&gt; &nbsp; &nbsp; TLSv1 #tls_certificate =<br>
&gt; &quot;/usr/local/etc/openser/tls/user/user-cert.pem&quot;<br>
&gt;&gt; &nbsp; &nbsp; #tls_private_key =<br>
&gt; &quot;/usr/local/etc/openser/tls/user/user-privkey.pem&quot;<br>
&gt;&gt; &nbsp; &nbsp; #tls_ca_list = &quot;/usr/local/etc/openser/tls/user/user-calist.pem&quot;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; listen=202.158.197.134<br>
&gt;&gt; &nbsp; &nbsp; port=5060<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment and configure the following line if you
want openser<br>
&gt; to<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; bind on a specific interface/port/proto (default
bind on all<br>
&gt;&gt; &nbsp; &nbsp; available) */ #listen=udp:<a
href="http://192.168.1.2:5060" target="_blank">192.168.1.2:5060</a><br>
&gt; &lt;<a href="http://192.168.1.2:5060" target="_blank">http://192.168.1.2:5060</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; ####### Modules Section ########<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; #set module path<br>
&gt;&gt; &nbsp; &nbsp; mpath=&quot;/usr/local/lib/openser/modules/&quot;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment next line for MySQL DB support */
#loadmodule<br>
&gt; &quot;mysql.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;sl.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;tm.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;rr.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;maxfwd.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;usrloc.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;registrar.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;textops.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;mi_fifo.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;uri_db.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;uri.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;xlog.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;acc.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment next lines for MySQL based authentication
support<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; NOTE: a DB (like mysql) module must be also
loaded */<br>
loadmodule<br>
&gt;&gt; &nbsp; &nbsp; &quot;auth.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; loadmodule &quot;auth_radius.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; #loadmodule &quot;auth_db.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment next line for aliases support<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; NOTE: a DB (like mysql) module must be also
loaded */<br>
&gt; #loadmodule<br>
&gt;&gt; &nbsp; &nbsp; &quot;alias_db.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment next line for multi-domain support<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; NOTE: a DB (like mysql) module must be also
loaded<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; NOTE: be sure and enable multi-domain support in
all used<br>
&gt; modules<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (see &quot;multi-module
params&quot; section ) */ #loadmodule<br>
&gt; &quot;domain.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the next two lines for presence server
support<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; NOTE: a DB (like mysql) module must be also
loaded */<br>
&gt; #loadmodule<br>
&gt;&gt; &nbsp; &nbsp; &quot;presence.so&quot;<br>
&gt;&gt; &nbsp; &nbsp; #loadmodule &quot;presence_xml.so&quot;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; # ----------------- setting module-specific parameters<br>
&gt; ---------------<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; # ----- mi_fifo params -----<br>
&gt;&gt; &nbsp; &nbsp; modparam(&quot;mi_fifo&quot;, &quot;fifo_name&quot;,
&quot;/tmp/openser_fifo&quot;)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; # ----- rr params -----<br>
&gt;&gt; &nbsp; &nbsp; # add value to ;lr param to cope with most of the UAs<br>
&gt; modparam(&quot;rr&quot;,<br>
&gt;&gt; &nbsp; &nbsp; &quot;enable_full_lr&quot;, 1) # do not append from tag
to the RR (no need<br>
&gt; for<br>
&gt;&gt; &nbsp; &nbsp; this script) modparam(&quot;rr&quot;,
&quot;append_fromtag&quot;, 0)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; # ----- rr params -----<br>
&gt;&gt; &nbsp; &nbsp; modparam(&quot;registrar&quot;,
&quot;method_filtering&quot;, 1)<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the next line to disable parallel forking
via<br>
&gt; location */ #<br>
&gt;&gt; &nbsp; &nbsp; modparam(&quot;registrar&quot;,
&quot;append_branches&quot;, 0)<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the next line not to allow more than 10
contacts per<br>
&gt; AOR */<br>
&gt;&gt; &nbsp; &nbsp; #modparam(&quot;registrar&quot;,
&quot;max_contacts&quot;, 10)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; # ----- uri_db params -----<br>
&gt;&gt; &nbsp; &nbsp; /* by default we disable the DB support in the module as
we do<br>
not<br>
&gt; need<br>
&gt;&gt; &nbsp; &nbsp; it<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; in this configuration */<br>
&gt;&gt; &nbsp; &nbsp; modparam(&quot;uri_db&quot;, &quot;use_uri_table&quot;,
0)<br>
&gt;&gt; &nbsp; &nbsp; modparam(&quot;uri_db&quot;, &quot;db_url&quot;,
&quot;&quot;)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; # ----- acc params -----<br>
&gt;&gt; &nbsp; &nbsp; /* what sepcial events should be accounted ? */
modparam(&quot;acc&quot;,<br>
&gt;&gt; &nbsp; &nbsp; &quot;early_media&quot;, 1) modparam(&quot;acc&quot;,
&quot;report_ack&quot;, 1)<br>
modparam(&quot;acc&quot;,<br>
&gt;&gt; &nbsp; &nbsp; &quot;report_cancels&quot;, 1)<br>
&gt;&gt; &nbsp; &nbsp; /* by default ww do not adjust the direct of the
sequential<br>
&gt; requests.<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; if you enable this parameter, be sure the enable<br>
&gt; &quot;append_fromtag&quot;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; in &quot;rr&quot; module */<br>
&gt;&gt; &nbsp; &nbsp; modparam(&quot;acc&quot;, &quot;detect_direction&quot;,
0)<br>
&gt;&gt; &nbsp; &nbsp; /* account triggers (flags) */<br>
&gt;&gt; &nbsp; &nbsp; modparam(&quot;acc&quot;,
&quot;failed_transaction_flag&quot;, 3) modparam(&quot;acc&quot;,<br>
&gt;&gt; &nbsp; &nbsp; &quot;log_flag&quot;, 1) modparam(&quot;acc&quot;,
&quot;log_missed_flag&quot;, 2)<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the following lines to enable DB accounting
also */<br>
&gt;&gt; &nbsp; &nbsp; modparam(&quot;acc&quot;, &quot;db_flag&quot;, 1) modparam(&quot;acc&quot;,
&quot;db_missed_flag&quot;,<br>
2)<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; # ----- multi-module params -----<br>
&gt;&gt; &nbsp; &nbsp; /* uncomment the following line if you want to enable<br>
multi-domain<br>
&gt;&gt; &nbsp; &nbsp; support<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; in the modules (dafault off) */<br>
&gt;&gt; &nbsp; &nbsp; #modparam(&quot;alias_db|auth_db|usrloc|uri_db&quot;,
&quot;use_domain&quot;, 1)<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; ####### Routing Logic ########<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; # main request routing logic<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; route{<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if
(!mf_process_maxfwd_header(&quot;10&quot;)) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (has_totag()) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#
sequential request withing a dialog should<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#
take the path determined by record-routing<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;if (loose_route()) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;if (is_method(&quot;BYE&quot;)) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;setflag(1); # do
accouting ...<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;setflag(3); # ... even
if the<br>
&gt;&gt; &nbsp; &nbsp; transaction fails<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;route(1);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}
else {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;/* uncomment the following lines if you<br>
&gt; want to<br>
&gt;&gt; &nbsp; &nbsp; enable presence */<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;##if (is_method(&quot;SUBSCRIBE&quot;) &amp;&amp;
$rd ==<br>
&gt;&gt; &nbsp; &nbsp; &quot;your.server.ip.address&quot;) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;# in-dialog subscribe
requests<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;route(2);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;##}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;if ( is_method(&quot;ACK&quot;) ) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ( t_check_trans() ) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;# non loose-route, but<br>
&gt; stateful<br>
&gt;&gt; &nbsp; &nbsp; ACK; must be an ACK after a 487 or e.g. 404 from
upstream server<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;t_relay();<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;} else {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;# ACK without matching<br>
&gt;&gt; &nbsp; &nbsp; transaction ... ignore and discard.\n&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;sl_send_reply(&quot;404&quot;,&quot;Not here&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#initial requests<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# CANCEL processing<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if
(is_method(&quot;CANCEL&quot;))<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;if (t_check_trans())<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;t_relay();<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;t_check_trans();<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# authenticate if from local
subscriber (uncomment to<br>
&gt; enable<br>
&gt;&gt; &nbsp; &nbsp; auth)<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;##if
(!(method==&quot;REGISTER&quot;) &amp;&amp; from_uri==myself)<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;##{<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;if
(!proxy_authorize(&quot;&quot;, &quot;subscriber&quot;)) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;proxy_challenge(&quot;&quot;, &quot;0&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;if
(!check_from()) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;sl_send_reply(&quot;403&quot;,&quot;Forbidden auth
ID&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;##<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp;
&nbsp;consume_credentials();<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;#
caller authenticated<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;##}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# record routing<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if
(!is_method(&quot;REGISTER|MESSAGE&quot;))<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;record_route();<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# account only INVITEs<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if
(is_method(&quot;INVITE&quot;)) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;setflag(1); # do accouting<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!uri==myself)<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* replace with following
line if multi-domain support is<br>
&gt; used<br>
&gt;&gt; &nbsp; &nbsp; */<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;##if (!is_uri_host_local())<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;append_hf(&quot;P-hint: outbound\r\n&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#
if you have some interdomain connections via TLS<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##if($rd==&quot;<a href="http://tls_domain1.net" target="_blank">tls_domain1.net</a><br>
&gt; &lt;<a href="http://tls_domain1.net" target="_blank">http://tls_domain1.net</a>&gt;&quot;)
{<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;## &nbsp; &nbsp; &nbsp;t_relay(&quot;tls:<a href="http://domain1.net"
target="_blank">domain1.net</a><br>
&gt; &lt;<a href="http://domain1.net" target="_blank">http://domain1.net</a>&gt;&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;## &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##} else if($rd==&quot;<a href="http://tls_domain2.net" target="_blank">tls_domain2.net</a><br>
&gt;&gt; &nbsp; &nbsp; &lt;<a href="http://tls_domain2.net" target="_blank">http://tls_domain2.net</a>&gt;&quot;)
{<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;## &nbsp; &nbsp; &nbsp;t_relay(&quot;tls:<a href="http://domain2.net"
target="_blank">domain2.net</a><br>
&gt; &lt;<a href="http://domain2.net" target="_blank">http://domain2.net</a>&gt;&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;## &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;route(1);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# requests for my domain<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* uncomment this if you want
to enable presence server<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; and comment the next
'if' block<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NOTE: uncomment also
the definition of route[2] from<br>
&gt; below<br>
&gt;&gt; &nbsp; &nbsp; */<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;##if(
is_method(&quot;PUBLISH|SUBSCRIBE&quot;))<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;route(2);<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if
(is_method(&quot;PUBLISH&quot;))<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;sl_send_reply(&quot;503&quot;, &quot;Service Unavailable&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if
(is_method(&quot;REGISTER&quot;))<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#
authenticate the REGISTER requests (uncomment to<br>
&gt;&gt; &nbsp; &nbsp; enable auth)<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##if (!www_authorize(&quot;&quot;, &quot;subscriber&quot;))<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##{<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;## &nbsp; &nbsp; &nbsp;www_challenge(&quot;&quot;, &quot;0&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;## &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##if (!check_to())<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##{<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;## &nbsp; &nbsp; &nbsp;sl_send_reply(&quot;403&quot;,&quot;Forbidden auth
ID&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;## &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;xlog(&quot;L_INFO&quot;, &quot;REGISTER for ($fU) $ru\n&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;if (!radius_www_authorize(&quot;&quot;))<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;log(1, &quot;Proxy Authentication Required<br>
&gt;&gt; &nbsp; &nbsp; (Digest)\n&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;www_challenge(&quot;&quot;, &quot;0&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;};<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;if (!save(&quot;location&quot;))<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;sl_reply_error();<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ($rU==NULL) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#
request with no Username in RURI<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;sl_send_reply(&quot;484&quot;,&quot;Address Incomplete&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# apply DB based aliases
(uncomment to enable)<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##alias_db_lookup(&quot;dbaliases&quot;);<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if
(!lookup(&quot;location&quot;)) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;switch ($retcode) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;case -1:<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;case -3:<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;t_newtran();<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;t_reply(&quot;404&quot;,
&quot;Not Found&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;case -2:<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;sl_send_reply(&quot;405&quot;, &quot;Method Not<br>
&gt;&gt; &nbsp; &nbsp; Allowed&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# when routing via usrloc,
log the missed calls also<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;setflag(2);<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;route(1);<br>
&gt;&gt; &nbsp; &nbsp; }<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; route[1] {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# for INVITEs enable some
additional helper routes<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if
(is_method(&quot;INVITE&quot;)) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;t_on_branch(&quot;2&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;t_on_reply(&quot;2&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;t_on_failure(&quot;1&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!t_relay()) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;sl_reply_error();<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;};<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; }<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; branch_route[2] {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xlog(&quot;new branch at
$ru\n&quot;);<br>
&gt;&gt; &nbsp; &nbsp; }<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; onreply_route[2] {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xlog(&quot;incoming
reply\n&quot;);<br>
&gt;&gt; &nbsp; &nbsp; }<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; failure_route[1] {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (t_was_cancelled()) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# uncomment the following
lines if you want to block<br>
client<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# redirect based on 3xx
replies.<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;##if
(t_check_status(&quot;3[0-9][0-9]&quot;)) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;##t_reply(&quot;404&quot;,&quot;Not found&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;exit;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;##}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# uncomment the following
lines if you want to redirect<br>
the<br>
&gt;&gt; &nbsp; &nbsp; failed<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# calls to a different new
destination<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;##if
(t_check_status(&quot;486|408&quot;)) {<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp;
&nbsp;sethostport(&quot;<a href="http://192.168.2.100:5060" target="_blank">192.168.2.100:5060</a><br>
&gt;&gt; &nbsp; &nbsp; &lt;<a href="http://192.168.2.100:5060" target="_blank">http://192.168.2.100:5060</a>&gt;&quot;);<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp;
&nbsp;append_branch();<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp; &nbsp;# do
not set the missed call flag again<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;## &nbsp; &nbsp;
&nbsp;t_relay();<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;##}<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; }<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; Regards,<br>
&gt;&gt; &nbsp; &nbsp; Leon<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; -----Original Message-----<br>
&gt;&gt; &nbsp; &nbsp; From: Uwe Kastens [mailto:<a
href="mailto:kiste@kiste.org">kiste@kiste.org</a><br>
&gt; &lt;mailto:<a href="mailto:kiste@kiste.org">kiste@kiste.org</a>&gt;]<br>
&gt;&gt; &nbsp; &nbsp; Sent: Friday, 12 June 2009 4:51 PM<br>
&gt;&gt; &nbsp; &nbsp; To: Leon Li<br>
&gt;&gt; &nbsp; &nbsp; Cc: <a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a>
&lt;mailto:<a href="mailto:users@lists.opensips.org">users@lists.opensips.org</a>&gt;<br>
&gt;&gt; &nbsp; &nbsp; Subject: Re: [OpenSIPS-Users] No RADIUS traffic<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; Hi,<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; This is strange. Could you post your opensips.cfg or
send it to<br>
me<br>
&gt;&gt; &nbsp; &nbsp; directly?<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; BR<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; Uwe<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; _______________________________________________<br>
&gt;&gt; &nbsp; &nbsp; Users mailing list<br>
&gt;&gt; &nbsp; &nbsp; <a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
&lt;mailto:<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>&gt;<br>
&gt;&gt; &nbsp; &nbsp; <a
href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users" target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; --<br>
&gt;&gt; &nbsp; &nbsp; Thanking You,<br>
&gt;&gt; &nbsp; &nbsp; Ashwini BR Naidu<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Thanking You,<br>
&gt;&gt; Ashwini BR Naidu<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
<br>
<br>
--<br>
<br>
kiste lat: 54.322684, lon: 10.13586<br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br>
<a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users"
target="_blank">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><o:p></o:p></p>

</div>

</div>

</div>

<p class=MsoNormal><br>
<br clear=all>
<br>
-- <br>
Thanking You,<br>
Ashwini BR Naidu<o:p></o:p></p>

</div>

</body>

</html>