DTMF not getting detected

I am using asterisk 11.7 for a call balsting project. I am doing it using phpagi and AMI. I am origniating calls using AMI originate function, with application set as an agi file. The call is connecting and I can hear the voice message from the agi file. But I couldn’t track the DTMF input from the callee.
Following are the informations I have. Please help me on this.

Originating the call using AMI with an agi application

        $call = $asm->send_request('Originate',
                    array(
            'Channel'=>$_SESSION['auth1'],           
            'Callerid'=>$_SESSION['phone'],              
               'Async'=>'yes',
              'Timeout'=>30000,
               'Application'=>'agi',              
               'Data' =>"phpagi/firstauth.php,{$_SESSION['memberid']},{$number2},{$_SESSION['phone']},{$blast_file_id}"
               )
        );

sip.conf

[authuser1]
type=friend
host=dynamic
context=authuser3
disallow=all
allow=alaw
secret=abc122
dtmfmode=inband

[authuser2]
type=friend
host=dynamic
context=authuser
secret=abc123
disallow=all
allow=ulaw
dtmfmode=inband

I have made the call to the first user.

modules.conf

[modules]
autoload=yes
load=pbx_config.so
load=chan_sip.so
load=chan_iax2.so
load=res_rtp_asterisk.so
load=app_hangup.so
load=app_dial.so
load=codec_ulaw.so
load=codec_gsm.so

What technology do you use to call out(Dahdi,SIP…)??
What do you see on Asterisk CLI when callee enters DTMFs?

–Satish Barot

Consider dtmfmode=rfc2833 or dtmfmode=auto instead.

I am using SIP. Even after I enabled the sip set debug on, I can not see anything on the CLI. Also I have changed the dtmfmode=rfc2833 and dtmfmode=auto. Still not getting the input.

You’ll need to add dtmf to the settings for console in logger.conf. Afterwards make a test with core set verbose=5. This should bring You up the DTMF-digits recognized in the CLI.

Hi,

Thank you all for the quick reply. I have done exactly like the above reply, I am getting the dtmf response in the CLI.
But I couldn’t get the response I needed through phpagi, I am putting my phpagi code and the response from the CLI below.

phpagi code

$result = $agi->get_data(‘beep’, 5000, 3);
$agi->verbose($result[‘result’]);

$keys = $result[‘result’];
$agi->verbose($keys);
$agi->verbose($result);

I am expecting the dtmf input entered should be in $keys variable. but it always returns 1 instead.

The response I am getting is below, I am afraid if it is anything related to permission. Please help on this

– <SIP/9085686666-0000002d> Playing ‘beep.gsm’ (language ‘en’)
[Feb 25 05:17:40] DTMF[23948]: channel.c:3082 __ast_read: DTMF begin ‘4’ received on SIP/9085686666-0000002d
[Feb 25 05:17:40] DTMF[23948]: channel.c:3086 __ast_read: DTMF begin ignored ‘4’ on SIP/9085686666-0000002d
[Feb 25 05:17:40] DTMF[23948]: channel.c:2997 __ast_read: DTMF end ‘4’ received on SIP/9085686666-0000002d, duration 267 ms
[Feb 25 05:17:40] DTMF[23948]: channel.c:3066 __ast_read: DTMF end passthrough ‘4’ on SIP/9085686666-0000002d
phpagi/firstauth.php,4,SIP/9085686666@199.231.185.56,34343,1891: 1test
phpagi/firstauth.php,4,SIP/9085686666@199.231.185.56,34343,1891: Array
phpagi/firstauth.php,4,SIP/9085686666@199.231.185.56,34343,1891: (
phpagi/firstauth.php,4,SIP/9085686666@199.231.185.56,34343,1891: [code] => 200
phpagi/firstauth.php,4,SIP/9085686666@199.231.185.56,34343,1891: [result] => 1
phpagi/firstauth.php,4,SIP/9085686666@199.231.185.56,34343,1891: [data] =>
phpagi/firstauth.php,4,SIP/9085686666@199.231.185.56,34343,1891: )

One more thing I need to mention. I am actually originating the call using AMI and from the application not from any extensions.