[Freeswitch-users] event_socket and stop_dtmf

Michael Jerris mike at jerris.com
Mon Dec 29 17:00:20 PST 2008



On Dec 29, 2008, at 7:41 PM, Peter P GMX <Prometheus001 at gmx.net> wrote:

> Yes, we get DTMF via rfc2833. If I set "dtmf-type" to "info" then
> stop_dtmf works?

No, it is ONLY for inband

>
> The reason why I want to suppress it, is the dtmf echoing (see end  
> of my
> mail)

This just shows sending dtmf, not any echo.


> Do you see another way how I may suppress this dtmf echo? This is
> severe sometimes and keeps ongoing for minutes under certain
> circumstances. Thus further voice communication is no longer possible.
>

Your not getting this from dtmf in 2833.  If you have this issue you  
will probably need to fix it at the point where the dtmf is converted  
to imband.

> We have an incoming leg, play some announcements, build an outgoing  
> leg
> and then bridge those 2 channels. When any of the participiants then
> pushes a dtmf, echoing begins.
>
> Best regards
> Peter

This sounds like a Very broken provider and you should be asking them  
to correct this echo issue.

Mike
>
>
> Michael Jerris schrieb:
>> stop_dtmf is JUST for the inband dtmf listener, I would guess you are
>> getting dtmf via rfc2833 or some other method.  If you want to
>> understand why we generate all those packets have a read of rfc 2833.
>>
>>
>> Mike
>>
>> On Dec 29, 2008, at 5:46 PM, Peter P GMX wrote:
>>
>>
>>> When I send a stop_dtmf command via event-socket, I get a
>>> channel_execute and a channel_execute_complete message back. However
>>> FS
>>> still accepts DTMFs and sends them via event-socket. In addition the
>>> other party will hear the DTMF. So I expect the stop_dtmf command is
>>> not
>>> really executed by FS.
>>>
>>> Here is the message I send:
>>> SendMsg
>>> call-command: execute
>>> execute-app-name: stop_dtmf
>>> execute-app-arg: true
>>> event-lock:true
>>> I send this command while I deliver a number of announcements to the
>>> user
>>>
>>> At Startup I get the following on the console
>>> 2008-12-29 22:48:05 [NOTICE] switch_loadable_module.c:238
>>> switch_loadable_module_process() Adding Application 'stop_dtmf'
>>> 2008-12-29 22:48:05 [NOTICE] switch_loadable_module.c:238
>>> switch_loadable_module_process() Adding Application
>>> 'stop_dtmf_generate'
>>>
>>> When I push stop_dtmf I get the following
>>> 2008-12-29 22:50:10 [DEBUG] switch_ivr.c:391  
>>> switch_ivr_parse_event()
>>> sofia/internal/1005 at my.domain Command Execute stop_dtmf(true)
>>>
>>> What am I doing wrong here?
>>>
>>> Here's a console output when I push DTMF on either side after
>>> stop_dtmf
>>> has been pushed and the 2 call legs are bridged.
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1226 do_2833() Send start
>>> packet for [1] ts=417476340 dur=160/160/2000 seq=63290
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=320/320/2000 seq=63291
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=480/480/2000 seq=63292
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=640/640/2000 seq=63293
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=800/800/2000 seq=63294
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=960/960/2000 seq=63295
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=1120/1120/2000 seq=63296
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=1280/1280/2000 seq=63297
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=1440/1440/2000 seq=63298
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=1600/1600/2000 seq=63299
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=1760/1760/2000 seq=63300
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=417476340 dur=1920/1920/2000 seq=63301
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send end
>>> packet
>>> for [1] ts=417476340 dur=2080/2080/2000 seq=63302
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send end
>>> packet
>>> for [1] ts=417476340 dur=2080/2080/2000 seq=63303
>>> 2008-12-29 23:13:39 [DEBUG] switch_rtp.c:1168 do_2833() Send end
>>> packet
>>> for [1] ts=417476340 dur=2080/2080/2000 seq=63304
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1226 do_2833() Send start
>>> packet for [1] ts=292343252 dur=160/160/2000 seq=53073
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=320/320/2000 seq=53074
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=480/480/2000 seq=53075
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=640/640/2000 seq=53076
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=800/800/2000 seq=53077
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=960/960/2000 seq=53078
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=1120/1120/2000 seq=53079
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=1280/1280/2000 seq=53080
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=1440/1440/2000 seq=53081
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=1600/1600/2000 seq=53082
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=1760/1760/2000 seq=53083
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send middle
>>> packet for [1] ts=292343252 dur=1920/1920/2000 seq=53084
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send end
>>> packet
>>> for [1] ts=292343252 dur=2080/2080/2000 seq=53085
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send end
>>> packet
>>> for [1] ts=292343252 dur=2080/2080/2000 seq=53086
>>> 2008-12-29 23:13:44 [DEBUG] switch_rtp.c:1168 do_2833() Send end
>>> packet
>>> for [1] ts=292343252 dur=2080/2080/2000 seq=53087
>>>
>>> I am also wondering why I receive multiple events (15) for each dtmf
>>> pressed. I expect an echo floating back and forth and triggering
>>> dtmf, hein?
>>>
>>> Best regards
>>> Peter
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>
> _______________________________________________
> 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



More information about the Freeswitch-users mailing list