- Startseite
- /
- Artikel
Profileinstellungen für Telefone konfigurieren
Dieser Hilfeartikel bezieht sich auf Cisco Telefone, die in Cisco BroadWorks registriert sind. Die Informationen auf dieser Seite umfassen die Profil-Resynchronisierung, die manuelle Anwendung des Profils und die Konfigurationssyntax.
Telefon für die erneute Profilsynchronisierung konfigurieren
Das Telefon unterstützt mehrere Netzwerkprotokolle zum Abrufen von Konfigurationsprofilen. Das grundlegendste Profilübertragungsprotokoll ist TFTP (RFC1350). TFTP wird häufig für die Bereitstellung von Netzwerkgeräten in privaten LAN-Netzwerken verwendet. Obwohl TFTP nicht für die Bereitstellung von Remote-Endpunkten über das Internet empfohlen wird, kann es sich für die Bereitstellung in kleinen Organisationen, für die interne Vorabbereitstellung sowie für Entwicklung und Tests eignen. Im folgenden Verfahren wird ein Profil nach dem Herunterladen einer Datei von einem TFTP-Server geändert.
1 |
Verbinden Sie Ihren Computer und das Telefon in einer LAN-Umgebung mit einem Hub, Switch oder kleinen Router. |
2 |
Installieren und aktivieren Sie einen TFTP-Server auf dem Computer. |
3 |
Erstellen Sie ein Konfigurationsprofil in einem Texteditor. Um zu überprüfen, ob das Profil später für Ihr Telefon bereitgestellt wurde, können Sie einige der Werte als Markierungen festlegen. Legen Sie beispielsweise den Wert für GPP_A wie im folgenden Beispiel gezeigt auf 12345678 fest:
_ |
4 |
Speichern Sie die XML-Konfigurationsdatei im Stammverzeichnis des TFTP-Servers. Sie können überprüfen, ob der TFTP-Server korrekt konfiguriert ist: Fordern Sie die Konfigurationsprofildatei mit einem anderen TFTP-Client als dem Telefon an. Verwenden Sie vorzugsweise einen TFTP-Client, der auf einem anderen Host als dem Bereitstellungsserver ausgeführt wird. |
5 |
Öffnen Sie die Verwaltungswebseite im Webbrowser auf Ihrem Computer. Angenommen, die IP-Adresse des Telefons lautet 192.168.1.100. Öffnen Sie die folgende URL in Ihrem Webbrowser:
|
6 |
Wählen Sie die Registerkarte aus, und überprüfen Sie die Werte der allgemeinen Parameter GPP_A bis GPP_P. Diese sollten leer sein. |
7 |
Synchronisieren Sie das Testtelefon erneut mit dem Konfigurationsprofil, das Sie erstellt haben, indem Sie die URL für die Resynchronisierung in einem Webbrowser öffnen. Beispiel: Wenn die IP-Adresse des TFTP-Servers 192.168.1.200 lautet, sollte der Befehl dem folgenden Beispiel ähneln:
Wenn das Telefon diesen Befehl erhält, fordert das Gerät mit der Adresse 192.168.1.100 die Konfigurationsprofildatei |
8 |
Stellen Sie sicher, dass der Parameter korrekt aktualisiert wurde. Aktualisieren Sie die Verwaltungswebseite, und gehen Sie zu .Der Parameter GPP_A sollte jetzt den Wert 12345678 enthalten. |
1 |
Ermitteln Sie die MAC-Adresse des Telefons aus dem Produktetikett. (Die MAC-Adresse ist die Nummer aus Hexadezimalzahlen und Kleinbuchstaben, z. B. 000e08aabbcc. |
2 |
Benennen Sie Ihre Konfigurationsdatei in Beispiel: |
3 |
Verschieben Sie die neue Datei in das virtuelle Stammverzeichnis des TFTP-Servers. |
4 |
Greifen Sie auf die Webseite zur Telefonverwaltung zu. |
5 |
Wählen Sie aus. |
6 |
Geben Sie den Pfad der Profildatei im Feld Profilregel ein. Beispiel: Die IP-Adresse des TFTP-Servers lautet 192.168.1.200 und der Profildateiname lautet rofile_ |
7 |
Klicken Sie auf Alle Änderungen senden. Dies führt zu einem sofortigen Neustart und einer erneuten Synchronisierung. Bei der nächsten Resynchronisierung ruft das Telefon die neue Datei ab, indem der Makroausdruck $MA in die MAC-Adresse des Telefons erweitert wird. |
1 |
Installieren Sie einen HTTP-Server auf dem lokalen Computer oder auf einem anderen zugänglichen Host. Der Open-Source-Server Apache kann aus dem Internet heruntergeladen werden. |
2 |
Laden Sie die Konfigurationsprofildatei in das virtuelle Stammverzeichnis des installierten Servers hoch. |
3 |
Öffnen Sie das Profil mit einem Webbrowser, um die ordnungsgemäße Serverinstallation und den Zugriff auf die Profildatei zu überprüfen. |
4 |
Ändern Sie die Profile_Regel des Testtelefons so, dass sie auf den HTTP-Server statt auf den TFTP-Server verweist, damit das Profil in regelmäßigen Abständen heruntergeladen wird. Geben Sie z. B. den folgenden Wert ein, wenn der HTTP-Server den Wert 192.168.1.300 hat und die Profildatei basic.txt hat: rofile_ |
5 |
Klicken Sie auf Alle Änderungen senden. Dies führt zu einem sofortigen Neustart und einer erneuten Synchronisierung. |
6 |
Beachten Sie die Syslog-Nachrichten, die das Telefon sendet. Bei den regelmäßigen Resynchronisierungen sollte nun das Profil vom HTTP-Server abgerufen werden. |
7 |
Beachten Sie in den HTTP-Serverprotokollen, wie die Informationen, die das Testtelefon identifizieren, im Protokoll der Benutzeragenten angezeigt werden. Diese Informationen sollten den Hersteller, den Produktnamen, die aktuelle Firmware-Version und die Seriennummer enthalten. |
Ein Gerät kann sich regelmäßig mit dem Bereitstellungsserver resynchronisieren, um sicherzustellen, dass auf dem Server vorgenommene Profiländerungen an das Endpunktgerät übertragen werden (anstatt eine explizite Resynchronisierungsanforderung an den Endpunkt zu senden).
Damit sich das Telefon in regelmäßigen Abständen erneut mit einem Server synchronisiert, werden mit dem Profile_Rule-Parameter eine Konfigurationsprofil-URL und mit dem Parameter Resync_Periodisch ein Resynchronisierungszeitraum definiert.
1 |
Greifen Sie auf die Webseite zur Telefonverwaltung zu. |
2 |
Wählen Sie aus. |
3 |
Definieren Sie den Profile_Rule-Parameter. In diesem Beispiel wird die IP-Adresse des TFTP-Servers 192.168.1.200 angenommen. |
4 |
Geben Sie im Feld Erneute Synchronisierung periodisch einen kleinen Wert zum Testen ein, z. B. 30 Sekunden. |
5 |
Klicken Sie auf Alle Änderungen senden. Mit den neuen Parametereinstellungen synchronisiert sich das Telefon zweimal pro Minute mit der Konfigurationsdatei, die in der URL angegeben ist. |
6 |
Beachten Sie die resultierenden Meldungen in der Syslog-Ablaufverfolgung. |
7 |
Stellen Sie sicher, dass das Feld Resynchronisierung bei Zurücksetzen auf Ja gesetzt ist. esync_ |
8 |
Schalten Sie das Telefon aus und wieder ein, um die Resynchronisierung mit dem Bereitstellungsserver zu erzwingen. Wenn die Resynchronisierung aus irgendeinem Grund fehlschlägt (z. B. wenn der Server nicht antwortet), wartet das Gerät (die unter Resynchronisierungsfehler – Wiederholungsverzögerung konfigurierte Anzahl von Sekunden), bevor es versucht, eine erneute Resynchronisierung durchzuführen. Wenn die Option Resynchronisierungsfehler – Wiederholungsverzögerung null ist, versucht das Telefon nach einem fehlgeschlagenen Resynchronisierungsversuch nicht, eine erneute Synchronisierung durchzuführen. |
9 |
(Optional) Legen Sie den Wert für das Feld Wiederholungsverzögerung bei Resynchronisierung auf eine kleine Zahl fest, z. B. 30. esync_ |
10 |
Deaktivieren Sie den TFTP-Server und beobachten Sie die Ergebnisse in der Syslog-Ausgabe. |
In der folgenden Tabelle werden die Funktionen und die Verwendung der Profil-Resynchronisierungsparameter im Abschnitt Konfigurationsprofil unter der Registerkarte auf der Telefon-Webseite definiert. Außerdem wird die Syntax der Zeichenfolge definiert, die in der Telefonkonfigurationsdatei (cfg.xml) mit XML-Code hinzugefügt wird, um einen Parameter zu konfigurieren.
Parameter |
Beschreibung |
---|---|
Bereitstellung aktivieren |
Erlaubt oder verweigert die erneute Synchronisierung des Konfigurationsprofils.
Standard: Ja |
Erneute Synchronisierung Beim Zurücksetzen |
Gibt an, ob das Telefon die Konfigurationen nach dem Einschalten und nach jedem Upgrade-Versuch erneut mit dem Bereitstellungsserver synchronisiert.
Standard: Ja |
Zufällige Verzögerung bei der Resynchronisierung |
Verhindert eine Überlastung des Bereitstellungsservers, wenn eine große Anzahl von Geräten gleichzeitig eingeschaltet wird und eine Erstkonfiguration versucht. Diese Verzögerung ist nur beim ersten Konfigurationsversuch nach dem Einschalten oder Zurücksetzen des Geräts wirksam. Der Parameter ist das maximale Zeitintervall, das das Gerät wartet, bevor es eine Verbindung mit dem Bereitstellungsserver herstellt. Die tatsächliche Verzögerung ist eine Pseudozufallszahl zwischen 0 und diesem Wert. Dieser Parameter wird in Einheiten von 20 Sekunden angegeben. Der gültige Wert liegt zwischen 0 und 65535.
Der Standardwert ist 2 (40 Sekunden). |
Erneute Synchronisierung um (HHmm) |
Die Zeit (HHmm), in der sich das Telefon mit dem Bereitstellungsserver resynchronisiert. Der Wert für dieses Feld muss eine vierstellige Zahl im Bereich von 0000 bis 2400 sein, um die Zeit im Format HHmm anzugeben. Beispielsweise steht 0959 für 09:59.
Der Standardwert ist leer. Wenn der Wert ungültig ist, wird der Parameter ignoriert. Wenn dieser Parameter auf einen gültigen Wert festgelegt ist, wird der Parameter „Periodische Neusynchronisierung“ ignoriert. |
Erneute Synchronisierung mit zufälliger Verzögerung |
Verhindert eine Überlastung des Bereitstellungsservers, wenn eine große Anzahl von Geräten gleichzeitig eingeschaltet wird. Um zu vermeiden, dass Resynchronisierungsanforderungen von mehreren Telefonen an den Server überflutet werden, führt das Telefon die Resynchronisierung im Bereich zwischen den Stunden und Minuten sowie den Stunden und Minuten plus der zufälligen Verzögerung durch (hhmm, hhmm+random_delay). Beispiel: Wenn die zufällige Verzögerung = (Erneute Synchronisierung bei zufälliger Verzögerung + 30)/60 Minuten ist, wird der Eingabewert in Sekunden in Minuten umgewandelt und auf die nächste Minute aufgerundet, um das endgültige random_delay Intervall zu berechnen.
Der gültige Wert liegt zwischen 600 und 65535. Wenn der Wert kleiner als 600 ist, liegt die zufällige interne Verzögerung zwischen 0 und 600. Der Standardwert ist 600 Sekunden (10 Minuten). |
Periodische Resynchronisierung |
Das Zeitintervall zwischen der regelmäßigen erneuten Synchronisierung mit dem Bereitstellungsserver. Der zugehörige Timer für die Resynchronisierung ist erst nach der ersten erfolgreichen Synchronisierung mit dem Server aktiv. Die gültigen Formate sind wie folgt:
Legen Sie diesen Parameter auf Null fest, um die periodische Resynchronisierung zu deaktivieren. Der Standardwert ist 3600 Sekunden. |
Wiederholungsverzögerung für Resynchronisierungsfehler |
Wenn eine Resynchronisierung fehlschlägt, weil das Telefon kein Profil vom Server abrufen konnte, die heruntergeladene Datei beschädigt ist oder ein interner Fehler auftritt, versucht das Telefon, die Resynchronisierung nach einer in Sekunden festgelegten Zeitdauer durchzuführen. Die gültigen Formate sind wie folgt:
Wenn die Verzögerung auf 0 festgelegt ist, versucht das Gerät nicht, sich nach einem fehlgeschlagenen Resynchronisierungsversuch erneut zu synchronisieren.
Standard: 60,120,240,480,960,1920,3840,7680,15360,30720,61440,86400 |
Erzwungene Resynchronisierungsverzögerung |
Maximale Verzögerung (in Sekunden), die das Telefon wartet, bevor eine erneute Synchronisierung durchgeführt wird. Das Gerät führt keine Resynchronisierung durch, während eine der Telefonleitungen aktiv ist. Da eine Resynchronisierung mehrere Sekunden dauern kann, sollte das Gerät vor der Resynchronisierung längere Zeit inaktiv gewesen sein. Auf diese Weise können Benutzer Anrufe nacheinander tätigen, ohne unterbrochen zu werden. Das Gerät verfügt über einen Timer, der rückwärts läuft, wenn alle Leitungen inaktiv sind. Dieser Parameter ist der Anfangswert des Zählers. Resynchronisierungsereignisse werden verzögert, bis dieser Zähler auf Null reduziert wird. Der gültige Wert liegt zwischen 0 und 65535.
Der Standardwert ist 14.400 Sekunden. |
Erneute Synchronisierung von SIP |
Steuert Anforderungen für Resynchronisierungsvorgänge über ein SIP NOTIFY-Ereignis, das vom Proxyserver des Serviceanbieters an das Telefon gesendet wird. Wenn aktiviert, kann der Proxy eine erneute Synchronisierung anfordern, indem er eine SIP NOTIFY-Nachricht sendet, die das Ereignis enthält: Resynchronisierungskopfzeile mit dem Gerät.
Standard: Ja |
Erneute Synchronisierung nach dem Upgrade-Versuch |
Aktiviert oder deaktiviert den Resynchronisierungsvorgang nach einem Upgrade. Wenn Ja ausgewählt ist, wird die Synchronisierung nach einem Firmware-Upgrade ausgelöst.
Standard: Ja |
Resynchronisierungsauslöser 1 Resynchronisierungsauslöser 2 |
Wenn die logische Gleichung in diesen Parametern FALSE ergibt, wird keine Resynchronisierung ausgelöst, selbst wenn Resynchronisierung bei Zurücksetzen auf TRUE festgelegt ist. Diese Resynchronisierungsauslöser werden nur bei der Resynchronisierung über eine direkte Aktions-URL und SIP NOTIFY ignoriert. Die Parameter können mit einem bedingten Ausdruck programmiert werden, der einer Makroerweiterung unterliegt. Die gültigen Makroerweiterungen finden Sie unter Makroerweiterungsvariablen unter Bereitstellungsparameter.
Standard: Leer |
Vom Benutzer konfigurierbare Resynchronisierung |
Ermöglicht einem Benutzer, das Telefon über das Menü des Telefonbildschirms erneut zu synchronisieren. Wenn diese Option auf Ja festgelegt ist, kann der Benutzer die Telefonkonfiguration erneut synchronisieren, indem er die Profilregel auf dem Telefon eingibt. Wenn Sie Nein festlegen, wird der Parameter Profilregel nicht im Menü des Telefonbildschirms angezeigt.
Standard: Ja |
Resynchronisierung schlägt bei FNF fehl |
Eine Resynchronisierung gilt normalerweise als nicht erfolgreich, wenn ein angefordertes Profil vom Server nicht empfangen wird. Dieser Parameter überschreibt dieses Verhalten. Wenn Sie Nein festlegen, akzeptiert das Gerät die Antwort
Standard: Ja |
Profile Authentication Type |
Specifies the credentials to use for profile account authentication. The available options are:
Standard: Basic HTTP Authentication For more information, see Specify the profile authentication type under Specify the phone for profile resync. |
Profile Rule Profile Rule B Profile Rule C Profile Rule D |
Each profile rule informs the phone of a source from which to obtain a profile (configuration file). During every resync operation, the phone applies all the profiles in sequence. If you are applying AES-256-CBC encryption to the configuration files, specify the encryption key with the You can enclose the encryption key in double-quotes (") optionally.
Default: |
DHCP Option To Use |
DHCP options, delimited by commas, used to retrieve firmware and profiles. Standard: 66,160,159,150,60,43,125 |
DHCPv6 Option To Use |
DHCP options, delimited by commas, used to retrieve firmware and profiles. Standard: 17,160,159 |
You can provision phones through Cisco XML functions.
You can send an XML object to the phone by a SIP Notify packet or an HTTP Post to the CGI interface of the phone: http://PhoneIPAddress/CGI/Execute
.
The CP-xxxx-3PCC extends the Cisco XML feature to support provisioning via an XML object:
<CP-xxxx-3PCCExecute> <ExecuteItem URL=Resync:[profile-rule]/> </CP-xxxx-3PCCExecute>
After the phone receives the XML object, it downloads the provisioning file from [profile-rule]. This rule uses macros to simplify the development of the XML services application.
Subdirectories with multiple profiles on the server provide a convenient method for managing a large number of deployed devices. The profile URL can contain:
-
A provisioning server name or an explicit IP address. If the profile identifies the provisioning server by name, the phone performs a DNS lookup to resolve the name.
-
A nonstandard server port that is specified in the URL by using the standard syntax
:port
following the server name. -
The subdirectory of the server virtual root directory where the profile is stored, specified by using standard URL notation and managed by macro expansion.
For example, the following Profile_Rule requests the profile file ($PN.cfg), in the server subdirectory /cisco/config
, from the TFTP server that is running on host prov.telco.com listening for a connection on port 6900:
<Profile_Rule>
tftp://prov.telco.com:6900/cisco/config/$PN.cfg
</Profile_Rule>
A profile for each phone can be identified in a general purpose parameter, with its value referred within a common profile rule by using macro expansion.
For example, assume GPP_B is defined as Dj6Lmp23Q
.
The Profile_Rule has the value:
tftp://prov.telco.com/cisco/$B/$MA.cfg
When the device resyncs and the macros are expanded, the phone with a MAC address of 000e08012345 requests the profile with the name that contains the device MAC address at the following URL:
tftp://prov.telco.com/cisco/Dj6Lmp23Q/000e08012345.cfg
Profile Authentication allows phone users to resynchronize the provisioning profile onto the phone. Authentication information is required while the phone tries to resynchronize and download configuration file for the first time and gets an HTTP or HTTPS 401 authentication error. When you enable this feature, the Profile account setup screen is displayed on the phone for the following situations:
-
When the HTTP or HTTPs 401 authentication error occurs during first-time provisioning after the phone reboots
-
When the profile account username and password are empty
-
When there are no username and password in the Profile Rule
If the Profile account setup screen is missed or ignored, the user can also access the setup screen through the phone screen menu, or the Setup softkey, which displays only when no line on the phone is registered.
When you disable the feature, the Profile account setup screen doesn't display on the phone.
The username and password in the Profile Rule field have a higher priority than the profile account.
-
When you provide a correct URL in the Profile Rule field without a username and password, the phone requires authentication or digest to resynchronize the profile. With the correct profile account, authentication passes. With an incorrect profile account, authentication fails.
-
When you provide a correct URL in the Profile Rule field with a correct username and password, the phone requires authentication or digest to resynchronize the profile. The profile account is not used for phone resynchronization. Sign-in is successful.
-
When you provide a correct URL in the Profile Rule field with an incorrect username and password, the phone requires authentication or digest to resynchronize the profile. The profile account isn't used for phone resynchronization. Sign-in always fails.
-
When you provide an incorrect URL in the Profile Rule field, sign-in always fails.
You can also configure the parameters in the phone configuration file with XML(cfg.xml) code.
You can specify the profile authentication type from the phone administration web page.
1 |
Access the phone administration web page. |
2 |
Select . |
3 |
In the Configuration Profile section, set the Profile Authentication Type parameter to specify the credentials to use for profile account authentication. You can configure this parameter in the phone configuration XML file (cfg.xml) by entering a string in this format: Optionen:
Standard: Basic HTTP Authentication |
4 |
Click Submit All Changes. |
Manually apply a profile to your phone
Complete these steps to download the configuration file to a TFTP server application on your PC.
1 |
Connect your computer to the LAN port of the phone. |
2 |
Run a TFTP server application on the computer and ensure that the configuration file is available in the TFTP root directory. |
3 |
In a web browser, enter the phone LAN IP address, the IP address of the computer, the filename, and the login credentials. Verwenden Sie dieses Format: Example:
|
Complete these steps to download the configuration to the phone by using cURL. This command-line tool is used to transfer data with a URL syntax. To download cURL, visit:
https://curl.haxx.se/download.html
We recommend that you don't use cURL to post the configuration to the phone because the username and password might get captured while using cURL.
1 |
Connect your computer to the LAN port of the phone. |
2 |
Download the configuration file to the phone by entering the following cURL command: |
Configuration Profiles
The phone accepts configurations in XML format.
The examples in this section use configuration profiles with XML syntax.
The configuration profile defines the parameter values for the phone.
The configuration profile XML format uses standard XML authoring tools to compile the parameters and values.
Each phone has a different feature set and therefore, a different set of parameters.
Open profile format
The open format profile is a text file with XML-like syntax in a hierarchy of elements, with element attributes and values. This format lets you use standard tools to create the configuration file. An XML configuration file can be sent from the provisioning server to the phone during a resync operation, without compilation as a binary object.
The phone can accept configuration formats that standard tools generate. This feature eases the development of back-end provisioning server software that generates configuration profiles from existing databases.
To protect confidential information in the configuration profile, the provisioning server delivers the XML configuration file to the phone over a channel secured by TLS. Optionally, the file can be compressed by using the gzip deflate algorithm (RFC1951).
The file can be encrypted with one of these encryption methods:
-
AES-256-CBC encryption
-
RFC-8188 based HTTP content encryption with AES-128-GCM ciphering
A configuration file can include these components:
-
Element tags
-
Attribute
-
Parameter
-
Formatting features
-
XML comments
Beispiel: Open profile format
<flat-profile> <Resync_On_Reset> Yes </Resync_On_Reset> <Resync_Periodic> 7200 </Resync_Periodic> <Profile_Rule> tftp://prov.telco.com:6900/cisco/config/CP_xxxx_MPP.cfg</Profile_Rule> </flat-profile>
The <flat-profile>
element tag encloses all parameter elements that the phone recognizes.
Element tag properties
Keep the following rules in mind when you create or update the configuration file.
-
The XML provisioning format and the Web UI allow the configuration of the same settings. The XML tag names and the field names in the Web UI are similar but vary due to XML element name restrictions. For example, underscores ( _ ) in XML configuration file instead of spaces on the Web UI.
-
The phone recognizes elements with proper parameter names that are encapsulated in the special
<flat-profile>
element. -
Element names are enclosed in angle brackets.
-
Most element names are similar to the field names on the phone Web UI, with the following modifications:
-
Element names may not include spaces or special characters. To derive the element name from the web field name, substitute an underscore for every space or the special characters
[
,]
,(
,)
, or/
.Beispiel: The <Resync_On_Reset> element represents the Resync On Reset field.
-
Each element name must be unique. In the phone Web UI, the same fields can appear on multiple web pages, such as the Line, User, and Extension pages. Append
[n]
to the element name to indicate the number that is shown in the page tab.Beispiel: The
<Dial_Plan_1_>
element represents the Dial Plan for Line 1.
-
-
Each opening element tag must have a matching closing element tag. Beispiel:
<flat-profile> <Resync_On_Reset> Yes </Resync_On_Reset> <Resync_Periodic> 7200 </Resync_Periodic> <Profile_Rule>tftp://prov.telco.com: 6900/cisco/config/CP_xxxx_MPP.cfg </Profile_Rule> </flat-profile>
-
Element tags are case-sensitive.
-
Empty element tags are allowed and will be interpreted as configuring the value to be empty. Enter the opening element tag without a corresponding element tag, and insert a space and a forward slash before the closing angle bracket (>). In this example, Profile Rule B is empty:
<Profile_Rule_B />
-
An empty element tag can be used to prevent the overwriting of any user-supplied values during a resync operation. In the following example, the user speed dial settings are unchanged:
<flat-profile> <Speed_Dial_2_Name ua="rw"/> <Speed_Dial_2_Number ua="rw"/> <Speed_Dial_3_Name ua="rw"/> <Speed_Dial_3_Number ua="rw"/> <Speed_Dial_4_Name ua="rw"/> <Speed_Dial_4_Number ua="rw"/> <Speed_Dial_5_Name ua="rw"/> <Speed_Dial_5_Number ua="rw"/> <Speed_Dial_6_Name ua="rw"/> <Speed_Dial_6_Number ua="rw"/> <Speed_Dial_7_Name ua="rw"/> <Speed_Dial_7_Number ua="rw"/> <Speed_Dial_8_Name ua="rw"/> <Speed_Dial_8_Number ua="rw"/> <Speed_Dial_9_Name ua="rw"/> <Speed_Dial_9_Number ua="rw"/> </flat-profile>
-
Use an empty value to set the corresponding parameter to an empty string. Enter an opening and closing element without any value between them. In the following example, the GPP_A parameter is set to an empty string.
<flat-profile> <GPP_A> </GPP_A> </flat-profile>
-
Unrecognized element names are ignored.
Parameter properties
These properties apply to the parameters:
Any parameters that are not specified by a profile are left unchanged in the phone.
Unrecognized parameters are ignored.
If the Open format profile contains multiple occurrences of the same parameter tag, the last such occurrence overrides any earlier ones. To avoid inadvertent override of configuration values for a parameter, we recommend that each profile specify at most one instance of a parameter.
The last profile processed takes precedence. If multiple profiles specify the same configuration parameter, the value of the latter profile takes precedence.
String formats
These properties apply to the formatting of the strings:
Comments are allowed through standard XML syntax.
<!-- My comment is typed here -->
Leading and trailing white space is allowed for readability but is removed from the parameter value.
New lines within a value are converted to spaces.
An XML header of the form
<? ?>
is allowed, but the phone ignores it.To enter special characters, use basic XML character escapes, as shown in the following table.
Special Character
XML Escape Sequence
& (ampersand)
&
< (less than)
<
> (greater than)
>
’ (apostrophe)
'
” (double quote)
"
In the following example, character escapes are entered to represent the greater than and less than symbols that are required in a dial plan rule. This example defines an information hotline dial plan that sets the <Dial_Plan_1_> parameter (
) equal to (S0 <:18005551212>).<flat-profile> <Dial_Plan_1_> (S0 <:18005551212>) </Dial_Plan_1_> </flat-profile>
Numeric character escapes, using decimal and hexadecimal values (s.a.
(
and.
), are translated.The phone firmware only supports ASCII characters.
The Open configuration profile can be compressed to reduce the network load on the provisioning server. The profile can also be encrypted to protect confidential information. Compression is not required, but it must precede encryption.
Open profile compression
The supported compression method is the gzip deflate algorithm (RFC1951). The gzip utility and the compression library that implements the same algorithm (zlib) are available from Internet sites.
To identify compression, the phone expects the compressed file to contain a gzip compatible header. Invocation of the gzip utility on the original Open profile generates the header. The phone inspects the downloaded file header to determine the file format.
For example, if profile.xml
is a valid profile, the file profile.xml.gz
is also accepted. Either of the following commands can generate this profile type:
-
>gzip profile.xml
Replaces original file with compressed file.
-
>cat profile.xml | gzip > profile.xml.gz
Leaves original file in place and produces new compressed file.
Open profile encryption
Symmetric key encryption can be used to encrypt an open configuration profile, whether the file is compressed or not. Compression, if applied, must be applied before encryption.
The provisioning server uses HTTPS to handle initial provisioning of the phone after deployment. Pre-encrypting configuration profiles offline allows the use of HTTP for resynchronizing profiles subsequently. This reduces the load on the HTTPS server in large-scale deployments.
The phone supports two methods of encryption for configuration files:
-
AES-256-CBC encryption
-
RFC 8188-based HTTP content encryption with AES-128-GCM ciphering
The key or Input Keying Material (IKM) must be preprovisioned into the unit at an earlier time. Bootstrap of the secret key can be accomplished securely by using HTTPS.
The configuration file name doesn't require a specific format, but a file name that ends with the .cfg
extension normally indicates a configuration profile.
AES-256-CBC Encryption
The phone supports AES-256-CBC encryption for configuration files.
The OpenSSL encryption tool, available for download from various Internet sites, can perform the encryption. Support for 256-bit AES encryption may require recompilation of the tool to enable the AES code. The firmware has been tested against version openssl-1.1.1d.
For an encrypted file, the profile expects the file to have the same format as generated by the following command:
# example encryption key = SecretPhrase1234 openssl enc –e –aes-256-cbc –k SecretPhrase1234 –in profile.xml –out profile.cfg # analogous invocation for a compressed xml file openssl enc –e –aes-256-cbc –k SecretPhrase1234 –in profile.xml.gz –out profile.cfg
A lowercase -k precedes the secret key, which can be any plain text phrase, and which is used to generate a random 64-bit salt. With the secret specified by the -k argument, the encryption tool derives a random 128-bit initial vector and the actual 256-bit encryption key.
When this form of encryption is used on a configuration profile, the phone must be informed of the secret key value to decrypt the file. This value is specified as a qualifier in the profile URL. The syntax is as follows, using an explicit URL:
[--key “SecretPhrase1234”] http://prov.telco.com/path/profile.cfg
This value is programmed by using one of the Profile_Rule
parameters.
Macro expansion
Several provisioning parameters undergo macro expansion internally prior to being evaluated. This preevaluation step provides greater flexibility in controlling the phone resync and upgrade activities.
These parameter groups undergo macro expansion before evaluation:
-
Resync_Trigger_*
-
Profile_Rule*
-
Log_xxx_Msg
-
Upgrade_Rule
Under certain conditions, some general-purpose parameters (GPP_*) also undergo macro expansion, as explicitly indicated in the Optional resync arguments section below.
During macro expansion, the contents of the named variables replace expressions of the form $NAME and $(NAME). These variables include general-purpose parameters, several product identifiers, certain event timers, and provisioning state values. For a complete list, see Macro expansion variables under Provisioning parameters.
In the following example, the expression $(MAU) is used to insert the MAC address 000E08012345.
The administrator enters: $(MAU)config.cfg
The resulting macro expansion for a device with MAC address 000E08012345 is: 000E08012345config.cfg
If a macro name is not recognized, it remains unexpanded. For example, the name STRANGE is not recognized as a valid macro name, while MAU is recognized as a valid macro name.
The administrator enters: $STRANGE$MAU.cfg
The resulting macro expansion for a device with MAC address 000E08012345 is: $STRANGE000E08012345.cfg
Macro expansion is not applied recursively. For example, $$MAU” expands into $MAU” (the $$ is expanded), and does not result in the MAC address.
The contents of the special purpose parameters, GPP_SA through GPP_SD, are mapped to the macro expressions $SA through $SD. These parameters are only macro expanded as the argument of the --key , --uid, and --pwd options in a resync URL.
Conditional expressions
Conditional expressions can trigger resync events and select from alternate URLs for resync and upgrade operations.
Conditional expressions consist of a list of comparisons, separated by the and operator. All comparisons must be satisfied for the condition to be true.
Each comparison can relate to one of the following three types of literals:
-
Integer values
-
Software or hardware version numbers
-
Doubled-quoted strings
Version Numbers
The software version for Cisco Video Phone 8875 uses this format (where BN is the Build Number):
PHONEOSyyyy.1-0-1-0001-BN
where yyyy indicates the phone model or phone series; 1 is the major version; 0 is the minor version; 1-0001 is the micro version; and BN is the build number.
The comparing string must use the same format. Otherwise, a format parsing error results.
When comparing the software version, the major version, minor version, and micro version are compared in sequence, and the leftmost digits take precedence over the latter ones. When version numbers are identical, the build number is compared.
Examples of Valid Version Number
PHONEOS-8875.1-0-1-0001-19
Comparison
Quoted strings can be compared for equality or inequality. Integers and version numbers can also be compared arithmetically. The comparison operators can be expressed as symbols or as acronyms. Acronyms are convenient for expressing the condition in an Open format profile.
Vermittler |
Alternate Syntax |
Beschreibung |
Applicable to Integer and Version Operands |
Applicable to Quoted String Operands |
---|---|---|---|---|
= |
eq |
equal to |
Ja |
Ja |
!= |
ne |
not equal to |
Ja |
Ja |
< |
lt |
less than |
Ja |
Nein |
<= |
le |
less than or equal to |
Ja |
Nein |
> |
gt |
greater than |
Ja |
Nein |
>= |
ge |
greater than or equal to |
Ja |
Nein |
UND |
|
und |
Ja |
Ja |
It is important to enclose macro variables in double quotes where a string literal is expected. Don't do so where a number or version number is expected.
When used in the context of the Profile_Rule* and Upgrade_Rule parameters, conditional expressions must be enclosed within the syntax “(expr)?” as in this upgrade rule example. Remember to replace BN with the build number of your firmware load to upgrade to.
($SWVER ne PHONEOS-8875.1-0-1-0001-19)? http://ps.tell.com/sw/PHONEOS-8875.1-0-1-0001-BN.loads
Do not use the preceding syntax with parentheses to configure the Resync_Trigger_* parameters.
URL syntax
Use the Standard URL syntax to specify how to retrieve configuration files and firmware loads in Profile_Rule* and Upgrade_Rule parameters, respectively. The syntax is as follows:
[ scheme:// ] [ server [:port]] filepath
Where scheme
is one of these values:
-
tftp
-
http
-
https
If scheme
is omitted, tftp is assumed. The server can be a DNS-recognized hostname or a numeric IP address. The port is the destination UDP or TCP port number. The filepath must begin with the root directory (/); it must be an absolute path.
If server
is missing, the tftp server specified through DHCP (option 66) is used.
For upgrade rules, the server must be specified.
If port
is missing, the standard port for the specified scheme is used. Tftp uses UDP port 69, http uses TCP port 80, https uses TCP port 443.
A filepath must be present. It need not necessarily refer to a static file, but can indicate dynamic content obtained through CGI.
Macro expansion applies within URLs. The following are examples of valid URLs:
/$MA.cfg /cisco/cfg.xml 192.168.1.130/profiles/init.cfg tftp://prov.call.com/cpe/cisco$MA.cfg http://neptune.speak.net:8080/prov/$D/$E.cfg https://secure.me.com/profile?Linksys
When using DHCP option 66, the empty syntax is not supported by upgrade rules. It is only applicable for Profile Rule*.
RFC 8188-Based HTTP Content Encryption
The phone supports RFC 8188-based HTTP content encryption with AES-128-GCM ciphering for configuration files. With this encryption method, any entity can read the HTTP message headers. However, only the entities that know the Input Keying Material (IKM) can read the payload. When the phone is provisioned with the IKM, the phone and the provisioning server can exchange configuration files securely, while allowing third-party network elements to use the message headers for analytic and monitoring purposes.
The XML configuration parameter IKM_HTTP_Encrypt_Content
holds the IKM on the phone. For security reasons, this parameter is not accessible on the phone administration web page. It is also not visible in the phone's configuration file, which you can access from the phone's IP address or from the phone's configuration reports sent to the provisioning server.
If you want to use the RFC 8188-based encryption, ensure the following:
-
Provision the phone with the IKM by specifying the IKM with the XML parameter
IKM_HTTP_Encrypt_Content
in the configuration file that is sent from the provisioning server to the phone. -
If this encryption is applied to the configuration files sent from the provisioning server to the phone, ensure that the Content-Encoding HTTP header in the configuration file has
aes128gcm
.In the absence of this header, the AES-256-CBC method is given precedence. The phone applies AES-256-CBC decryption if a AES-256-CBC key is present in a profile rule, regardless of IKM.
-
If you want the phone to apply this encryption to the configuration reports that it sends to the provisioning server, ensure that there is no AES-256-CBC key specified in the report rule.
Optional resync arguments
Optional arguments, key
, uid
, and pwd
, can precede the URLs entered in Profile_Rule*
parameters, collectively enclosed by square brackets.
Taste
The --key
option tells the phone that the configuration file that it receives from the provisioning server is encrypted with AES-256-CBC encryption, unless the Content-Encoding header in the file indicates aes128gcm
encryption. The key itself is specified as a string following the term --key
. The key can be enclosed in double-quotes (") optionally. The phone uses the key to decrypt the configuration file.
Usage Examples
[--key VerySecretValue] [--key “my secret phrase”] [--key a37d2fb9055c1d04883a0745eb0917a4]
The bracketed optional arguments are macro expanded. Special purpose parameters, GPP_SA through GPP_SD, are macro expanded into macro variables, $SA through $SD, only when they are used as key option arguments. See these examples:
[--key $SC] [--key “$SD”]
In Open format profiles, the argument to --key must be the same as the argument to the -k option that is given to openssl.
uid and pwd
The uid and pwd options can be used to specify the userID and password that will be sent in response to HTTP Basic and Digest authentication challenges when the specified URL is requested. The bracketed optional arguments are macro expanded. Special purpose parameters, GPP_SA through GPP_SD, are macro expanded into macro variables, $SA through $SD, only when they are used as key option arguments. See these examples:
GPP_SA = MyUserID GPP_SB = MySecretPassword
[--uid $SA --pwd $SB] https://provisioning_server_url/path_to_your_config/your_config.xml
would then expand to:
[--uid MyUserID --pwdMySecretPassword] https://provisioning_server_url/path_to_your_config/your_config.xml
These data types are used with configuration profile parameters:
-
{a,b,c,…}—A choice among a, b, c, …
-
Bool—Boolean value of either “yes” or “no.”
-
CadScript—A miniscript that specifies the cadence parameters of a signal. Up to 127 characters.
Syntax: S1[;S2], where:
-
Si=Di(oni,1/offi,1[,oni,2/offi,2[,oni,3/offi,3[,oni,4/offi,4[,oni,5/offi,5[,oni,6/offi,6]]]]]) and is known as a section.
-
oni,j and offi,j are the on/off duration in seconds of a segment. i = 1 or 2, and j = 1 to 6.
-
Di is the total duration of the section in seconds.
All durations can have up to three decimal places to provide 1 ms resolution. The wildcard character “*” stands for infinite duration. The segments within a section are played in order and repeated until the total duration is played.
Beispiel 1:
60(2/4) Number of Cadence Sections = 1 Cadence Section 1: Section Length = 60 s Number of Segments = 1 Segment 1: On=2s, Off=4s Total Ring Length = 60s
Example 2—Distinctive ring (short,short,short,long):
60(.2/.2,.2/.2,.2/.2,1/4) Number of Cadence Sections = 1 Cadence Section 1: Section Length = 60s Number of Segments = 4 Segment 1: On=0.2s, Off=0.2s Segment 2: On=0.2s, Off=0.2s Segment 3: On=0.2s, Off=0.2s Segment 4: On=1.0s, Off=4.0s Total Ring Length = 60s
-
-
DialPlanScript—Scripting syntax that is used to specify Line 1 and Line 2 dial plans.
-
Float<n>—A floating point value with up to n decimal places.
-
FQDN—Fully Qualified Domain Name. It can contain up to 63 characters. Examples are as follows:
sip.Cisco.com:5060 or 109.12.14.12:12345
sip.Cisco.com or 109.12.14.12
-
FreqScript—A miniscript that specifics the frequency and level parameters of a tone. Contains up to 127 characters.
Syntax: F1@L1[,F2@L2[,F3@L3[,F4@L4[,F5@L5[,F6@L6]]]]], where:
-
F1–F6 are frequency in Hz (unsigned integers only).
-
L1–L6 are corresponding levels in dBm (with up to one decimal place).
White spaces before and after the comma are allowed but not recommended.
Example 1—Call Waiting Tone:
440@-10 Number of Frequencies = 1 Frequency 1 = 440 Hz at –10 dBm
Example 2—Dial Tone:
350@-19,440@-19 Number of Frequencies = 2 Frequency 1 = 350 Hz at –19 dBm Frequency 2 = 440 Hz at –19 dBm
-
-
IP— Valid IPv4 Address in the form of x.x.x.x, where x is between 0 and 255. Beispiel: 10.1.2.100.
-
UserID—User ID as it appears in a URL; up to 63 characters.
-
Phone—A phone number string, such as 14081234567, *69, *72, 345678; or a generic URL, such as, 1234@10.10.10.100:5068 or jsmith@Cisco.com. The string can contain up to 39 characters.
-
PhTmplt—A phone number template. Each template may contain one or more patterns that are separated by a comma (,). White space at the beginning of each pattern is ignored. “?” and “*” represent wildcard characters. To represent literally, use %xx. For example, %2a represents *. The template can contain up to 39 characters. Examples: “1408*, 1510*”, “1408123????, 555?1.”.
-
Port—TCP/UDP Port number (0-65535). It can be specified in decimal or hex format.
-
ProvisioningRuleSyntax—Scripting syntax that is used to define configuration resync and firmware upgrade rules.
-
PwrLevel—Power level expressed in dBm with one decimal place, such as –13.5 or 1.5 (dBm).
-
RscTmplt—A template of SIP Response Status Code, such as “404, 5*”, “61?”, “407, 408, 487, 481”. It can contain up to 39 characters.
-
Sig<n>—Signed n-bit value. It can be specified in decimal or hex format. A “-” sign must precede negative values. A + sign before positive values is optional.
-
Star Codes—Activation code for a supplementary service, such as *69. The code can contain up to 7 characters.
-
Str<n>—A generic string with up to n nonreserved characters.
-
Time<n>—Time duration in seconds, with up to n decimal places. Extra specified decimal places are ignored.
-
ToneScript—A miniscript that specifies the frequency, level, and cadence parameters of a call progress tone. Script may contain up to 127 characters.
Syntax: FreqScript;Z1[;Z2].
The section Z1 is similar to the S1 section in a CadScript, except that each on/off segment is followed by a frequency components parameter: Z1 = D1(oni,1/offi,1/fi,1[,oni,2/offi,2/fi,2 [,oni,3/offi,3/fi,3 [,oni,4/offi,4/fi,4 [,oni,5/offi,5/fi,5 [,oni,6/offi,6/fi,6]]]]]) where:
-
fi,j = n1[+n2]+n3[+n4[+n5[+n6]]]]].
-
1 < nk < 6 specifies the frequency components in the FreqScript that are used in that segment.
If more than one frequency component is used in a segment, the components are summed together.
Example 1—Dial tone:
350@-19,440@-19;10(*/0/1+2) Number of Frequencies = 2 Frequency 1 = 350 Hz at –19 dBm Frequency 2 = 440 Hz at –19 dBm Number of Cadence Sections = 1 Cadence Section 1: Section Length = 10 s Number of Segments = 1 Segment 1: On=forever, with Frequencies 1 and 2 Total Tone Length = 10s
Example 2—Stutter tone:
350@-19,440@-19;2(.1/.1/1+2);10(*/0/1+2) Number of Frequencies = 2 Frequency 1 = 350 Hz at –19 dBm Frequency 2 = 440 Hz at –19 dBm Number of Cadence Sections = 2 Cadence Section 1: Section Length = 2s Number of Segments = 1 Segment 1: On=0.1s, Off=0.1s with Frequencies 1 and 2 Cadence Section 2: Section Length = 10s Number of Segments = 1 Segment 1: On=forever, with Frequencies 1 and 2 Total Tone Length = 12s
-
-
Uns<n>—Unsigned n-bit value, where n = 8, 16, or 32. It can be specified in decimal or hex format, such as 12 or 0x18, as long as the value can fit into n bits.
Keep these under consideration:
- <Par Name> represents a configuration parameter name. In a profile, the corresponding tag is formed by replacing the space with an underscore “_”, such as Par_Name.
- An empty default value field implies an empty string < “” >.
- The phone continues to use the last configured values for tags that are not present in a given profile.
- Templates are compared in the order given. The first, not the closest, match is selected. The parameter name must match exactly.
- If more than one definition for a parameter is given in a profile, the last such definition in the file is the one that takes effect in the phone.
- A parameter specification with an empty parameter value forces the parameter back to its default value. To specify an empty string instead, use the empty string "" as the parameter value.