ser.cfg shouldn't be corrupt because I'm using ser.cfg from the berlios cvs server in the <ser-source>/etc/ directory.
I did update the call to mf_process_maxfwd_header to include the second parameter. So as I see it all indications are either I'm not using the mf_process_maxfw_header signature correctly, or a bug now exists in ser dev9.
My exact ser.cfg is here:
# # $Id: ser.cfg,v 1.24 2003/11/11 15:32:36 andrei Exp $ # # simple quick-start config script #
# ----------- global configuration parameters ------------------------
#debug=3 # debug level (cmd line: -dddddddddd) #fork=yes #log_stderror=no # (cmd line: -E)
/* Uncomment these lines to enter debugging mode fork=no log_stderror=yes */
check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) #port=5060 #children=4 fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database #loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so" loadmodule "/usr/local/lib/ser/modules/tm.so" loadmodule "/usr/local/lib/ser/modules/rr.so" loadmodule "/usr/local/lib/ser/modules/maxfwd.so" loadmodule "/usr/local/lib/ser/modules/usrloc.so" loadmodule "/usr/local/lib/ser/modules/registrar.so" loadmodule "/usr/local/lib/ser/modules/textops.so"
# Uncomment this if you want digest authentication # mysql.so must be loaded ! #loadmodule "/usr/local/lib/ser/modules/auth.so" #loadmodule "/usr/local/lib/ser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
modparam("usrloc", "db_mode", 0) # Uncomment this if you want to use SQL database # for persistent storage and comment the previous line #modparam("usrloc", "db_mode", 2)
# -- auth params -- # Uncomment if you are using auth module # #modparam("auth_db", "calculate_ha1", yes) # # If you set "calculate_ha1" parameter to yes (which true in this config), # uncomment also the following parameter) # #modparam("auth_db", "password_column", "password")
# -- rr params -- # add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("10", "10")) { sl_send_reply("483","Too Many Hops"); break; }; if (msg:len >= max_len ) { sl_send_reply("513", "Message too big"); break; };
# we record-route all messages -- to make sure that # subsequent messages will go through our proxy; that's # particularly good if upstream and downstream entities # use different transport protocol if (!method=="REGISTER") record_route();
# subsequent messages withing a dialog should take the # path determined by record-routing if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; };
if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); route(1); break; };
# if the request is for other domain use UsrLoc # (in case, it does not work, use the following command # with proper names and addresses in it) if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication # if (!www_authorize("iptel.org", "subscriber")) { # www_challenge("iptel.org", "0"); # break; # };
save("location"); break; };
lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; };
# native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; append_hf("P-hint: usrloc applied\r\n"); route(1); }
route[1] { # send it out now; use stateful forwarding as it works reliably # even for UDP2TCP if (!t_relay()) { sl_reply_error(); }; } --- Bogdan-Andrei IANCU iancu@fokus.fraunhofer.de wrote:
judging after the error msg, I would say your cfg is coruppted.
0(11799) find_export: <mf_process_maxfwd_header("10> not found 0(11799) find_export: <mf_process_maxfwd_header("10> not found 0(11799) parse error (75,38-39): unknown command, missing loadmodule?
please check the syntax.
bogdan
Java Rockx wrote:
I see. Thanks for the info. However, adding a second parameter to the call doesn't seem to help.
Here's the output of ser when I check for config errors. I assume many other function signatures changed as well because sl_send_reply(), record_route(), append_hf(), loose_route(), save(), lookup(), and t_relay() all fail now.
Anyhow, I changed my ser.cfg to this and still get the errors. Am I doing it wrong?
if (!mf_process_maxfwd_header("10", "10")) {
Regards, Paul
[root@sip01 parser]# ser -dddddddddd -c 0(11799) read 1313435580 from /dev/urandom 0(11799) seeding PRNG with 2410695156 0(11799) test random number 2025135263 0(11799) loading module /usr/local/lib/ser/modules/sl.so 0(11799) loading module /usr/local/lib/ser/modules/tm.so 0(11799) loading module /usr/local/lib/ser/modules/rr.so 0(11799) loading module /usr/local/lib/ser/modules/maxfwd.so 0(11799) loading module /usr/local/lib/ser/modules/usrloc.so 0(11799) loading module /usr/local/lib/ser/modules/registrar.so 0(11799) loading module /usr/local/lib/ser/modules/textops.so 0(11799) set_mod_param_regex: usrloc matches module usrloc 0(11799) set_mod_param_regex: found <db_mode> in module usrloc [/usr/local/lib/ser/modules/usrloc.so] 0(11799) set_mod_param_regex: rr matches module rr 0(11799) set_mod_param_regex: found <enable_full_lr> in module rr [/usr/local/lib/ser/modules/rr.so] 0(11799) find_export: <mf_process_maxfwd_header("10> not found 0(11799) find_export: <mf_process_maxfwd_header("10> not found 0(11799) parse error (75,38-39): unknown command, missing loadmodule?
0(11799) find_export: <sl_send_reply("483> not found 0(11799) find_export: <sl_send_reply("483> not found 0(11799) parse error (76,22-23): unknown command, missing loadmodule?
0(11799) find_export: <sl_send_reply("513> not found 0(11799) find_export: <sl_send_reply("513> not found 0(11799) parse error (80,23-24): unknown command, missing loadmodule?
0(11799) find_export: <record_route()> not found 0(11799) find_export: <record_route()> not found 0(11799) parse error (88,32-33): unknown command, missing loadmodule?
0(11799) find_export: <loose_route()> not found 0(11799) find_export: <loose_route()> not found 0(11799) parse error (92,18-19): unknown command, missing loadmodule?
0(11799) find_export: <append_hf("P-hint: rr-enforced\r\n> not found 0(11799) find_export: <append_hf("P-hint: rr-enforced\r\n> not found 0(11799) parse error (94,19-20): unknown command, missing loadmodule?
0(11799) find_export: <append_hf("P-hint: outbound\r\n> not found 0(11799) find_export: <append_hf("P-hint: outbound\r\n> not found 0(11799) parse error (101,19-20): unknown command, missing loadmodule?
0(11799) find_export: <save("location> not found 0(11799) find_export: <save("location> not found 0(11799) parse error (119,11-12): unknown command, missing loadmodule?
0(11799) find_export: <lookup("aliases> not found 0(11799) find_export: <lookup("aliases> not found 0(11799) parse error (123,12-13): unknown command, missing loadmodule?
0(11799) find_export: <append_hf("P-hint: outbound alias\r\n> not found 0(11799) find_export: <append_hf("P-hint: outbound alias\r\n> not found 0(11799) parse error (125,20-21): unknown command, missing loadmodule?
0(11799) find_export: <lookup("location> not found 0(11799) find_export: <lookup("location> not found 0(11799) parse error (131,17-18): unknown command, missing loadmodule?
0(11799) find_export: <sl_send_reply("404> not found 0(11799) find_export: <sl_send_reply("404> not found 0(11799) parse error (132,24-25): unknown command, missing loadmodule?
0(11799) find_export: <append_hf("P-hint: usrloc applied\r\n> not found 0(11799) find_export: <append_hf("P-hint: usrloc applied\r\n> not found 0(11799) parse error (136,18-19): unknown command, missing loadmodule?
0(11799) find_export: <t_relay()> not found 0(11799) find_export: <t_relay()> not found 0(11799) parse error (144,15-16): unknown command, missing loadmodule?
0(11799) find_export: <sl_reply_error()> not found 0(11799) find_export: <sl_reply_error()> not found 0(11799) parse error (145,18-19): unknown command, missing loadmodule?
ERROR: bad config file (15 errors) 0(11799) DEBUG: tm_shutdown : start 0(11799) DEBUG: tm_shutdown : emptying hash table 0(11799) DEBUG: tm_shutdown : releasing timers 0(11799) DEBUG: tm_shutdown : removing semaphores 0(11799) DEBUG: tm_shutdown : destroying tmcb lists 0(11799) DEBUG: tm_shutdown : done 0(11799) shm_mem_destroy
--- Bogdan-Andrei IANCU iancu@fokus.fraunhofer.de wrote:
it's not broken, but the prototype of mf_process_maxfwd_header() has changed - it takes 2 params now: the first is the same (if absent, what will be the initial value of MF hdr) and second is used of limiting the MF value (if the received MF exceeds this value, it will be reduce to it).
bogdan
PS: right, the doc is not updated.
Java Rockx wrote:
Hello All.
I just updated by 0.8.99-dev7 to 0.8.99-dev9 and compiled it.
When I start ser I get
ser: parse error (75,34-35): unknown command, missing loadmodule?
Line 75 in my ser.cfg is this
if (!mf_process_maxfwd_header("10")) {
I have the maxfwd.so included in my loadmodule section. So this leads me
to
believe that 0.8.99-dev9 is broken. Can anyone verify this?
Also, is there a way for me checkout 0.8.99-dev8 from berlios?
Regards, Paul
_______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
_______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
__________________________________ Do you Yahoo!? Yahoo! Mail - You care about security. So do we. http://promotions.yahoo.com/new_mail