[Freeswitch-users] Run dialplan tools from event socket

Fraser Redmond fraserredmond at gmail.com
Fri Jan 21 07:37:28 MSK 2011


Thanks João.

My transfer_call extension runs a couple of js scripts to get and validate
the number to transfer to, then does
                <action application="att_xfer" data="${dial_string}"/>
(and it has a couple of steps after that to handle failed transfers.)

So could I use ESL's execute command to run the execute_extension? Not sure
how I missed that option in the wiki. I"ll give it a try, see what happens.


I forgot to say in the original post, but execute_extension seems to be
particularly nice for this use-case, as it falls back through the dialplan
gracefully if there's a problem.

Cheers,
Fraser




2011/1/20 João Mesquita <jmesquita at freeswitch.org>

> Lucky for you I have been working on this lately and the bad news is ...
> there's no easy way to do it....
>
> You can execute an extension like you said, but you have to park the legs
> first... It would help to know how's the transfer_call extension so that I
> can try to help you out, but maybe it is easier if you think of it this way:
>
> When you use an app like att_xfer, the core already knows what to do next
> with a call and parks the legs for you. If you do it on ESL, you've done it
> half way and you didn't really park anything before you transfered the call.
> When the bridge is undone, the leg that was not transfered doesn't know what
> to do, has no applications to be run at this moment and so all it's left for
> it is to let go.
>
> A bit clearer? Att_xfer is a bit of a pain in the butt and it kinda
> requires you to know a bit more of the inner workings of the state machine.
>
> You can always execute att_xfer using ESL's execute (
> http://wiki.freeswitch.org/wiki/Event_Socket_Library#execute) if you don't
> care what happens to the legs afterwards but if you want to have control
> over all 3 legs, no luck for you...
>
> Regards,
> João Mesquita
>
>
> On Fri, Jan 21, 2011 at 12:13 AM, Fraser Redmond <fraserredmond at gmail.com>wrote:
>
>> Is there any way to run a dialplan tool from the event socket?
>>
>> I have a dialplan that uses a dtmf to set up and perform an attended
>> transfer, like so:
>> <action application="bind_meta_app" data="8 a s
>> execute_extension::TransferCall XML transfer_call"/>
>>
>> But I can't see any way to run the same thing from the event socket. I
>> thought doing an  "api uuid_transfer"  might do it, but that hangs up one of
>> the legs (no good for attended transfer.)
>>
>> api uuid_transfer Uuid -bleg TransferCall XML transfer_call
>>
>> As far as I can see, the closest thing is "sendmsg execute", but it looks
>> like you have to park a call/channel first to use that, so I'm not sure that
>> that is much use for attended transfer either.
>>
>> Or should I be lame and do "api uuid_send_dtmf" to send * 8.
>>
>> Cheers,
>> Fraser
>>
>>
>>
>> _______________________________________________
>> FreeSWITCH-users mailing list
>> FreeSWITCH-users at 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 at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20110120/d1159d1d/attachment.html 


More information about the FreeSWITCH-users mailing list