ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Возникла необходимость настроить телефон Cisco Unified IP Phone 7931G для работы по протоколу SIP и подключению его к серверу с Asterisk.

Ранее я не имела опыта по настройке данных аппаратов и пришлось разбираться с нуля.

Итак у нас имеется аппарат, который штатно работает по протоколу SCCP (Skinny Client Control Protocol, проприетарный протокол Cisco).
Первостепенная задача — перепрошить телефон SIP прошивкой, взятой с официального сайта.

На сайте есть прошивка версии 9+ и я сначала поставила ее, но возникли проблемы с конфигом. Примеров конфигурационного файла для 9ой версии в Инете не нашлось и телефон отказывался работать (даже с сокращенным до минимума конфигом для прошивок версии 8) я решила откатиться до версии 8.5(3)SR1 как самой популярной по мануалам из разных источников.

Для настройки телефона нам понадобится:

  • DHCP сервер
  • tftp сервер

В моем случае — все делалось на рабочей станции под OS FreeBSD.
IP-адрес машины для внутренней сети — 10.20.1.1/24
Если вдруг Ваш телефон не настроен на DHCP, то это можно изменить через меню телефона. Надо разблокировать возможность менять настройки комбинацией клавиш **#, и, покопавшись в не сильно просторном меню, выставить искомый параметр.

Для запуска tftp требуется расскоментировать (или добавить) строчку в /etc/inetd.conf
tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpboot

Создать директорию в корне (если она отсутствует):
#mkdir /tftpboot

Установить права доступа на эту директорию:
#chown -R nobody:nogroup /tftpboot

Далее запустить
#/etc/rc.d/inetd onestart

Для автозапуска, после перезагрузки системы, добавить в /etc/rc.conf:
inetd_enable=”YES”

Проверяем, запустился ли демон inetd:
#sockstat | grep :69
root inetd 1094 5 udp4 *:69 *:*

Настраиваем DHCP. Установила из портов сервер isc-dhcp42-server:
#cd /usr/ports/net/isc-dhcp42-server/
#make install clean

Далее правим конфиг DHCP и добавляем DHCP Option 66 и Option 150:
#ee /usr/local/etc/dhcpd.conf

option voip-tftp-server code 150 = { ip-address };
subnet 10.20.1.0 netmask 255.255.255.0 {
      ...skiped...
      option tftp-server-name "10.20.1.1";
      option voip-tftp-server "10.20.1.1";
      ...skiped...
}

Cisco Systems использует нестандартную опцию в DHCP – option 150 (проприетарная опция) для настройки своих аппаратов. Опция 66 — ее аналог.

Тоже самое можно сделать и на микротике, для этого в настройки DHCP сервера нужно добавить:
/ip dhcp-server option
add code=66 name=tftp66 value=»‘IP tftp‘»
add code=150 name=tftp150 value=»‘IP tftp’”

Где IP tftp это IP-адрес нашего TFTP сервера. Пишем его в одинарных кавычках, если добавлять через винбокс, а если через консоль, то в одинарных, а потом в двойных.

/ip dhcp-server network
add address=Network/mask dhcp-option=tftp66,tftp150 dns-server=DNS1,DNS2 gateway=IP-router netmask=24

В папку /tftpboot выкладываем файлы из скаченного архива с прошивкой.
Список файлов:

  • SIP31.8-5-3SR1S.loads
  • apps31.8-5-3ES4.sbn
  • cnu31.8-5-3ES4.sbn
  • cvm31sip.8-5-3ES4.sbn
  • dsp31.8-5-3ES4.sbn
  • jar31sip.8-5-3ES4.sbn
  • term31.default.loads

На этом приготовления окончены и мы приступаем к самому процессу.

Необходимо удалить с телефона старую прошивку. Для этого:

  • отключаем телефон от питания
  • включаем держа клавишу # до тех пор пока программируемые кнопки не начнут мигать по очереди оранжевым светом
  • отпускаем кнопку и вводим на телефоне код: 3491672850*#

Телефон должен начать мигать кнопками, красным цветом. Это значит процесс стирания старой прошивки пошел. Затем телефон выключается и визуально не видно, делает ли он что-либо. Следует спокойно подождать 3-5 минут.

А пока я смотрела в tcpdump трафика на интерфейсе в сторону телефона и логи tftp-сервера,  чтобы убедиться что есть обращения от телефона к DHCP и получения файлов по TFTP.

Итак телефон прошился новой прошивкой и загружается. Для его дальнейшей работы в /tftpboot нам требуется создать конфигурационный файл телефона в формате XML, который должен иметь название вида: SEP000000000000.cnf.xml
Где 000000000000 – МАС-адрес телефона, который написан на нем на наклейке сзади.

Содержимое конфигурационного файла (наиболее интересные строки, на которые стоит обратить внимание, выделены синим):


<device>
<fullConfig>true</fullConfig>
 <deviceProtocol>SIP</deviceProtocol>
 <sshAccess>0</sshAccess>
 <sshPort>22</sshPort>
 <sshUserId>cisco</sshUserId>
 <sshPassword>cisco</sshPassword>
 <devicePool>

<dateTimeSetting>
 <dateTemplate>D.M.Y</dateTemplate>
 <timeZone>Russian Standard/Daylight Time</timeZone>
 <ntps>
 <ntp>
 <name>IP-address-ntp</name>
 <ntpMode>Unicast</ntpMode>
 </ntp>
 </ntps>
</dateTimeSetting>

<callManagerGroup>
 <tftpDefault>true</tftpDefault>
 <members>
 <member priority="0">
 <callManager>
 <name></name>
 <description></description>
 <ports>
 <ethernetPhonePort>2000</ethernetPhonePort>
 <sipPort>5060</sipPort>
 <securedSipPort>5061</securedSipPort>
 </ports>
<processNodeName>DNS-name-or-IP-address-Asterisk-server</processNodeName>
 </callManager>
 </member>
 </members>
 </callManagerGroup>
 </devicePool>

<commonProfile>
 <phonePassword></phonePassword>
 <backgroundImageAccess>true</backgroundImageAccess>
 <callLogBlfEnabled>0</callLogBlfEnabled>
 </commonProfile>
 <loadInformation>SIP31.8-5-3SR1S</loadInformation>
  <loadInformation434 model="Cisco 7931">SIP31.8-5-3SR1S</loadInformation434>
 <vendorConfig>
 <disableSpeaker>false</disableSpeaker>
 <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
 <pcPort>0</pcPort>
 <settingsAccess>1</settingsAccess>
 <garp>0</garp>
<voiceVlanAccess>0</voiceVlanAccess>
 <videoCapability>0</videoCapability>
 <autoSelectLineEnable>0</autoSelectLineEnable>
 <daysDisplayNotActive>1,7</daysDisplayNotActive>
 <displayOnTime>10:30</displayOnTime>
 <displayOnDuration>06:05</displayOnDuration>
 <displayIdleTimeout>00:05</displayIdleTimeout>
 <webAccess>0</webAccess>
 <spanToPCPort>1</spanToPCPort>
 <loggingDisplay>1</loggingDisplay>
 <loadServer></loadServer>
</vendorConfig>

<userLocale>
 <name>Russian_Federation</name>
 <uid></uid>
 <langCode>en_En</langCode>
 <version>SIP31.8-5-3SR1S</version>
  <winCharSet>utf-8</winCharSet>
 </userLocale>
 <networkLocale>Russian_Federation</networkLocale>
 <networkLocaleInfo>
 <name>Russian_Federation</name>
 <uid></uid>
 <version>SIP31.8-5-3SR41S</version>
 </networkLocaleInfo>

<deviceSecurityMode>1</deviceSecurityMode>
 <idleTimeout>0</idleTimeout>
 <directoryURL></directoryURL>
 <servicesURL></servicesURL>
 <idleURL></idleURL>
 <messagesURL></messagesURL>
 <proxyServerURL></proxyServerURL>
 <dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
 <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
 <dscpForCm2Dvce>96</dscpForCm2Dvce>
 <transportLayerProtocol>2</transportLayerProtocol>
 <capfAuthMode>0</capfAuthMode>
 <capfList>
 <capf>
 <phonePort>3804</phonePort>
 </capf>
 </capfList>
 <certHash></certHash>
<encrConfig>false</encrConfig>
 <sipProfile>
 <sipProxies>
 <backupProxy></backupProxy>
 <backupProxyPort></backupProxyPort>
 <emergencyProxy></emergencyProxy>
 <emergencyProxyPort></emergencyProxyPort>
 <outboundProxy></outboundProxy>
  <outboundProxyPort></outboundProxyPort>
  <registerWithProxy>true</registerWithProxy>
 </sipProxies>
 <sipCallFeatures>
 <cnfJoinEnabled>true</cnfJoinEnabled>
 <callForwardURI>x--serviceuri-cfwdall</callForwardURI>
 <callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
 <callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
 <callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
 <meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
 <abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
 <rfc2543Hold>false</rfc2543Hold>
<callHoldRingback>2</callHoldRingback>
 <localCfwdEnable>false</localCfwdEnable>
 <semiAttendedTransfer>false</semiAttendedTransfer>
 <anonymousCallBlock>2</anonymousCallBlock>
 <callerIdBlocking>2</callerIdBlocking>
 <dndControl>0</dndControl>
 <remoteCcEnable>true</remoteCcEnable>
 </sipCallFeatures>
 <sipStack>
 <sipInviteRetx>6</sipInviteRetx>
 <sipRetx>10</sipRetx>
 <timerInviteExpires>180</timerInviteExpires>
 <timerRegisterExpires>300</timerRegisterExpires>
 <timerRegisterDelta>5</timerRegisterDelta>
 <timerKeepAliveExpires>120</timerKeepAliveExpires>
 <timerSubscribeExpires>120</timerSubscribeExpires>
<timerSubscribeDelta>5</timerSubscribeDelta>
 <timerT1>500</timerT1>
 <timerT2>4000</timerT2>
 <maxRedirects>70</maxRedirects>
 <remotePartyID>false</remotePartyID>
 <userInfo>None</userInfo>
 </sipStack>

<autoAnswerTimer>1</autoAnswerTimer>
 <autoAnswerAltBehavior>false</autoAnswerAltBehavior>
 <autoAnswerOverride>true</autoAnswerOverride>
 <transferOnhookEnabled>false</transferOnhookEnabled>
 <enableVad>false</enableVad>
 <preferredCodec>g711alaw</preferredCodec>
 <dtmfAvtPayload>101</dtmfAvtPayload>
 <dtmfDbLevel>3</dtmfDbLevel>
 <dtmfOutofBand>avt</dtmfOutofBand>
 <alwaysUsePrimeLine>false</alwaysUsePrimeLine>
 <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
 <kpml>3</kpml>
 <stutterMsgWaiting>1</stutterMsgWaiting>
<callStats>true</callStats>
 <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
 <disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
 <startMediaPort>16100</startMediaPort>
 <stopMediaPort>19300</stopMediaPort>
 <voipControlPort>5061</voipControlPort>
 <dscpForAudio>184</dscpForAudio>
 <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
 <dialTemplate></dialTemplate>
 <phoneLabel>301</phoneLabel>

<natReceivedProcessing>false</natReceivedProcessing>
<natEnabled>false</natEnabled>
<natAddress></natAddress>

<sipLines>
 <line button="1">
 <featureID>9</featureID>
<featureLabel>Number</featureLabel>
 <proxy>DNS-name-or-IP-address-Asterisk-server</proxy>
 <port>5060</port>
  <name>SIP-account-number</name>
  <displayName>SIP-account-number-or-Name</displayName>
 <autoAnswer>
 <autoAnswerEnabled>2</autoAnswerEnabled>
 </autoAnswer>
 <callWaiting>3</callWaiting>
 <authName>SIP-account-auth-name</authName>
  <authPassword>SIP-password</authPassword>
 <sharedLine>false</sharedLine>
 <messageWaitingLampPolicy>3</messageWaitingLampPolicy>
 <messagesNumber></messagesNumber>
 <ringSettingIdle>4</ringSettingIdle>
 <ringSettingActive>5</ringSettingActive>
 <contact>SIP-account-number</contact>
 <forwardCallInfoDisplay>
<callerName>true</callerName>
 <callerNumber>false</callerNumber>
 <redirectedNumber>false</redirectedNumber>
 <dialedNumber>true</dialedNumber>
 </forwardCallInfoDisplay>
 </line>
 <line button="2">
 <featureID>21</featureID>
 <featureLabel>Name</featureLabel>
 <speedDialNumber>Number</speedDialNumber>
 </line>
 </sipLines>
 </sipProfile>
 </device>

Следует отметить, что если телефон не принимает конфигурационный файл, например из-за наличия ошибок в нем, то он будет отображать на экране состояние «Unprovisioned» и каждые 30 секунд обращаться к tftp-серверу, пытаясь вновь скачать конфигурационный файл (вдруг, на этот раз он не будет содержать ошибок). Эти попытки прекрасно видны по tcpdump`у и в логах TFTP.
Для проверки корректности XML синтаксиса конфигурационного файла мне дали хороший совет: просто открыть файл конфига браузером. Лично мне это помогло, помогло осознать почему конфиг не принимается, а так же браузер точно указал в каком именно месте ошибка синтаксиса.

Пробежимся по настройкам:
dateTemplate — формат День — Месяц — Год.
timeZone — Временные зоны, например, перечислены тут
loadInformation — Версия прошивки, которую брать. Должно совпадать с названием файла .loads
phoneLabel — в правом верхнем углу будет висеть этот лейбл. Не длинее 12 символов.
preferredCodec — голосовой кодек, который будет использовать телефон

webAccess — Включение WEB-сервера на телефона. Обратите внимание, что для включение веб-интерфейса необходимо установить значение параметра в ноль.
sshAccess — Тоже самое касается ssh доступа на устройство.

Причем основная часть инструкций считает достаточным ввести 2 строки с UserID и Password для работы сервиса ssh, некоторые источники указывают еще верхние 2, и поясняют их актуальность только для версий прошивки старше 8.5.1. У меня не получилось подключиться по ssh ни в одном из найденных мной версий написания этих параметров.

Настройки сети:
registerWithProxy — для регистрации SIP линий
natEnable — ставим «true» если телефон находится за NAT
Если natEnable в «true», то телефону необходимо знать внешний IP-адрес NAT`а. Для этого есть две опции:

  • natReceivedProcessing — внешний IP-адрес будет автоматически браться из поля VIA (received=XXX.XXX.XXX.XXX) SIP-пакета 200 ОК полученный от сервера в ответ на пакет REGISTER от телефона, вместо поля Contact
  • natAddress — явное указание внешнего IP адрес NAT`a

При работе за NAT`ом выбрала установку natReceivedProcessing, а natAddress оставила пустым:

<natReceivedProcessing>true</natReceivedProcessing>
<natEnabled>true</natEnabled>
<natAddress></natAddress>

Указание диапазона RTP портов:

  • startMediaPort
  • stopMediaPort

voipControlPort — если значение пустое, то по умолчанию порт 5060. Обратите внимание, что в зависимости от значения параметра natEnabled поведение разное.
Если natEnabled «false», то этот порт используется в кач-ве SRC порта для отправки SIP пакетов. Если natEnabled «true», то телефон будет отправлять пакеты с непривилегированных портов, а на этом порту будет ожидать ОТВЕТЫ от SIP-сервера.
Таким образом, при установке телефона за NAT и без дополнительной настройки шлюза (проброс порта) он работать не будет.
Изыскания на эту тему написаны в топике «Cisco 7931g SIP» на forum.asterisk.ru:

1.1.1.16 — сервер
10.10.1.153 — Cisco 7931G

11:12:05.794376 IP (tos 0x60, ttl 64, id 249, offset 0, flags [none], proto UDP (17), length 609)
    10.10.1.153.49287 > 1.1.1.16.5060: SIP, length: 581
        REGISTER sip:1.1.1.16 SIP/2.0
        Via: SIP/2.0/UDP 10.10.1.153:5060;branch=z9hG4bKb92b2996
        From: <sip:7896@1.1.1.16>;tag=5cfc665d4f9a00100ee171b2-9eb423e6
        To: <sip:7896@1.1.1.16>
        Call-ID: 5cfc665d-4f9a0002-b7a3ced0-c1c67a5a@10.10.1.153
        Max-Forwards: 70
        Date: Tue, 01 Jun 2010 06:05:18 GMT
        CSeq: 110 REGISTER
        User-Agent: Cisco-CP7931G/8.5.3
        Contact: <sip:7896@10.10.1.153:5060;transport=udp>;+sip.instance="";+u.sip!model.ccm.cisco.com="348"
        Supported: (null),X-cisco-xsi-7.0.1
        Content-Length: 0
        Expires: 300

11:12:05.831242 IP (tos 0x0, ttl 60, id 57479, offset 0, flags [none], proto UDP (17), length 588, bad cksum 0 (->8afc)!)
    1.1.1.16.5060 > 10.10.1.153.49287: SIP, length: 560
        SIP/2.0 401 Unauthorized
        Via: SIP/2.0/UDP 10.10.1.153:5060;branch=z9hG4bKb92b2996;received=1.1.1.16;rport=49287
        From: <sip:7896@1.1.1.16>;tag=5cfc665d4f9a00100ee171b2-9eb423e6
        To: <sip:7896@1.1.1.16>;tag=as35525338
        Call-ID: 5cfc665d-4f9a0002-b7a3ced0-c1c67a5a@10.10.1.153
        CSeq: 110 REGISTER
        Server: sip8.domain.com
        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
        Supported: replaces, timer
        WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="070714aa"
        Content-Length: 0

После чего телефон утверждает udp port 49287 unreachable:

11:12:05.832048 IP (tos 0x0, ttl 64, id 250, offset 0, flags [none], proto ICMP (1), length 56)
10.10.1.153 > 1.1.1.16: ICMP 10.10.1.153 udp port 49287 unreachable, length 36
IP (tos 0x0, ttl 60, id 57479, offset 0, flags [none], proto UDP (17), length 588)
1.1.1.16.5060 > 10.10.1.153.49287: SIP, length: 560
[|sip]

….SKIPED….

Снова попробовал через NAT и наконец разобрался.
Могу сказать, что в предыдущий раз, это я ОЛЕНЬ (правда не пойму как так получилось), но судя по дампу, и наличию «rport» в конце строки VIA на которую я не обратил внимания, в пире в этот момент точно стояло nat=yes, а не nat=no.

Установил nat=no на стороне Asterisk, в конфиге телефона:

<voipControlPort>5061</voipControlPort>
<natReceivedProcessing>true</natReceivedProcessing>
<natEnabled>true</natEnabled>
<natAddress></natAddress>

И… и это не взлетело, но на этот раз причина ясна:

  • 1.1.68.16 — Asterisk
  • 1.1.68.72 — IPшник NAT`а
  • 10.10.1.153 — IPшник телефона

Прохождение пакета REGISTER от телефона: 10.10.1.153.49845 > 1.1.68.72.49845 > 1.1.68.16.5060 (поле Contact: <sip:7896@1.1.68.72:5061;transport=udp>)
Прохождение ответного пакета 401 Unauthorized: 1.1.68.16.5060 > 1.1.68.72.5061
Пакет доезжает до 1.1.68.72, но не проходит к 10.10.1.153 т.к. в таблице NAT трансляций отсутствует запись о 10.10.1.153:5061, т.к. изначальный пакет 10.10.1.153.49845, посему пакет просто отбрасывается.

Соответственно становится логично, что если сделать проброс порта 5061 с внешнего 1.1.68.72 на 10.10.1.153, то все конечно же заработает.
Делаем проброс 5061 и ч.т.д.

Дамп на стороне Asterisk`а:

11:04:44.251049 IP (tos 0x0, ttl 60, id 767, offset 0, flags [none], proto UDP (17), length 768)
1.1.68.72.49845 > 1.1.68.16.5060: SIP, length: 740
REGISTER sip:1.1.68.16 SIP/2.0
Via: SIP/2.0/UDP 1.1.68.72:5061;branch=z9hG4bKff66d16c
From: <sip:7896@1.1.68.16>;tag=5cfc665d4f9a003e6c2253cc-3c681c9c
To: <sip:7896@1.1.68.16>
Call-ID: 5cfc665d-4f9a0002-30c35668-66fda434@10.10.1.153
Max-Forwards: 70
Date: Wed, 28 Oct 2015 08:04:43 GMT
CSeq: 165 REGISTER
User-Agent: Cisco-CP7931G/8.5.3
Contact: <sip:7896@1.1.68.72:5061;transport=udp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-5cfc665d4f9a>";+u.sip!model.ccm.cisco.com="348"
Authorization: Digest username="7896",realm="asterisk",uri="sip:1.1.68.16",response="6a2ea6fed25e34d552573634601fb9d1",nonce="19016509",algorithm=MD5
Supported: (null),X-cisco-xsi-7.0.1
Content-Length: 0
Expires: 300

11:04:44.251109 IP (tos 0x0, ttl 64, id 63304, offset 0, flags [none], proto UDP (17), length 590)
1.1.68.16.5060 > 1.1.68.72.5061: SIP, length: 562
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 1.1.68.72:5061;branch=z9hG4bKff66d16c;received=1.1.68.72
From: <sip:7896@1.1.68.16>;tag=5cfc665d4f9a003e6c2253cc-3c681c9c
To: <sip:7896@1.1.68.16>;tag=as2a67ddfa
Call-ID: 5cfc665d-4f9a0002-30c35668-66fda434@10.10.1.153
CSeq: 165 REGISTER
Server: sip8.domain.com
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="4a6dbb1e", stale=true
Content-Length: 0

11:04:44.258586 IP (tos 0x0, ttl 60, id 768, offset 0, flags [none], proto UDP (17), length 768)
1.1.68.72.49846 > 1.1.68.16.5060: SIP, length: 740
REGISTER sip:1.1.68.16 SIP/2.0
Via: SIP/2.0/UDP 1.1.68.72:5061;branch=z9hG4bK398ff65c
From: <sip:7896@1.1.68.16>;tag=5cfc665d4f9a003e6c2253cc-3c681c9c
To: <sip:7896@1.1.68.16>
Call-ID: 5cfc665d-4f9a0002-30c35668-66fda434@10.10.1.153
Max-Forwards: 70
Date: Wed, 28 Oct 2015 08:04:43 GMT
CSeq: 166 REGISTER
User-Agent: Cisco-CP7931G/8.5.3
Contact: <sip:7896@1.1.68.72:5061;transport=udp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-5cfc665d4f9a>";+u.sip!model.ccm.cisco.com="348"
Authorization: Digest username="7896",realm="asterisk",uri="sip:1.1.68.16",response="4a56a3e3f5e1b272274fa7cc3ce48d19",nonce="4a6dbb1e",algorithm=MD5
Supported: (null),X-cisco-xsi-7.0.1
Content-Length: 0
Expires: 300


11:04:44.258686 IP (tos 0x0, ttl 64, id 63321, offset 0, flags [none], proto UDP (17), length 609)
1.1.68.16.5060 > 1.1.68.72.5061: SIP, length: 581
SIP/2.0 200 OK
Via: SIP/2.0/UDP 1.1.68.72:5061;branch=z9hG4bK398ff65c;received=1.1.68.72
From: <sip:7896@1.1.68.16>;tag=5cfc665d4f9a003e6c2253cc-3c681c9c
To: <sip:7896@1.1.68.16>;tag=as2a67ddfa
Call-ID: 5cfc665d-4f9a0002-30c35668-66fda434@10.10.1.153
CSeq: 166 REGISTER
Server: sip8.domain.com
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Expires: 300
Contact: <sip:7896@1.1.68.72:5061;transport=udp>;expires=300
Date: Wed, 28 Oct 2015 08:04:44 GMT
Content-Length: 0
Состояние регистрации на сервере:

7896/7896 1.1.68.72 D 5061 Unmonitored

Addr->IP : 1.1.68.72:5061

Useragent : Cisco-CP7931G/8.5.3

Reg. Contact : sip:7896@1.1.68.72:5061;transport=udp

Дамп на стороне NAT`а (после процесса NAT):

11:45:08.033612 IP (tos 0x60, ttl 64, id 25, offset 0, flags [none], proto UDP (17), length 762)
10.10.1.153.49182 > 1.1.68.16.5060: SIP, length: 734
REGISTER sip:1.1.68.16 SIP/2.0
Via: SIP/2.0/UDP 10.10.1.153:5061;branch=z9hG4bK79f75193
From: <sip:7896@1.1.68.16>;tag=5cfc665d4f9a0002a072f674-1c4da357
To: <sip:7896@1.1.68.16>
Call-ID: 5cfc665d-4f9a0002-f3129326-816fc831@10.10.1.153
Max-Forwards: 70
Date: Wed, 28 Oct 2015 08:45:05 GMT
CSeq: 103 REGISTER
User-Agent: Cisco-CP7931G/8.5.3
Contact: <sip:7896@10.10.1.153:5061;transport=udp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-5cfc665d4f9a>";+u.sip!model.ccm.cisco.com="348"
Authorization: Digest username="7896",realm="asterisk",uri="sip:1.1.68.16",response="7f6cf3decde843e30c6475cef15d7bc4",nonce="40839bef",algorithm=MD5
Supported: (null),X-cisco-xsi-7.0.1
Content-Length: 0
Expires: 0


11:45:08.035579 IP (tos 0x0, ttl 60, id 9145, offset 0, flags [none], proto UDP (17), length 588, bad cksum 0 (->47cb)!)
1.1.68.16.5060 > 10.10.1.153.5061: SIP, length: 560
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 10.10.1.153:5061;branch=z9hG4bK79f75193;received=1.1.68.72
From: <sip:7896@1.1.68.16>;tag=5cfc665d4f9a0002a072f674-1c4da357
To: <sip:7896@1.1.68.16>;tag=as31ab4c73
Call-ID: 5cfc665d-4f9a0002-f3129326-816fc831@10.10.1.153
CSeq: 103 REGISTER
Server: sip8.domain.com
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="10809208", stale=true
Content-Length: 0

11:45:08.041848 IP (tos 0x60, ttl 64, id 26, offset 0, flags [none], proto UDP (17), length 762)
10.10.1.153.49183 > 1.1.68.16.5060: SIP, length: 734
REGISTER sip:1.1.68.16 SIP/2.0
Via: SIP/2.0/UDP 10.10.1.153:5061;branch=z9hG4bK32b5e3e0
From: <sip:7896@1.1.68.16>;tag=5cfc665d4f9a0002a072f674-1c4da357
To: <sip:7896@1.1.68.16>
Call-ID: 5cfc665d-4f9a0002-f3129326-816fc831@10.10.1.153
Max-Forwards: 70
Date: Wed, 28 Oct 2015 08:45:05 GMT
CSeq: 104 REGISTER
User-Agent: Cisco-CP7931G/8.5.3
Contact: <sip:7896@10.10.1.153:5061;transport=udp>;+sip.instance="<urn:uuid:00000000-0000-0000-0000-5cfc665d4f9a>";+u.sip!model.ccm.cisco.com="348"
Authorization: Digest username="7896",realm="asterisk",uri="sip:1.1.68.16",response="7951fc7add50cbbceb0608a3a8b4379a",nonce="10809208",algorithm=MD5
Supported: (null),X-cisco-xsi-7.0.1
Content-Length: 0
Expires: 0


11:45:08.043572 IP (tos 0x0, ttl 60, id 9161, offset 0, flags [none], proto UDP (17), length 539, bad cksum 0 (->47ec)!)
1.1.68.16.5060 > 10.10.1.153.5061: SIP, length: 511
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.10.1.153:5061;branch=z9hG4bK32b5e3e0;received=1.1.68.72
From: <sip:7896@1.1.68.16>;tag=5cfc665d4f9a0002a072f674-1c4da357
To: <sip:7896@1.1.68.16>;tag=as31ab4c73
Call-ID: 5cfc665d-4f9a0002-f3129326-816fc831@10.10.1.153
CSeq: 104 REGISTER
Server: sip8.domain.com
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Expires: 0
Date: Wed, 28 Oct 2015 08:45:08 GMT
Content-Length: 0

SIP линии:
featureID — про этот параметр ниже
proxy- IP-адрес нашего сервера c Asterisk
port — SIP порт
name — Имя или номер SIP аккаунта
displayName — Отображаемое имя, соответственно указываем или имя или номер.
authName — имя вашего аккаунта для авторизации на сервере, обычно это ваш номер
authPassword — пароль вашего SIP аккаунта
contact — номер SIP аккаунта

Линия с Speed Dial
SD (Speed Dial — набор номера по нажатии кнопки) на программируемых кнопках (коих 24 штуки).
Хотелось настроить еще и BLF, но это оказалось все непросто с этим на этом телефоне. Идея была отодвинута (отлично гуглятся решения, вроде работы телефона с Cisco Call Manager),  т.к. необходимо пропатчить Астериск, а именно chan_sip.
Кнопки линий пронумерованы от 24 до 1 сверху вниз, чередуясь слева вправо. Соответвенно, 1 линия находится в правом нижнем углу.

featureLabel- выводимое описание
speedDialNumber — номер для набора

featureID — код фичи, то что будет делаться по нажатию кнопки:

  • feature id 1 last number redial
  • feature id 2 speed dial
  • feature id 3 hold
  • feature id 5 fwd all
  • feature id 9 line — Для SIP регистрации
  • feature id 19 private
  • feature id 20 service uri
  • featureid 21 speed dial — Для набора сохраненного номера
  • feature id 22 paging
  • feature id 27 Malicious call ID

Полезные ссылки:

P.S. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА ! Уважайте чужой труд.

Автор: Гриднева Мария

Похожие статьи:

Прочитано: 17 260 раз(а)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 3, среднее: 4,67 из 5)
Загрузка...
Отправить на почту Отправить на почту

Добавить комментарий

Вам следует авторизоваться для размещения комментария.