artem
17.12.2012
17202

Подключение 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>

Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments

Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

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 сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.