Hello,
Unfortunately we cannot write the entire configuration file for you, you should try yourself and ask for advice on particular problems, then we can help you. Maybe somebody else on the list have similar configuration and might send you the configuration script.
Also, read the following documentation:
SIP introduction: http://iptel.org/ser/doc/sip_intro/sip_introduction.html
Dan Austin's howto: http://iptel.org/ser/doc/ser-howto/ser-Howto.html
Administrator's guide: http://iptel.org/ser/doc/seruser/seruser.html
SER Wiki page: http://www.voip-info.org/wiki-SER+tips+and+tricks
The documentation covers everything you are going to need.
Also take a look at the mailing list archives because most of the stuff has been covered already.
You can search through the archives using google. For example if you were looking for mails related to accounting then you can type "accounting site:mail.iptel.org".
Also make yourself familiar with the ngrep utility, the utility can make dumps of SIP messages.
Jan.
On 26-11 12:09, xwang@novsky.com wrote:
sorry for again and again because my mail seems to be unreadable
Pls help me to config ser.cfg Now my envirmonet is: ser server: 172.16.255.1:5060 ( without DNS server ) SIP PSTN gateway: 172.16.255.1:6050 SIP UA: 172.16.2.xx And all SIP UAs have a PSTN number like 6169xxxx
There are no DNS server in the system.(we don't apply for a domain name) I want: 1 All users use digest authorization when SIP UA registing ------ finished 2 All calls from SIP UA need authorization (return 407 to Invite request) 3 All calls to PSTN transfer to the SIP PSTN gateway(number no like "6169xxxx") -------- almost finished 3 All calls from the SIP PSTN gateway do not need authorization(I think use a caller sip:gateway@172.16.255.1:6050 as caller when call from gateway,then all call from this user and this ip address needn't authorazation) 4 All calls need write CDR record to mysq datebase The bigest problem is I don't know how to write conditonal sentence , like if(uri!=~"xxxx") or if((uri=="xxxx") | (uri=="yyyy")) There are no document talking about the syntax.
Please help me. Any help is appreciate.
Now my ser.cfg is:
# # $Id: ser.cfg,v 1.21.2.1 2003/07/30 16:46:18 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 debug=7 fork=no log_stderror=yes */
debug=7 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/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"
# Uncomment this if you want digest authentication # mysql.so must be loaded ! loadmodule "/usr/lib/ser/modules/auth.so" loadmodule "/usr/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")) { # sl_send_reply("483","Too Many Hops"); # break; # };
if (len_gt( 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; };
# 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("novsky.com", "subscriber")) { www_challenge("novsky.com", "0"); break; };
save("location"); break; }; # native SIP destinations are handled using our USRLOC DB
# if (!lookup("location")) { # if(uri=~"^sip:6169*@") { # forward(172.16.255.1,6050); # break; # }; # else { # sl_send_reply("404", "Not Found"); # break; # }; # };
if(uri=~"^sip:6169[0-9]*@[0-9|\.]*") { if(!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; forward(172.16.255.1,6050); break;
}; # 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(); };
}
Best regards
wangji _______________________________________________ Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers