Звонок с сайта - Web Callback

Данное решение позволит инициировать вызов через веб-строку, а Asterisk установит соединение.

Требования к системе

  • Asterisk
  • Веб-сервер с поддержкой PHP

Описание функционала

При вызове скрипта с параметрами формируется .call файл в каталоге /var/spool/asterisk/outgoing, который выполняется астериском. После исполнения - файл удаляется автоматически. Параметры передаются в скрипт через ссылку.

Способ вызова

http://ИМЯ СЕРВЕРА/click2call.php?from=ИСХОДЯЩИЙ&to=ВХОДЯЩИЙ где:

  • ИМЯ СЕРВЕРА - Имя сервера астериска с поднятым веб-интерфейсом;
  • ИСХОДЯЩИЙ - Номер, который будет подключаться первым. Обычно это внутренний номер или очередь;
  • ВХОДЯЩИЙ - Номер, на который будет производится вызов. Обычно это внешний номер.

Например при вызове строки https://asterisk/click2call.php?from=100&to=84951234567 будут произведены следующие действия:

  1. Асетриск вызывает номер 100.
  2. После ответа на номере 100 астериск вызовет номер 84951234567
    1. При ответе номера 84951234567 он будет соеденен с номером 100 и .call файл будет удален
    2. При неответе номера 84951234567 через 10 секунд повторно будет произведена попытка дозвона до внешнего номера. По окончании 3(по-умолчанию) попыток .call файл будет удален

PHP-скрипт

<?
$from =$_GET['from'];
$to =$_GET['to'];

$fileContent =  "Channel: Local/".$from."@from-internal\r\n".
        "Callerid: Web Call: ".$from."-->".$to." \r\n".
        "Context: from-internal \r\n".
        "Extension: ".$to."\r\n".
        "Priority: 1\r\n";

$tmpfname = tempnam("/var/spool/asterisk/outgoing", "FOO");

$handle = fopen($tmpfname, "w");
fwrite($handle, $fileContent);
fclose($handle);
?>
<html>
<head>
</head>
<body>
<h1>Call from : <?php echo $from; ?></h1>
<h1>Call to : <?php echo $to; ?></h1>

</body>
</html>

zvonok_s_sajta_-_web_callback.txt · Последние изменения: 2013/10/23 15:00 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика