On Tue, Aug 18, 2009 at 9:23 AM, Woody Dickson <[email protected]>wrote:
> Hi, > > I have my dialplan to do some simple routing. What I need to do is when > certain hangup code is received, route advance to the next or the route > after next based on the hangup code received. > > So, I have: > > <condition> > <action application="set" data="hangup_after_bridge=true"/> > <action application="set" data="continue_on_fail="false"/> > <action application="bridge" data="sofia/internal/[email protected]./> > <action application="bridge" data="sofia/internal/[email protected]./> > <action application="bridge" data="sofia/internal/[email protected]./> > <action application="bridge" data="sofia/internal/[email protected]./> > > </condition> > > What I want to do is that based on the error code received from ( bridge to > aaa), it can route to either bbb or ccc depends on the hangup code received > from aaa. > > So there anyway to do it in the dialplan without any scripting? Yes, you can use the result of the previous bridge to execute a transfer. You'd need to use the hangup cause as the transfer destination, or part of the destination. For example, you could try something like this: <action application="set" data="hangup_after_bridge=true"/> <action application="set" data="continue_on_fail="false"/> <action application="bridge" data="sofia/internal/[email protected]./> <action application="transfer" data="${hangup_cause}_AAA XML default"/> ... And then have an extension for each of the various hangup_causes <extension name="normal clearing"> <condition field="destination_number" expression="^(normal_clearing_AAA)$"> <!-- Do whatever you want for "normal clearing" bridged calls --> </condition> </extension> <extension name="user busy"> <condition field="destination_number" expression="^(user_busy_AAA)$"> <!-- Do whatever you want for "user busy" bridged calls --> </condition> </extension> <extension name="no answer"> <condition field="destination_number" expression="^(no_answer_AAA)$"> <!-- Do whatever you want for "no answer" bridged calls --> </condition> </extension> Etc., etc. I don't claim it's pretty, but it would let you avoid the use of scripting languages. However, I would caution you to examine just why you want/need to avoid scripting langs. The dp-only method may indeed be best for you, or perhaps using mod_xml_curl would be better. It does depend on your specific needs and your environment. -MC > > thannks, > woody > > > > > > On Mon, Aug 17, 2009 at 11:59 PM, Michael Collins <[email protected]>wrote: > >> >> >> On Sun, Aug 16, 2009 at 4:24 AM, Woody Dickson <[email protected]>wrote: >> >>> Hello, >>> >>> I find hangup_hook, but I would like to define different actions for >>> different hangup codes. Is there anyway to do that? >>> >>> >> >> I can think of at least two ways you could do this: one that uses only the >> dialplan and one that uses a script. If you don't mind using a scripting >> language then you can make it very clean: >> >> <action application="set" data="api_hangup_hook=luarun chancleanup.lua >> ${hangup_cause}"/> >> >> Then have your Lua script handle all the if-then-else or case stuff. >> >> Question: are you trying to transfer the a-leg to some other destination >> if the b-leg hangup is a specific cause, or are you just doing some external >> cleanup stuff? Just curious... >> >> -MC >> >> >>> Woody >>> >>> _______________________________________________ >>> FreeSWITCH-users mailing list >>> [email protected] >>> 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 >> [email protected] >> 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 > [email protected] > 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 [email protected] http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
