Page 1 of 1

Send DTMF

PostPosted: Thu Mar 22, 2007 7:37 am
by mohankumar
How to use send DTMF tab in agent page of vicidial...
I dont know how to use it.Please tell me how to use and what is the use of it..I didnt find clear information of how to use it from managers manual...

PostPosted: Thu Mar 22, 2007 7:44 am
by Op3r
search the forum.

and also get the agent's manual it is there.

PostPosted: Mon Mar 26, 2007 11:56 am
by hcobb
Send DTMF used to work for us, but since installing
VERSION: 2.0.105 BUILD: 61221-1212
Asterisk 1.2.17

It doesn't work. The logs show that agi-dtmf runs, but no noises come out of it.

Mar 26 12:49:30 VERBOSE[9631] logger.c: -- Executing AGI("Local/8500998@default-a0a6,2", "agi-dtmf.agi") in new stack
Mar 26 12:49:30 VERBOSE[9631] logger.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/agi-dtmf.agi
Mar 26 12:49:30 VERBOSE[9631] logger.c: -- AGI Script agi-dtmf.agi completed, returning 0

Edit: When I use my softphone to dial manually through the same asterisk machine rather than logging in to vicidial then the touch tones work correctly.

More Edit: When I manually call ext 8500998 I do hear the tones, it's just the web gui that doesn't send them.

-HJC

PostPosted: Tue Mar 27, 2007 5:38 am
by mflorell
What version of asterisk-perl are you using?

I have not tested Asterisk 1.2.17 yet.

PostPosted: Tue Mar 27, 2007 6:52 am
by hcobb
mflorell wrote:What version of asterisk-perl are you using?
Do you mean this?

package Asterisk;

require 5.004;

$VERSION = '0.08';

PostPosted: Tue Mar 27, 2007 2:17 pm
by hcobb
After running this command

asterisk -rx "agi debug"

I see a lot of agi activity, but not from agi-dtmf.

I do not think that the ext that sends the digits is ever called.

PostPosted: Tue Mar 27, 2007 2:42 pm
by hcobb
It's difficult to push the debugging much further because the error log fills up with stuff like:

Undefined variable: voicemail_button_enabled in /var/www/vicidial/admin.php on line 562
Undefined variable: voicemail_dump_exten in /var/www/vicidial/admin.php on line 563
Undefined variable: voicemail_exten in /var/www/vicidial/admin.php on line 565
Undefined variable: voicemail_ext in /var/www/vicidial/admin.php on line 564
Undefined variable: voicemail_id in /var/www/vicidial/admin.php on line 566
Undefined variable: wrapup_message in /var/www/vicidial/admin.php on line 695
Undefined variable: wrapup_seconds in /var/www/vicidial/admin.php on line 567
Undefined variable: xferconf_a_dtmf in /var/www/vicidial/admin.php on line 609
Undefined variable: xferconf_a_number in /var/www/vicidial/admin.php on line 613
Undefined variable: xferconf_b_dtmf in /var/www/vicidial/admin.php on line 610
Undefined variable: xferconf_b_number in /var/www/vicidial/admin.php on line 614

And so on.

PostPosted: Wed Mar 28, 2007 4:28 pm
by mflorell
Looking at Apache logs will not help you debug this.

PostPosted: Fri Mar 30, 2007 5:59 am
by caspar
The following solution does not require any AGI scripts:

This solution only works on Asterisk 1.2.X

Remove the following lines from the dial plan:
Code: Select all
exten => 8500998,1,Answer
exten => 8500998,2,Playback(silence)
exten => 8500998,3,AGI(agi-dtmf.agi)
exten => 8500998,4,Hangup


Replace it with the following lines:
Code: Select all
exten => 8500998,1,Answer
exten => 8500998,2,Macro(dtmf,${CALLERID}${CALLERIDNAME})


Also add at the bottom of the dial plan:
Code: Select all
[macro-dtmf]
exten => s,1,GosubIf(${LEN(${ARG1})}=0]?20:10)
exten => s,10,Hangup
exten => s,20,Playback(silence)
exten => s,21,Playback(${ARG1:0:1})
exten => s,22,Macro(dtmf|${ARG1:1})


I implemented this solution at a call center because the first part of DTMF digit seems to be cut off with some SIP phones. This solution solved the problem and is running on a live system.

PostPosted: Fri Mar 30, 2007 6:27 pm
by mflorell
Does this handle pauses within a DTMF string?(the comma)

PostPosted: Mon Apr 02, 2007 1:56 am
by caspar
Now that you mention it. I do not think it handles pauses. It also does not handle alphabetic characters like a,b,c but it continues to send the digits in the string that it does recognize.

If you enter "1,2" it will play:
1.gsm
,.gsm -> which would produce an error
2.gsm -> which will still play

This is definitely to the best solution, but it is a quick hack to fix things if the AGI scripts does not want to work.

Maybe one can modify the script to check for errors and perform a Wait(1) instead of a Playback(...) if an error occurs.

PostPosted: Mon Apr 02, 2007 6:44 am
by mflorell
I have added ,.wav to the SVN, I'll try to tinker with this later today.