• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2193
  • Last Modified:

DTMF issues in asterisk

Hi

i am having in issues in getting the DTMF signalling. asterisk is not getting the correct DTMF . like

* DTMF-relay event received: 1
* DTMF-relay event received: 1
  == CDR updated on SIP/2877004-b5cc2b18
    -- Executing Dial("SIP/2877004-b5cc2b18", "SIP/1119|50") in new stack
Jan 31 13:48:29 NOTICE[17843]: app_dial.c:1076 dial_exec_full: Unable to create channel of type 'SIP' (cause 3 - No route to destination)
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing VoiceMail("SIP/2877004-b5cc2b18", "u1119") in new stack
Jan 31 13:48:29 WARNING[17843]: app_voicemail.c:2461 leave_voicemail: No entry in voicemail config file for '1119'


* DTMF-relay event received: 9
    -- SIP/intlno-09597628 answered SIP/1129-b5a02938
* DTMF-relay event received: 0

Jan 31 13:48:35 WARNING[17843]: pbx.c:2424 __ast_pbx_run: Invalid extension '90', but no rule 'i' in context 'Menu'

as above i press  1190 , it gets only first two digits and then transfer this call to 1119 and after doing that it gets the other two digits. which is wrong it should get the four digits like 1190 and transfer it to 1190 instead of getting only two digits first and then get the other ones .. how to solve this issue .

Thanks
0
nocinfospan
Asked:
nocinfospan
  • 5
  • 4
1 Solution
 
grbladesCommented:
What DTMF method are you using (inband, sip info, or rfc)?
0
 
nocinfospanAuthor Commented:
rfc2833
0
 
grbladesCommented:
With that method the digits are transmitted digitally so asterisk cannot read the wrong digits unlike when trying to recognise dtmf tones.

Can you post the section of the asterisk dialplan which waits for you to enter the digits.
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
feptiasCommented:
I have had problems with Asterisk being over-sensitive to DTMF when it is sent as audio. It can interpret one tone as two so 1190 could become 11190. However, if all the telephones and circuits are SIP and rfc2833 is used throughout then you shouldn't get that problem.

It doesn't make much sense either that your debug output is showing "DTMF-relay event received: 9" *after* it has attempted to dial SIP/1119. That is in the wrong sequence. How did you get it to show those DTMF relay events? I could never find a debug option that showed what DTMF had been received.

Are you keying the DTMF tones after the call has been established or is that what you dial when you first make the call?
0
 
grbladesCommented:
I assumed there must be an IVR menu being used. When dialing a number the phone waits and dials the complete number after a preset number of seconds or when a particular key is pressed so it does not look like that is the case.
0
 
nocinfospanAuthor Commented:
sorry for late reply because i did'nt receive any email regarding new post to my question.

Any how thats what i am using in my extensions.conf for inbound call to land in

[Menu]
exten => s,1,Wait(3)
exten => s,2,Background(collection)
;exten => s,2,Playback(collection)

;Dial desired Extension
exten => _XXXX,1,Dial(SIP/${EXTEN},50)
;exten => _1XXX,2,Gotoif($[${DIALSTATUS} = CHANUNAVAIL]?6)
;exten => _1XXX,3,Gotoif($[${DIALSTATUS} = CONGESTION]?6)
;exten => _1XXX,4,Gotoif($[${DIALSTATUS} = BUSY]?6)
;exten => _1XXX,5,Gotoif($[${DIALSTATUS} = HANGUP]?6)
exten => _XXXX,2,VoiceMail(u${EXTEN})
;exten => _1XXX,3,HangUp()
;exten => _1XXX,6,VoiceMail(${EXTEN}@voice_test)

;Queue incase of unknown agent
exten => 0,1,Answer
exten => 0,2,Ringing
exten => 0,3,Wait(1)
exten => 0,4,Dial(SIP/7777,50,tT)
exten => 0,5,VoiceMail,u7777
;exten => 0,4,Background(queue-periodic-announce)
;exten => 0,5,Queue(umair|n|||)
exten => 0,6,Hangup

exten => t,1,Answer
exten => t,2,Wait(1)
exten => t,3,Goto(Menu,s,2)
0
 
grbladesCommented:
You havent set any timeouts and there are a couple of minor errors in the dialplan. Try this one and see how you get on.

[Menu]
exten => s,1,Wait(2)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n,SetMusicOnHold(default)
exten => s,n,Set(TIMEOUT(digit)=5)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n(menu),Background(collection)

exten => _XXXX,1,Dial(SIP/${EXTEN},50)
exten => _XXXX,2,VoiceMail(u${EXTEN})

;Queue incase of unknown agent
exten => 0,1,Wait(1)
exten => 0,n,Dial(SIP/7777,50,tT)
exten => 0,n,Voicemail(u7777)
exten => 0,n,Hangup

exten => t,1,Wait(1)
exten => t,n,Goto(Menu,s,menu)
0
 
nocinfospanAuthor Commented:
k thanks i will check it now
0
 
nocinfospanAuthor Commented:
okie i just tried through VOIP as well through PSTN.

From both if i tried to interrupt the IVR to early by dialing paticular extension then asterisk did'nt get the proper extension or improper extension if i wait let suppose five or seven secs to listen to IVR a little bit and then try to dial some extension it works fine.
0
 
grbladesCommented:
Once the IVR starts playing then it should work. There is a 2 second pause, a pickup and then another 1 second pause before the IVR starts playing. You could take these out if you wish if that is stopping you from entering the extension as soon as you want.
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now