В интернете нереальное количество мануалов, но как оказалось, большинство из них не работаю, не полные и прочее остальное.
Итак, берем за основу что Asterisk настроен, TFTP стоит, DHCP есть и вещает в сеть.
Первым делом настраиваем DHCP-сервер для выдачи информации о сервере Cisco телефонам. Нас интесует опция 66 и 150, там прописываем IP-адрес сервера TFTP.
Далее качаем прошивку — 8-4-1-23 и распаковываем в корень TFTP-сервера.
После чего создаем файл в корне TFTP с название по принципу — SEPMACADDRESS.cnf.xml (нам нужно вписать МАС адрес телефона) и содержание файла следующего формата, где:
<device>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>admin</sshUserId>
<sshPassword>cisco</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>D.M.Y</dateTemplate>
<timeZone>Russian Standard Time</timeZone>
<ntps>
<ntp>
<name>Адрес вашего NTP сервера</name>
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members>
<member priority=»0″>
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>Порт Вашего Астериска (SIP port)</sipPort>
<securedSipPort>5061</securedSipPort>
</ports>
<processNodeName>Адрес Вашего Астериска</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<commonProfile>
<phonePassword/>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>3</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP11.8-4-2S</loadInformation>
<featurePolicyFile>DefaultFP.xml</featurePolicyFile>
<vendorConfig>
<disableSpeaker>false</disableSpeaker>
<disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>
<pcPort>0</pcPort>
<settingsAccess>1</settingsAccess>
<garp>0</garp>
<voiceVlanAccess>0</voiceVlanAccess>
<ciscoCamera>0</ciscoCamera>
<videoCapability>0</videoCapability>
<usbClasses>0,1,2</usbClasses>
<sdio>1</sdio>
<wifi>0</wifi>
<bluetoothProfile>0,1</bluetoothProfile>
<powerNegotiation>0</powerNegotiation>
<autoSelectLineEnable>0</autoSelectLineEnable>
<webAccess>1</webAccess>
<sshAccess>1</sshAccess>
<g722CodecSupport>2</g722CodecSupport>
<daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive>
<displayOnTime>8:45</displayOnTime>
<displayOnDuration>10:30</displayOnDuration>
<displayIdleTimeout>01:00</displayIdleTimeout>
<displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>1</loggingDisplay>
<loadServer/>
<hideVideoByDefault>0</hideVideoByDefault>
</vendorConfig>
<commonConfig>
<usb1>0</usb1>
<usb2>0</usb2>
<ciscoCamera>0</ciscoCamera>
<usbClasses>0,1,2</usbClasses>
<sdio>1</sdio>
<bluetooth>0</bluetooth>
<wifi>0</wifi>
<bluetoothProfile>0,1</bluetoothProfile>
<joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
</commonConfig>
<enterpriseConfig>
<usb1>0</usb1>
<usb2>0</usb2>
<ciscoCamera>0</ciscoCamera>
<usbClasses>0,1,2</usbClasses>
<sdio>1</sdio>
<bluetooth>0</bluetooth>
<wifi>0</wifi>
<bluetoothProfile>0,1</bluetoothProfile>
<joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
<videoCapability>1</videoCapability>
<webAccess>0</webAccess>
<eapAuthentication>1</eapAuthentication>
<webProtocol>0</webProtocol>
</enterpriseConfig>
<addOnModules>
<addOnModule uuid=»» idx=»1″>
<deviceType>CKEM</deviceType>
<deviceLine>36</deviceLine>
<loadInformation/>
<phoneTemplateId/>
</addOnModule>
</addOnModules>
<advertiseG722Codec>1</advertiseG722Codec>
<userLocale>
<name>Russian_Russia</name>
<uid/>
<langCode>ru_RU</langCode>
<version/>
<winCharSet>utf-8</winCharSet>
</userLocale>
<networkLocale>Russian_Russia</networkLocale>
<networkLocaleInfo>
<name>Russian_Federation</name>
<uid>64</uid>
<version>SIP11.8-4-2S</version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<idleTimeout>0</idleTimeout>
<authenticationURL/>
<directoryURL/>
<idleURL/>
<informationURL/>
<messagesNumber/>
<messagesURL/>
<proxyServerURL/>
<servicesURL/>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>1</transportLayerProtocol>
<dndCallAlert>5</dndCallAlert>
<phonePersonalization>1</phonePersonalization>
<rollover>0</rollover>
<singleButtonBarge>0</singleButtonBarge>
<joinAcrossLines>1</joinAcrossLines>
<autoCallPickupEnable>false</autoCallPickupEnable>
<blfAudibleAlertSettingOfIdleStation>0</blfAudibleAlertSettingOfIdleStation>
<blfAudibleAlertSettingOfBusyStation>0</blfAudibleAlertSettingOfBusyStation>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
</capf>
</capfList>
<certHash/>
<encrConfig>false</encrConfig>
<sipProfile>
<sipProxies>
<backupProxy>Адрес Вашего Астериска</backupProxy>
<backupProxyPort>Порт Вашего Астериска (SIP port)</backupProxyPort>
<emergencyProxy>Адрес Вашего Астериска</emergencyProxy>
<emergencyProxyPort>Порт Вашего Астериска (SIP port)</emergencyProxyPort>
<outboundProxy/>
<outboundProxyPort/>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI/>
<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>true</rfc2543Hold>
<callHoldRingback>2</callHoldRingback>
<localCfwdEnable>true</localCfwdEnable>
<semiAttendedTransfer>true</semiAttendedTransfer>
<anonymousCallBlock>2</anonymousCallBlock>
<callerIdBlocking>2</callerIdBlocking>
<dndControl>0</dndControl>
<remoteCcEnable>true</remoteCcEnable>
<retainForwardInformation>true</retainForwardInformation>
</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>0</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>true</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>g729u</preferredCodec> #медиа кодек по умолчанию
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>true</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>1</kpml>
<natEnabled>false</natEnabled>
<natAddress></natAddress>
<stutterMsgWaiting>2</stutterMsgWaiting>
<callStats>false</callStats>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
<startMediaPort>10000</startMediaPort> #диапазон RTP портов
<stopMediaPort>30000</stopMediaPort> #диапазон RTP портов
<voipControlPort>5060</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<dscpVideo>136</dscpVideo>
<dscpForTelepresence>128</dscpForTelepresence>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<softKeyFile>softkey.xml</softKeyFile>
<dialTemplate>dialplan.xml</dialTemplate>
<phoneLabel>3003</phoneLabel> #Лейбл телефона, который будет отображаться вверху (можно написать текст)
<sipLines>
<line button=»1″ lineIndex=»1″>
<featureID>9</featureID>
<featureLabel>Line#1</featureLabel>
<name>3003</name> #название линии, что будет написано около кнопки на телефоне
<displayName>3003</displayName> #отображаемое имя
<contact>3003</contact> #имя контакта которое будет отображаться при звонке
<proxy>Адрес Вашего Астериска</proxy>
<port>5060</port> #SIP порт сервера
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>3003</authName> #имя пользователя на сервере
<authPassword>3003</authPassword> #пароль пользователя на сервере
<sharedLine>true</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messageWaitingAMWI>1</messageWaitingAMWI>
<messagesNumber/>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
</sipLines>
</sipProfile>
<phoneServices>
<provisioning>0</provisioning>
<phoneService type=»1″ category=»0″>
<name>Missed Calls</name>
<url>Application:Cisco/MissedCalls</url>
<vendor/>
<version/>
</phoneService>
<phoneService type=»2″ category=»0″>
<name>Voicemail</name>
<url>Application:Cisco/Voicemail</url>
<vendor/>
<version/>
</phoneService>
<phoneService type=»1″ category=»0″>
<name>Received Calls</name>
<url>Application:Cisco/ReceivedCalls</url>
<vendor/>
<version/>
</phoneService>
<phoneService type=»1″ category=»0″>
<name>Placed Calls</name>
<url>Application:Cisco/PlacedCalls</url>
<vendor/>
<version/>
</phoneService>
<phoneService type=»1″ category=»0″>
<name>Personal Directory</name>
<url>Application:Cisco/PersonalDirectory</url>
<vendor/>
<version/>
</phoneService>
</phoneServices>
</device>
В принципе, на этом и все, помещаем файл на сервере TFTP, делаем сброс телефона:
Многие Cisco: в момент загрузки, нажать и удерживать # (около 10 секунд), когда начнет мигать лампочка статуса, последовательно нажать 123456789*0#
Телефон будет сброшен, и в момент загрузки будет опрашивать TFTP на предмет конфигурационного файла и новой версии прошивки.
P.S. данный конфиг, также подходит для Cisco 7940, 8961
Конфиг не рабочий
У меня 7911 пишет unprovisioned после скачки файла с тфтп сервера.
Свой айпишники вставил
Ну как не рабочий, у меня на 2х серверах этот конфиг рабочий, проверяйте ваш tftp.
смотрите что не так с настройками в конфиге, что забыли поменять.
опять-же, телефон ресетили?
кроме правильного конфигурационного файла xml , должен быть настроен метод подключения SIP 5160 и включить еще TCP , если в frepbx то в Extension есть раздел advanced , так вот на номере , который прописывете должен быть отключен NAT, то есть nat=no. Сам долго мучился (наверное неделю, если собрать время вместе.
У меня также 7941 G и 7911 пишет unprovisioned.
Разные конфиги пробовал.
Подсказали что оператор скорее всего работает на UDP и эти телефоны под TCP только.
Тутошний конфиг надо перепроверить на предмет разнокалиберных кавычек (например, в строке и других).
По tcp эти цискофоны работают начиная с 9й версии. Заливайте 8ю, обязательно проверяйте в наборе прошивки наличие файла, указанного в секции . И будет вам счастье…
я с ними надысь 3 дня воевал… Всё победил, вот только TZDATA актуальную влить не смог… 🙁 так и осталось с переходом на летнее время…
Главные фишки. Пароль не более 12 символов и попроще. Не надо большой и маленький, символы итп. В астере делаете не , pjsip, а sip, порт 5160, если надо, могу конфигу по кинуть по 7911 и 7912
Предложение еще актуально?
Каким способом можно подружить pjsip и 7911 или это не реальное занятие?
конфиг на самом деле кривоват…смотрим логи в телефоне и куда он уперся — исправляем!!! и будет все зэр гуд!