<div><br>Hi </div>
<div>&nbsp;</div>
<div>thanks for the help</div>
<div>&nbsp;</div>
<div>I have downloaded from Onsip and installed</div>
<div>and made config change as per your before mail</div>
<div>&nbsp;</div>
<div>I have seen the SER is Running</div>
<div>&nbsp;</div>
<div>but i still get the error in my log</div>
<div>&nbsp;</div>
<div>May&nbsp; 8 22:57:13 crm /usr/local/sbin/ser[23549]: Maxfwd module- initializing<br>May&nbsp; 8 22:57:13 crm /usr/local/sbin/ser[23554]: WARNING: no fifo_db_url given - fifo DB commands disabled!<br>&nbsp;</div>
<div>&nbsp;</div>
<div>ram<br>&nbsp;</div>
<div><span class="gmail_quote">On 5/8/06, <b class="gmail_sendername">Andrey Kouprianov</b> &lt;<a href="mailto:andrey.kouprianov@gmail.com">andrey.kouprianov@gmail.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Looks like you have to re-initialize your MySQL tables as well. Use<br>ser_mysql.sh to to that.<br><br>On 5/8/06, ram &lt;
<a href="mailto:talk2ram@gmail.com">talk2ram@gmail.com</a>&gt; wrote:<br>&gt;<br>&gt; Hi<br>&gt;<br>&gt; as per your change<br>&gt;<br>&gt; I have modidifed<br>&gt;<br>&gt; when i give the command<br>&gt;<br>&gt;<br>&gt; [
root@crm ser]# serctl start<br>&gt;<br>&gt; Starting SER : PID file /var/run/ser.pid does not exist -- SER start failed<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; and when i check the&nbsp;&nbsp;message<br>&gt;<br>&gt; May&nbsp;&nbsp;8 22:02:28 crm /usr/local/sbin/ser[3732]: Maxfwd module- initializing
<br>&gt; May&nbsp;&nbsp;8 22:02:28 crm /usr/local/sbin/ser[3732]: table_version(): Invalid<br>&gt; number of rows received: 7, subscriber<br>&gt; May&nbsp;&nbsp;8 22:02:28 crm /usr/local/sbin/ser[3732]: auth_db:str_fixup(): Error<br>&gt; while querying table version
<br>&gt; May&nbsp;&nbsp;8 22:02:28 crm /usr/local/sbin/ser[3732]: ERROR: fix_expr : fix_actions<br>&gt; error<br>&gt;<br>&gt;<br>&gt; my ser.cfg<br>&gt;<br>&gt;<br>&gt;<br>&gt; [root@crm ser]# more ser.cfg<br>&gt; #<br>&gt; # $Id: 
ser.cfg,v <a href="http://1.25.2.1">1.25.2.1</a> 2005/02/18 14:30:44 andrei Exp $<br>&gt; #<br>&gt; # simple quick-start config script<br>&gt; #<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; # ----------- global configuration parameters ------------------------
<br>&gt;<br>&gt; #debug=3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # debug level (cmd line: -dddddddddd)<br>&gt; fork=yes<br>&gt; log_stderror=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# (cmd line: -E)<br>&gt;<br>&gt; /* Uncomment these lines to enter debugging mode<br>&gt; fork=no<br>
&gt; log_stderror=yes<br>&gt; */<br>&gt;<br>&gt; check_via=no&nbsp;&nbsp;&nbsp;&nbsp;# (cmd. line: -v)<br>&gt; dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: -r)<br>&gt; rev_dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# (cmd. line: -R)<br>&gt; port=5060<br>&gt; #children=4<br>&gt; fifo=&quot;/tmp/ser_fifo&quot;
<br>&gt;<br>&gt; # ------------------ module loading<br>&gt; ----------------------------------<br>&gt;<br>&gt; # Uncomment this if you want to use SQL database<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/mysql.so&quot;
<br>&gt;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/sl.so&quot;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/tm.so&quot;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/rr.so&quot;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/maxfwd.so&quot;
<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/usrloc.so&quot;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/registrar.so&quot;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/textops.so&quot;<br>&gt;<br>&gt; # Uncomment this if you want digest authentication
<br>&gt; # mysql.so must be loaded !<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/auth.so&quot;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/auth_db.so&quot;<br>&gt;<br>&gt; # ----------------- setting module-specific parameters ---------------
<br>&gt;<br>&gt; # -- usrloc params --<br>&gt;<br>&gt; #modparam(&quot;usrloc&quot;, &quot;db_mode&quot;,&nbsp;&nbsp; 0)<br>&gt;<br>&gt; # Uncomment this if you want to use SQL database<br>&gt; # for persistent storage and comment the previous line
<br>&gt; modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, 2)<br>&gt;<br>&gt; # -- auth params --<br>&gt; # Uncomment if you are using auth module<br>&gt; #<br>&gt; modparam(&quot;auth_db&quot;, &quot;calculate_ha1&quot;, yes)
<br>&gt; #<br>&gt; # If you set &quot;calculate_ha1&quot; parameter to yes (which true in this config),<br>&gt; # uncomment also the following parameter)<br>&gt; #<br>&gt; modparam(&quot;auth_db&quot;, &quot;password_column&quot;, &quot;password&quot;)
<br>&gt;<br>&gt; # -- rr params --<br>&gt; # add value to ;lr param to make some broken UAs happy<br>&gt; modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, 1)<br>&gt;<br>&gt; # -------------------------&nbsp;&nbsp;request routing logic -------------------
<br>&gt;<br>&gt; # main routing logic<br>&gt;<br>&gt; route{<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# initial sanity checks -- messages with<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# max_forwards==0, or excessively long requests<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!mf_process_maxfwd_header(&quot;10&quot;)) {
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (msg:len &gt;=&nbsp;&nbsp;2048 ) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# we record-route all messages -- to make sure that<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# subsequent messages will go through our proxy; that's<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# particularly good if upstream and downstream entities
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# use different transport protocol<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (method!=&quot;REGISTER&quot;) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;record_route();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# subsequent messages withing a dialog should take the
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# path determined by record-routing<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (loose_route()) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# mark routing logic in request<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;append_hf(&quot;P-hint: rr-enforced\r\n&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route(1);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (uri!=myself) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# mark routing logic in request<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;append_hf(&quot;P-hint: outbound\r\n&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route(1);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# if the request is for other domain use UsrLoc<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# (in case, it does not work, use the following command<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# with proper names and addresses in it)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (uri==myself) {<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (method==&quot;REGISTER&quot;) {<br>&gt;<br>&gt; # Uncomment this if you want to use digest authentication<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!www_authorize(&quot;
<a href="http://balajimail.com">balajimail.com</a>&quot;, &quot;subscriber&quot;)) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;www_challenge(&quot; <a href="http://balajimail.com">balajimail.com</a>&quot;, &quot;0&quot;);<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;save(&quot;location&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lookup(&quot;aliases&quot;);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (uri!=myself) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;append_hf(&quot;P-hint: outbound alias\r\n&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route(1);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# native SIP destinations are handled using our USRLOC DB<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!lookup(&quot;location&quot;)) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_send_reply(&quot;404&quot;, &quot;Not Found&quot;);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;append_hf(&quot;P-hint: usrloc applied\r\n&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route(1);<br>&gt; }<br>&gt;<br>&gt; route[1]<br>&gt; {<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# send it out now; use stateful forwarding as it works reliably<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# even for UDP2TCP<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!t_relay()) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_reply_error();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt; }<br>&gt;<br>
&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; On 5/8/06, Andrey Kouprianov &lt;<a href="mailto:andrey.kouprianov@gmail.com">andrey.kouprianov@gmail.com</a>&gt; wrote:<br>&gt; &gt;<br>&gt; Hi,<br>&gt;<br>&gt; There are some differences between ser 
0.8.x and 0.9.x. One problem I<br>&gt; see is with logical operators. For instance,<br>&gt;<br>&gt; if (!method==&quot;REGISTER&quot;) record_route();<br>&gt;<br>&gt; will now become<br>&gt;<br>&gt; if (method!=&quot;REGISTER&quot;) record_route();
<br>&gt;<br>&gt; Anyway, I fixed your ser.cfg. Try starting SER with &quot;serctl start&quot;<br>&gt; command (not just &quot;ser&quot;). Btw, get a document called Getting Started<br>&gt; 05 from <a href="http://www.onsip.org">
www.onsip.org</a> (you'll need to register as well). This document<br>&gt; is perfect for understanding how to start configuring SER from the<br>&gt; very beginning to the complex stuff, like PSTN or NAT. Also, try using<br>
&gt; xlog module to log your messages. Helps a lot.<br>&gt;<br>&gt; Good luck :)<br>&gt;<br>&gt; -------------------------- your new ser.cfg below ------------------------<br>&gt;<br>&gt; #<br>&gt; # $Id: ser.cfg,v <a href="http://1.25.2.1">
1.25.2.1</a> 2005/02/18 14:30:44 andrei Exp $<br>&gt; #<br>&gt; # simple quick-start config script<br>&gt; #<br>&gt;<br>&gt; # ----------- global configuration parameters ------------------------<br>&gt;<br>&gt; #debug=3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # debug level (cmd line: -dddddddddd)
<br>&gt; fork=yes<br>&gt; log_stderror=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# (cmd line: -E)<br>&gt;<br>&gt; /* Uncomment these lines to enter debugging mode<br>&gt; fork=no<br>&gt; log_stderror=yes<br>&gt; */<br>&gt;<br>&gt; check_via=no&nbsp;&nbsp;&nbsp;&nbsp;# (cmd. line: -v)
<br>&gt; dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # (cmd. line: -r)<br>&gt; rev_dns=no&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# (cmd. line: -R)<br>&gt; port=5060<br>&gt; #children=4<br>&gt; fifo=&quot;/tmp/ser_fifo&quot;<br>&gt;<br>&gt; # ------------------ module loading<br>&gt; ----------------------------------
<br>&gt;<br>&gt; # Uncomment this if you want to use SQL database<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/mysql.so&quot;<br>&gt;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/sl.so&quot;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/tm.so&quot;
<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/rr.so&quot;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/maxfwd.so&quot;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/usrloc.so&quot;<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/registrar.so&quot;
<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/textops.so&quot;<br>&gt;<br>&gt; # Uncomment this if you want digest authentication<br>&gt; # mysql.so must be loaded !<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/auth.so&quot;
<br>&gt; loadmodule &quot;/usr/local/lib/ser/modules/auth_db.so&quot;<br>&gt;<br>&gt; # ----------------- setting module-specific parameters ---------------<br>&gt;<br>&gt; # -- usrloc params --<br>&gt;<br>&gt; #modparam(&quot;usrloc&quot;, &quot;db_mode&quot;,&nbsp;&nbsp; 0)
<br>&gt;<br>&gt; # Uncomment this if you want to use SQL database<br>&gt; # for persistent storage and comment the previous line<br>&gt; modparam(&quot;usrloc&quot;, &quot;db_mode&quot;, 2)<br>&gt;<br>&gt; # -- auth params --
<br>&gt; # Uncomment if you are using auth module<br>&gt; #<br>&gt; modparam(&quot;auth_db&quot;, &quot;calculate_ha1&quot;, yes)<br>&gt; #<br>&gt; # If you set &quot;calculate_ha1&quot; parameter to yes (which true in this config),
<br>&gt; # uncomment also the following parameter)<br>&gt; #<br>&gt; modparam(&quot;auth_db&quot;, &quot;password_column&quot;, &quot;password&quot;)<br>&gt;<br>&gt; # -- rr params --<br>&gt; # add value to ;lr param to make some broken UAs happy
<br>&gt; modparam(&quot;rr&quot;, &quot;enable_full_lr&quot;, 1)<br>&gt;<br>&gt; # -------------------------&nbsp;&nbsp;request routing logic<br>&gt; -------------------<br>&gt;<br>&gt; # main routing logic<br>&gt;<br>&gt; route{<br>
&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# initial sanity checks -- messages with<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# max_forwards==0, or excessively long requests<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!mf_process_maxfwd_header(&quot;10&quot;)) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (msg:len &gt;=&nbsp;&nbsp;2048 ) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};
<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# we record-route all messages -- to make sure that<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# subsequent messages will go through our proxy; that's<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# particularly good if upstream and downstream entities
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# use different transport protocol<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (method!=&quot;REGISTER&quot;) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;record_route();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# subsequent messages withing a dialog should take the
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# path determined by record-routing<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (loose_route()) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# mark routing logic in request<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;append_hf(&quot;P-hint: rr-enforced\r\n&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route(1);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (uri!=myself) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# mark routing logic in request<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;append_hf(&quot;P-hint: outbound\r\n&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route(1);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# if the request is for other domain use UsrLoc<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# (in case, it does not work, use the following command<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# with proper names and addresses in it)
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (uri==myself) {<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (method==&quot;REGISTER&quot;) {<br>&gt;<br>&gt; # Uncomment this if you want to use digest authentication<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!www_authorize(&quot; 
<a href="http://balajimail.com">balajimail.com</a>&quot;, &quot;subscriber&quot;))<br>&gt; {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;www_challenge(&quot; <a href="http://balajimail.com">balajimail.com</a>&quot;, &quot;0&quot;);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;save(&quot;location&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lookup(&quot;aliases&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (uri!=myself) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;append_hf(&quot;P-hint: outbound alias\r\n&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route(1);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# native SIP destinations are handled using our USRLOC DB<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!lookup(&quot;location&quot;)) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_send_reply(&quot;404&quot;, &quot;Not Found&quot;);
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;append_hf(&quot;P-hint: usrloc applied\r\n&quot;);<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route(1);<br>&gt; }<br>&gt;<br>&gt; route[1]<br>&gt; {<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# send it out now; use stateful forwarding as it works reliably<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# even for UDP2TCP<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!t_relay()) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl_reply_error();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br>&gt; }<br>&gt;<br>
&gt; _______________________________________________<br>&gt; Serusers mailing list<br>&gt; <a href="mailto:serusers@lists.iptel.org">serusers@lists.iptel.org</a><br>&gt; <a href="http://lists.iptel.org/mailman/listinfo/serusers">http://mail.iptel.org/mailman/listinfo/serusers
</a><br>&gt;<br>&gt;<br>&gt;<br><br>_______________________________________________<br>Serusers mailing list<br><a href="mailto:serusers@lists.iptel.org">serusers@lists.iptel.org</a><br><a href="http://lists.iptel.org/mailman/listinfo/serusers">
http://lists.iptel.org/mailman/listinfo/serusers</a><br></blockquote></div><br>