I am running asterisk 1.8.2 on CentOS 5.
When I make a call from Voxeo to the cell phone, both DTMF and speech recognition are working.
But when I make a call from the cell phone to Voxeo, I can hear prompts, but DTMF isn’t working.
What am I missing here?
Here’s my environment. No additional telephony hardware is involved.
a cell phone <–>SIP Provider<–>Asterisk(NATed)<–>Voxeo (as a soft-phone)
I made a few changes to sip.conf, made a few calls, and reviewed RTP traffic generated in the following cases.
It looks like DTMF events with payload type being telephone-event (101) are working whereas those with payload type being DynamicRTP-Type-101 (101) are not. The payload type seems to have something to do with dtmfmode and dtmf property in sip.conf. How can I fix this problem? Thanks.
case 1 (I made a call from Voxeo to my cell phone with the same sip.conf shown in my first post. DTMF doesn’t work here.)
case 2 (I made a call from a cell phone to Voxeo.)
With the following changes to sip.conf, DTMF works.
In my previous tests, I didn’t specify allow or disallow properties. So by default, allow =all was used.
I tried different combinations of dtmfmode and dtmf values, and setting dtmfmode=auto and dtmf=auto for both voxeo and sip.provider.com gives me the best results, in which dtmf won’t work only if I initiate an outbound call from voxeo to my cell phone. DTMF is supposed to work regardless of which endpoint initiates a call, right? But why am I running into this problem?
What codec(s) do you want to be able to use in your system? Once we know that, we can better recommend optimal settings/troubleshoot those settings if they aren’t functioning correctly.