Aha. Makes sense.
JR Richardson wrote:
Good question. This configuration is to route certain DID's over to specific application servers and the rest of the calls process through to the load balancer for general traffic.
For instance, I want fax DID's to route over to a specific fax server, so I have to distinguish which DID's are for fax calls. I load the fax DID's into the database and point them over the fax server.
JR
On Wed, Nov 18, 2009 at 4:21 PM, Alex Balashov <abalashov@evaristesys.com mailto:abalashov@evaristesys.com> wrote:
This is curious logic. This code causes the call to roll to another branch (via dispatcher) if the user part of the RURI cannot be found in the 'dbaliases' table -- are you sure this is what you want? One would think if the number is not in the aliases table, it cannot be to any server? Or am I misunderstanding? JR Richardson wrote: Thanks for your quick replys. Here is the syntax that is working for me: 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"); exit; }; if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); exit; }; if(alias_db_lookup("dbaliases")) { t_relay(); }else{ ds_select_dst("1", "4"); t_on_failure("1"); t_relay(); } } failure_route[1] { ds_next_dst(); forward(); } On Wed, Nov 18, 2009 at 3:45 PM, Alex Balashov <abalashov@evaristesys.com <mailto:abalashov@evaristesys.com> <mailto:abalashov@evaristesys.com <mailto:abalashov@evaristesys.com>>> wrote: JR, Like many lookup functions, the alias_db_lookup() function has a return value. You should check it for a negative result before proceeding further in the script: Example: if(!alias_db_lookup("dbaliases")) { sl_send_reply("404", "Not Found"); exit; } Error handling in general is a must. -- Alex JR Richardson wrote: Hi All, I have a real simple load balancer proxy setup using the dispatcher module, works great. I want to do an alias lookup before I send the calls through to the dispatcher, but I can't seem to find a good example of how that should be setup in the config script. I've tried different things, the aliase_db_lookup is working but if a user is not in the database, the call loops and does not continue on to the dispatcher. Here is my current route script (this does not work): 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"); exit; }; if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); exit; }; alias_db_lookup("dbaliases"); t_on_failure("1"); t_relay(); ds_select_dst("1", "4"); t_on_failure("1"); t_relay(); } failure_route[1] { ds_next_dst(); forward(); } I think there should be an 'if' 'then' or 'if' 'else' separating the alias_db_lookup and the ds_select functions, but I'm not sure of the syntax and where the curly brackets need to be. Thanks. JR -- JR Richardson Engineering for the Masses ------------------------------------------------------------------------ _______________________________________________ Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org <mailto:Users@lists.kamailio.org> <mailto:Users@lists.kamailio.org <mailto:Users@lists.kamailio.org>> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671 -- JR Richardson Engineering for the Masses ------------------------------------------------------------------------ _______________________________________________ Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org <mailto:Users@lists.kamailio.org> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users -- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671
-- JR Richardson Engineering for the Masses