Доброго вечера, возможно по незнанию не смог найти ответ на свой вопрос, прошу строго не судить.
Есть Астериск, все работает прекрасно не можем нарадоваться и есть сайт на php с которого по клику удаленный менеджер совершает звонок по следуюущей схеме:
При клике на номер клиента идет звонок менеджеру на сотовый когда он поднимает трубку телефона то слышит сигнал вызова, клиент берет трубку и они разговаривают. по факту манго атс совершает два звонка, все настроено через API.
Как это реализовать через FrePBX? Уж очень дорого выходит звонить через АТС Манго.
А кто вам этовсё настраивал? Ясно, чтоневы самостоятельно, иначе этого вопроса бы не было тут. Рационально ыло бы обратиться к нему же.
Схема звонка реализвана как channel originate, можно потренироваться с этой командой в CLI Астериска.
Для этого нужно иметь зарегистрированых SIP абонентов во FreePBX, как внутренние номера.
Они могут звонить друг-другу, набирая внутренний номер? Надеюсь - да.
Так вот звонок для связи двух абонентов можно инициировать через channel originate в CLIследующим образом: вызывается первое плечо, при его ответе (ANSWER) автоматически вызывается второе плечо.
И первое, и второе плечо вызова может быть как внутренним, так и внешним абонентом.
Простой пример связи двух внутренних абонентов:
CLI> channel originate SIP/123 application Dial SIP/321
смотрите что будет происходить в CLI
Простой пример связи внутреннкго абонента и внешнего (клиента на моб. номере):
CLI> channel originate SIP/123 application Dial SIP/mango_trunk/89012345678
Освоите этот сценарий, можно перейти к таким же по смыслу вызовам, через AMI или call файлы.
Информацию об этом прошу искать самостоятельно, интернет позволяет.
Когда это всё будет доступно и опробовано, будет понятно как сайт на php оригинирует эти вызовы в Астериск (через AMI), по клику удаленного менеджера.
АТС настраивал сам, что то по юзермануалу, что то по подобию настройки Grandstream 6202
Код на PHP писал знакомый в телефонных АТС не понимающий.
Сейчас уезжаю в коммандировку, спасибо за подсказку, отпишусь в среду если будут еще вопросы.
код сейчас используем вот такой, но он не отрабатывает так как интернал используются тоже сотовый номер:
$originateRequest = "Action: Originate\r\n";
$originateRequest .= "Channel: PJSIP/$internalPhoneline\r\n";
$originateRequest .= "Callerid: Click 2 Call\r\n";
$originateRequest .= "Exten: $externalPhoneline\r\n";
$originateRequest .= "Context: $context\r\n";
$originateRequest .= "Priority: 1\r\n";
$originateRequest .= "Async: yes\r\n\r\n";
$originate = stream_socket_sendto($socket, $originateRequest);
выпадает с ошибкой создания естеншена с номеров сотового