Обзор и конфигурирование SIP провиженинг сервера Sonata
Для оптимально быстрой настройки телефонных аппаратов, производителями предусмотрен механизм автонастройки по протоколу HTTP, в рамках данной статьи будет рассмотрено конфигурирование и использование провижининг сервера Sonata. Поддерживаемые вендоры:1) Audiocodes2) Fanvil3) Grandstream4) Panasonic5) Snom6) Yealink 1. Выполним подключение по SSH к серверу IP АТС Asterisk. В зависимости от используемой системы(Windows, Linux, MacOS), подключение по SSH можно выполнить […]
Для оптимально быстрой настройки телефонных аппаратов, производителями предусмотрен механизм автонастройки по протоколу HTTP, в рамках данной статьи будет рассмотрено конфигурирование и использование провижининг сервера Sonata.
Поддерживаемые вендоры:
1) Audiocodes
2) Fanvil
3) Grandstream
4) Panasonic
5) Snom
6) Yealink
1. Выполним подключение по SSH к серверу IP АТС Asterisk. В зависимости от используемой системы(Windows, Linux, MacOS), подключение по SSH можно выполнить с использованием различного дополнительного программного обеспечения(Putty), либо системного терминала.
2. Прежде чем приступить к развертыванию сервера провижининга, необходимо установить ряд дополнительных пакетов. Выполним установку MongoDB:
Подключим репозиторий:
# nano /etc/yum.repos.d/mongodb-org.repo
Приведем файл к виду:
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Выполним установку:
# yum install mongodb-org
Добавим в автозагрузку:
# systemctl enable mongod
Выполним запуск:
# systemctl start mongod
3. Выполним установку NodeJS
Подключим репозиторий NodeJS v10
# curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
Выполним установку Node.js v10 LTS
# yum install nodejs
4. Развертывание Sonata сервера провижининга
# cd /opt
# git clone https://github.com/antirek/sonata.git
# cd /opt/sonata
Установка дополнительных зависимостей NodeJS
# npm install
5. Выполним первый тестовый запуск провижининг сервера
# node /opt/sonata/index.js
Если запуск прошел без ошибок как на скриншоте ниже, то можно перейти к следующему шагу по рассмотрению API методов Sonata
6. Для более наглядной работы с API методами выполним установку интерактивной консоли Swagger-UI
# yum install docker
# systemctl start docker
# docker pull swaggerapi/swagger-ui
# docker run -p 8888:8080 swaggerapi/swagger-ui
7. Перейдем в интернет обозревателе(Chrome, Firefox, Opera, Yandex Browser….) на страницу вида http://192.168.170.107:8888/, где 192.168.170.107 это IP адрес сервера на который производилась установка Swagger-UI. После загрузки страницы интерактивной консоли Swagger-UI, в строке обращения пропишем ссылку на API управления сервер провиженинга Sonata вида http://192.168.170.107:3021/v1/api, где 192.168.170.107 это IP адрес сервера на который производилась установка Sonata.
8. Для добавления устройства и создания конфигурационного файла провижининга необходимо отправить POST запрос следующего вида:
{
"key": "keyvoxlink",
"token": "tokenvoxlink",
"model": "c58",
"vendor": "fanvil",
"mac": "0c383e07aa44",
"timezone_offset": "GMT+03",
"ntp_server": "pool.ntp.org",
"status": true,
"accounts": [
{
"name": "101",
"line": 1,
"sip_register": "192.168.170.107",
"sip_name": "101",
"sip_user": "101",
"sip_password": "101101",
"sip_auth": "101"
}
]
}
где ключевыми параметрами для редактирования является:
key – индивидуальный ключ аппарата для получения конфига
token — общий токен для получения конфига
model — модель телефонного аппарата
vendor — производитель телефонного аппарата
mac— MAC адрес телефонного аппарата
timezone_offset — часовой пояс
ntp_server — сервер синхронизации времени
name — имя отображаемое на экране телефонного аппарата
line — номер используемой линии
sip_register — адрес сервера АТС
sip_name, sip_user, sip_auth — регистрируемый внутренний номер(SIP_ID)
sip_password – пароль регистрации внутреннего номера
Формат Curl запроса из консоли:
curl -X POST "http://192.168.170.107:3021/v1/device" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"key\": \"keyvoxlink\", \"token\": \"tokenvoxlink\", \"model\": \"c58\", \"vendor\": \"fanvil\", \"mac\": \"0c383e07aa44\", \"timezone_offset\": \"GMT+03\", \"ntp_server\": \"pool.ntp.org\", \"status\": true, \"accounts\": [ { \"name\": \"101\", \"line\": 1, \"sip_register\": \"192.168.170.107\", \"sip_name\": \"101\", \"sip_user\": \"101\", \"sip_password\": \"101101\", \"sip_auth\": \"101\" } ]}"
Для проверки наличия конфигураций для телефонного аппарата необходимо отправить GET запрос с индивидуальным ключом
Формат Curl запроса из консоли:
curl -X GET "http://192.168.170.107:3021/v1/device/keyvoxlink" -H "accept: application/json"
9. Для удаления конфигураций телефонного аппарата необходимо отправить DELETE запрос с индивидуальным ключом
Формат Curl запроса из консоли:
curl -X DELETE "http://192.168.170.107:3021/v1/device/keyvoxlink" -H "accept: application/json"
10. И рассмотрим самый важный момент, как применить сгенерированные конфигурации на аппарате. На примере Fanvil C62, пройдем авторизацию в WEB интерфейсе управления телефонным аппаратом и перейдем в раздел Maintenance → Auto Provision → Phone Flash Settings и отредактируем следующие поля:
Server Address – сервер провиженинга (в рамках данной статьи http://192.168.170.107:3020/v1/token/tokenvoxlink/, где 192.168.170.107 – IP адрес сервера на который производилась установка Sonata, tokenvoxlink — общий токен для получения конфига)
Protocol Type – протокол для провижининга(необходимо выбрать HTTP)
Update Mode – режим запроса конфигурационного файла(выберем «после перезагрузки»)
11. Выполним перезагрузку телефонного аппарата и в Swagger-UI или в консоли с помощью Curl запроса можем проверить были ли запросы к серверу провижининга:
curl -X GET "http://192.168.170.107:3021/v1/log/request/tokenvoxlink" -H "accept: application/json"
Успешным результатом провижининга будет успешная регистрация SIP линии:
Остались вопросы?
Я - Кондрашин Игорь, менеджер компании 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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.