[Serusers] ser route config problem again

Jan Janak jan at iptel.org
Wed Nov 26 20:45:40 CET 2003


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 at 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 at 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 at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list