Ciscofony
Zmuszanie telefonów Cisco serii 7900 do współpracy
Temat odpalania telefonów cisco serii 7900 to temat w internecie opisany dość szeroko, lecz na raty. Jako, że ostatnio pojawiło się trochę telefonów cisco w szeroko pojętym internecie (tak allegro, na Ciebie patrzę) - postanowiłem, że nieco przybliżę część odpalania, przystosowywania i personalizowania tych wdzięcznych i bywa, że tanich telefonów.
Najpierw TFTP
Potrzebny nam będzie jakiś działający w sieci serwer TFTP, a także wpisanie tego serwera tftp w ustawienia serwera DHCP, z któego telefony dowiedzą się jaki mają adres.
W internecie na przemian funkcjonują opisy że ma być to opcja 150 lub 66 - ja wrzucam IP tftp w oba miejsca i mam spokój. Zostawiam pole do zmiany, jeśli ktoś wyniucha, która opcja w przypadku której serii telefonów funkcjonuje - w dokumentacji TFTP obie mają tę samą funkcję.
Firmware
Co do zasady - na ogół telefonom update'uje się firmware wgrywając odpowiedni plik do głównego folderu na serwerze TFTP i puszczając na telefonie twardy reset. W sensie - najtwardszy z dostępnych..
Warto zwracać na nazwy tych firmware'ów - jeśli dla danego telefonu znajdziesz takie z SIP w nazwie, to jeśli chcesz je pożenić z asteriskiem, to jest właściwy wybór. Jeśli znajdziesz SCCP, to są to wersje kompatybilne z Ciscowym SCCP managerem.
Opcje na pozyskanie ich są takie, że albo znajdują się na rosyjskich stronach, albo gdzieś komuś ktoś dawno dał je na jakimś forum. Jeśli masz problem lub ich nie masz, daj znać, znam kogoś, kto zna kogoś, kto przed wielkim wschodnim firewallem dał curlowi pobiegać
Konfiguracja
Nasz telefon łyknął świeży (lub nieświeży, ale działający) firmware, trzeba mu poustawiać conieco. Różne telefony łykają różne typy konfigów - starsze łykają coś, co przypomina yamla, ale co do zasady nim nie jest, nowsze łykają XMLe. Wrzucę oba przykłady:
Przyklad configu "starszego" telefonu
phone_label: "1" phone_prompt: "1 " line1_shortname: "Glowny" line1_displayname: "Glowny" line1_name: "1" line1_authname: "1" line1_password: "supertajnehaslo" line2_shortname: "Drugi" line2_displayname: "Drugi" line2_name: "2" line2_authname: "2" line2_password: "supertajnehaslotylkoinne"
Przyklad configu "nowszego" telefonu
<device> <deviceProtocol>SIP</deviceProtocol> <devicePool> <dateTimeSetting> <dateTemplate>D.M.Y</dateTemplate> <timeZone>W. Europe Standard/Daylight Time</timeZone> <ntps> <ntp> <name>IP ADRES NTP</name> <ntpMode>Unicast</ntpMode> </ntp> </ntps> </dateTimeSetting> <callManagerGroup> <members> <member priority="0"> <callManager> <ports> <ethernetPhonePort>2000</ethernetPhonePort> <sipPort>5060</sipPort> </ports> <processNodeName>IP ADRES ASTERISKA/SERWERA</processNodeName> </callManager> </member> </members> </callManagerGroup> </devicePool> <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>true</localCfwdEnable> <semiAttendedTransfer>true</semiAttendedTransfer> <retainForwardInformation>true</retainForwardInformation> <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>1</dtmfAvtPayload> <dtmfDbLevel>3</dtmfDbLevel> <dtmfOutofBand>avt</dtmfOutofBand> <alwaysUsePrimeLine>false</alwaysUsePrimeLine> <alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail> <kpml>3</kpml> <phoneLabel>TELEFON 01</phoneLabel> <stutterMsgWaiting>1</stutterMsgWaiting> <callStats>false</callStats> <silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts> <disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig> <sipLines> <line button="1" lineIndex="1"> <featureID>9</featureID> <featureLabel>Glowny</featureLabel> <proxy>USECALLMANAGER</proxy> <name>1</name> <displayName>Glowny</displayName> <autoAnswer> <autoAnswerEnabled>0</autoAnswerEnabled> </autoAnswer> <authName>1</authName> <authPassword>HASLO</authPassword> <sharedLine>false</sharedLine> <messageWaitingLampPolicy>1</messageWaitingLampPolicy> <messagesNumber>*97</messagesNumber> <ringSettingIdle>4</ringSettingIdle> <ringSettingActive>5</ringSettingActive> <!--<contact>$sipUser</contact>--> <forwardCallInfoDisplay> <callerName>true</callerName> <callerNumber>true</callerNumber> <redirectedNumber>false</redirectedNumber> <dialedNumber>true</dialedNumber> </forwardCallInfoDisplay> <maxNumCalls>4</maxNumCalls> <callWaiting>1</callWaiting> <busyTrigger>3</busyTrigger> </line> <line button="2" lineIndex="2"> <featureID>9</featureID> <featureLabel>Interkom</featureLabel> <proxy>USECALLMANAGER</proxy> <name>2</name> <displayName>Interkom</displayName> <autoAnswer> <autoAnswerEnabled>1</autoAnswerEnabled> </autoAnswer> <authName>2</authName> <authPassword>HASLO</authPassword> <sharedLine>false</sharedLine> <messageWaitingLampPolicy>1</messageWaitingLampPolicy> <messagesNumber>*97</messagesNumber> <ringSettingIdle>4</ringSettingIdle> <ringSettingActive>5</ringSettingActive> <!--<contact>$sipUser</contact>--> <forwardCallInfoDisplay> <callerName>true</callerName> <callerNumber>true</callerNumber> <redirectedNumber>false</redirectedNumber> <dialedNumber>true</dialedNumber> </forwardCallInfoDisplay> <maxNumCalls>4</maxNumCalls> <callWaiting>1</callWaiting> <busyTrigger>3</busyTrigger> </line> </sipLines> <natEnabled>false</natEnabled> <natAddress></natAddress> <voipControlPort>5060</voipControlPort> <startMediaPort>16348</startMediaPort> <stopMediaPort>20134</stopMediaPort> <dscpForAudio>184</dscpForAudio> <ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy> <dialTemplate>dialplan.xml</dialTemplate> <softKeyFile></softKeyFile> </sipProfile> <commonProfile> <phonePassword></phonePassword> <backgroundImageAccess>true</backgroundImageAccess> <callLogBlfEnabled>2</callLogBlfEnabled> </commonProfile> <vendorConfig> <defaultWallpaperFile></defaultWallpaperFile> <disableSpeaker>false</disableSpeaker> <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset> <g722CodecSupport>2</g722CodecSupport> <handsetWidebandEnable>2</handsetWidebandEnable> <headsetWidebandEnable>2</headsetWidebandEnable> <headsetWidebandUIControl>1</headsetWidebandUIControl> <handsetWidebandUIControl>1</handsetWidebandUIControl> <settingsAccess>1</settingsAccess> <videoCapability>0</videoCapability> <ciscoCamera>0</ciscoCamera> <webAccess>0</webAccess> <webProtocol>0</webProtocol> <sshAccess>0</sshAccess> <sshPort>22</sshPort> <loginAccess>1</loginAccess> <daysDisplayNotActive>1,2,3,4,5,6,7</daysDisplayNotActive> <daysBacklightNotActive>1,2,3,4,5,6,7</daysBacklightNotActive> <displayOnTime>00:00</displayOnTime> <backlightOnTime>00:00</backlightOnTime> <displayOnDuration>00:00</displayOnDuration> <backlightOnDuration>00:00</backlightOnDuration> <displayIdleTimeout>00:01</displayIdleTimeout> <backlightIdleTimeout>00:01</backlightIdleTimeout> <backlightIdleDuration>00:01</backlightIdleDuration> <displayOnWhenIncomingCall>1</displayOnWhenIncomingCall> <backlightOnWhenIncomingCall>1</backlightOnWhenIncomingCall> <recordingTone>0</recordingTone> <recordingToneLocalVolume>100</recordingToneLocalVolume> <recordingToneRemoteVolume>50</recordingToneRemoteVolume> <recordingToneDuration></recordingToneDuration> <moreKeyReversionTimer>5</moreKeyReversionTimer> <autoSelectLineEnable>1</autoSelectLineEnable> <autoCallSelect>1</autoCallSelect> <joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy> <minimumRingVolume></minimumRingVolume> <simplifiedNewCall>0</simplifiedNewCall> <peerFirmwareSharing>0</peerFirmwareSharing> <rtcp>1</rtcp> <videoRtcp>1</videoRtcp> <garp>0</garp> <bluetooth>0</bluetooth> <bluetoothProfile>0,1</bluetoothProfile> <wifi>0</wifi> <sdio>0</sdio> <usb1>1</usb1> <usb2>1</usb2> <usbClasses>0,1,2</usbClasses> <pcPort>0</pcPort> <spanToPCPort>0</spanToPCPort> <voiceVlanAccess>0</voiceVlanAccess> <forwardingDelay>0</forwardingDelay> <enableCdpSwPort>0</enableCdpSwPort> <enableCdpPcPort>0</enableCdpPcPort> <enableLldpSwPort>0</enableLldpSwPort> <enableLldpPcPort>0</enableLldpPcPort> <!-- <loggingDisplay>1</loggingDisplay> <loadServer></loadServer> --> </vendorConfig> <deviceSecurityMode>1</deviceSecurityMode> <authenticationURL></authenticationURL> <directoryURL>ADRES XMLA Z KSIAZKA TELEFONICZNA</directoryURL> <servicesURL>ADRES XMLA Z USLUGAMI</servicesURL> <idleURL></idleURL> <informationURL></informationURL> <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> </device>
Kiedyś postaram się rozwinąć poszczegółne opcje, większości z nich nie trzeba zmieniać, a reszta jest w miarę zrozumiała. Potknąć można się na tym, że:
- dodając w xmlu kolejną linię, trzeba też zmienić <line button="1" lineIndex="1"> - i ustawić tam która to ma być linia / który przycisk
- w ustawieniach linii jest zarówno nazwa linii jak i jej "login" na serwerze
- za autoodbieranie linii odpowiada autoAnswerEnabled
- Last Author
- wiktor
- Last Edited
- Apr 16 2022, 10:11 PM