[Serusers] Just starting, need help

Daniel-Constantin Mierla daniel at iptel.org
Wed May 5 22:12:01 CEST 2004


First, the condition

	if !(uri==myself) {

is not a good one (just before processing REGISTER requests). It should be

	if (uri==myself) {


Then it might happen that your hostname doesn't match this condition, so 
it is better to put
alias="your.hostname.com"

just below line

fifo="/tmp/ser_fifo"

in the global configuration parameters part of the configuration file. 
If you serve multiple domains, you can add multiple alias="" lines.

Daniel


On 5/5/2004 10:04 PM, Bert Berlin wrote:

>All,  
>  
>
>I am trying to use SER in a lab environment to test a new SIP product
>under development. I am searching through the SER archives for help,
>and see that many useful responses have been offered - but none yet
>that addresses my simple problem -- how to get started.
>
>
>
>I have SER up and running on a Linux9 platform.  Likewise SERWEB and
>mysql.
>
>
>
>Below is the ser.cfg file that i am using.  It  is virtually
>unmodified from the original sample file.
>
>
>
>the setup is simple (no NAT, no firewall - both user agents are on 
>the same subnet in a lab environment)
>
>
>
>UA1 --->SER ---->UA2
>
>
>
>We are simply trying to use the proxy to exercise the logic of
>registration and so on in our user agent. The UAs register ok.  Then
>when we try to place a call from UA1 to UA2, there is an invite,
>followed by  a 100 Trying message ( we sniff with ethereal to see this,
>and use our own UA debug traces as well).  After a short while, we
>receive a 483 message - "too Many Hops"  
>
>Can we get some help with a cfg file that will allow us to  accomplish
>this testing?  I think once we get started with SER we will be able to
>understand better how to write modifications to the cfg script.
>
>
>
>thanks,
>
>bert
>
>
>
>
>#
># $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=yes
>log_stderror=yes
>
>check_via=no	# (cmd. line: -v)
>dns=no           # (cmd. line: -r)
>rev_dns=no      # (cmd. line: -R)
>#uncommented following line 5/3/04
>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/nathelper.so"
>  loadmodule "/usr/local/lib/ser/modules/textops.so"
># Uncomment this if you want digest authentication
># mysql.so must be loaded !
>#commented the following line 5/3/04
>#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", 1)
>
># -- 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{
>	#added 5/04/04
>	if  (method=="REGISTER")  {
>		log("REGISTER");
>		sl_send_reply("200","ok");
>		break;
>        };
>	
>
>
>
>	# 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("quintum.com", "subscriber")) {
>#				www_challenge("quintum.com", "0");
>#				break;
>#			};
>
>			save("location");
>			break;
>		};
>
>		# native SIP destinations are handled using our USRLOC DB
>		if (!lookup("location")) {
>			sl_send_reply("408", "Not Found");
>			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();
>	};
>
> -- 
>
>
>             Bert Berlin
>
> Bert Berlin
>
> Director, System Test
>
> Quintum Technologies, Inc.
>
> 71 James Way
>
> Eatontown, NJ 07724
>
> PH 732-460-9000 ext 247
>
> Email: bert_berlin at quintum.com <mailto:beert_berlin at quintum.com>
>
>  
>
>  
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Serusers mailing list
>serusers at lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
>  
>




More information about the sr-users mailing list