Rerouting bridge based on error response from far end
I will use xml_curl to query a db for the cheapest routes to use. It will come back with a couple of different gateways to use. (LCR idea) Based on the response I get from the first gateway (404,503,500, 486), I want to either reroute to another gateway or send back to the originator the result that I found (486 in this case, other messages should be rerouted unless we hit the last and then send back a final response). How can I do that in a dialplan? Can you point me some documention maybe?
You can do this with the continue_on_fail session variable. 404 = NO_ROUTE_DESTINATION 500 & 503 = NORMAL_TEMPORARY_FAILURE and 485 is USER_BUSY So if you set the variable continue_on_fail to a comma separated list ie: <action application="set" data="NO_ROUTE_DESTINATION,NORMAL_TEMPORARY_FAILURE"/> <action application="bridge" data="sofia/gateway/blah.com/5551212"/> <action application="bridge" data="sofia/gateway/blah2.com/5551212"/> This would cause the dialplan to continue processing if blah.com returned any of the above causes. http://wiki.freeswitch.org/wiki/Channel_Variables#continue_on_fail http://wiki.freeswitch.org/wiki/Hangup_causes /b On Jul 6, 2008, at 11:09 PM, Joseph Bajin wrote:
I will use xml_curl to query a db for the cheapest routes to use. It will come back with a couple of different gateways to use. (LCR idea) Based on the response I get from the first gateway (404,503,500, 486), I want to either reroute to another gateway or send back to the originator the result that I found (486 in this case, other messages should be rerouted unless we hit the last and then send back a final response).
How can I do that in a dialplan? Can you point me some documention maybe?
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Perfect Thanks.. Is there a definition on what relates to what error code (404 - NO_ROUTE_DESTINATION)? I looked in the src/switch_channel.c but it just defines it NO_ROUTE_DESTINATION. On Mon, Jul 7, 2008 at 12:35 AM, Brian West <brian@freeswitch.org> wrote:
You can do this with the continue_on_fail session variable.
404 = NO_ROUTE_DESTINATION 500 & 503 = NORMAL_TEMPORARY_FAILURE and 485 is USER_BUSY
So if you set the variable continue_on_fail to a comma separated list ie:
<action application="set" data="NO_ROUTE_DESTINATION,NORMAL_TEMPORARY_FAILURE"/> <action application="bridge" data="sofia/gateway/blah.com/5551212"/> <action application="bridge" data="sofia/gateway/blah2.com/5551212"/>
This would cause the dialplan to continue processing if blah.com returned any of the above causes.
http://wiki.freeswitch.org/wiki/Channel_Variables#continue_on_fail
http://wiki.freeswitch.org/wiki/Hangup_causes
/b
On Jul 6, 2008, at 11:09 PM, Joseph Bajin wrote:
I will use xml_curl to query a db for the cheapest routes to use. It will come back with a couple of different gateways to use. (LCR idea) Based on the response I get from the first gateway (404,503,500, 486), I want to either reroute to another gateway or send back to the originator the result that I found (486 in this case, other messages should be rerouted unless we hit the last and then send back a final response).
How can I do that in a dialplan? Can you point me some documention maybe?
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- --Joe "Success is easy if you think of it like Rust: It's inevitable if you keep at it. Guys claim there are magic moments, but that's just bullshit." --Fred Franzia (The famous wine guy)
Look in sofia_glue.c it maps the numbers to causes. /b On Jul 7, 2008, at 8:22 AM, Joseph Bajin wrote:
Perfect Thanks..
Is there a definition on what relates to what error code (404 - NO_ROUTE_DESTINATION)? I looked in the src/switch_channel.c but it just defines it NO_ROUTE_DESTINATION.
On Mon, Jul 7, 2008 at 12:35 AM, Brian West <brian@freeswitch.org> wrote: You can do this with the continue_on_fail session variable.
404 = NO_ROUTE_DESTINATION 500 & 503 = NORMAL_TEMPORARY_FAILURE and 485 is USER_BUSY
So if you set the variable continue_on_fail to a comma separated list ie:
<action application="set" data="NO_ROUTE_DESTINATION,NORMAL_TEMPORARY_FAILURE"/> <action application="bridge" data="sofia/gateway/blah.com/5551212"/> <action application="bridge" data="sofia/gateway/blah2.com/5551212"/>
This would cause the dialplan to continue processing if blah.com returned any of the above causes.
http://wiki.freeswitch.org/wiki/Channel_Variables#continue_on_fail
http://wiki.freeswitch.org/wiki/Hangup_causes
/b
On Jul 6, 2008, at 11:09 PM, Joseph Bajin wrote:
I will use xml_curl to query a db for the cheapest routes to use. It will come back with a couple of different gateways to use. (LCR idea) Based on the response I get from the first gateway (404,503,500, 486), I want to either reroute to another gateway or send back to the originator the result that I found (486 in this case, other messages should be rerouted unless we hit the last and then send back a final response).
How can I do that in a dialplan? Can you point me some documention maybe?
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- --Joe
"Success is easy if you think of it like Rust: It's inevitable if you keep at it. Guys claim there are magic moments, but that's just bullshit." --Fred Franzia (The famous wine guy) _______________________________________________ Freeswitch-users mailing list Freeswitch-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Brian West sip:brian@freeswitch.org
participants (2)
-
Brian West
-
Joseph Bajin