artem
17.12.2012
13929

Подключение WiFi IP-телефона Cisco 7921G к Asterisk

И тем не менее, когда возникает задача подключить к 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>

 
avatar
  Подписаться  
Уведомление о

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

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

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

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

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

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices