- Mitglied seit
- 8 Sep 2010
- Beiträge
- 3,833
- Punkte für Reaktionen
- 738
- Punkte
- 113
Edit 20.10.2024, 18:15: Um einfache Suchfunktion ergänzt.
Edit 21.10.2024, 11:40: Belegung der Telefonbuchtaste ergänzt.
Ergänzend zu diesem HowTo eine Quick-and-Dirty Anleitung, wie das Telefonbuch der Fritz!Box an einem Mitel Telefon genutzt werden kann.
Die Voraussetzungen sind identisch. Werte in eckigen Klammern [] sind Platzhalter und müssen durch eigene, sinnvolle Werte ersetzt werden. Das betrifft insbesondere IP Adressen bzw. URL.
1. Provisionierungsdatei erweitern
In der Datei [macadresse].cfg folgende Zeilen einfügen:
Mit topsoftkey1 ist die erste Taste, oben links neben dem Display gemeint und lässt sich natürlich beliebig abändern. Wenn kein Provisionierungsserver genutzt wird, kann die Taste auch über das Webinterface des Telefons angelegt werden.
Sofern das Telefon über eine eigene Taste für ein Telefonbuch verfügt, kann diese auch belegt werden:
Speichern und das Telefon neu starten
2. Telefonbuch mit fb_tools exportieren:
Bei regelmäßigen Änderungen im Telefonbuch, lässt sich das auch über CronJobs automatisieren.
3. PHP Script für das Telefon auf dem Webserver erstellen:
Folgendes Script auf den Webserver ins DocRoot kopieren und als buch.php abspeichern.
4. PHP Script für das Telefon auf dem Webserver erstellen:
Folgendes Script auf den Webserver ins DocRoot kopieren und als suche.php abspeichern.
Den Spaghetti-Code bitte ich erneut zu entschuldigen, ich bin weiterhin kein Informatiker.
Edit 21.10.2024, 11:40: Belegung der Telefonbuchtaste ergänzt.
Ergänzend zu diesem HowTo eine Quick-and-Dirty Anleitung, wie das Telefonbuch der Fritz!Box an einem Mitel Telefon genutzt werden kann.
Die Voraussetzungen sind identisch. Werte in eckigen Klammern [] sind Platzhalter und müssen durch eigene, sinnvolle Werte ersetzt werden. Das betrifft insbesondere IP Adressen bzw. URL.
1. Provisionierungsdatei erweitern
In der Datei [macadresse].cfg folgende Zeilen einfügen:
Code:
topsoftkey1 type: xml
topsoftkey1 label: Telefonbuch
topsoftkey1 value: http://[ip-oder-url-vom-webserver]/buch.php
Mit topsoftkey1 ist die erste Taste, oben links neben dem Display gemeint und lässt sich natürlich beliebig abändern. Wenn kein Provisionierungsserver genutzt wird, kann die Taste auch über das Webinterface des Telefons angelegt werden.
Sofern das Telefon über eine eigene Taste für ein Telefonbuch verfügt, kann diese auch belegt werden:
Code:
directory script: http://[ip-oder-url-vom-webserver]/buch.php
Speichern und das Telefon neu starten
2. Telefonbuch mit fb_tools exportieren:
Bash:
$ php [/pfad/zu/fb_tools]/fb_tools.php http://[benutzername]:[kennwort]@fritz.box telefonbuch export /[pfad/zum/html/docroot]
$ mv /[pfad/zum/html/docroot]/[exportierte-xml-datei] /[pfad/zum/html/docroot]/buch.xml
Bei regelmäßigen Änderungen im Telefonbuch, lässt sich das auch über CronJobs automatisieren.
3. PHP Script für das Telefon auf dem Webserver erstellen:
Folgendes Script auf den Webserver ins DocRoot kopieren und als buch.php abspeichern.
PHP:
<?php
$xml = simplexml_load_file('buch.xml');
if(isset($_GET['selection'])) {
$id = $_GET['selection'];
$id = (int)$id;
echo '<AastraIPPhoneTextMenu fontMono="no"><TopTitle>'.$xml->phonebook->contact[$id]->person->realName.'</TopTitle>';
if ($xml->phonebook->contact[$id]->telephony->attributes()->nid == 1) {
echo '<MenuItem><Prompt>'.$xml->phonebook->contact[$id]->telephony->number.'</Prompt><URI>SoftKey:Dial2</URI><Dial>'.$xml->phonebook->contact[$id]->telephony->number.'</Dial></MenuItem>';
} else {
foreach ($xml->phonebook->contact[$id]->telephony->number as $value) {
echo '<MenuItem><Prompt>'.$value.'</Prompt><URI>SoftKey:Dial2</URI><Dial>'.$value.'</Dial></MenuItem>';
}
}
echo '<SoftKey index = "1">
<Label>Anrufen</Label>
<URI>SoftKey:Dial2</URI>
</SoftKey>
<SoftKey index = "3">
<Label>Verlassen</Label>
<URI>SoftKey:Exit</URI>
</SoftKey>
</AastraIPPhoneTextMenu>';
} else {
echo '<AastraIPPhoneTextMenu fontMono="no"><TopTitle>Telefonbuch</TopTitle>';
$i=0;
foreach ($xml->phonebook->contact as $value) {
if ($value->telephony->attributes()->nid == 1) {
$number = $value->telephony->number;
} else {
$number = $value->telephony->number[0];
}
echo '<MenuItem><Prompt>'.htmlspecialchars($value->person->realName).'</Prompt><URI>http://[ip-oder-url-vom-webserver]/buch.php?selection='.$i.'</URI><Dial>'.$number.'</Dial><Selection>'.$i.'</Selection></MenuItem>';
$i++;
}
echo '<SoftKey index = "1">
<Label>Anrufen</Label>
<URI>SoftKey:Dial2</URI>
</SoftKey>
<SoftKey index ="2">
<Label>Anzeigen</Label>
<URI>http://[ip-oder-url-vom-webserver]/buch.php</URI>
</SoftKey>
<SoftKey index = "3">
<Label>Verlassen</Label>
<URI>SoftKey:Exit</URI>
</SoftKey>
<SoftKey index = "4">
<Label>Suchen</Label>
<URI>http://[ip-oder-url-vom-webserver]/suche.php</URI>
</SoftKey>
</AastraIPPhoneTextMenu>';
}
?>
4. PHP Script für das Telefon auf dem Webserver erstellen:
Folgendes Script auf den Webserver ins DocRoot kopieren und als suche.php abspeichern.
PHP:
<?php
if(isset($_GET['s'])) {
echo '<AastraIPPhoneTextMenu fontMono="no"><TopTitle>Ergebnis</TopTitle>';
$s = $_GET['s'];
$xml = simplexml_load_file('buch.xml');
$c = 0;
$i = 0;
foreach ($xml->phonebook->contact as $value) {
$result = strpos(strtolower($value->person->realName), strtolower($s));
if ($result !== false) {
echo '<MenuItem><Prompt>'.$value->person->realName.'</Prompt><URI>http://[ip-oder-url-vom-webserver]/buch.php?selection='.$i.'</URI></MenuItem>';
$c++;
}
$i++;
}
if ($c == 0) {
echo '<MenuItem><Prompt>kein Ergebnis</Prompt><URI>http://[ip-oder-url-vom-webserver]/buch.php</URI></MenuItem>';
}
echo '</AastraIPPhoneTextMenu>';
} else {
echo '<AastraIPPhoneInputScreen type="string">
<TopTitle>Suche</TopTitle>
<Prompt>Namen suchen</Prompt>
<URL>http://[ip-oder-url-vom-webserver]/suche.php</URL>
<Parameter>s</Parameter>
<Default></Default>
</AastraIPPhoneInputScreen>';
}
?>
Den Spaghetti-Code bitte ich erneut zu entschuldigen, ich bin weiterhin kein Informatiker.
Zuletzt bearbeitet: