Как настроить IP-телефон Cisco 7941 для SIP [13.03.2007]
Настройка IP-телефона Cisco 7941 для работы по протоколу SIP.
IP-телефон Cisco 7941 (как и 7961) поддерживает протокол SIP, но его настройка под него отличается от настройки Cisco 7940, описанной в одной из предыдущих статей (http://www.hypercomp.ru/articles/configuring-cisco-7940-ip-phone-for-sip/). Отличие заключается в основном в структуре прошивки. Телефон Cisco 7941 работает с Java-меню, поэтому вся его прошивка содержит не один файл с именем типа P0S-08-3-1.*, а является архивом с именем типа cmterm-7941_7961-sip.8-2-1.zip, в котором должны находиться следующие файлы:
apps41.8-2-0-55.sbn cnu41.8-2-0-55.sbn cvm41sip.8-2-0-55.sbn dsp41.8-2-0-55.sbn jar41sip.8-2-0-55.sbn SIP41.8-2-1S.loads term41.default.loads term61.default.loads
Кроме этих файлов, в корне TFTP-сервера, с которого телефон грузит прошивку, должен лежать файл XMLDefault.cnf.xml и, если настройки переопределяются для отдельного телефона, файл SEP.cnf.xml.
Процесс обновления прошивки выглядит следующим образом. Сначала при включении телефона в сети держим нажатой кнопку # секунд 15, до тех пор, пока лампочки возле линий не начнут мигать желтым. После этого нажимаем комбинацию 123456789*0#1 и телефон перезагружается, стирая свою прошивку. Теперь он готов к приему новой. Для этого ему необходим, в первую очередь, файл XMLDefault.cnf.xml. Описания формата этого файла на сайте Cisco найти не удалось – скорее всего он еще не документирован достаточно хорошо. Попробуем разобраться самостоятельно.
XMLDefaults.cnf.xml ------------------- <device> <deviceProtocol>SIP</deviceProtocol>
Далее задаем имя и пароль для доступа к телефону по SSH. Можно посмотреть некоторую debug-информацию, дать команду на перезагрузку и почти все – возможности очень ограничены.
<sshUserId>root</sshUserId> <sshPassword>root</sshPassword> <devicePool> <dateTimeSetting> <dateTemplate>D.M.Y</dateTemplate> <timeTemplate>HH:MM</timeTemplate> <timeZone>Russian Standard/Daylight Time</timeZone> <ntps> <ntp> <name>130.149.17.21</name> <ntpMode>Unicast</ntpMode> </ntp> </ntps> </dateTimeSetting> <callManagerGroup> <members> <member> <callManager> <ports> <ethernetPhonePort>2000</ethernetPhonePort> <sipPort>5060</sipPort> <securedSipPort>5061</securedSipPort> </ports>
Вместо XXX.XXX.XXX.XXX вводим IP-адрес сервера
<processNodeName>XXX.XXX.XXX.XXX</processNodeName> </callManager> </member> </members> </callManagerGroup> </devicePool> <sipProfile> <sipProxies> <backupProxy/> <backupProxyPort/> <emergencyProxy/> <emergencyProxyPort/> <outboundProxy/> <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>true</localCfwdEnable> <semiAttendedTransfer>true</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>3600</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>
Поддерживаемые кодеки – G729a, G711, возможно, какие-то еще:
<preferredCodec>g729a</preferredCodec> <dtmfAvtPayload>101</dtmfAvtPayload> <dtmfDbLevel>3</dtmfDbLevel> <dtmfOutofBand>avt</dtmfOutofBand> <alwaysUsePrimeLine>false</alwaysUsePrimeLine> <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail> <kpml>3</kpml>
Метка телефона (в верхнем правом углу):
<phoneLabel>MyPhone</phoneLabel>
Если есть статический внешний IP-адрес, ставим natEnabled=0 и вписываем адрес в natAddress. Если адрес назначается через NAT и он известен, то natEnabled=1. Если же работаем через маршрутизатор с NAT-overload (для домашних сетей – наиболее распространенный случай), то natEnabled=1, а поле natAddress не заполняем.
<natEnabled>1</natEnabled> <natAddress></natAddress> <stutterMsgWaiting>1</stutterMsgWaiting> <callStats>false</callStats> <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts> <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig> <startMediaPort>16384</startMediaPort> <stopMediaPort>32766</stopMediaPort> <sipLines>
Настройки для кнопок линий
<line button="1">
Обозначаем, что это кнопка линии
<featureID>9</featureID>
Метка кнопки, адрес SIP-прокси-сервера
<featureLabel>MyPhone</featureLabel> <proxy>XXX.XXX.XXX.XXX</proxy> <port>5060</port>
Имя кнопки, должно совпадать со следующим полем:
<name>User</name> <displayName>User</displayName> <autoAnswer> <autoAnswerEnabled>2</autoAnswerEnabled> </autoAnswer> <callWaiting>3</callWaiting>
Имя и пароль для авторизации на SIP-сервере:
<authName>XXX</authName> <authPassword>XXX</authPassword> <sharedLine>false</sharedLine> <messageWaitingLampPolicy>1</messageWaitingLampPolicy> <messagesNumber>voicemail extension</messagesNumber> <ringSettingIdle>4</ringSettingIdle> <ringSettingActive>5</ringSettingActive> <contact>ne</contact> <forwardCallInfoDisplay> <callerName>true</callerName> <callerNumber>false</callerNumber> <redirectedNumber>false</redirectedNumber> <dialedNumber>true</dialedNumber> </forwardCallInfoDisplay> </line> <line button="2">
А это будет кнопка быстрого набора:
<featureID>21</featureID> <featureLabel>Work</featureLabel> <speedDialNumber>1234567</speedDialNumber> </line> </sipLines> <voipControlPort>5061</voipControlPort> <dscpForAudio>184</dscpForAudio> <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
Имя файла с номерным планом
<dialTemplate>dialplan.xml</dialTemplate> </sipProfile> <commonProfile> <phonePassword>cisco</phonePassword> <backgroundImageAccess>true</backgroundImageAccess> <callLogBlfEnabled>2</callLogBlfEnabled> </commonProfile> <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> <webAccess>1</webAccess> <daysDisplayNotActive>1,7</daysDisplayNotActive> <displayOnTime>08:30</displayOnTime> <displayOnDuration>11:30</displayOnDuration> <displayIdleTimeout>0:05</displayIdleTimeout> <spanToPCPort>1</spanToPCPort> <loggingDisplay>1</loggingDisplay> <loadServer/> </vendorConfig> <networkLocale/> <deviceSecurityMode>1</deviceSecurityMode> <authenticationURL/> <directoryURL/> <idleURL/> <informationURL/> <messagesURL/> <proxyServerURL/> <servicesURL/> </device>
|