Elastix INBOUND DTMF not working on Neotel SIP

Xaeyl

New Member
Joined
Jul 30, 2015
Messages
7
Hi Guys,

I am very new to Elastix, and Linux in general, our company has replaced a PBX rental system for an Elastix server which we put together ourselves to save the monthly cost of the old system.

We have the following setup

Neotel Sip 20ch directly connected to the Elastix system on Eth2. Lan is on Eth0 and Another Sip trunk to a call center system on Eth1.

Both Neotel and Call Center trunks are using G729 codec, and bidirectional calls are working fine, except the DTMF.

The call center system has an IVR which needs DTMF functioning, currently I am bypassing this with a direct xfer to switchboard and other hunt groups. Will get to this in a bit.

From all my research on this subject I have tried all the relevant suggestions to my setup but none are working very well so I am definitely missing something.

[Outbound Calls]

The Neotel Sip trunk peer is configured for "DTMF Mode = auto" currently(I know what you are thinking, but wait there's more) and is using G729 codec. The handset is a grandstream GXP1625 which is also set for G729 and DTMF mode RFC2833.
In this configuration I can dial 10217 from the handset and DTMF is working outbound, however I get the following error from the CLI: dsp.c:1507 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833

If I change the peer settings from AUTO to RFC2833, then outbound DTMF stops functioning but the error above does not appear.

[Inbound Calls]

I have no IVR setup on Elastix, just routes that pass the incoming calls to the call center system based on certain DDI's

eg: incoming call to 011 123 4567 is sent to destination (call center trunk), the call center trunk is also configured for "DTMFmode = auto", and has been tested with RFC2833 but the only successful DTMF call we could achieve was between Elastix and the call center system using either auto or rfc2833 in the peer setting.

We are unable to receive a call from a landline or mobile which then immediately passes through the Elastix to the call center system and have DTMF working, it is not being passed through, and seems as though it is not being received from the Neotel side, as the asterisk -rvvvvvvvvvvvv command does not show any digits pressed when the call is in progress as it seems to have already exited the Elastix (like a blind transfer). I also checked the Asterisk log with tail f full and it did not show the digits (DTMF in the log was enabled).

I cannot verify whether DTMF digits are being received by the Elastix and passed to the call center trunk, but can confirm from the logs on the call center system that No digits are received. I have tried various configurations of the DTMFmode from the Elastix/Freepbx front end to no avail.

If there is any config's or settings I can paste here to assist with a diagnosis/resolution, please let me know the location of the file or file name. I would appreciate any advice/criticism/sarcasm that would help me to resolve this problem, as I am fully aware of my limited skill with this new system.

Regards
Xaeyl
 

Clarotech

Clarotech representative
Company Rep
Joined
Aug 7, 2013
Messages
293
Two quick things: Have you tried it with alaw? Have you confirmed with Neotel what the DTMF settings is on their side?
 

Xaeyl

New Member
Joined
Jul 30, 2015
Messages
7
The system needs to be on G729 because of the bandwidth limitation we have, and Neotel have tested the DTMF with a tester at my offices to show me it is working.
 

Clarotech

Clarotech representative
Company Rep
Joined
Aug 7, 2013
Messages
293
I understand the need for G729, but you're in troubleshooting mode, so it's worth testing to see if the codec has any effect.

Have you confirmed what packet size Neotel uses for G729?

Is DTMF working internally? i.e. if you call into the IVR from an internal phone does it accept input?
 
Last edited:

InfinityMVS

Well-Known Member
Joined
Apr 1, 2011
Messages
148
try adding the below to your peer details in trunk settings
dtmfmode=rfc2833
dtmf=rfc2833
 

Xaeyl

New Member
Joined
Jul 30, 2015
Messages
7
The DTMF works between Elastix and the Call center system trunks on g729 with DTMF rfc2833, but when calling from outside through to those trunks the dtmf is not passed through.

I have tried switching codecs to 711 alaw during our initial setup, but since the environment is now live, it makes it a bit more difficult.

Neotel is using the 8 kbit/s payload
 

Xaeyl

New Member
Joined
Jul 30, 2015
Messages
7
I tried the suggested packet setting for g729, with no difference.

This still does not allow dtmf to work in or out.

allow=g729:60&alaw&g711&gsm&all
setvar=FAXOPT(gateway)=yes
dtmfmode=rfc2833
dtmf=rfc2833
 

InfinityMVS

Well-Known Member
Joined
Apr 1, 2011
Messages
148
I tried the suggested packet setting for g729, with no difference.

This still does not allow dtmf to work in or out.

allow=g729:60&alaw&g711&gsm&all
setvar=FAXOPT(gateway)=yes
dtmfmode=rfc2833
dtmf=rfc2833
- that ptime is going to cause issues down the line
check your voice recordings 10:1 one side is garbled
as far as i know you can only force the ptime of the g729 on snoms, the stock standard that most guys use is 20ms
- ask sip provider to change ptime to 20ms
- you should have a "disallow=all" comment above the alow comment
- also try adding "silencesuppression=no"
 
Top