<div><br>Hi </div>
<div> </div>
<div>thanks for the help</div>
<div> </div>
<div>I have downloaded from Onsip and installed</div>
<div>and made config change as per your before mail</div>
<div> </div>
<div>I have seen the SER is Running</div>
<div> </div>
<div>but i still get the error in my log</div>
<div> </div>
<div>May 8 22:57:13 crm /usr/local/sbin/ser[23549]: Maxfwd module- initializing<br>May 8 22:57:13 crm /usr/local/sbin/ser[23554]: WARNING: no fifo_db_url given - fifo DB commands disabled!<br> </div>
<div> </div>
<div>ram<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">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 <
<a href="mailto:talk2ram@gmail.com">talk2ram@gmail.com</a>> wrote:<br>><br>> Hi<br>><br>> as per your change<br>><br>> I have modidifed<br>><br>> when i give the command<br>><br>><br>> [
root@crm ser]# serctl start<br>><br>> Starting SER : PID file /var/run/ser.pid does not exist -- SER start failed<br>><br>><br>><br>><br>> and when i check the message<br>><br>> 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<br>> number of rows received: 7, subscriber<br>> May 8 22:02:28 crm /usr/local/sbin/ser[3732]: auth_db:str_fixup(): Error<br>> while querying table version
<br>> May 8 22:02:28 crm /usr/local/sbin/ser[3732]: ERROR: fix_expr : fix_actions<br>> error<br>><br>><br>> my ser.cfg<br>><br>><br>><br>> [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>> #<br>><br>><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>><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>><br>><br>><br>><br>><br>> On 5/8/06, Andrey Kouprianov <<a href="mailto:andrey.kouprianov@gmail.com">andrey.kouprianov@gmail.com</a>> wrote:<br>> ><br>> 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>><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>><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>> {<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>><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://lists.iptel.org/mailman/listinfo/serusers</a><br></blockquote></div><br>