Сборщик конференции средствами Web-интерфейса
В данной статье будет описано как разместить на сервер, настроить и эксплуатировать графический сборщик конференций.
Одна из основных функций АТС на базе Asterisk – сборка конференций на неограниченное количество участников. Но для того чтобы попасть в конференц-комнату нужно позвонить на определенный, заранее созданный добавочный номер конференц-комнаты.
Что не всегда удобно, поскольку:
- Участники могут быть не за телефонным аппаратом и далеко от сетей wi-fi – например с мобильного.
- Для звонков «снаружи» сервера телефонии требуется заводить номер, маршрут и IVR.
- Если собирать средствами телефонного аппарата – то присутствует ограничение только на трех операторов, включая владельца.
Чтобы сделать все удобно, просто и эффективно был разработан следующий скрипт.
Он представляет из себя простую форму, которая вытягивает из внутренней базы данных:
- Список внутренних номеров (для выбора собственного номера)
- Список номеров конференц-комнат
- Список внутренних номеров (для выбора участников конференции)
- Поле для перечисления 11-изначных номеров (мобильные и городские)
- Кнопка запуска
Разберемся, из чего состоит скрипт «изнутри». Написан он полностью на php c оформлением через css, включает в себя четыре файла:
В первом (по-порядку сверху вниз) находится содержимое следующего вида:
Синим выделены учетные данные которые нужно будет заменить на свои. И если MySQL учетка есть у всех владельцев серверов с FreePBX (найти можно в файле как на скрине),
учетку для подключения к AMI интерфейсу может не оказаться. Или он будет административным. Поэтому создаем своего пользователя в файле manager_custom.conf (для FreePBX)
И так же заносим выделенные данные в соответствующие разделы в файле access.php. После добавления не забываем выполнить «manager reload» из CLI консоли. Проверить наличие нового пользователя можно следующим образом.
Собственно, за исключением всех файлов на сервере и указания пути от корня web-сервера это все требуемые настройки.
Далее файл «bridge.php». Как и гласит название, этот файл содержит функции которые служат для связи web-интерфейса c внутренней базой MySQL, с интерфейсом управления AMI и непосредственно функцию генерации вызова средствами последнего.
//!================== Коннектор к внутренней базе даных ================== function bd_bridge($db,$q){
$link = @mysqli_connect(bd_host,bd_user,bd_pass,$db) or die(«Error: «.@mysqli_connect_error($link));
$rs = @mysqli_query($link, $q) or die(«Error: «.@mysqli_error($link));
if($rs){
//echo «Qwerty complete: $q <br />«;
return $rs;
@mysqli_free_result($rs);
}
else{
echo «Qwerty failure: $q <br />«;
}
@mysqli_close($link);
}
//! ================== Коннектор к AMI ==================
function ami_request($ingect){
$socket = fsockopen(ami_host, ami_port, $ac_err_num, $ac_err_msg, 1);
if ($socket){ stream_set_timeout($socket, 1);
$action = «Action: loginrn»;
$action .= «Username: «.ami_user.»rn»;
$action .= «Secret: «.ami_pass.»rnrn»;
$action .= $ingect;
$action .= «Action: Logoffrnrn»;
fwrite($socket,$action);
sleep(1);
$answer = fread($socket,8192);
fclose($socket);
}
return $answer;
}
//! =========================== Осуществляем вызов ===========================
function init_call($ext_from,$ext_to,$through){
$action = «Action: Originatern»;
if($through!=»»){
$action .= «Channel: SIP/$through/$ext_fromrn»;
}
else{
$action .= «Channel: SIP/$ext_fromrn»;
}
$action .= «Context: from-internalrn»;
$action .= «Exten: $ext_torn»;
$action .= «Priority: 1rn»;
$action .= «Timeout: 15000rn»;
$action .= «Callerid: Phoenix-Call <$ext_from>rn»;
$action .= «Async: falsernrn»; //echo str_replace(«rn»,»
«,$action);
ami_request($action);
}
Css.php содержит в себе описание стилей оформления фона, кнопок, переключателей и полей ввода. При желании или необходимости можно изменить под себя. В комплекте идет «темная тема». Переключить можно переименовав файл css_night.php в просто css.php
Последний, но не по значению файл «index.php» содержит:
require_once(«access.php»); require_once(«bridge.php»); require_once(«css.php»);
Css.php содержит в себе описание стилей оформления фона, кнопок, переключателей и полей ввода. При желании или необходимости можно изменить под себя. В комплекте идет «темная тема». Переключить можно переименовав файл css_night.php в просто css.php
Остались вопросы?
Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.