?
Solved

DTMF issue

Posted on 2008-10-16
15
Medium Priority
?
1,335 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
Visualize your virtual and backup environments

Create well-organized and polished visualizations of your virtual and backup environments when planning VMware vSphere, Microsoft Hyper-V or Veeam deployments. It helps you to gain better visibility and valuable business insights.

 
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 2000 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

 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

Question has a verified solution.

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

How To Create Custom / Distinctive Ring Tones on Polycom Phones Purpose and Overview When creating a custom ring tone, you have simple aspirations: to make your phone cooler than everyone else's. Perhaps you need a louder ringer. Perhaps you w…
The Zaptel people (www.zaptel.com) got kind of annoyed with the fact that they were getting bombarded with searches for the zaptel driver system for Asterisk (not to mention they own the trademark on zaptel). So, they kindly requested that Digium ch…
this video summaries big data hadoop online training demo (http://onlineitguru.com/big-data-hadoop-online-training-placement.html) , and covers basics in big data hadoop .
Loops Section Overview
Suggested Courses
Course of the Month16 days, 19 hours left to enroll

862 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