Hi All,
Im a new user who is still learning.
Error: unable to restart the SER using 'service ser restart' in the terminal after eidting the 'ser.cfg' file. Below was the result shown in the terminal.
From terminal: Stopping ser: [FAIL]
Starting ser: [OK]
Seem like SER just wont stop even using 'service ser stop'. Using 'service start' is ok.
Pls help....
This is my OS: Linux ISPL-PC-0034 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux
ser distribution: ser-0.8.12-0.i386.rpm ser-0.8.12-0.src.rpm ser-debuginfo-0.8.12-0.i386.rpm ser-jabber-0.8.12-0.i386.rpm ser-mysql-0.8.12-0.i386.rpm ser-radius-0.8.12-0.i386.rpm
ser build: version: ser 0.8.12 (i386/linux) flags: STATS:Off, USE_IPV6, USE_TCP, DISABLE_NAGLE, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535 @(#) $Id: main.c,v 1.168 2003/10/12 15:09:08 andrei Exp $ main.c compiled on 17:37:06 Nov 21 2003 with gcc 3.2
ser config: # # $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 andrei Exp $ # # simple quick-start config script #
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd) fork=yes log_stderror=yes # (cmd line: -E)
/* Uncomment these lines to enter debugging mode debug=7 fork=no log_stderror=yes */
listen=172.16.220.133 listen=127.0.0.1 alias="sip.nyp.edu.sg" alias=172.16.220.133 alias=127.0.0.1
check_via=yes # (cmd. line: -v) dns=yes # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5060 children=4 fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
loadmodule "/usr/lib/ser/modules/mysql.so" loadmodule "/usr/lib/ser/modules/sl.so" loadmodule "/usr/lib/ser/modules/tm.so" loadmodule "/usr/lib/ser/modules/rr.so" loadmodule "/usr/lib/ser/modules/maxfwd.so" loadmodule "/usr/lib/ser/modules/usrloc.so" loadmodule "/usr/lib/ser/modules/registrar.so" loadmodule "/usr/lib/ser/modules/auth.so" loadmodule "/usr/lib/ser/modules/auth_db.so" loadmodule "/usr/lib/ser/modules/acc.so" loadmodule "/usr/lib/ser/modules/exec.so" loadmodule "/usr/lib/ser/modules/group.so" loadmodule "/usr/lib/ser/modules/domain.so" loadmodule "/usr/lib/ser/modules/print.so" loadmodule "/usr/lib/ser/modules/textops.so" loadmodule "/usr/lib/ser/modules/uri.so" loadmodule "/usr/lib/ser/modules/msilo.so" loadmodule "/usr/lib/ser/modules/vm.so"
# ----------------- setting module-specific parameters ---------------
# -- tm params -- modparam("tm", "fr_timer", 12) modparam("tm", "fr_inv_timer", 24)
# -- rr params -- # add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1)
# -- usrloc params -- #2 enables write-back to persistent mysql storage for speed #disable=0, write-through=1 modparam("usrloc", "db_mode", 2) #minimize write back window - default is 60 seconds modparam("usrloc", "timer_interval", 120) #database location modparam("usrloc", "db_url", "sql://ser:heslo@localhost/ser")
# -- auth params -- #database location modparam("auth_db", "db_url", "sql://ser:heslo@localhost/ser") #allows clear text password in the mysql database modparam("auth_db", "calculate_ha1", yes) #name of password column in mysql database modparam("auth_db", "password_column", "password")
# -- acc params -- modparam("acc", "log_level", 1) modparam("acc", "log_flag", 1) modparam("acc", "log_missed_flag", 3)
# -- msilo params -- modparam("msilo", "db_table", "silo")
# ------------------------- request routing logic ------------------- # main routing logic
route{
#checks messages with max_forwards==0 if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); break; }; #or excessively long requests 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 record_route(); # loose-route processing if (loose_route()) { t_relay(); break; };
#labeled all transaction for accounting setflag(1); #record-route INVITES to make sure BYEs will visit our server too if (method=="INVITE") record_route();
# 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") { #make sure that users don't register infinite loops if(search("^(Contact|m):.*@(172.16.220.133|(proxy.)?sip.nyp.edu.sg)")) { log(1, "LOG: alert: someone trying to set aor==contact\n"); sl_send_reply("476", "no server address in contacts allowed"); break; } #Uncomment this if you want to use digest authentication #if (!www_authorize("iptel.org", "subscriber")) #{ # www_challenge("iptel.org", "0"); # break; #}; save("aliases"); save("location"); log("REGISTER received -> dumping messages with MSILO\n"); #MSILO - dumping user's offline messages if (m_dump()) { log("MSILO: offline messages dumped - if they were\n"); } else { log("MSILO: no offline messages dumped\n"); }; break; }; # native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { if (! t_newtran()) { sl_reply_error(); break; }; if (!method=="MESSAGE") { if (!t_reply("404", "not found on LDAP or SER")) { sl_reply_error(); }; break; }; log("MESSAGE received -> storing using MSILO\n"); # MSILO - storing as offline message if (m_store("0")) { log("MSILO: offline message stored \n"); if (!t_reply("202", "accepted for later delivery")) { sl_reply_error(); }; } else { log("MSILO: offline message NOT stored\n"); if (!t_reply("503", "service unavailable")) { sl_reply_error(); }; }; break; sl_send_reply("404", "not found on LDAP or SER"); break; }; #if the downstream UA does not support MESSAGE requests #go to failure_route[1] t_on_failure("1"); t_relay(); break; #native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { if (!exec_dset("/etc/ser/sipldap")) { sl_send_reply("404", "not found on LDAP or SER"); break; } else { log(1, "sipldap call"); }; }; }; setflag(3); # forward to current uri now; use stateful forwarding; that # works reliably even if we forward from TCP to UDP if (!t_relay()) { sl_reply_error(); break; }; #does user wish redirection on no availability? #(is he in the voicemail (ser->grp) group?) if (is_user_in("Request-URL", "voicemail")) { t_on_failure("4"); setflag(1); }; }
failure_route[1] { #forwarding failed -- check if the request was a MESSAGE if (!method=="MESSAGE") { break; }; log(1, "MSILO: the downstream UA does not support MESSAGE requests ...\n"); #we have changed the R-URI with the contact address -- ignore it now if (m_store("1")) { log("MSILO: offline message stored\n"); t_reply("202", "accepted for later delivery"); } else { log("MSILO: offline message NOT stored\n"); t_reply("503", "service unavailable"); }; } failure_route[4] { append_branch("sip:80000@sip.nyp.edu.sg"); append_urihf("CC-Diversion: ", "\r\n"); append_hf("P-hint: OFFLINE-VOICEMAIL\r\n"); t_relay(); }
Regards, EricQ
__________________________________________________ Do You Yahoo!? Download the latest ringtones, games, and more! http://sg.mobile.yahoo.com