Панель отправки факсимильных сообщений
В рамках данной статьи мы рассмотрим установку и использование WEB панели для отправки факсимильных сообщений.
Все описанные действия в статье необходимо выполнять от имени суперпользователя (root). Установка и настройка производилась на предустановленной системе CentOS 6.8 + Asterisk 11.23.1 + FreePBX 13.
Инструкция
1. Выполним подключение по SSH к роутеру для выполнения дальнейшей настройки. В зависимости от используемой системы(Windows, Linux, MacOS), подключение по SSH можно выполнить с использованием различного дополнительного программного обеспечения(Putty), либо системного терминала.
Внимание, при авторизации на сервере, пароль в консоли не отображается.
2. Проверим наличие и установленную версию Node JS:
# node -v
Для корректной работы панели для отправки факсов требуется наличие установленной версии Node JS не ниже 8.0
3. После проверки наличия и установленной версии NodeJS, если версия ниже требуемой или NodeJS отсутствует, то переходим к следующему шагу установки, в случае наличия необходимой версии можено сразу перейти к пункту .
# yum groupinstall ‘Development Tools’
# wget -O install_nodejs.sh https://rpm.nodesource.com/setup_8.x
# chmod +x install_nodejs.sh
# ./install_nodejs.sh
В случае установки NodeJS на FreePBX в скрипте install_nodejs.sh необходимо отредактировать 57 строку и привести её к следующему виду: DISTRO_PKG=»centos-release-6-8.el6.centos.12.3.x86_64″
# yum install nodejs
4. При наличии корректной версии NodeJS, приступим к установке панели для отправки факсимильных сообщений. Выполним ряд команд вида:
# cd /usr/src/
# git clone https://github.com/Infactum/faxserver.git
# cd faxserver/
# npm install
# bower instal –allow-root
5. Прежде чем приступать к конфигурированию панели отправки факсимильных сообщений, необходимо создать AMI пользователя в Asterisk, для этого перейдём в WEB панель управления FreePBX через интернет обозреватель(Opera, Firefox, Google Chrome, Yandex Browser….) по ссылке вида: http://IP_адрес_сервера_Asterisk/ В примере ссылка имеет вид: http://192.168.170.163/
5. Пройдём авторизацию во FreePBX, нажмём «FreePBX Administration», введем «username и password» и нажмём «Continue»
6. Перейдём к созданию AMI пользователя. Для этого перейдём в меню «Settings»→»Asterisk Manager Users»→ «Add Manager»→ «Submit»→ «Apply Config», где основные поля для заполнения:
Manager name — имя AMI пользователя(логин)
Manager secret — пароль AMI пользователя
Deny — запрещённые подсети для обращения по AMI
Permit — разрешенные подсети для обращения по AMI
Установка слабого пароля для AMI пользователя и установка 0.0.0.0/0 подсети в качестве разрешенной может привести к несанкционированному доступу к серверу телефонии.
7. Произведем настройку панели отправки факсимильных сообщений:
# cd /usr/src/faxserver
# nano config/config.json
Приведем конфигурационный файл к следующему виду:
{
«logLevel»: «warn»,
«port»: 8080,
«language»: «ru»,
«FAX»: {
«uploadDir»: «/tmp/upload»,
«storageDir»: «/tmp/faxout»,
«gsCommand»: «gs»,
«maxParallelism»: 3,
«maxRetry»: 3,
«retryInterval»: 300,
«delayedProcessingInterval»: 5
},
«AMI»: {
«host»: «127.0.0.1»,
«port»: 5038,
«username»: «fax»,
«secret»: «password»
}
}
где port — порт доступа к web панели отправки факсимильных сообщений
host — адрес сервера Asterisk
username — имя AMI пользователя(логин)
secret — пароль AMI пользователя
8. Для возможности автозапуска и управлением панелью отправки факсимильных сообщений сервером как службой, создадим сервис:
# npm install pm2 -g
# nano /etc/init.d/faxserver
Приведём данный файл к виду:
#!/bin/sh
### BEGIN INIT INFO
# Provides: faxserver
# Required-Start: $network $syslog $named
# Required-Stop: $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop faxserver
### END INIT INFO
set -e
if [ -z «$1» ] ; then
echo «Usage: $0 [start|stop|restart]»
exit 0
fi
if [ «$1» = «start» ] ; then
pm2 start /usr/src/faxserver/app.js
elif [ «$1» = «stop» ] ; then
pm2 stop app
elif [ «$1» = «restart» ] ; then
$0 stop
sleep 5
$0 start
fi
# chmod 777 /etc/init.d/faxserver
# chkconfig faxserver on
# service faxserver start
9. Для возможности отправки факсимильных сообщений в диалплан Asterisk необходимо внести коррективы:
# nano /etc/asterisk/extensions_custom.conf
Добавим следующие контексты:
[OutgoingFaxInit]
exten => _X.,1,NoOp()
same => n,Set(GROUP()=faxout)
same => n,Set(DB(fax_group_count/${UUID})=${GROUP_COUNT(faxout)})
same => n,GotoIf($[${DB(fax_group_count/${UUID})}<=${MAX_PARALLELISM}]?call) same => n,UserEvent(Fax,uuid: ${UUID},Status: CALL SUSPENDED)
same => n,HangUp()
same => n(call),Dial(Local/${EXTEN}@OutgoingCalls)
same => n,HangUp()
exten => router,1,NoOp()
same => n,Set(__UUID=${UUID})
same => n,Set(__DATA=${DATA})
same => n,Dial(Local/fax@OutgoingFax)
same => n,HangUp()
exten => failed,1,NoOp()
same => n,GotoIf($[${DB_DELETE(fax_group_count/${UUID})}<=${MAX_PARALLELISM}]?:end)
same => n,UserEvent(Fax,uuid: ${UUID},Status: CALL PICKUP FAILED)
same => n(end),HangUp()
[OutgoingFax]
exten => fax,1,NoOp()
same => n,UserEvent(Fax,uuid: ${UUID},Status: CALL PICKUP SUCCESS);
same => n,Set(DB(fax_sendstatus/${UUID})=0)
same => n,Playback(autofax)
same => n,Set(FAXOPT(headerinfo)=Company)
same => n,Set(FAXOPT(localstationid)=XXX-XX-XX)
same => n,Set(DB(fax_sendstatus/${UUID})=1)
same => n,SendFax(${DATA})
same => n,HangUp()
exten => h,1,NoOp()
same => n,GotoIf($[${DB_DELETE(fax_sendstatus/${UUID})}]?sendstatus)
same => n,UserEvent(Fax,uuid: ${UUID},Status: FAX SEND FAILED)
same => n,Goto(end)
same => n(sendstatus),UserEvent(Fax,uuid: ${UUID},Status: FAX SEND ${FAXOPT(status)})
same => n(end),NoOp()
10. На данном шаге установка завершена и можно перейти в WEB панель для отправки факсимильных сообщений. Для этого в интернет обозревателе(Opera, Google Chrome, Firefox, Yandex Browser….) перейдём по адресу вида http://IP_сервера:9030 в нашем примере ссылка имеет вид http://192.168.170.182:8080. После перехода необходимо пройти авторизацию в соответствии с указанными данными в конфигурационном файле(п.7).
Остались вопросы?
Я - Компаниец Никита, менеджер компании 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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.