[Freeswitch-users] Using start_dtmf on an originated call via ESL.

Michael Lutz mytemike72 at gmail.com
Tue May 15 01:31:24 MSD 2012


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.



Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list