[Serusers] handling failure after directing to application server

Iqbal iqbal at gigo.co.uk
Thu Apr 28 00:50:57 CEST 2005


on failure and reply you are telling it where to go, but that route
doesnt exist, or not at least in ur config given below.

Also route [2] doesnt really do anything..

Iqbal

On 4/27/2005, "Greg Martin" <Greg.Martin at TELUS.COM> wrote:

>I'm trying to direct requests to registered users to another proxy which has an application server. Right now the proxy simply sends a 404 back. In that case I want to simply complete the call. What I am doing is looping until the ser has had enough. I've tried to set a flag to prevent it but the
>flag is in fact never set although the logs indicate it's the same transaction. Any comments?
>
>debug=3
>fork=yes
>log_stderror=no
>dns=no
>rev_dns=no
>fifo="/tmp/ser_fifo"
>fifo_db_url="mysql://ser:heslo@localhost/ser"
>
>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/exec.so"
>loadmodule "/usr/local/lib/ser/modules/xlog.so"
>
>modparam("usrloc", "db_mode",   1)
>modparam("rr", "enable_full_lr", 1)
>
>route {
>
>	# ------------------------------------------------------------------------
>	# Sanity Check Section
>	# ------------------------------------------------------------------------
>	if (!mf_process_maxfwd_header("10")) {
>		sl_send_reply("483", "Too Many Hops");
>		break;
>	};
>
>	if (msg:len > max_len) {
>		sl_send_reply("513", "Message Overflow");
>		break;
>	};
>
>	xlog("L_NOTICE", "Method <%rm> r-uri <%ru>\n");
>	
>	# ------------------------------------------------------------------------
>	# Record Route Section
>	# ------------------------------------------------------------------------
>	if (method != "REGISTER") {
>		record_route();
>	};
>
>	# ------------------------------------------------------------------------
>	# Loose Route Section
>	# ------------------------------------------------------------------------
>	if (loose_route()) {
>		route(1);
>		break;
>	};
>
>	# ------------------------------------------------------------------------
>	# Call Type Processing Section
>	# ------------------------------------------------------------------------
>	if (uri != myself) {
>		route(1);
>		break;
>	};
>
>	if (uri == myself) {
>		if (method == "REGISTER") {
>			route(2);
>			break;
>		};
>
>		if (!lookup("location")) {
>			sl_send_reply("404", "User Not Found");
>			break;
>		};
>
>		route(1);
>	};
>}
>
>route[1] {
>        # ------------------------------------------------------------------------
>        # Default Message Handler
>        # ------------------------------------------------------------------------
> 	xlog("L_NOTICE", "route[1] *****\n");
>        
>    t_on_reply("1");
>
>	if(isflagset(1))
>	{
>		xlog("L_NOTICE", "RELAYING.\n");
>		resetflag(1);
>		if (!t_relay()) {
>			sl_reply_error();
>			break;
>		};	
>	};
>	
>    t_on_failure("1");
>	
>	t_relay_to_udp("app_servers_address", "5060");
>	    
>
>}
>
>route[2] {
>	# ------------------------------------------------------------------------
>	# REGISTER Message Handler
>	# ------------------------------------------------------------------------
>	if (!save("location")) {
>		sl_reply_error();
>	};
>}
>
>onreply_route[1] {
>	xlog("L_NOTICE", "Reply status %rs: Reason %rr\n");
>}
>
>failure_route[1] {
>		setflag(1);
>		xlog("L_NOTICE", "FAILURE LOGIC.\n");
>        revert_uri();
>        append_branch(); 
>        t_relay();
>}
>
>Greg Martin 
>Technology & Operations
>TELUS Communication Inc.
>office: 780-493-2786 
>cell: 780-718-4139
>
>_______________________________________________
>Serusers mailing list
>serusers at lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
>
>




More information about the sr-users mailing list