Поэтому у меня есть система VOIP, настроенная через сервер FreePBX. Я хочу, чтобы это было так, что при получении нового вызова FreePBX звездочки отправят идентификатор вызывающего абонента и идентификатор вызова в php-скрипт, который затем будет использовать эту информацию для сбора информации о билете для учетной записи, связанной с этим идентификатором вызывающего абонента , Затем он обновит базу данных с найденной информацией. Когда пользователь отвечает на телефон, я затем хочу отправить расширение пользователя и идентификатор вызова на другой php-скрипт и обновить базу данных с новой информацией.
Я просмотрел PHPARI, но документации мне не хватает. Мне просто нужно идти в одну сторону, и PHPARI и подобные библиотеки, похоже, сосредоточены на том, чтобы идти в обоих направлениях, из того, что я понял.
Мой интернет-поиск ничего не дал, поэтому я обращаюсь к вам за помощью и руководством.
FreePBX Версия: 13.0.83 Версия Asterisk: 13.7.1
Посмотрите на Asterisk AGI, вы должны иметь возможность сценариев через абонентскую группу (extensions.conf) и включать в себя любые вары, такие как идентификатор вызывающего абонента.
Я сделал быстрый тест из моего extension.conf;
s
используется, чтобы поймать, где не используется вызываемый номер в контексте.
exten => s,1,Verbose(Incoming call from Sip line CallerID=${CALLERID(all)}) exten => s,2,AGI(phone.php,${CALLERID(all)}) exten => s,3,Goto(internal-ext,3001,1)
мой phone.php
находится по адресу /var/lib/asterisk/agi-bin/phone.php
Передайте свои vars как script.php,<var>,<var>...
Не используйте script.php?callNum=
поскольку это справедливо только для веб-приложений, это следует рассматривать как командную строку.
Этот скрипт записывает файл в /tmp/phone
который обновляется с помощью вызывающего идентификатора вызывающего абонента.
В моем php-скрипте я сделал следующее:
#!/usr/bin/php <?php $query = $argv[1]; $file = fopen("/tmp/phone", "w"); fwrite($file,$query); fclose($file); ?>