I have be able to hangup an asterisk call (if it can be named "call") by pressing any keyboard button. Flow looks like this:
(Call file is copied to outbound directory) ->
Asterisk detects it and read call file ->
in call file there is instruction to run context "test" in dialplan ->
in context "test" there is instruction to run AGI(PHP) script ->
in AGI script there is command "EXEC PLAYBACK test_music"
Dialplan:
exten => s,1, Answer()
exten => s,n, agi(test_agi.agi)
exten => s,n, Hangup
AGI (test_agi.agi):
#!/usr/bin/php -q
<?php
require'phpagi.php';
set_time_limit(60);
ob_implicit_flush(false);
# create file handles if needed
if (!defined('STDIN'))
{
define('STDIN', fopen('php://stdin', 'r'));
}
if (!defined('STDOUT'))
{
define('STDOUT', fopen('php://stdout', 'w'));
}
if (!defined('STDERR'))
{
define('STDERR', fopen('php://stderr', 'w'));
}
fwrite(STDOUT, "EXEC PLAYBACK test_music '79#'\n"); //79# interruption marks
So as you can see, dialplan and AGI file are as simplest as may be. The point is I know only the way to allow playback to be interrupted by a DTMF digit (as in AGI code -comment above) by pressing digits on phone. But thats it.
Maybe someone know how to end a call (and stop playback of course) when any keyboard key is pressed?
Is it even possible?
Thanks for help!