Настройка IP-телефона Fanvil BW210 для работы по протоколу IAX2

Skip to end of metadata
Go to start of metadata

Настройка IP-телефона Fanvil BW210 для работы по протоколу IAX2

Протокол IAX2 имеет ряд преимуществ перед SIP, таких как независимость от NAT, использование лишь одного UDP порта, а также то, что для Asterisk это родной протокол (Inter Asterisk eXchange). Подробнее см. здесь: Преимущества IAX2 телефонов. Телефон Fanvil BW210 поддерживает оба протокола, сейчас мы остановимся на IAX2.

Итак, приступим.

Задача

1. Сначала нам нужно сконфигурировать сервер Asterisk, создав для телефона канал IAX2.

2. Затем настроим телефон так, чтобы он мог зарегистрироваться на сервере.

3. Для проверки напишем простой диалплан, чтобы можно было сделать тестовый звонок (в нашем примере мы будем звонить на DECT телефон KIRK 300).

Теперь обо всем по порядку.

1. Конфигурация Asterisk

Для начала узнаем версию Asterisk:

# asterisk -V
Asterisk 1.4.26-rc5

Заодно получим (на всякий случай) информацию об ОС и процессоре:

# uname -a
Linux asteriskware 2.6.29-gentoo-r5 #1 SMP Tue Jul 14 18:40:29 MSD 2009 i686 Pentium(R) Dual-Core CPU E5200 @ 2.50GHz GenuineIntel GNU/Linux

Теперь зарегистрируем телефон на сервере Asterisk: для этого напишем конфигурационный файл для IAX2
- /etc/asterisk/iax.conf.

Замечание. Если вы используете дистрибутив asteriskware, то править нужно файл iax_custom.conf.

[100]
type=friend
context=test
host=dynamic
secret=1234
requirecalltoken=no

Здесь мы создаем аккаунт с именем 100 в контексте test, который может создавать и принимать вызовы (type=friend), может иметь любой сетевой адрес (host=dynamic), задаем ему пароль 1234. Строка requirecalltoken=no добавлена для совместимости, так как новые версии Asterisk используют новую версию протокола IAX, а наш телефон - старую (Подробнее см. здесь: http://www.freepbx.org/trac/ticket/3882)

Если Asterisk еще не запущен, запустим его:

# asterisk

Если же сервер уже был запущен, перезагрузим IAX2:

# asterisk -rx "iax2 reload"

На этом пока оставим сервер и перейдем ко второй части.

2. Настройка телефона

Будем считать, что телефон уже распакован, собран, подключен к локальной сети и питанию как написано в инструкции (да-да, ее таки нужно прочитать, есть одна тонкость с подключением к LAN). Также условимся, что в сети работает DHCP, чтобы не останавливаться подробно на получении IP телефоном и сервером Asterisk.

Выясним, какой адрес получил телефон. Для этого нажмите и удерживайте кнопку Sysinfo на панели телефона.

//здесь неплохо было бы вставить фотографию

В примере телефону достался адрес 192.168.0.107.

Также понадобится IP-адрес сервера Asterisk.

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:22:15:3c:c7:c2
          inet addr:192.168.0.109  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::222:15ff:fe3c:c7c2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3401 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2655 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:296427 (289.4 KiB)  TX bytes:522022 (509.7 KiB)
          Interrupt:19

Как видно, в примере сервер подключается к сети через интерфейс eth0, а 192.168.0.109
- искомый адрес.

Приступим собственно к настройке телефона. Для этого зайдем в его веб-интерфейс:

По умолчанию в телефоне используется пара "admin/admin".

Логинимся, заходим в раздел VOIP, далее на вкладку IAX2.

Заполняем поле IAX2 Server Addr (192.168.0.109 в нашем примере), Account Name
- 100, Account Password
- 1234, Phone Number
- 100, ставим галочки напротив Enable Register, и IAX2(Default Protocol).

Нажимаем APPLY. На дисплее телефона должна замигать пиктограмма IAX2
- это означает, что телефон пытается зарегистрироваться на сервере. Когда телефон зарегистрируется, пиктограмма перестанет мигать и будет гореть постоянно. Обратите внимание, что изменения настроек вступят в силу сразу же, не требуя перезагрузки телефона. Это касается большинства настроек этого аппарата, за исключением, разве что, сети.

Можно убедиться, что сервер увидел телефон, зайдя в консоль Asterisk (# asterisk -rc) и набрав команду:

asteriskware*CLI> iax2 show peers
Name/Username    Host                 Mask             Port          Status
100              192.168.0.107   (D)  255.255.255.255  4569          Unmonitored
1 iax2 peers [0 online, 0 offline, 1 unmonitored]

Теперь можно опробовать полученную систему в действии.

3. Создание диалплана и тестовый звонок

Здесь мы создадим очень простой диалплан, тем не менее достаточный для того, чтобы можно было совершать звонки между двумя IP-телефонами в сети. В принципе, можно было бы сделать и так, чтобы при звонке на определенный номер проигрывался звук и затем звонок сбрасывался, но так ведь интереснее

Вторым устройством будет DECT-телефон KIRK 300 (http://www.pbxware.ru/products/phones/DECT/KIRK-300), подключенный по протоколу SIP. Не будем останавливаться подробно на процессе его настройки, просто приведем листинг файла sip.conf.

Замечание. Если вы используете дистрибутив asteriskware, то править нужно файл sip_custom.conf.

[101]
type=friend
context=test
host=192.168.11.10

Здесь host - IP-адрес точки доступа DECT.

Теперь создадим диаллан (файл extensions.conf):

[test]
exten => 101,1,Dial(SIP/101@101)
exten => 100,1,Dial(IAX2/100)

Перезагружаем конфигурацию Asterisk:

# asterisk -rx "reload"

Готово! Теперь можно звонить с одного телефона на другой.

Набираем на Fanvil номер 101 - должен зазвонить KIRK. Вот лог Asterisk'а:

[Mar  2 18:01:21]     -- Executing [101@test:1] Dial("IAX2/100-15781", "SIP/101@101") in new stack
[Mar  2 18:01:21]     -- Called 101@101
[Mar  2 18:01:23]     -- SIP/101-082381d8 is ringing
[Mar  2 18:01:27]     -- SIP/101-082381d8 answered IAX2/100-15781
[Mar  2 18:01:32]     -- Hungup 'IAX2/100-15781'

И наоборот, набираем на KIRK'е 100 - звонит Fanvil.

[Mar  2 18:02:14]     -- Executing [100@test:1] Dial("SIP/101-b6a00468", "IAX2/100") in new stack
[Mar  2 18:02:14]     -- Called 100
[Mar  2 18:02:15]     -- Call accepted by 192.168.0.107 (format ulaw)
[Mar  2 18:02:15]     -- Format for call is ulaw
[Mar  2 18:02:15]     -- IAX2/100-5487 is ringing
[Mar  2 18:02:16]     -- IAX2/100-5487 answered SIP/101-b6a00468
[Mar  2 18:02:19]     -- Hungup 'IAX2/100-5487'

Как видно, все нормально работает в обоих случаях. Радуемся, идем пить кофе

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.