Использование внешней директории для получения списка клиентов и его последующей обработки
В данной статье рассмотрим возможность подключения внешней директории с сервера на Windows и использование ее для работы с телефонией. Как пример реализуем получение списка необходимых звонков с расписанием, через файл формата csv. Для экспортирования директории необходимо установить на АТС утилиты nfs и rpcbind. Произведем первичную настройку, работы nfs по статическим портам (необязательно). Указав в конфигурационном […]
В данной статье рассмотрим возможность подключения внешней директории с сервера на Windows и использование ее для работы с телефонией. Как пример реализуем получение списка необходимых звонков с расписанием, через файл формата csv.
Для экспортирования директории необходимо установить на АТС утилиты nfs и rpcbind.
Произведем первичную настройку, работы nfs по статическим портам (необязательно).
Указав в конфигурационном файле /etc/sysconfig/nfs следующие директивы:
LOCKD_TCPPORT=33656
LOCKD_UDPPORT=33657
MOUNTD_PORT=893
MOUNTD_PORT=857
STATD_PORT=652
STATD_OUTGOING_PORT=2023
Сохраняем и перезапускаем сервисы NFS и rpcbind
Service rpcbind
Service nfs restart
Соответственно эти порты должны быть открыты в файрволе по TCP/UDP:
111 TCP/UDP
2049 TCP
33656, 33657 TCP/UDP
893 TCP/UDP
857 TCP/UDP
2023 TCP/UDP
После указания и открытия этих портов можем приступить к дальнейшей настройке.
В файле /etc/exports указать следующую строку:
/usr/src/nfs 192.168.170.0/24(rw,sync,no_root_squash)
И выполнить команду exportfs –a
Соответственно папка уже должна быть создана и иметь разрешение на запись под любым пользователем.
Дальнейшая настройка на стороне клиента.
В ОС Window 10 (либо Windows 7 Максимальная) существует встроенный клиент NFS (для других версий необходимо устанавливать дополнительно), но его нужно включить в компонентах. Панель управления – Программы и компоненты – Включение или отключение компонентов Windows.
После установки, открываем командную строку и вводим:
mount 192.168.1.1:/usr/src/nfs z: (указать IP сервера)
В примонтированную директорию можем поместить файл со списком номеров и указанием даты, в которую необходимо соединить оператора с номером клиента.
Обязательно следует проверить запись на раздел, чтобы избежать проблем с недостаточными правами на директорию.
Затем файл загружаем на АТС, где считываем скриптом для последующей обработки. Необходима функция переводящая строки файла в массив:
function str_to_arr($str){
$piece=array();
$string=array();
$arr=array();
$j=0;
$string = explode («\n»,$str);
for($i=0;$i<count($string);$i++){
$piece=explode(«,»,$string[$i],2);
if (isset($piece[1])){
$arr[trim($piece[0])]=trim($piece[1]);
}
}
return $arr;
}
$strvars = file_get_contents(‘/usr/src/nfs/1.csv’);
$arrayvars=str_to_arr($strvars);
Далее в скрипте полученный массив используем для создания call файлов:
foreach ($arrayvars as $key => $value) {
echo $key.» — $value\r\n»;
$fp = fopen(«/usr/src/test/calls/call_$key.call», ‘w’);
fwrite($fp, «Channel: Local/6001@ext-queues\n»);
fwrite($fp, «Callerid: Plan call <$key>».»\n»);
fwrite($fp, «MaxRetries: 1″.»\n»);
fwrite($fp, «RetryTime: 20″.»\n»);
fwrite($fp, «WaitTime: 20″.»\n»);
fwrite($fp, «Context: from-internal».»\n»);
fwrite($fp, «Extension: $key».»\n»);
fwrite($fp, «Priority: 1″.»\n»);
fclose($fp);
$touchfile=`touch -d «$value» /usr/src/test/calls/call_$key.call`;
$chownfile=`chown asterisk:asterisk /usr/src/test/calls/ -R`;
}
И перемещаем их в директорию для обработки:
$mvfile=`mv /usr/src/test/calls/* /var/spool/asterisk/outgoing`; /**/
Соответственно сам скрипт можно запускать несколькими способами, это может сделать администратор вручную, закрепить его на исполнение в cron либо прикрепить возможность вызова на звонок, например:
exten => 00101,1,Authenticate(1234)
same => n,System(/usr/bin/php -f /usr/src/test/test.php)
same => n,Hangup
Остались вопросы?
Я - Кондрашин Игорь, менеджер компании 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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.