Астериск + Freepbx + 7937G

Всем привет! На днях мне пришлось очень быстро решить проблему дружбы Asterisk+FreePBX+Cisco 7937G. Думаю, не все сразу вспомнят, что такое 7937G, напомню — это конференц-станция от Cisco.

Астериск + FreePBX + 7937G

У нее есть 2 «маленькие особенности»:

  • Работает только с SCCP
  • Питание через PoE
Сразу оговорюсь: пример ниже делался на CentOS 5.8 (i386).

Приступим к настройке: tftp (необязательно, если не установлен)

 
 yum install tftp-server.i386
 chkconfig  xinetd on
 chmod  777  /tftpboot
 service xinetd start
 
В каталоге /tftpboot необходимо создать файл XMLDefault.cnf.xml:
 
 
 <Default>
   <callManagerGroup>
      <members>
         <member priority="0">
            <callManager>
               <ports>
                  <ethernetPhonePort>2000</ethernetPhonePort>
                  <mgcpPorts>
                     <listen>2427</listen>
                     <keepAlive>2428</keepAlive>
                  </mgcpPorts>
               </ports>
               <processNodeName></processNodeName>
            </callManager>
         </member>
      </members>
   </callManagerGroup>
 <loadInformation431 model="Cisco Phone 7937">apps37sccp.1-4-1-0</loadInformation431>
   <authenticationURL></authenticationURL>
   <directoryURL></directoryURL>
   <idleURL></idleURL>
   <informationURL></informationURL>
   <messagesURL></messagesURL>
   <servicesURL></servicesURL>
 </Default>
 
 
Здесь очень важно указать правильную версию аппаратного ПО, в моем случае apps37sccp.1-4-1-0 .

Вы можете просмотреть версию программного обеспечения, войдя в систему 7937G через Интернет. Звездочка По умолчанию в Asterisk нет поддержки SCCP (поддерживается chan_skinny, но очень хотелось сделать на SCCP), лучше собрать, а не отправлять через RPM:

 
 wget  http://downloads.sourceforge.net/project/chan-sccp-b/V3/Chan_SCCP-3.1.2_STABLE.tar.gz 
 tar zxf Chan_SCCP-3.1.2_STABLE.tar.gz 
 cd Chan_SCCP-3.1.2_STABLE/
 make clean
 .

/configure make && make install

Давайте включим загрузку chan_sccp.so при загрузке Asterisk:
 nano /etc/asterisk/modules.conf
Добавьте строки:
 
 noload => chan_skinny.so
 load => chan_sccp.so
 load => res_features.so
 
После этого настраиваем sccp.conf в /etc/asterisk (я сделал минимальный конфиг, оставив все необходимое):
 
 
 ;=========================================================================================
 ;
 ; general definitions
 ;
 ;=========================================================================================
 [general]
 servername = MyOfficePBX
 keepalive = 60
 debug = 0
 context = from-internal-xfer
 dateformat = D.M.Y
 bindaddr = 0.0.0.0
 port = 2000
 disallow=all
 allow=alaw
 allow=ulaw
 allow=g729
 firstdigittimeout = 16
 digittimeout = 8
 autoanswer_ring_time = 1
 autoanswer_tone = 0x32
 remotehangup_tone = 0x32
 transfer_tone = 0
 callwaiting_tone = 0x2d
 musicclass=default
 language=en
 deny=0.0.0.0/0.0.0.0
 permit=10.10.1.0/255.255.255.0
 dnd = on
 sccp_tos = 0x68
 sccp_cos = 4
 audio_tos = 0xB8
 audio_cos = 6
 video_tos = 0x88
 video_cos = 5
 echocancel = on
 silencesuppression = off
 trustphoneip = no
 private = on
 callanswerorder=oldestfirst
 protocolversion=17
 
 hotline_enabled=yes ;can devices without configuration register
 hotline_context=from-internal-xfer ; context for hotline
 hotline_extension=11111 ; extension will be dialed on offHook
 
 ;=========================================================================================
 ;
 ; actual definitions
 ;
 ;=========================================================================================
 
 [SEPXXXXXXXXXXXX] ; MAC of 7937G
 description = Conference Room
 devicetype = 7937
 type = device
 button = line, 200
 deny=0.0.0.0/0.0.0.0                                    ; Same as general
 permit=10.10.1.0/255.255.255.0                   ; Same as general
 imageversion = apps37sccp.1-4-1-0
 pickupcontext = from-internal-xfer
 tzoffset = +0
 transfer = on
 trustphoneip = no
 directrtp=off
 earlyrtp = progress
 private = on
 mwilamp = on
 mwioncall = off
 setvar=testvar=value
 cfwdall = on
 imageversion = apps37sccp.1-4-1-0
 
 
 [310]
 id = 1001
 type = line
 label = Phone 200
 description = Line 200
 cid_name = CONFROOM
 cid_num = 200
 echocancel = off
 context = from-internal-xfer
 transfer = on
 vmnum = 600
 trnsfvm = 1000
 secondary_dialtone_digits = 9
 secondary_dialtone_tone = 0x22
 musicclass=default
 language=en
 echocancel = on
 silencesuppression = off
 
 
Дам очень сокращенное описание: указано 3 раздела [general] - глобальная конфигурация драйвера канала, [SEPXXXXXXXXXXXX] - конфигурация оборудования, [310] - конфигурация линии.

Обратите внимание, что SEPXXXXXXXXXXXX также легко доступен через веб-сайт 7937. Настоятельно рекомендуется перезапустить ядро asterisk после создания конфигурации (перезапустить ядро сейчас).

После этого вы можете запросить:

 
 
 pbx*CLI> sccp show version 
 Skinny Client Control Protocol (SCCP).

Release: 3.1.2 STABLE pbx*CLI> sccp show devices NAME ADDRESS MAC Reg. State Reg. Time ======================================== ========================== ================ ========== ========================= Conference Room -- :0 SEPXXXXXXXXXXXX None Sat Mar 24 17:29:55 2012

Бесплатная АТС Для полной интеграции 7937G с FreePBX необходимо создать (прописать) во FreePBX то, что мы определили в конфигах.

Создайте новое расширение: Расширения-> Другое (кастомное) устройство: Расширение пользователя: 200 Отображаемое имя: Конференц-зал SIP-псевдоним: 200 циферблат: SCCP/200 (предоставляется минимальный и достаточный набор полей для заполнения) Сиско 7379G Здесь все довольно просто, вам нужно с помощью кнопок задать настройки сети (IP-адрес, маска, шлюз) и IP-адрес tftp-сервера.

Оговорюсь, изменение настроек заблокировано (стоит закрытый замок) и перед началом настройки нужно ввести **#, чтобы разблокировать.

Вот и все! Ссылки: Звездочка FreePPX Сиско 7937G PS: По традиции: это мой первый пост, не бейте слишком сильно))) Теги: #asterisk #7937G #Разработка систем связи

Вместе с данным постом часто просматривают: