Solved

DTMF issue

Posted on 2008-10-16
15
1,295 Views
Last Modified: 2013-11-12
Dear All,

I have the following scenario:
My customer dial a DID number and it'll be forwarded to my asterisk server by the below trunk defined in sip.conf:

[sip_proxy1]
type=peer
context=stations
host=81.201.82.112
disallow=all
allow=g729
allow=alaw
allow=ulaw  
dtmfmode=RFC2833
relaxdtmf=yes
canreinvite=no

The above trunk will use the context stations defined in extensions.conf as follow:


[stations]
exten => _X.,1,Gotoif($[${EXTEN} = 112] ? 21)
exten => _X.,2,DeadAGI,a2billing.php|3
exten => _X.,3,Wait,2
exten => _X.,4,Hangup
exten => _X.,21,AGI,a2billing.php|3
exten => _X.,22,Hangup

The System will ask the user to enter his PIN number...The problem is that sometime the system recognize the PIN entered and sometimes the PIN is not recognized...I'm using RFC2833 as dmf mode...

I would like to know if my config is correct or I need o add something to it or there is a BUG on asterisk server regarding DTMF?

Please note that I'm using Asterisk 1.4.21.2
Regards
0
Comment
Question by:michofreiha
  • 8
  • 7
15 Comments
 
LVL 4

Expert Comment

by:palner
ID: 22736250
try this instead:

[sip_proxy1]
type=peer
context=stations
host=81.201.82.112
dtmfmode=rfc2833
relaxdtmf=yes
rfc2833compensate=yes
disallow=all
allow=ulaw
allow=alaw
allow=g729
canreinvite=no
0
 
LVL 9

Author Comment

by:michofreiha
ID: 22756215
palner, I did but still have the same problem

Regards
0
 
LVL 4

Expert Comment

by:palner
ID: 22757277
Does it still fail if you try inband? Could be an issue with your provider...

dtmfmode=inband
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 9

Author Comment

by:michofreiha
ID: 22757609
My provider said that asterisk server is not sending back OK message to their INVITE SIP packet, that why they are not sending the DTMF digits

DO you have any idea about how to force asterisk server to send OK message to each SIP INVITE?

Regards
0
 
LVL 4

Expert Comment

by:palner
ID: 22757702
Sip should always send ok messages.... what version of Asterisk are you running and did you try the inband?
0
 
LVL 4

Expert Comment

by:palner
ID: 22757717
Ok... you said 21.2 sorry....

Did you try the inband or do a full reload of chan_sip.so after the previous mod?
0
 
LVL 9

Author Comment

by:michofreiha
ID: 22757770
I'm using Asterisk 1.4.21.2 ...I did not try inband yet but i think I'll get the same result..I'm making a full reload from Asterisk CLI by runnung reload command
0
 
LVL 4

Expert Comment

by:palner
ID: 22757828
try the inband please.... and you can just run:

reload chan_sip.so
0
 
LVL 9

Author Comment

by:michofreiha
ID: 22757887
Tried it and same problem

I got the following message:

is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729. Use RFC2833
[Oct 20 13:42:20] WARNING[14388]: dsp.c:1481 ast_dsp_process: Inband DTMF is not supported on codec g729
0
 
LVL 9

Author Comment

by:michofreiha
ID: 22757983
Do you think it's a codec problem?Is there any relation between codec used and DTMF?
0
 
LVL 4

Accepted Solution

by:
palner earned 500 total points
ID: 22758110
g729 is a highly compressed codec and can have issues with DTMF. Can you eliminate g729 and test?


[sip_proxy1]
type=peer
context=stations
host=81.201.82.112
dtmfmode=rfc2833
relaxdtmf=yes
rfc2833compensate=yes
disallow=all
allow=ulaw
allow=alaw
;allow=g729
canreinvite=no
0
 
LVL 9

Author Comment

by:michofreiha
ID: 22758273
Dear Palner,

Now when dialing from a SIp endpoint registered on a SIP proxy, everything looks fine and DTMF are sent successfully..The call flow id:

Endpoint-->Sip Proxy-->DID Provider-->Asterisk Server

Otherwise, when aking a call from a normal  PSTN line the digits are not hitting the Asterisk server...Call Flow:

PSTN line-->DID provider-->Asterisk server

What could be the issue?
0
 
LVL 4

Expert Comment

by:palner
ID: 22758341
Is the pstn also that same provider? (sip_proxy1)
0
 
LVL 9

Author Comment

by:michofreiha
ID: 22758919
yes same one..I guess I found it...I added a line that contains Answer on the context as follow:

[stations]
exten => _X.,1,Answer
exten => _X.,2,Gotoif($[${EXTEN} = 112] ? 21)
exten => _X.,3,DeadAGI,a2billing.php|3
exten => _X.,4,Wait,2
exten => _X.,5,Hangup
exten => _X.,21,AGI,a2billing.php|3
exten => _X.,22,Hangup

What do you think Palner?It's working properly now
0
 
LVL 4

Expert Comment

by:palner
ID: 22759007
Yes... you must answer the call or play any media first (a playback will also answer).
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Although VoiceOver IP has been around for a while, internet connections have only recently become fast enough to provide good call quality. Now, VoIP has become a real option for businesses looking at ways to improve their business model. In this ar…
I recently purchased a Bluetooth headset called the Music Jogger (model BSH10). The control buttons on it look like this: One of my goals is to use it as the microphone and speakers for Skype calls. In that respect, it works well. However, I …
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question