Hallo zusammen,
nach etlichen Stunden an Fehlersuche in der Config meines Cisco 8941-Telefons, Wireshark-Logs, Fritzbox-Downgrades und Internet-Recherche habe ich schlußendlich ein stabiles und vor allem funktionierendes VoIP-System am Laufen.
Die Lösung und Stolpersteine möchte ich euch nicht vorenthalten.
Begonnen hat im Grunde alles mit dem Upgrade der Fritbox und der Erhöhung der Komplexitätsanforderungen an Username und Password mit Version 6.60 und dann 6.83.
Vor dem Upgrade auf 6.60 hat alles wunderbar funktioniert, da ich die vorgegebenen Usernamen wie z.B. 620, 621, etc. verwendet habe.
Bei dem Upgrade auf 6.60 konnte ich mir noch behelfen, indem ich eine alte Sicherung der FB eingespielt habe und auf die bereits existierenden Geräte die neuen Komplexitätsanforderungen nicht angewendet wurden. Somit hat zunächst alles gepasst und ich habe gar nicht mitbekommen, dass sich die Anforderungen geändert haben.
Bei Version 6.83 wurde dann alles anders und ich war gezwungen die Config meines Cisco-Telefons anzupassen. Cross-Checks mit anderen Softphones an der FB habe ich natürlich gemacht und hier hat auch alles auf Anhieb funktioniert.
Demzufolge habe ich Username und Password geändert, die Cisco-Config angepasst und alles sollte passen - war aber nicht so.
Das Cisco-Phone konnte sich nicht mehr registrieren bzw. registrierte sich dann irgendwann sporadisch, aber beim Anrufen ertönte immer ein Besetztzeichen.
Die Lösung: in meinem Fall super simple. In der Cisco-Config muss der <name> = <authname> = FB-Username sein. Ich hatte bis dato immer nur sichergestellt, dass der <authname> = FB-Username ist :-/
Mit FB-Username ist der Benutzername bei den Anmeldedaten des Telefoniegerätes in der FB gemeint
Deshalb waren die Wireshark-Logs für mich auch nicht plausible, da ich einen 404-Not found-Error bekommen habe.
Durch Zufall habe ich nun die Lösung gefunden. Nachdem ich auch im Netz keinerlei Config für ein Cisco 8941 gefunden habe, hier nun meine Config.
Zunächstunächst die aktuellen Eckdaten des Systems:
- Phone: Cisco 8941, cmterm-894x-sip.9-4-2SR3-1
- Fritzbox 7390 & 7490, FRITZ!OS 6.83
- Asterisk 1.8.8.2, DHCP (ISC-DHCPD) und TFTP (aTFTPD) auf einem Raspberry PI
Und hier die Config - ich wollte eigentlich den kompletten TFTP-Ordner hochladen, aber die Cisco-Firmware ist zu groß.
Hier zumindest ein Link auf einen Hoster und untenstehenden die Files als Code, sowie die Configs in der ZIP ohne Firmware
https://www.sendspace.com/file/4u9y1a
SEP+MAC.cnf.xml
XMLDefault.cnf.xml
dialplan.xml
Ringlist.xml
DistinctiveRingList.xml
DefaultFP.xml
Zum Thema Hintergrundbilder und Klingeltöne findet man etliches im Netz.
Die Grob-Config:
Die Hintergrundbilder kommen in das Verzeichnis: \TFTP\Desktops\640x480x24
Die Locale-Settings sind im Verzeichnis: \TFTP\en_us
Der Klingelton muss im Root-Verzeichnis sein, also \TFTP
Greetz
nach etlichen Stunden an Fehlersuche in der Config meines Cisco 8941-Telefons, Wireshark-Logs, Fritzbox-Downgrades und Internet-Recherche habe ich schlußendlich ein stabiles und vor allem funktionierendes VoIP-System am Laufen.
Die Lösung und Stolpersteine möchte ich euch nicht vorenthalten.
Begonnen hat im Grunde alles mit dem Upgrade der Fritbox und der Erhöhung der Komplexitätsanforderungen an Username und Password mit Version 6.60 und dann 6.83.
Vor dem Upgrade auf 6.60 hat alles wunderbar funktioniert, da ich die vorgegebenen Usernamen wie z.B. 620, 621, etc. verwendet habe.
Bei dem Upgrade auf 6.60 konnte ich mir noch behelfen, indem ich eine alte Sicherung der FB eingespielt habe und auf die bereits existierenden Geräte die neuen Komplexitätsanforderungen nicht angewendet wurden. Somit hat zunächst alles gepasst und ich habe gar nicht mitbekommen, dass sich die Anforderungen geändert haben.
Bei Version 6.83 wurde dann alles anders und ich war gezwungen die Config meines Cisco-Telefons anzupassen. Cross-Checks mit anderen Softphones an der FB habe ich natürlich gemacht und hier hat auch alles auf Anhieb funktioniert.
Demzufolge habe ich Username und Password geändert, die Cisco-Config angepasst und alles sollte passen - war aber nicht so.
Das Cisco-Phone konnte sich nicht mehr registrieren bzw. registrierte sich dann irgendwann sporadisch, aber beim Anrufen ertönte immer ein Besetztzeichen.
Die Lösung: in meinem Fall super simple. In der Cisco-Config muss der <name> = <authname> = FB-Username sein. Ich hatte bis dato immer nur sichergestellt, dass der <authname> = FB-Username ist :-/
Mit FB-Username ist der Benutzername bei den Anmeldedaten des Telefoniegerätes in der FB gemeint
Deshalb waren die Wireshark-Logs für mich auch nicht plausible, da ich einen 404-Not found-Error bekommen habe.
Durch Zufall habe ich nun die Lösung gefunden. Nachdem ich auch im Netz keinerlei Config für ein Cisco 8941 gefunden habe, hier nun meine Config.
Zunächstunächst die aktuellen Eckdaten des Systems:
- Phone: Cisco 8941, cmterm-894x-sip.9-4-2SR3-1
- Fritzbox 7390 & 7490, FRITZ!OS 6.83
- Asterisk 1.8.8.2, DHCP (ISC-DHCPD) und TFTP (aTFTPD) auf einem Raspberry PI
Und hier die Config - ich wollte eigentlich den kompletten TFTP-Ordner hochladen, aber die Cisco-Firmware ist zu groß.
Hier zumindest ein Link auf einen Hoster und untenstehenden die Files als Code, sowie die Configs in der ZIP ohne Firmware
https://www.sendspace.com/file/4u9y1a
SEP+MAC.cnf.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<device>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>admin</sshUserId> <!-- Benutzer-->
<sshPassword>GEHEIM</sshPassword> <!-- Passwort-->
<devicePool>
<dateTimeSetting>
<name>W.Europe</name>
<dateTemplate>D.M.Y</dateTemplate>
<timeZone>W. Europe Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>192.168.0.1</name> <!-- NTP-Server-->
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<processNodeName>192.168.0.1</processNodeName> <!-- IP Adresse Fritzbox-->
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
</ports>
</callManager>
</member>
</members>
</callManagerGroup>
</devicePool>
<sipProfile>
<sipProxies>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<transportLayerProtocol>4</transportLayerProtocol>
<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>
<preferredCodec>g729a</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<phoneLabel>OG</phoneLabel>
<stutterMsgWaiting>2</stutterMsgWaiting>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<sipLines>
<line button="1" lineIndex="1"> <!-- SIP Account -->
<featureID>9</featureID>
<featureLabel>Hell's Kitchen</featureLabel> <!-- Name der oben im Display steht-->
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<!-- ### WICHTIG: der <name> UND <authName> muessen dem username in der Fritzbox entsprechen ### -->
<name>Hell's Kitchen</name> <!-- Name der im Telefon angezeigt wird, auf der Taste-->
<authName>Hell's Kitchen</authName> <!-- erstelle Telefonnummer der Box-->
<authPassword>GEHEIM</authPassword>
<messageWaitingLampPolicy>4</messageWaitingLampPolicy> <!-- FB AB auf Brieftaste -->
<messagesNumber>**600</messagesNumber>
<ringSettingIdle>4</ringSettingIdle> <!-- Wichtig fuer Anklopfen -->
<ringSettingActive>5</ringSettingActive>
</line>
<line button="2"> <!-- Kurzwahl 2-->
<featureID>21</featureID>
<featureLabel>Küchen Ferkel</featureLabel>
<speedDialNumber>**610</speedDialNumber>
</line>
<line button="3"> <!-- Kurzwahl 3-->
<featureID>21</featureID>
<featureLabel>Büro Ferkel</featureLabel>
<speedDialNumber>**611</speedDialNumber>
</line>
<line button="4"> <!-- Kurzwahl 4 Nicht stören-->
<featureID>130</featureID>
<featureLabel>Nicht stören</featureLabel>
<helpID>369</helpID>
</line>
</sipLines>
<dialTemplate>dialplan.xml</dialTemplate> <!-- Dialplan, einfach mal googeln -->
</sipProfile>
<userLocale>
<name>en_US</name>
<langCode>en</langCode>
</userLocale>
<networkLocale>Germany</networkLocale>
<networkLocaleInfo>
<name>Germany</name>
</networkLocaleInfo>
<vendorConfig>
<displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
<displayIdleTimeout>00:45</displayIdleTimeout>
<daysDisplayNotActive> ,</daysDisplayNotActive> <!-- Display immer an -->
<displayOnTime>00:00</displayOnTime>
<displayOnDuration>00:00</displayOnDuration>
<settingsAccess>1</settingsAccess>
<webAccess>0</webAccess> <!-- Web Zugriff erlaubt -->
</vendorConfig>
<phoneServices>
<provisioning>2</provisioning>
<phoneService type="1" category="0"> <!-- verpasster Anrufe -->
<name>Missed Calls</name>
<url>Application:Cisco/MissedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService type="2" category="0"> <!-- zum nutzen der Brieftaste -->
<name>Voicemail</name>
<url>Application:Cisco/Voicemail</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService type="1" category="0"> <!-- empfangener Anrufe -->
<name>Received Calls</name>
<url>Application:Cisco/ReceivedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
<phoneService type="1" category="0"> <!-- getaetigte Anrufe -->
<name>Placed Calls</name>
<url>Application:Cisco/PlacedCalls</url>
<vendor></vendor>
<version></version>
</phoneService>
</phoneServices>
<addOnModules>
<addOnModule uuid="" idx="1">
<deviceType>CKEM</deviceType>
<deviceLine>36</deviceLine>
<loadInformation></loadInformation>
<phoneTemplateId></phoneTemplateId>
</addOnModule>
</addOnModules>
<commonConfig> <!-- USB, Bluetooth, WLAN(9971) -->
<usb1>1</usb1>
<usb2>1</usb2>
<ciscoCamera>1</ciscoCamera>
<usbClasses>0,1,2</usbClasses>
<sdio>1</sdio>
<bluetooth>1</bluetooth>
<wifi>1</wifi>
<bluetoothProfile>0,1</bluetoothProfile>
<joinAndDirectTransferPolicy>0</joinAndDirectTransferPolicy>
</commonConfig>
<featurePolicyFile>DefaultFP.xml</featurePolicyFile> <!-- steuert Funktionen, zB Wahlwiederholung -->
<loadInformation>SIP894x.9-4-2SR3-1</loadInformation> <!-- FW Version, durch die für das jeweilige Grät zu erstezen -->
</device>
XMLDefault.cnf.xml
Code:
<?xml version="1.0" encoding="utf-8" ?>
<Default>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
</ports>
<processNodeName>192.168.0.1</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation model="Cisco IP Phone 8941">SIP894x.9-4-2SR3-1</loadInformation>
</Default>
dialplan.xml
Code:
<DIALTEMPLATE>
<TEMPLATE MATCH="*" Timeout="5" />
</DIALTEMPLATE>
Ringlist.xml
Code:
<CiscoIPPhoneRingList>
<Ring>
<DisplayName>CTU</DisplayName>
<FileName>ctu.raw</FileName>
</Ring>
</CiscoIPPhoneRingList>
DistinctiveRingList.xml
Code:
<CiscoIPPhoneRingList>
<Ring>
<DisplayName>CTU</DisplayName>
<FileName>ctu.raw</FileName>
</Ring>
</CiscoIPPhoneRingList>
DefaultFP.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<featurePolicy name="Default Policy">
<versionStamp>0000000000</versionStamp>
<featureDef name="ForwardAll">
<id>1</id>
<enable>false</enable>
</featureDef>
<featureDef name="Park">
<id>2</id>
<enable>false</enable>
</featureDef>
<featureDef name="iDivert">
<id>3</id>
<enable>false</enable>
</featureDef>
<featureDef name="ConfList">
<id>4</id>
<enable>false</enable>
</featureDef>
<featureDef name="SpeedDial">
<id>5</id>
<enable>true</enable>
</featureDef>
<featureDef name="Callback">
<id>6</id>
<enable>false</enable>
</featureDef>
<featureDef name="Redial">
<id>7</id>
<enable>true</enable>
</featureDef>
<featureDef name="Barge">
<id>8</id>
<enable>false</enable>
</featureDef>
</featurePolicy>
Zum Thema Hintergrundbilder und Klingeltöne findet man etliches im Netz.
Die Grob-Config:
Die Hintergrundbilder kommen in das Verzeichnis: \TFTP\Desktops\640x480x24
Die Locale-Settings sind im Verzeichnis: \TFTP\en_us
Der Klingelton muss im Root-Verzeichnis sein, also \TFTP
Greetz
Anhänge
Zuletzt bearbeitet: