[Freeswitch-users] Problem with missing / duplicated DTMF

Anthony Minessale anthony.minessale at gmail.com
Tue Feb 1 20:28:56 MSK 2011


You did not include what version of FS you are using.


On Tue, Feb 1, 2011 at 10:10 AM, Matt Stockton <mstockton at harqen.com> wrote:
> I have having trouble with both missing and duplicated DTMF in Freeswitch.
> Here are the steps of how I am using it:
> 1. Leg A - I am calling out from my Freeswitch instance (through iCall), and
> I am calling an iCall number that is also connected to the same Freeswitch
> instance.
> 2. Leg B - The above call is routed through iCall and then answered by the
> same Freeswitch instance.
> 3. On Leg B, I play a file and attempt to get DTMF in a lua script. Here is
> the code of interest:
>
> callPin = session:playAndGetDigits(1, 10, 4, 30000, "#","/tmp/cw_17.wav",
> "", "\\d+");
>
> 4. On Leg A, I send DTMF information in a lua script. Here is the code of
> interest. I initiate a delay between each digit:
>
> local newPin = "";
>
> for i = 1, string.len(pin) do
>
>   newPin = newPin .. string.sub(pin, i, i) .. "W";
>
> end
>
> session:execute("send_dtmf", newPin .. "#@200");
>
> ** Note that there is a session:sleep on Leg A before I send the DTMF to
> make sure i don't send it too early **
>
> The problem is that the recognized DTMF on Leg B is wrong about 30% of the
> time. For example, if Leg A enters: 22063083, Leg B will get the DTMF digits
> 222063083. This is an example of duplication, but I have also experienced
> missing DTMF codes (and an occasional wrong code completely)
>
> I have messed with a bunch of DTMF settings in hopes of fixing this issue,
> but I cannot seem to find something that is reliable 100% of the time.
>
> _____________________________
>
> Here are the DTMF settings I have looked at / messed with. I've tried
> various values for the dtmf-duration in the config (and in the send_dtmf
> command above)
>
>     <!-- This is in external.xml -->
>
>     <param name="dtmf-duration" value="500"/>
>
>     <param name="dtmf-type" value="rfc2833"/>
>
>     <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
>
>     <param name="outbound-codec-prefs" value="$${outbound_codec_prefs}"/>
>
>     <param name="inbound-codec-negotiation" value="greedy"/>
>     <!-- This is in vars.xml -->
>     <X-PRE-PROCESS cmd="set" data="global_codec_prefs=PCMU"/>
>     <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU"/>
> ________________________
> I have run fs_cli with event logging and the DTMF events that Freeswitch
> gets do correlate to the wrong value (e.g. the duplication / missing digits
> is noticable in the Freeswitch events as well).
> Also, I am not running any dtmf-related applications on the session before I
> give control to the lua scripts (e.g. not running start_dtmf)
> Has anyone experienced this type of issue? Or know what I can do to resolve
> it? My next step was going to be trying this against another provider
> besides iCall, but I figured I would see if anyone has encountered a similar
> problem before. Any help is appreciated.
> Thanks
>
> _______________________________________________
> 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
>
>



-- 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_minessale at hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
googletalk:conf+888 at conference.freeswitch.org
pstn:+19193869900



More information about the FreeSWITCH-users mailing list