Подключение WiFi IP-телефона Cisco 7921G к Asterisk
Потребовалось нам обеспечить подключение IP-телефона Cisco 7921G к нашей IP-АТС. Несмотря на то, что компания Cisco почти для всех устройств выпускает и SIP-прошивки, помимо SCCP-прошивок (SCCP -проприетарный протокол компании Cisco), все-же есть несколько типов устройств, для которых SIP-прошивок нет и не будет. Это WiFi-телефоны (7920 , 7921, 7925), Конференц-станции (7935 , 7936), Дополнительные панели для телефонов (7914 , 7915) и Видеоконференцстанции (7985 ). Очевидно, что не поддерживаются как раз специфические устройства, которые далеко не всегда можно встретить в компаниях малого и среднего бизнеса.
И тем не менее, когда возникает задача подключить к Asterisk IP-телефон с закрытым протоколом, решение все-же есть.
Asterisk поддерживает протокол SCCP посредством одного из двух модулей:
- chan_skinny.so — базовый функционал SCCP. Модуль уже входит в состав Asterisk.
- chan_sccp.so — расширенный функционал SCCP. Модуль не входит в состав Asterisk, его требуется скачать с офсайта разработчиков и скомпилировать самостоятельно.
Использование модуля Skinny
Сначала посмотрим вариант с использованием skinny.
Для работы этого модуля необходимо отредактировать файл /etc/asterisk/skinny.conf. Его вид будет таким:
Структура конфигурации skinny.conf
Глобальная секция:
[general]
;port = 2000 ; Port to bind to, default tcp/2000
bindaddr = 192.168.10.10
dateFormat = D-M-Y ; M,D,Y in any order (5 chars max)
keepAlive = 100000
disallow = all
allow = ulaw
allow = alaw
Указан порт привязки, адрес (интерфейс) привязки, формат даты и keepalive. Также задаются кодеки в глобальном режиме.
Далее указываются линии, которые позже будут привязываться к аппаратам.
[lines] [707] callerid=«707» <707> — как будет определяться на другом аппарате context=from-internal — контекст, в котором будут обрабатываться звонки, поступающие с телефона Cisco 7921 на Asterisk.
Секция, в которой задаются физические аппараты
[devices] [Grushko_Phone] — название конкретного аппарата device=SEP0022453E82BD — указываем МАС, по которому станция будет идентифицировать устройство callwaiting=yes — возможность приема более одного вызова одновременно context = from-internal -контекст linelabel ≥ test — название линии line ≥ 707 — номер ранее сконфигуренной линии.
На DHCP сервере должен быть указан TFTP сервер с помощью опций 66 и 150, по которым Ваш телефон определит, кто является сервером TFTP и телефонии (в случае, если не будет обнаружен конфиг).
Перегружаем модуль skinny, чтобы он обновил конфигурацию:
vox*CLI> skinny reload [2012-07-28 06:02:50] NOTICE[17260]: chan_skinny.c:7214 config_load: Configuring skinny from skinny.conf == Parsing '/etc/asterisk/skinny.conf': == Found [2012-07-28 06:02:50] NOTICE[17260]: chan_skinny.c:7064 config_line: Configuring skinny line 707. — Updated config for line '707' [2012-07-28 06:02:50] NOTICE[17260]: chan_skinny.c:7124 config_device: Configuring skinny device 7921. — Updated config for device '7921' — Removing device '7921' — Restarting device '7921'
Перезапускаем телефон, проверяем, что он обращается к TFTP и смотрим в консоль Asterisk чтобы убедиться что телефон подключается, заранее проверяя корректность настройки:
vox*CLI> skinny show settings
Global Settings:
Skinny Port: 2000
Bindaddress: 192.168.10.10
KeepAlive: 100000
Date Format: D-M-Y
Voice Mail Extension: (not set)
Reg. context:
Jitterbuffer enabled: No
Момент регистрации увидим по таким сообщениям:
— Skinny mwi_event_cb found 0 new messages
— Device ‘SEP0021553E82BD’ successfully registered
Device capability set to ‘0xc (ulaw|alaw)’
Adding button: 9, 1
— Starting Skinny session from 192.168.10.139
vox*CLI>
Проверяем подключенные линии:
vox*CLI> skinny show lines
Name Device Name Instance Label
——————— ——————— ——— ———————
707 Grushko_Phone 1
vox*CLI>
Делаем тестовый звонок, убеждаемся, что голос идет в обе стороны.
Экспериментальным путем было установлено, что голос идет далеко не на всех прошивках. При тестах рабочей оказалась только CP7921G-1.1.1. Скачать её можно здесь. На других прошивках (CP7921G-1.3.2.TRAN, CP7921G-1.4.2) голос работать отказывался, хотя сигнальная часть вела себя более-менее корректно.
Обновление прошивки для Cisco 7921G.
Процедура обновления (firmware upgrade) прошивки для Cisco 7921G происходит следующим образом:
- На DHCP-сервере добавляем опции 150 и 66, ссылающиеся на TFTP-сервер
- На TFTP-сервере в его корень распаковываем содержимое архива с прошивкой.
- Создаем файл SEP001122334455.cnf.xml (вместо цифр — MAC). Содержимое — чуть ниже.
- Перезапускаем телефон, контролируем процесс обновления.
- После того как телефон обновился, заходим в Settings — Status — Firmware Version
Файл SEP001122334455.cnf.xml:
<device> <devicePool> <callManagerGroup> <members> <member priority=«0»> <callManager> <ports> <ethernetPhonePort>2000</ethernetPhonePort> </ports> <processNodeName>192.168.10.10</processNodeName> </callManager> </member> </members> </callManagerGroup> </devicePool> <versionStamp>{Jan 01 2002 00:00:00}</versionStamp> <loadInformation>CP7921G-1.1.1</loadInformation> — строка, где указываем файл из прошивки. <userLocale> <name>English_United_States</name> <langCode>en</langCode> </userLocale> <networkLocale>United_States</networkLocale> <idleTimeout>0</idleTimeout> <authenticationURL></authenticationURL> <directoryURL></directoryURL> <idleURL></idleURL> <informationURL></informationURL> <messagesURL></messagesURL> <proxyServerURL></proxyServerURL> <servicesURL></servicesURL> </device>
Остались вопросы?
Я - Виталий Шелест, менеджер компании 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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.