Cisco-VoIP-SIP:XML Konfigurationsdatei
Aus znilwiki
Changelog:
- 00.00.2018: erste version
- 13.04.2020: sshPort entfernt - laut Log des Telefons kennt es den Parameter nicht
Nachfolgend meine Konfigurationsdatei für ein Cisco CP7970-G an einer Fritz!Box 7930.
Tastencodes
Zuerst die Settings drücken, dann:
* * # entsperrt die erweiterten Einstellungen
* * # * * führt einen Reset durch
Screenshot
Mit der URL
http://<IP-Adresse>/CGI/Screenshot
könnte Ihr einen Screenshot abrufen. Die Anmeldedaten sind die, die ihr in der XML Konfiguriert.
SEPxxxxxxxxxxxx.cnf.xml
Der Name der Datei muss
SEP{MAC-Adresse-mit-Großbuchstaben}.cnf.xml
lauten. Meine Datei ging ursprünglich aus dieser Anleitung hervor, ist aber inzwischen um einiges erweitert.
Vorweg einmal die komplette Datei, im Anschluss folgen Erklärungen zu den einzelnen Abschnitten.
<?xml version="1.0" encoding="UTF-8"?>
<device>
<fullConfig>true</fullConfig>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId>cisco</sshUserId>
<sshPassword>cisco</sshPassword>
<devicePool>
<dateTimeSetting>
<dateTemplate>D.M.YY</dateTemplate>
<timeZone>Central Europe Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>192.168.178.80</name>
<ntpMode>Unicast</ntpMode>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<members>
<member priority="0">
<callManager>
<name>192.168.178.1</name>
<description>FritzBox</description>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
</ports>
<processNodeName>192.168.178.1</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<connectionMonitorDuration>120</connectionMonitorDuration>
</devicePool>
<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>2</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP70.9-4-2-1S</loadInformation>
<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>
<sshAccess>0</sshAccess>
<webAccess>0</webAccess>
<spanToPCPort>1</spanToPCPort>
<loggingDisplay>1</loggingDisplay>
<loadServer></loadServer>
<daysDisplayNotActive></daysDisplayNotActive>
<displayOnTime>08:00</displayOnTime>
<displayOnDuration>14:00</displayOnDuration>
<displayIdleTimeout>00:05</displayIdleTimeout>
<displayOnWhenIncomingCall>1</displayOnWhenIncomingCall>
</vendorConfig>
<deviceSecurityMode>1</deviceSecurityMode>
<authenticationURL>http://192.168.178.80/cisco/ciscoauth.php</authenticationURL>
<directoryURL>http://192.168.178.80/cisco/directory.php</directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL></servicesURL>
<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>5060</backupProxyPort>
<emergencyProxy></emergencyProxy>
<emergencyProxyPort>5060</emergencyProxyPort>
<outboundProxy></outboundProxy>
<outboundProxyPort>5060</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>1</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>30</timerInviteExpires>
<timerRegisterExpires>300</timerRegisterExpires>
<timerRegisterDelta>5</timerRegisterDelta>
<timerKeepAliveExpires>60</timerKeepAliveExpires>
<timerSubscribeExpires>60</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>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
<kpml>3</kpml>
<natEnabled>false</natEnabled>
<natAddress></natAddress>
<stutterMsgWaiting>0</stutterMsgWaiting>
<callStats>false</callStats>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>false</disableLocalSpeedDialConfig>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<voipControlPort>5080</voipControlPort>
<dscpForAudio>184</dscpForAudio>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
<phoneLabel>Keller</phoneLabel>
<sipLines>
<line button="1" lineIndex="1">
<featureID>9</featureID>
<featureLabel>Bernhard 882571</featureLabel>
<name>cisco621</name>
<displayName>621</displayName>
<contact>621</contact>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>cisco621</authName>
<authPassword>DasPasswort</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>**601</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>true</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button="2" lineIndex="2">
<featureID>9</featureID>
<featureLabel>Wohnzimmer 882570</featureLabel>
<name>cisco620</name>
<displayName>620</displayName>
<contact>620</contact>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>cisco620</authName>
<authPassword>DasPasswort</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>**600</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>true</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button="3" lineIndex="3">
<!-- Possible Feature ID's:
1 = Redial
2 = (Speed)Dial
3 = Hold
4 = Transfer
5 = ForwardAll
9 = Line
21 = BLF (Red light when extension busy), doesn`t work with asterisk, because Cisco uses some kind of special protocol. If somebody finds a solution, please post it!!!!
-->
<featureID>9</featureID>
<speedDialNumber>**622</speedDialNumber>
<featureLabel>Intercom</featureLabel>
<name>intercom</name>
<displayName>622</displayName>
<contact>622</contact>
<proxy>USECALLMANAGER</proxy>
<port>5060</port>
<autoAnswer>
<!--<autoAnswerEnabled>2</autoAnswerEnabled>-->
<autoAnswerEnabled>3</autoAnswerEnabled>
<autoAnswerMode>Auto Answer with Speakerphone</autoAnswerMode>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>intercom</authName>
<authPassword>DasPasswort</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>1</messageWaitingLampPolicy>
<messagesNumber>**601</messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>true</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button="7">
<featureID>2</featureID>
<featureLabel>Lasse</featureLabel>
<speedDialNumber>**623</speedDialNumber>
</line>
<line button="8">
<featureID>2</featureID>
<featureLabel>ISDN</featureLabel>
<speedDialNumber>**51</speedDialNumber>
</line>
</sipLines>
</sipProfile>
<userLocale>
<name>German_Germany</name>
<uid>1</uid>
<langCode>de</langCode>
<version>11.5.1.3(1)</version>
<winCharSet>UTF-8</winCharSet>
</userLocale>
<networkLocale>Germany</networkLocale>
<networkLocaleInfo>
<name>Germany</name>
<uid>64</uid>
<version>3.3.0.0(1)</version>
</networkLocaleInfo>
</device>
fullconfig
<fullConfig>true</fullConfig>
Ich habe das so verstanden das dies dafür sorgt das vom Telefon jedesmal alles neu eingelesen wird.
phoneLabel
<phoneLabel>Keller</phoneLabel>
Das ist die Bezeichnung die oben rechts im Telefon steht.
Maximal 15 Zeichen!
deviceProtocol
<deviceProtocol>SIP</deviceProtocol>
Hier legen wir fest das wir SIP nutzen. Alternative wäre SCCP - welche aber eine entsprechende Firmware voraussetzt.
sshUserId
<sshUserId>cisco</sshUserId> <sshPassword>cisco</sshPassword>
Setzt den Benutzername + Passwort für den SSH und Webzugriff Zugriff auf das Telefon.
dateTimeSetting
<dateTimeSetting> <dateTemplate>D.M.YY</dateTemplate> <timeZone>Central Europe Standard/Daylight Time</timeZone> <ntps> <ntp> <name>192.168.178.80</name> <ntpMode>Unicast</ntpMode> </ntp> </ntps> </dateTimeSetting>
dateTemplate
<dateTemplate>D.M.YY</dateTemplate>
Hier setzen wir das Datumsformat wie es oben links im Telefon erscheint, die möglichen Werte sind:
D.M.Y Jahr 2 stellig, Uhr im 24 Stunden Format D.M.YY Jahr 4 stellig, Uhr im 24 Stunden Format D.M.YA Jahr 2 stellig, Uhr im 12 Stunden Format (am und pm) D.M.YYA Jahr 4 stellig, Uhr im 12 Stunden Format (am und pm)
Statt des . sind auch die Zeichen / und - erlaubt.
timeZone
<timeZone>Central Europe Standard/Daylight Time</timeZone>
Diese Zeitzone ist die richtige für Deutschland, die anderen möglichen lauten:
Name | Korrektur |
Dateline Standard Time | -12 h |
Samoa Standard Time | -11 h |
Hawaiian Standard Time | -10 h |
Alaskan Standard/Daylight Time | -9 h |
Pacific Standard/Daylight Time | -8 h |
Mountain Standard/Daylight Time | -7 h |
US Mountain Standard Time | -7 h |
Canada Central Standard Time | -6 h |
Central Standard/Daylight Time | -6 h |
Mexico Standard/Daylight Time | -6 h |
Eastern Standard/Daylight Time | -5 h |
SA Pacific Standard Time | -5 h |
US Eastern Standard Time | -5 h |
Atlantic Standard/Daylight Time | -4 h |
Pacific SA Standard Time | -4 h |
SA Western Standard Time | -4 h |
Newfoundland Standard/Daylight Time | -3,5 h |
E. South America Standard/Daylight Time | -3 h |
Pacific SA Daylight Time | -3 h |
SA Eastern Standard Time | -3 h |
Mid-Atlantic Standard/Daylight Time | -2 h |
Azores Standard/Daylight Time | -1 h |
GMT Standard/Daylight Time | 0 h |
Greenwich Standard Time | 0 h |
E. Europe Standard/Daylight Time | 1 h |
Egypt Standard/Daylight Time | 1 h |
GTB Standard/Daylight Time | 1 h |
W. Europe Standard/Daylight Time | 1 h |
Central Europe Standard/Daylight Time | 2 h |
Jerusalem Standard/Daylight Time | 2 h |
Romance Standard/Daylight Time | 2 h |
South Africa Standard Time | 2 h |
Russian Standard/Daylight Time | 3 h |
Saudi Arabia Standard Time | 3 h |
Iran Standard/Daylight Time | 3,5 h |
Arabian Standard Time | 4 h |
Caucasus Standard/Daylight Time | 4 h |
Afghanistan Standard Time | 4,5 h |
Ekaterinburg Standard Time | 5 h |
West Asia Standard Time | 5 h |
India Standard Time | 5,5 h |
Central Asia Standard Time | 6 h |
SE Asia Standard Time | 7 h |
China Standard/Daylight Time | 8 h |
Taipei Standard Time | 8 h |
Tokyo Standard Time | 9 h |
AUS Central Standard Time | 9,5 h |
Cen. Australia Standard/Daylight Time | 9,5 h |
AUS Eastern Standard/Daylight Time | 10 h |
E. Australia Standard Time | 10 h |
Tasmania Standard/Daylight Time | 10 h |
West Pacific Standard Time | 10 h |
Central Pacific Standard Time | 11 h |
Fiji Standard Time | 12 h |
New Zealand Standard/Daylight Time | 12 h |
ntps / ntp
<ntps> <ntp> <name>192.168.178.80</name> <ntpMode>Unicast</ntpMode> </ntp> </ntps>
Hier legen wir den Zeitserver fest. Die Fritz!Box wäre geeignet, ich benutze hier einen Windows-Domänencontroller.
callManagerGroup / callManager
<callManagerGroup> <members> <member priority="0"> <callManager> <name>192.168.178.1</name> <description>FritzBox</description> <ports> <ethernetPhonePort>2000</ethernetPhonePort> <sipPort>5060</sipPort> <securedSipPort>5061</securedSipPort> </ports> <processNodeName>192.168.178.1</processNodeName> </callManager> </member> </members> </callManagerGroup>
Hier legen wir den CallManager fest, also das Gerät welches als zentrale Instanz die Anrufe verwaltet.
Das kann ein SIP-Anbieter sein - in diesem Fall ist es die Fritz!Box.
Die Ports passen so. Die Fritz!Box kann nur den 5060
, den anderen kann die Box nicht. Der würde bei verschlüsselten Verbindungen genutzt werden.
backgroundImageAccess
<backgroundImageAccess>true</backgroundImageAccess>
Erlaubt dem Benutzer den Zugriff auf die Auswahl der Hintergundbilder.
loadInformation
<loadInformation>SIP70.9-4-2-1S</loadInformation>
Welche Firmware soll geladen werden. Der Eintrag entspricht der gleichnamigen Datei im TFTP-Verzeichnis, jedoch ohne die Endung .loads
am Ende.
Das er diese nehmen soll bekommt er auch aus der Datei term70.default.loads
, das ist also doppelt gemoppelt. Was man auch daran merkt das er bei einem Update dieses auch gleich zei mal hintereinander ausführt.
Ist das Telefon auf der Firmwareversion kann man diese Zeile auch einfach weglassen.
settingsAccess
<settingsAccess>1</settingsAccess>
Ob dem Benutzer der Zugriff auf die Einstellungen erlaubt ist.
1 = erlaubt 0 = verboten
sshAccess
<sshAccess>0</sshAccess> <sshPort>22</sshPort>
Regelt den SSH Zugriff:
0 = Erlaubt 1 = Verboten
webAccess
<webAccess>0</webAccess>
Zugriff auf die Webseite mit Informationen und der Web-Befehlsschnittstelle / API.
0 = Erlaubt 1 = Verboten
spanToPCPort
<spanToPCPort>1</spanToPCPort>
Aktiviert und deaktiviert den PC-Port am Telefon:
0 = Deaktiviert 1 = Aktiviert