DTMF Tones not Recognized

Status
Not open for further replies.

thecanuck31

Joined
Mar 2, 2008
Messages
6
Reaction score
1
Hi,

I'm Currently using:
3CX Phone System Version5.1.4128.0 Free
VOIP: Broadvoice

There is a Broadvoice setting that I cannot change : DTMF: rfc2833 if available, fail over to InBand if rfc2833 not supported

Is there a way to disable rfc2833 within the 3cx system?
I am only using Codecs G.711 U-law and G.711 A-law as they support In-Band DTMF. My problem is I'm using another software PBX (CallButler for IVR) and it doesn't seem to like DTMF via rfc2833. If I connect CallButler (PBX) directory to my Broadvoice account then everything works great. If I connect my VOIP to 3cx and forward to CallButler tones are not recognized by CallButler. I'm presented with the following 3cx server status log

[MS211000] C:1.1: 147.135.2.250:38410 is delivering DTMF using RTP payload (RFC2833). In-Band DTMF tone detection is disabled for this call segment.

I have found a config file in the 3cx install directory: 3CXPhoneSystem.ini
In the file there is an entry as listed below
msAddRFC2833ForInbandDTMF=1

Can that value be changed to disable rfc2833? I feel that if I can get the 3cx PBX to tell Broadvoice that it does not accept DTMF out of band then Broadvoice will send in-band. Currently this appears to be a limitation of my VOIP provider and that of the CallButler PBX. I have contacted them both about DTMF via rfc2833. I'm hoping that 3cx PBX in the middle can solve the problem by simply telling Broadvoice that is does not accept DTMF via rfc2833.
 
You have to match the codecs between the two systems. Maybe that's not in place. I really think it should work.
You could post here a log with verbose on, so we can see a bit more in what happens
 
thecanuck31 said:
Hi,

I'm Currently using:
3CX Phone System Version5.1.4128.0 Free
VOIP: Broadvoice

There is a Broadvoice setting that I cannot change : DTMF: rfc2833 if available, fail over to InBand if rfc2833 not supported

Is there a way to disable rfc2833 within the 3cx system?
I am only using Codecs G.711 U-law and G.711 A-law as they support In-Band DTMF. My problem is I'm using another software PBX (CallButler for IVR) and it doesn't seem to like DTMF via rfc2833. If I connect CallButler (PBX) directory to my Broadvoice account then everything works great. If I connect my VOIP to 3cx and forward to CallButler tones are not recognized by CallButler. I'm presented with the following 3cx server status log

[MS211000] C:1.1: 147.135.2.250:38410 is delivering DTMF using RTP payload (RFC2833). In-Band DTMF tone detection is disabled for this call segment.

I have found a config file in the 3cx install directory: 3CXPhoneSystem.ini
In the file there is an entry as listed below
msAddRFC2833ForInbandDTMF=1

Can that value be changed to disable rfc2833? I feel that if I can get the 3cx PBX to tell Broadvoice that it does not accept DTMF out of band then Broadvoice will send in-band. Currently this appears to be a limitation of my VOIP provider and that of the CallButler PBX. I have contacted them both about DTMF via rfc2833. I'm hoping that 3cx PBX in the middle can solve the problem by simply telling Broadvoice that is does not accept DTMF via rfc2833.

Who doesn't recognize a tone(DTMF)?

Thanks
 
See verbose log below. Some extra information. I have CallButler PBX setup as an extension (ext 501) off of the 3cx PBX. I then register CallButler with 3cx. Process flow is

Mobile or Land line to Broadvoice
Broadvoice to 3cx
3cx VOIP Inbound rules forward to extension 501.
CallButler answers and plays message.
CallButler does not recognize DTMF.

Now for some caveats.

What works
1) If I call CallButler (ext 501) with an internal analog phone via an ATA or a soft phone then DTMF's work.
2) If I call CallButler (ext 501) with an internal analog phone via an ATA or a soft phone and then transfer the call to an external number, DTMF's from the external phone work.

What doesn't
1) Incoming external calls that are forwarded to extension 501 result in no DTMF recognition.
2) This should probably be another post but instead of forwarding to ext. 501, if I use the DR which transfers to extension 501, then I get a "transfer fails". 415 Unsupported Media Type. I can however transfer to extension 501 without problem using internal phones. ***The transfer problem has a work around (forwarding) so I'm not as concerned with fixing the transfer as I am with fixing the recognition of DTMFs.

Again, I feel that the problem lies with the second PBX not recognizing DTMF over rfc2833 and I'm just looking to see if I can disable that feature within the 3cx PBX.

Transfer error log:
[CM503002]: Call(2): Alerting sip:[email protected]:5065
[CM503003]: Call(2): Call to sip:[email protected]:5060 has failed; Cause: 415 Unsupported Media Type; from IP:127.0.0.1:5065
[CM503004]: Call(2): Calling: Ext:501@[Dev:sip:[email protected]:5065]
[CM503010]: Making route(s) to [sip:[email protected]]

Incoming call from external number where DTMF's are not recognized log:
13:52:56.328 Call::Terminate [CM503008]: Call(1): Call is terminated
13:52:56.265 LineCfg::getInboundTarget [CM503011]: Inbound out-of-office hours' rule for LN:10000 forwards to DN:501

13:52:31.156 MediaServerReporting::DTMFhandler [MS211000] C:1.1: 147.135.2.250:7544 is delivering DTMF using RTP payload (RFC2833). In-Band DTMF tone detection is disabled for this call segment.

13:52:21.265 CallLeg::onConfirmed Session 13 of leg C:1.1 is confirmed
13:52:21.156 CallCtrl::onLegConnected [CM503007]: Call(1): Device joined: sip:[email protected]:5065
13:52:21.156 LineCfg::getInboundTarget [CM503011]: Inbound out-of-office hours' rule for LN:10000 forwards to DN:501
13:52:21.109 CallCtrl::onLegConnected [CM503007]: Call(1): Device joined: sip:[email protected]:5060

13:52:21.093 MediaServerReporting::SetRemoteParty [MS210003] C:1.1:Answer provided. Connection(transcoding mode):68.50.166.44:9000(9001)

13:52:21.093 MediaServerReporting::SetRemoteParty [MS210001] C:1.2:Answer received. RTP connection: 192.168.125.3:8000(8001)

13:52:21.093 CallLeg::setRemoteSdp Remote SDP is set for legC:1.2

13:52:21.046 Extension::printEndpointInfo [CM505001]: Ext.501: Device info: Device Not Identified: User Agent not matched; Capabilities:[reinvite, replaces, able-no-sdp, recvonly] UserAgent: [WOSISIP 1.0] Transport: [sip:192.168.125.3:5060]

13:52:21.046 CallCtrl::onAnsweredCall [CM503002]: Call(1): Alerting sip:[email protected]:5065

13:52:20.765 MediaServerReporting::SetRemoteParty [MS210002] C:1.2:Offer provided. Connection(transcoding mode): 127.0.0.1:7000(7001)

13:52:20.750 CallCtrl::onSelectRouteReq [CM503004]: Call(1): Calling: Ext:501@[Dev:sip:[email protected]:5065]
13:52:20.750 CallCtrl::onSelectRouteReq [CM503010]: Making route(s) to [sip:[email protected]:5060]

13:52:20.734 MediaServerReporting::SetRemoteParty [MS210000] C:1.1:Offer received. RTP connection: 147.135.2.250:7544(7545)

13:52:20.734 CallLeg::setRemoteSdp Remote SDP is set for legC:1.1

13:52:20.734 Line::printEndpointInfo [CM505003]: Provider:[BroadVoice] Device info: Device Not Identified: User Agent not matched; Capabilities:[reinvite, replaces, able-no-sdp, recvonly] UserAgent: [] Transport: [sip:192.168.125.3:5060]

13:52:20.734 LineCfg::getInboundTarget [CM503011]: Inbound out-of-office hours' rule for LN:10000 forwards to DN:501

13:52:20.562 CallCtrl::onIncomingCall [CM503001]: Call(1): Incoming call from 240xxxx944@(Ln.10000@BroadVoice) to [sip:[email protected]:5060]

13:52:20.125 LineCfg::getInboundTarget [CM503011]: Inbound out-of-office hours' rule for LN:10000 forwards to DN:501

13:52:20.000 CallLeg::onNewCall [CM500002]: Info on incoming INVITE:
INVITE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 147.135.0.128:5060
Contact: [sip:[email protected]:5060]
To: "Justin"[sip:[email protected]]
From: "Silver Spg MD"[sip:[email protected];user=phone];tag=2468
Call-ID: [email protected]
CSeq: 1 INVITE
Supported: 100rel
Content-Length: 0

13:51:49.468 ExtnCfg::updateContact [CM504001]: Ext.501: new contact is registered. Contact(s): [sip:[email protected]:5065/501]
 
thecanuck31 said:
See verbose log below. Some extra information. I have CallButler PBX setup as an extension (ext 501) off of the 3cx PBX. I then register CallButler with 3cx. Process flow is

Mobile or Land line to Broadvoice
Broadvoice to 3cx
3cx VOIP Inbound rules forward to extension 501.
CallButler answers and plays message.
CallButler does not recognize DTMF.

Now for some caveats.

What works
1) If I call CallButler (ext 501) with an internal analog phone via an ATA or a soft phone then DTMF's work.
2) If I call CallButler (ext 501) with an internal analog phone via an ATA or a soft phone and then transfer the call to an external number, DTMF's from the external phone work.

What doesn't
1) Incoming external calls that are forwarded to extension 501 result in no DTMF recognition.
2) This should probably be another post but instead of forwarding to ext. 501, if I use the DR which transfers to extension 501, then I get a "transfer fails". 415 Unsupported Media Type. I can however transfer to extension 501 without problem using internal phones. ***The transfer problem has a work around (forwarding) so I'm not as concerned with fixing the transfer as I am with fixing the recognition of DTMFs.

Again, I feel that the problem lies with the second PBX not recognizing DTMF over rfc2833 and I'm just looking to see if I can disable that feature within the 3cx PBX.

Transfer error log:
[CM503002]: Call(2): Alerting sip:[email protected]:5065
[CM503003]: Call(2): Call to sip:[email protected]:5060 has failed; Cause: 415 Unsupported Media Type; from IP:127.0.0.1:5065
[CM503004]: Call(2): Calling: Ext:501@[Dev:sip:[email protected]:5065]
[CM503010]: Making route(s) to [sip:[email protected]]

Incoming call from external number where DTMF's are not recognized log:
13:52:56.328 Call::Terminate [CM503008]: Call(1): Call is terminated
13:52:56.265 LineCfg::getInboundTarget [CM503011]: Inbound out-of-office hours' rule for LN:10000 forwards to DN:501

13:52:31.156 MediaServerReporting::DTMFhandler [MS211000] C:1.1: 147.135.2.250:7544 is delivering DTMF using RTP payload (RFC2833). In-Band DTMF tone detection is disabled for this call segment.

13:52:21.265 CallLeg::onConfirmed Session 13 of leg C:1.1 is confirmed
13:52:21.156 CallCtrl::onLegConnected [CM503007]: Call(1): Device joined: sip:[email protected]:5065
13:52:21.156 LineCfg::getInboundTarget [CM503011]: Inbound out-of-office hours' rule for LN:10000 forwards to DN:501
13:52:21.109 CallCtrl::onLegConnected [CM503007]: Call(1): Device joined: sip:[email protected]:5060

13:52:21.093 MediaServerReporting::SetRemoteParty [MS210003] C:1.1:Answer provided. Connection(transcoding mode):68.50.166.44:9000(9001)

13:52:21.093 MediaServerReporting::SetRemoteParty [MS210001] C:1.2:Answer received. RTP connection: 192.168.125.3:8000(8001)

13:52:21.093 CallLeg::setRemoteSdp Remote SDP is set for legC:1.2

13:52:21.046 Extension::printEndpointInfo [CM505001]: Ext.501: Device info: Device Not Identified: User Agent not matched; Capabilities:[reinvite, replaces, able-no-sdp, recvonly] UserAgent: [WOSISIP 1.0] Transport: [sip:192.168.125.3:5060]

13:52:21.046 CallCtrl::onAnsweredCall [CM503002]: Call(1): Alerting sip:[email protected]:5065

13:52:20.765 MediaServerReporting::SetRemoteParty [MS210002] C:1.2:Offer provided. Connection(transcoding mode): 127.0.0.1:7000(7001)

13:52:20.750 CallCtrl::onSelectRouteReq [CM503004]: Call(1): Calling: Ext:501@[Dev:sip:[email protected]:5065]
13:52:20.750 CallCtrl::onSelectRouteReq [CM503010]: Making route(s) to [sip:[email protected]:5060]

13:52:20.734 MediaServerReporting::SetRemoteParty [MS210000] C:1.1:Offer received. RTP connection: 147.135.2.250:7544(7545)

13:52:20.734 CallLeg::setRemoteSdp Remote SDP is set for legC:1.1

13:52:20.734 Line::printEndpointInfo [CM505003]: Provider:[BroadVoice] Device info: Device Not Identified: User Agent not matched; Capabilities:[reinvite, replaces, able-no-sdp, recvonly] UserAgent: [] Transport: [sip:192.168.125.3:5060]

13:52:20.734 LineCfg::getInboundTarget [CM503011]: Inbound out-of-office hours' rule for LN:10000 forwards to DN:501

13:52:20.562 CallCtrl::onIncomingCall [CM503001]: Call(1): Incoming call from 240xxxx944@(Ln.10000@BroadVoice) to [sip:[email protected]:5060]

13:52:20.125 LineCfg::getInboundTarget [CM503011]: Inbound out-of-office hours' rule for LN:10000 forwards to DN:501

13:52:20.000 CallLeg::onNewCall [CM500002]: Info on incoming INVITE:
INVITE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 147.135.0.128:5060
Contact: [sip:[email protected]:5060]
To: "Justin"[sip:[email protected]]
From: "Silver Spg MD"[sip:[email protected];user=phone];tag=2468
Call-ID: [email protected]
CSeq: 1 INVITE
Supported: 100rel
Content-Length: 0

13:51:49.468 ExtnCfg::updateContact [CM504001]: Ext.501: new contact is registered. Contact(s): [sip:[email protected]:5065/501]

Could you please ask "CallButler PBX "support about this problem. Any information about reasons of incompatibility will be greatly appreciated.

Thanks
 
I have recieved feedback from CallButler development. They said that their system is compatible with rfc2833. Again their system works when connected to Broadvoice directly or when connected to 3cx and calls are made via internal extensions. A suggestion from another user on their forum suggest that I connect 3cx to CallButler versus my current setup of connection CallButler to 3cx there by switching which PBX is the primary.

I liked that suggestion but came across another problem. While tyring to setup a new VOIP line (10001) the web interface will not allow me to specify an IP address as the Registrar/Proxy server. The lable states that you can use a hostname or an IP address but when using an IP address I am presented with a popup stating that the "field is empty or that there is an invalid FQDN".

How can I supply 192.168.125.3 as the IP address for the sip proxy when setting up a new VOIP line?

Also, I will be trying a second VOIP provider to see if that resolves any problems and I will also be running wireshark to see what is happening during the call. I will keep this post updated with my findings.

Quick question: Is it possible that Broadvoice communicates that it passes DTMF via rfc2833 when it fact it uses In-Band thus confusing 3cx into disabling In-Band DTMF during the forward?
 
Problem solved.

I don't quite know how things have changed but I found if I changed two settings in the VOIP area my problem is solved.
This has been verified with a second VOIP Provider :CallCentric

1) Under "Provider Capabilities" make sure "Support Re-Invite" is checked
2) Under "Other Options" make sure to uncheck "PBX Delivers Audio"

If a developer or other expert can explain what those two options do or how they now allow DTMF tones to pass through to a second PBX that would be much appreciated.
 
  • Like
Reactions: Juan Marriott
I am experiencing the same problem. But the fix shown here doesn't solve it in my case.
We are using SNOM m9 phones with the 3CX SPBX, and everything works like a charm, but I cannot for the life of me get inband DTMF to work. I have searched all SNOM and 3CX forums tried every setting I can think of but without result.

Does anyone have any idea where to look?
 
Status
Not open for further replies.

Forum statistics

Threads
111,852
Messages
589,384
Members
164,690
Latest member
rick.yamamoto