Link to home
Start Free TrialLog in
Avatar of michofreiha
michofreihaFlag for Lebanon

asked on

DTMF issue

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
Avatar of palner
palner

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
Avatar of michofreiha

ASKER

palner, I did but still have the same problem

Regards
Does it still fail if you try inband? Could be an issue with your provider...

dtmfmode=inband
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
Sip should always send ok messages.... what version of Asterisk are you running and did you try the inband?
Ok... you said 21.2 sorry....

Did you try the inband or do a full reload of chan_sip.so after the previous mod?
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
try the inband please.... and you can just run:

reload chan_sip.so
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
Do you think it's a codec problem?Is there any relation between codec used and DTMF?
ASKER CERTIFIED SOLUTION
Avatar of palner
palner

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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?
Is the pstn also that same provider? (sip_proxy1)
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
Yes... you must answer the call or play any media first (a playback will also answer).