[Freeswitch-users] DTMF not comming through on some calls

Jason White jason at jasonjgw.net
Fri May 15 03:19:42 PDT 2009


Andy <andy at fabulous4.co.uk> wrote:
> 
> The DTMF method was efault which I believe is "info" but I've now set it
> explicitly to rfc2833 inband to see if that helps. Is there a way I can tell
> from the logs that this is the case and that my config changes have worked.

This is in the logs, and (assuming the logs you quoted were taken after any
relevant configuration change), they indicate that RFC2833 is indeed being
used. This is also the default in the supplied Sofia profiles.
> 
> Most of the phones are mobiles but some landlines as well.
> 
> I've done a detailed analysis of the logs and the calls that don't work are
> missing what appear to be critical actions in the debug. Namely:
> 
> 2009-05-15 09:47:45 [DEBUG] sofia_glue.c:2734 sofia_glue_negotiate_sdp() Set
> 2833 dtmf payload to 101

That's turning on RFC2833, as I understand it, for DTMF detection.
> 
> And then a little later in the call....
> 
> 2009-05-15 09:47:45 [DEBUG] sofia_glue.c:2734 sofia_glue_negotiate_sdp() Set
> 2833 dtmf payload to 101
> 2009-05-15 09:47:45 [DEBUG] sofia_glue.c:2120 sofia_glue_activate_rtp()
> Audio params changed for sofia/external/07540526194 at 194.145.190.143 from
> 194.145.190.143:11780 to 87.238.72.155:16968
> 2009-05-15 09:47:45 [DEBUG] sofia_glue.c:2127 sofia_glue_activate_rtp()
> AUDIO RTP [sofia/external/07540526194 at 194.145.190.143] 77.86.49.249 port
> 21054 -> 87.238.72.155 port 16968 codec: 8 ms: 20
> 2009-05-15 09:47:45 [DEBUG] sofia_glue.c:2146 sofia_glue_activate_rtp()
> AUDIO RTP CHANGING DEST TO: [87.238.72.155:16968]
> 2009-05-15 09:47:45 [DEBUG] sofia.c:3241 sofia_handle_sip_i_state()
> Processing Reinvite
> 2009-05-15 09:47:45 [DEBUG] sofia.c:2885 sofia_handle_sip_i_state() Channel
> sofia/external/07540526194 at 194.145.190.143 entering state [completed][200]
> 2009-05-15 09:47:45 [DEBUG] sofia.c:2885 sofia_handle_sip_i_state() Channel
> sofia/external/07540526194 at 194.145.190.143 entering state [ready][200]
> 
> These lines appear for calls that work and not when they don't.

There are obviously SIP reinvite messages being received from your SIP
provider, and which FreeSWITCH is processing successfully.

What I'm wondering is whether your provider is always offering RFC2833, since,
given the above, they seem to have complex call handling arrangements.

For that, you would need to look at the SDP from the remote end in the calls
for which DTMF isn't being detected properly. Fortunately, this is logged by
FreeSWITCH when set to debug logging.

What you're looking for is a line such as
a=rtpmap:101 telephone-event/8000

If that isn't present, then something odd would appear to be going on at your
SIP provider's end, which is what I personally suspect, since FreeSWITCH is
correctly activating RFC2833 support on the channel in other cases.

You can also obtain a sip trace:
sofia profile external siptrace on
which will show you exactly what you're receiving from your provider.

Disclaimer: I'm not an expert, but I hope this helps anyway.





More information about the FreeSWITCH-users mailing list