Using start_dtmf on an originated call via ESL.
Hi All, I am having some trouble trying to figure out how to enable the start_dtmf (or equivalant) for DTMF detection on generated calls using the API (ESL) with originate. My inbound leg have set this on in the dialplan based on the provider of the incomming call (1 have one provider which does not support RFC2833) My problem is that my outbound calls use that specific provider. The thing is that I can only detect DTMF from my original inbound leg (these are bridged) but not from the outbound leg. I assume I have to enable the start_dtmf on the outbound leg after the originate. But have no clue how to do that becuase I park the call after originate so my ESL server can pick it up and handle the call. I can not find an API function or equivalant for this, and I have, of course, no session object a I originate the call from ESL. The code I am using is: string cDialString = "{origination_uuid=" + thisDial.CallId_LegB + ",origination_caller_id_number=" + thisDial.CLIP + ",origination_caller_id_name=" + thisDial.CLIP + "}sofia/external/" + thisExtension.Destination + " &park()"; eslEvent = thisFSDial.Connection.Api("originate", cDialString); After the call is succesfully answered I (depending on the script might play some audio to the dialed leg, and) after that I bridge using a uuid_bridge on an inbound uuid and this origination_uuid. (all this works perfectly, it's just the detection of the dtmf's on the b-leg!) I need to fix this by tommorow as I have a live customer who urgently requires this to work, so any help appreciated! Best regards, Mike.
How about setting execute_on_answer=start_dtmf in your dialstring? string cDialString = "{execute_on_answer=start_dtmf,origination_uuid=" + thisDial.CallId_LegB ... Try it and let us know. -MC On Mon, May 14, 2012 at 2:31 PM, Michael Lutz <mytemike72@gmail.com> wrote:
Hi All,
I am having some trouble trying to figure out how to enable the start_dtmf (or equivalant) for DTMF detection on generated calls using the API (ESL) with originate. My inbound leg have set this on in the dialplan based on the provider of the incomming call (1 have one provider which does not support RFC2833)
My problem is that my outbound calls use that specific provider.
The thing is that I can only detect DTMF from my original inbound leg (these are bridged) but not from the outbound leg.
I assume I have to enable the start_dtmf on the outbound leg after the originate. But have no clue how to do that becuase I park the call after originate so my ESL server can pick it up and handle the call. I can not find an API function or equivalant for this, and I have, of course, no session object a I originate the call from ESL.
The code I am using is:
string cDialString = "{origination_uuid=" + thisDial.CallId_LegB + ",origination_caller_id_number=" + thisDial.CLIP + ",origination_caller_id_name=" + thisDial.CLIP + "}sofia/external/" + thisExtension.Destination + " &park()";
eslEvent = thisFSDial.Connection.Api("originate", cDialString);
After the call is succesfully answered I (depending on the script might play some audio to the dialed leg, and) after that I bridge using a uuid_bridge on an inbound uuid and this origination_uuid. (all this works perfectly, it's just the detection of the dtmf's on the b-leg!)
I need to fix this by tommorow as I have a live customer who urgently requires this to work, so any help appreciated!
Best regards, Mike.
Hi Michael, Thanks for your quick response, that seems to have done the trick indead! Again thanks for your help! Regards, Mike. 2012/5/14 Michael Collins <msc@freeswitch.org>:
How about setting execute_on_answer=start_dtmf in your dialstring?
string cDialString = "{execute_on_answer=start_dtmf,origination_uuid=" + thisDial.CallId_LegB ...
Try it and let us know. -MC
On Mon, May 14, 2012 at 2:31 PM, Michael Lutz <mytemike72@gmail.com> wrote:
Hi All,
I am having some trouble trying to figure out how to enable the start_dtmf (or equivalant) for DTMF detection on generated calls using the API (ESL) with originate. My inbound leg have set this on in the dialplan based on the provider of the incomming call (1 have one provider which does not support RFC2833)
My problem is that my outbound calls use that specific provider.
The thing is that I can only detect DTMF from my original inbound leg (these are bridged) but not from the outbound leg.
I assume I have to enable the start_dtmf on the outbound leg after the originate. But have no clue how to do that becuase I park the call after originate so my ESL server can pick it up and handle the call. I can not find an API function or equivalant for this, and I have, of course, no session object a I originate the call from ESL.
The code I am using is:
string cDialString = "{origination_uuid=" + thisDial.CallId_LegB + ",origination_caller_id_number=" + thisDial.CLIP + ",origination_caller_id_name=" + thisDial.CLIP + "}sofia/external/" + thisExtension.Destination + " &park()";
eslEvent = thisFSDial.Connection.Api("originate", cDialString);
After the call is succesfully answered I (depending on the script might play some audio to the dialed leg, and) after that I bridge using a uuid_bridge on an inbound uuid and this origination_uuid. (all this works perfectly, it's just the detection of the dtmf's on the b-leg!)
I need to fix this by tommorow as I have a live customer who urgently requires this to work, so any help appreciated!
Best regards, Mike.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
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
:) On Mon, May 14, 2012 at 3:53 PM, Michael Lutz <mytemike72@gmail.com> wrote:
Hi Michael,
Thanks for your quick response, that seems to have done the trick indead! Again thanks for your help!
Regards, Mike.
participants (2)
-
Michael Collins
-
Michael Lutz