Курсы по использованию Asterisk

IP-телефония — технология будущего. Обучитесь работе с IP-АТС Asterisk для того чтобы внедрить и профессионально использовать при решении коммуникационных задач.

Работайте с Asterisk профессионально!

Многоуровневая защита IP-АТС Asterisk

Телефонные станции очень часто становятся объектами хакерских атак. Узнайте, каким образом необходимо строить многоуровневую защиту для Вашей IP-АТС.

Не оставьте хакерам шансов. Защитите свой Asterisk от атак.

Используйте Веб-Интерфейс для удобства настройки

Панель управление FreePBX позволяет легко и удобно управлять всей системой. Научитесь эффективно использовать FreePBX для решения своих задач.

Управление станцией и статистика в окне браузера.

Научитесь работать с Asterisk из консоли

Для понимания работы с Asterisk необходимо уметь настраивать его вручную с конфигурационными файлами и командной строкой CLI Asterisk.

Научитесь «тонкой» настройке Asterisk

Цель курсов - максимум практики.

Обучение нацелено на практическую работу с IP-оборудованием: платы потоков E1, VoIP-телефонные аппараты, голосовые шлюзы FXS и прочее.

Обучение на реальном оборудовании — залог успеха.

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

База знаний Настройка IP-телефонов Cisco

Потребовалось нам обеспечить подключение 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>



sccp, wifi, asterisk, сервер, IP-телефоны, телефоны, Cisco