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

asked on

DTMF problem

Dear Sir,
 
I have the following Scenario:
 
1- I have a DID number from Voxbone mapped to my asterisk server with RFC 2833 protocol used for DTMF
2- On asterisk Server I configured an incoming peer that receives calls from VoxBone and send calls to a2billing context as follow:
 
sip.conf
[sip_proxy1]
type=peer
context=a2billing
host=81.201.82.39
dtmfmode=RFC2833
rfc2833compensate=yes
 
extensions.conf
[a2billing]
exten => _X.,1,Gotoif($[${EXTEN} = 111] ? 21)
exten => _X.,2,DeadAGI,a2billing.php
exten => _X.,3,Wait,2
exten => _X.,4,Hangup
exten => _X.,21,Playback(AR_GetGiveToID)
exten => _X.,22,Wait(2)
exten => _X.,23,Record(/tmp/asterisk-recording:ulaw,,5)
exten => _X.,24,Wait(2)
exten => _X.,25,Playback(/tmp/asterisk-recording)
exten => _X.,26,Wait(2)
exten => _X.,27,Hangup
 
My problem is that when entring the PIN number I did not notice that any DTMF digits has been sent from VoxBone to my asterisk server, and the IVR continue asking to enter the PIN number all the time as you can see in the below log messages:
 
----->
    -- <SIP/voxbone.com-0a02e0d8> Playing 'prepaid-enter-pin-number' (language 'en')
  a2billing.php: file:Class.A2Billing.php - line:1790 - RES DTMF :
  a2billing.php: file:Class.A2Billing.php - line:1794 - CARDNUMBER ::>
  a2billing.php: file:Class.A2Billing.php - line:1798 - PREPAID-NO-CARD-ENTERED
  a2billing.php: file:Class.A2Billing.php - line:1780 - PREPAID-NO-CARD-ENTERED
  a2billing.php: file:Class.A2Billing.php - line:1788 - Requesting DTMF, CARDNUMBER_LENGTH_MAX 15
    -- <SIP/voxbone.com-0a02e0d8> Playing 'prepaid-enter-pin-number' (language 'en')
  a2billing.php: file:Class.A2Billing.php - line:1790 - RES DTMF :
  a2billing.php: file:Class.A2Billing.php - line:1794 - CARDNUMBER ::>
  a2billing.php: file:Class.A2Billing.php - line:1798 - PREPAID-NO-CARD-ENTERED
  a2billing.php: file:Class.A2Billing.php - line:1780 - PREPAID-NO-CARD-ENTERED
  a2billing.php: file:Class.A2Billing.php - line:1788 - Requesting DTMF, CARDNUMBER_LENGTH_MAX 15
    -- <SIP/voxbone.com-0a02e0d8> Playing 'prepaid-enter-pin-number' (language 'en')
 
What do you think the issue could be?
 
Regards
Avatar of MrJemson
MrJemson
Flag of Australia image

Try:

dtmfmode=auto

Also, what codec are you using for the voice channel? If g.729, try ulaw/alaw and test again.
Avatar of michofreiha

ASKER

When i used dtmfmode=auto it worked better but not all the time...Please let me know where I can find in my SIP packet the DTMF type sent by the carrier?

Regards
If that is the case, I would suggest trying dtmfmode=inband

dtmfmode=auto will use inband if it finds that rfc2833 is unsupported by your carrier.
If its not working with rfc2833, and sometimes works with auto, I would imagine that the negotiation is failing sometimes and not others.

As for the DTMF type in the SIP packet, I am not sure as I have never had to diagnose anything like that.
It may be easier for you to check with the carrier what they are using if inband is still having issues.
Dear MrJemson,

I turned on the rtp debug on my asterisk server and found out that sometimes the DTMF packets with RFC2833 format appears on the Logs  and sometimes not...Do you think the Provider is not sending these packets or the asterisk is not listing them in the RTP packet flow?

Regards
Dear Sir,

The DID that provide to us the DID number said that asterisk server is not sending back OK message to their server that's why they are not sending us the DTMF packets...How to force Asterisk server t reply back by sending OK message?

Regards
ASKER CERTIFIED SOLUTION
Avatar of MrJemson
MrJemson
Flag of Australia image

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