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