Hallo!
Wie angedeutet wollte ich hier mal ein paar Dinge zu den Provisionungsdateien erklären, damit der nächste nicht so lange sucht und 'rummacht wie ich. Meiner Meinung nach ist die Dokumentation zu diesem Thema bei Auerswald ziemlich dünn, deswegen halte ich diese Erläuterung für recht sinnvoll.
Provisionierungsdatei - Template - Kopfdatei
- Die Provisionierungsdatei ist einfach nur die Konfigurationsdatei, die an das Telefon geschickt wird, wenn es sich meldet und anhand der MAC-Adresse erkannt wird. Der einfachste Weg, die Konfigurationsdatei zu erstellen ist, sie aus einem konfigurierten Telefon auszulesen.
Auerswald-Provisionierungsdateien sind xml-Dateien, die die Konfiguration im Klartext enthalten. Man kann sie also mit jedem beliebigen Texteditor bearbeiten. Um bestimmte Einstellungen in der xml-Datei leichter zu finden bietet es sich an, die Konfigurationsdatei aus dem Telefon auszulesen, die Einstellung im Telefon zu ändern, eine neue Konfigurationsdatei auszulesen und die beiden Dateien zu vergleichen.
Jedem Telefon kann unter Teilnehmer > IP-Provisioning > Dateiverwaltung im Normalfall nur die Berechtigung an einer Provisionierungsdatei gegeben werden.
- Wird eine Auerswald-Provisionierungsdatei als Template markiert, so ersetzt die Anlage beim Senden der Datei den Abschnitt <providersAndAccounts> mit den tatsächlichen Zugangsdaten des zugewiesenen Users.
- Eine Kopfdatei ist lediglich eine Auflistung von einzelnen Provisionierungsdateien, die in der Reihenfolge der Auflistung nacheinander ans Telefon gesendet werden. Jeder gesendete Datei überschreibt die Werte der vorhergehenden. Man kann so eine mehrstufige Konfiguration realisieren. Dazu später mehr. Die Kopfdatei selbst ist auch eine xml-Datei. Wenn einem Teilnehmer eine Kopfdatei zugewiesen ist, so kann (muss!) diesem Teilnehmer auch die Berechtigung an mehreren Provisionierungsdateien gegeben werden, ohne dass die Anlage deswegen eine Fehlermeldung bringt.
Syntax einer Kopfdatei
<referencedSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="provisioning_references.xsd">
<URL>Datei1.xml</URL>
<URL>Datei2.xml</URL>
...
...
...
<URL>DateiX.xml</URL>
</referencedSettings>
Die Liste der URLs kann beliebig lang sein, es können auf Verweise auf Dateien auf anderen Servern enthalten sein. Dem zugeordneten Telefon wird zuerst die Datei Datei1.xml übergeben, danach die Datei Datei2.xml.
Einstellungen in Datei2.xml überschreiben ggfs. vorher in Datei1.xml gemachte Einstellungen. Wenn zum Beispiel in Datei1.xml Taste 14, Ebene 0 mit einer Zielwahl belegt wird, in DateiX.xml die gleiche Taste aber mit einer Konfigurationsumschaltung, so ist sie am Ende mit der Konfigurationsumschaltung und nicht mit der Zielwahl belegt.
Einstufige Provisionierung
Dies ist die einfachste Form der Provisionierung. Alle Konfigurationen sind in einer einzigen Datei, die an die Telefone ausgeliefert wird. Dies kann eine Datei für alle Nutzer sein, oder für jeden Nutzer eine eigene Datei.
Mehrstufige Provisionierung
Dadurch, dass bei Verwendung einer Kopfdatei jede später geladene Provisionierungsdatei immer die Settings der vorher geladenen Datei überschreibt (wenn denn die gleichen Settings vorkommen), kann man wunderbar mehrstufig oder Hierarchisch arbeiten. Was das bedeutet möchte ich hier an einem kleinen Beispiel zeigen.
In einer Firma sollen bestimmte Einstellungen (z.B. das Hintergrundlogo, bestimmte Funktionstasten, Sprache des Telefons) global eingestellt werden.
Dann soll es Einstellungen geben, die bei allen Mitgliedern eines Teams identisch sind (z.B. weitere Funktionstasten).
Letztenendes will man aber vielleicht auch einzelne Dinge für jeden User einzeln konfigurieren.
Jetzt könnte man natürlich für jeden User eine komplette Provisionierungsdatei anlegen, mit allen globalen Settings, allen Teamsettings und allen Settings für den konkreten User.
Wenn einem dann aber nach zwei Tagen auffällt, dass man ein globales Setting doch lieber anders setzen würde, bleibt einem nichts anderes übrig als alle Provisionierungsdateien noch einmal zu öffnen, dieses Settingzu finden und zu ändern.
Ich habe das anders gelöst:
Kopf_User1.xml
<referencedSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="provisioning_references.xsd">
<URL>global_config.xml</URL>
<URL>TeamSettings_Team1.xml</URL>
<URL>settings_User1.xml</URL>
</referencedSettings>
Zuerst wird die global_config.xml übergeben, die grundlegende Konfiguration für alle in der Firma enthält, zB. Displaysprache, Hintergrundbild, Zielwahlen zu den Sekretärinnen und einen Toggle-Button für eine Gruppe, die durch die Türsprechstelle angewählt wird:
global_config.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<auerSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="auer_settings.xsd">
<providersAndAccounts>
</providersAndAccounts>
<configurationManager>
<language>de</language>
<enable>on</enable>
<autoSave>off</autoSave>
<httpPort>80</httpPort>
<httpsPort>443</httpsPort>
</configurationManager>
<display>
<brightnessAutomatic>off</brightnessAutomatic>
<brightness>79%</brightness>
<screenOffTimeout>no_timeout</screenOffTimeout>
<messageLed>blink_and_on</messageLed>
<displayLed>show_active_calls</displayLed>
<showUnregisteredVoipSubscribers>off</showUnregisteredVoipSubscribers>
<displayOff>off</displayOff>
<ledPowersave>off</ledPowersave>
<messageFax>on</messageFax>
</display>
<wallpaper>
<url>http://www.firmendomain.de/background.png</url>
</wallpaper>
<keys>
<key number="12" level="0">
<function xsi:type="group">
<operation>toggle</operation>
<loginMode>incoming</loginMode>
<group>700</group>
<account>33794</account>
</function>
<permission>user</permission>
<description>Klingelgruppe</description>
</key>
<key number="12" level="1" />
<key number="13" level="0">
<function xsi:type="speedDialing">
<sipSubscription>sip_subscription_on</sipSubscription>
<number>140</number>
<account>33794</account>
</function>
<permission>user</permission>
<description>Sekretariat 1</description>
</key>
<key number="13" level="1" />
<key number="14" level="0">
<function xsi:type="speedDialing">
<sipSubscription>sip_subscription_on</sipSubscription>
<number>141</number>
<account>33794</account>
</function>
<permission>user</permission>
<description>Sekretariat 1</description>
</key>
</keys>
</auerSettings>
Anschliessend wird die TeamSettings_Team1.xml übergeben, die in diesem Fall Zielwahltasten für alle Mitglieder des Teams einrichtet:
TeamSettings_Team1.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<auerSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="auer_settings.xsd">
<configurationManager>
</configurationManager>
<display>
</display>
<wallpaper>
</wallpaper>
<keys>
<key number="7" level="0">
<function xsi:type="speedDialing">
<sipSubscription>sip_subscription_on</sipSubscription>
<number>23</number>
<account>33794</account>
</function>
<permission>user</permission>
<description>User1</description>
</key>
<key number="7" level="1" />
<key number="8" level="0">
<function xsi:type="speedDialing">
<sipSubscription>sip_subscription_on</sipSubscription>
<number>24</number>
<account>33794</account>
</function>
<permission>user</permission>
<description>User2</description>
</key>
<key number="8" level="1" />
<key number="9" level="0">
<function xsi:type="speedDialing">
<sipSubscription>sip_subscription_on</sipSubscription>
<number>25</number>
<account>33794</account>
</function>
<permission>user</permission>
<description>User3</description>
</key>
<key number="9" level="1" />
<key number="10" level="0">
<function xsi:type="speedDialing">
<sipSubscription>sip_subscription_on</sipSubscription>
<number>26</number>
<account>33794</account>
</function>
<permission>user</permission>
<description>User4</description>
</key>
<key number="10" level="1" />
<key number="11" level="0">
<function xsi:type="speedDialing">
<sipSubscription>sip_subscription_on</sipSubscription>
<number>27</number>
<account>33794</account>
</function>
<permission>user</permission>
<description>User5</description>
</key>
<key number="11" level="1">
<function xsi:type="speedDialing">
<sipSubscription>sip_subscription_on</sipSubscription>
<number>008154711</number>
<account>33794</account>
</function>
<permission>user</permission>
<description>Buddhistisches Standesamt</description>
</key>
</keys>
</auerSettings>
Als letzte Datei wird die settings_User1.xml übergeben. Diese richtet eine extrem wichtige zusätzliche Zielwahl ein: Den Pizzaservice! Ausserdem ist User1 der Chef und möchte auf gar keinen Fall, auch nicht versehentlich, von der Türklingel belästigt werden. Deswegen wird der Togglebutton für das Ein- und Ausloggen in die Klingelgruppe mit dieser Datei wieder gelöscht:
Settings_User1.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<auerSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="auer_settings.xsd">
<configurationManager>
</configurationManager>
<display>
</display>
<wallpaper>
</wallpaper>
<keys>
<key number="0" level="0">
<function xsi:type="speedDialing">
<sipSubscription>sip_subscription_on</sipSubscription>
<number>004711815</number>
<account>33794</account>
</function>
<permission>user</permission>
<description>Pizzaservice</description>
</key>
<key number="12" level="0" />
</keys>
</auerSettings>
Will ich jetzt zum Beispiel für alle User das Hintergrundbild ändern, dann muss ich das nur 1x in der global_config.xml tun.
Kündigt eine Sekretärin, muss ich die Zielwahltaste auch nur in der global_config.xml löschen.
Wird ein Teammitglied ersetzt, muss ich die Zielwahlen auch nur ein mal in der TeamSettings_Team1.xml korrigieren.
Und in der Settings_UserX.xml kann ich jedem User beliebige persönliche Konfigurationen einrichten.