Telefonbücher für Gigaset und Snom - Workaround

Hallo,

so wie ich es gesehen habe können Fanvil Telefone nur 3 Nummern (Telephone, Mobile, Other) und nur einen Namen einspeichern. Klar kann man da etwas basteln, es muss 'nur' das Ausgabeformat und der Name der Ausgabedatei (yealink_phonebook.xml) im Skript angepasst werden. Aufpassen: die Telefone haben wesentlich weniger Kapazität zum Speichern von Adressen, ist auch abhängig vom Modell.

Thema M900: ja, die sollte das normale snom_phonebook.xml bekommen. Probieren. Man kann ja nicht viel kaputt machen.
 
Hi,
habe es gerade mit einer M900 Firmware BSV530B2 und 3CX V18.0.1849 getestet.
Funktioniert wunderbar.
Leute ... Hammer Job. Besten Dank
 
Leider gibt es mit dem Script in Zusammenarbeit mit der M900 leider doch Probleme.

Ich habe leider auch non Stop Reboots der M900, wird auch in diesem Thread beschrieben
Link

Jetzt habe ich ewig gesucht und konnte das Problem identifizieren.
Sobald bei einem Kontakt etwas in dem Feld Organisation eingetragen ist, kommt es zu den reboots.

fehler.PNG

Entferne ich das Feld. Funktioniert alles tadellos.
fehler2.PNG

Wie sage ich dem Script, dass er die Organisation nicht mir übernehmen soll?

Danke euch
 
ich weis nicht genau welche version du nutzt weshallb es schwer ist Zeilen nummern zu nennen... aber folgende Zeilen müssten raus...


Bash:
            if [ ${cols[2]} != '±' ]; then
                echo '        <organization>'${cols[2]}'</organization>' >> $tmp_snombook
            fi

kommt in zwei drei funktionen vor... sowohl in make_single_item make_master_item als auch in make_sub_items

noch ein Edit: evtl willst du die jeweils drauf folgenden Zeilen mit der Email auch gleich entfernen nicht dass du in Probleme läufst sobald eine eingetragen wird...
 
Zuletzt bearbeitet:
Hey danke für deine Antwort.
Sorry, habe ganz vergessen die Version zu posten.
Also ich verwende aktuell das Script von @Michael Schönburg ___ Post

Deine Änderungen habe ich vorgenommen. Wie du schon sagst, wir können uns nicht sicher sein wie die M900 auf Mailadressen reagiert, habe ich die entsprechenden Zeilen wirklich gleich mit auskommentiert.
Leider kann ich mein geändertes Script erst morgen Nachmittag testen. Sollte aber so funktionieren, oder?
Änderungen Zeile:
159-164
320-325
412-417
450-455
Würde mich freuen, wenn du nochmal kurz drüber schaust.

Danke dir
 

Anhänge

  • make_custom_phonebook_snom_M900_0.5.zip
    4,9 KB · Aufrufe: 87
Zuletzt bearbeitet:
Kurze Rückmeldung:

Hab das neue Script getestet. Funktioniert wunderbar.

Getestet auf 3CX V18.0.1865 und 3CX V16.0.9
Die M900 laufen auf der Version 530.02

Danke für eure Hilfe.
 
  • Like
Reaktionen: spuky
#Installationsanleitung @exuded

1. Mit Putty o.Ä. zur Anlage verbinden und einloggen mit den Admin-Credentials vom Einrichten der Anlage
User: root / Passwort: müsste man wissen ;-)

2. am einfachsten im root-Verzeichnis (~) folgenden Befehl ausführen
Bash:
sudo nano mcpb.sh

3. dort Code aus dem File einfügen (Putty einfügen = rechtsklick) - ACHTUNG: beim Kopieren die korrekten Zeilenumbrüche beachten - am besten du öffnest dir das sh-File am Windows mit Notepad++

4. mit STRG+X schließen und mit Y das Abspeichern quittieren

5. im selben Folder folgenden Befehl:
Bash:
sudo chmod u+x mcpb.sh
damit wird die sh-File für Linux zur "exe" sprich ausführbar

6. mit
Bash:
sudo ./mcpb.sh
testen, obs läuft

7. wenn ja:
Bash:
crontab -e
falls nach dem Editor gefragt wird, nimm nano (Vorauswahl)

8. in die letzte Zeile mit der korrekten Zeitangabe folgendes eingeben
Bash:
0 * * * * /root/mcpb.sh
bedeutet z.B., dass das script jede Stunde 1x ausgeführt wird
STRG-X -> Y zum Verlassen

9. Im folgenden werden, wie im Script beschrieben, die Provision-Files so angepasst, dass sie auf das neue File schauen
Bash:
sudo nano /var/lib/3cxpbx/Instance1/Data/Http/Templates/fxs/gigasetN670.fxs.xml
dort mit STRG+W suchen nach der Zeile
XML:
<param name="CentralBook.0.ServerURL" value="%%PROVLINK%%/gigaset_phonebook.xml"/>
dort das "gigaset_phonebook.xml" durch "jgid_gigaset_phonebook.xml" ersetzen (siehe auch Anleitung im Script)
STRG-X -> Y zum Speichern

10. Gigaset neu provisionieren oder auf der Admin eintragen (weiß leider von Gigaset nix, hab nur Snom)
Hi @bitworx
ich bin deiner Anleitung soweit gefolgt, nur beim testen mit sudo ./mcpb.sh kommt folgende Fehlermeldung:

sudo ./mcpb.sh
./mcpb.sh: line 83: /var/lib/3cxpbx/Instance1/Data/Http/Interface/provisioning/xssv1vnd52mrp: Is a directory
./mcpb.sh: line 357: syntax error near unexpected token `newline'
./mcpb.sh: line 357: ` echo ' <item context="active" type="'$type'" fav="" mod="false" index="'$current_index'">' >> '

Was mach ich falsch ? Muss ich im Skript noch weitere Dinge anpassen?
Vielen Dank im Vorraus
 
"ACHTUNG: beim Kopieren die korrekten Zeilenumbrüche beachten - am besten du öffnest dir das sh-File am Windows mit Notepad++"

Wer lesen kann ist klar im Vorteil! Auch in meinem Fall wurden beim Kopieren dieverse Zeilen trotz Notepadd++ (z.B. index, >>phonebook) verschoben.
Vielen Dank an alle für das super Skript!!!
 
  • Like
Reaktionen: bitworx
Hallo,

die Kontakte werden jetzt im Snom D785 angezeigt. Soweit so gut. Sucht man nun durch Eingeben von Buchstaben nach bestimmten Kontakte, werden Konatkte mit mehr als einer Nummer nicht aufgezählt.
Man kann also nicht nach diesen suchen.

Hat da einer eine Idee wie sich das Ändern lässt ?

Vielen Dank!
 
Hallo zusammen... ich klink mich mal hier mit ein als komplett Anfänger :)

Ich glaube ich bin aber hier richtig.
Meine Gigaset Telefone (Gigaset S650H PRO) zeigen nur eine Nummer vom Telefonbuch obwohl ich in der Anlage in vielen Kontakten mehrere Nummern hinterlegt habe.

Wo lege ich jetzt welche Datei rein, damit das so funktioniert wie ihr es hier beschrieben habt?
Als DECT Basis Station habe ich die N670 IP PRO

das ist ja eine SH datei. muss ich die jedes mal von selbst ausführen? Wenn ja, über die Weboberfläche der Anlage oder im BS über shell?

Würde mich über hilfe freuen...

Vielen lieben Dank
 
@zimtotti

Du müsstest mit meiner Anleitung eigentlich zum gewünschten Ergebnis kommen ;-)

Das ganze passiert per SSH auf dem Debian-OS, nix Webinterface. Das bietet zwar auch eine Shell an, aber über z.B. Putty tust du dir mit Copy/Paste einfach viel leichter.

Greets
 
welche version soll ich nun nehmen?
hab die 0.4 version und er zeigt mir trotzdem nur die handynummer an und Vor und nachname sind vertauscht.

habe die N670 IP PRO mit den Gigasets SH650 PRO
 
Hast du dir auch alles richtig durchgelesen? Auch dass - je nach Skriptversion und Ausführung - ggf. das Template des zu provisionierenden Gerätes umgebaut werden muss um das Telefonbuch (welches ggf. einen anderen Namen hat) zu provisionieren?
 
  • Like
Reaktionen: zimtotti
Hast du dir auch alles richtig durchgelesen? Auch dass - je nach Skriptversion und Ausführung - ggf. das Template des zu provisionierenden Gerätes umgebaut werden muss um das Telefonbuch (welches ggf. einen anderen Namen hat) zu provisionieren?
ja schon, hab es aber nicht richtig gecheckt, also habe ich gefragt und @bitworx hat die Anleitung gepostet und da dachte ich, damit ist alles erledigt :p:oops:
Also doch nicht sooooo einfach....
 
  • Like
Reaktionen: zimtotti
Laut Seite 28 des Handbuch der Gigaset S650H PRO können diese immerhin drei Nummern pro Telefonbuch Eintrag verwalten. Es müssen aber eben die richtigen drei sein.

Erstmal würde ich kontrollieren ob denn das gewünschte Telefonbuch mit dem Skript ordentlich erzeugt wurde. Gehe dazu mal in der 3CX in die Verwaltung der Benutzer / NSt. auf den Reiter Telefon-Provisionierung. Dort gibt es einen Provisionierungslink. Den kopierst du dir in einen Browser deiner Wahl und fügst hintendran das interessierende Telefonbuch hinzu. Fertig könnte das folgendermaßen aussehen:
http://10.11.12.13:5000/provisioning/1a2b3c4d5e6f/jgid_gigaset_phonebook.xml
wobei sich bei dir die IP der PBX und die Provisionierungs ID sicher unterscheiden werden. Dann sollte das extra gebaute und mit mehr Nummern versehene Telefonbuch als XML Datei im Browser sichtbar sein. Das ist der Nachweis für ein korrekt funktionierendes Shell Skript. Wenn das nicht der Fall ist dann wurde das nicht korrekt erzeugt, das Skript läuft nicht oder sonstwas - zurück zur Anleitung des Skriptes.

Als nächstes würde ich kontrollieren ob in der Basisstation das Telefonbuch auch richtig eingestellt und angekommen ist. Laut Handbuch des N670 IP Pro Seite 58 steht das unter Einstellungen / Online-Telefonbücher / XML (oder evtl. unter Einstellungen / Online-Telefonbücher / Zentrales Telefonbuch). Dort sollte die URL zu der individuell erzeugten XML deiner PBX drin stehen und zwar die gleiche wie die im 2. Absatz (s.o.) hier im Browser abgefragt wurde. Dann ist auch das in Ordnung. Das ist der Nachweis dass das Provisionierungsskript für das N670 korrekt angepasst wurde (Anleitung Punkt 9).

Wenn die Basisstation neu startet sollte die sich also genau dieses Telefonbuch von der 3CX holen. Das kann man sich in einem Paketmitschnitt der Telefonanlage und anschl. Analyse im Wireshark sehr schön anschauen wie die übertragen wird (URL mit Name der Datei und anschl. deren Inhalt beim Download). Das Telefonbuch selber kann man sich wohl leider nicht in der Basisstation anschauen, steht zumindest nicht im Handbuch drin. Nach erfolgtem Download und allen erfolgreichen obigen Punkten sollte das nun aber richtig drin stehen.

Wenn das alles passiert ist: korrektes individuelles Telefonbuch erzeugt, im Browser kontrolliert, in der Basisstation kontrolliert, evtl. mit Wireshark den Download zur Basisstation kontrolliert dann sollten nur mal die DECT Mobilteile neu gestartet werden müssen und dann sollten diese Einträge dort da sein. Wenn nicht dann bleibt nur noch übrig dass die falschen 3 Nummern im individuellen Telefonbuch drin stehen. Das kann ich dir aber nicht beantworten welche das sein müssen (Privat, Büro, Mobil sollten es sein) .
 
Zuletzt bearbeitet:
Laut Seite 28 des Handbuch der Gigaset S650H PRO können diese immerhin drei Nummern pro Telefonbuch Eintrag verwalten. Es müssen aber eben die richtigen drei sein.

Erstmal würde ich kontrollieren ob denn das gewünschte Telefonbuch mit dem Skript ordentlich erzeugt wurde. Gehe dazu mal in der 3CX in die Verwaltung der Benutzer / NSt. auf den Reiter Telefon-Provisionierung. Dort gibt es einen Provisionierungslink.
hier musste ich schon stop machen, da bei mir die Mobiltelefone nicht angezeigt werden.
jedes Mobiltelefon hat kein provisionierungslink. sondern nur die Basisstation N670 IP PRO.
Unter Erweitert -> FXS/DECT
Da wird die N670 IP PRO angezeigt und da habe ich auch einen Provisionierungslink
wenn ich den öffne mit dem Telefonbuch am ende dann passiert nichts:

wenn ich aber den provisionierungslink öffne:
dann erscheint dieser Eintrag:
<!-- Central Phonebook -->
<param name="Netdir.21.Activated" value="1"/>
<param name="CentralBook.0.Name" value="3CX Phonebook"/>
<param name="CentralBook.0.ServerURL" value="http://192.168.0.35:5000/provisioning/wu50oj17z1c6a/jgid_gigaset_phonebook.xml"/>
<param name="CentralBook.0.DownloadTime" value="23:00"/>
<param name="CentralBook.0.StartWithList" value="1"/>

also habe ich den Fehler schon mit dem script gemacht, denke ich, oder?
das Telefonbuch wird nicht erstellt.

das passiert auf dem Terminal wenn ich die Datei starte:
root@debian3cx:/# sudo ./mcpb.sh
COPY 9
COPY 1
COPY 9
root@debian3cx:/#
 
hier musste ich schon stop machen, da bei mir die Mobiltelefone nicht angezeigt werden.
jedes Mobiltelefon hat kein provisionierungslink. sondern nur die Basisstation N670 IP PRO.
Unter Erweitert -> FXS/DECT
Die Provisionierungslinks (der Anfang bis nach der ID) ist bei allen Telefonen einer Anlage gleich.

Es kommt eben auch darauf an welches Skript man benutzt. Hier schwirren recht viele herum.

So, ich habe mir nun doch einmal die Mühe gemacht das Skript von hier zu lesen und zu testen (wohl die 'letzte Version' für Gigaset, die Version 0.5). und stelle fest: das Skript heisst make_custom_gigaset_nx70_phonebook_0.5.sh (nicht mcpb.sh) und erzeugt auch wirklich die Datei jgid_gigaset_phonebook.xml (siehe Zeile 57). Es stehen aber halt mehr wie nur drei Einträge pro Kontakt in der xml drin. Keine Ahnung ob das im Telefon noch funktioniert, das kann ja nur drei, ich habe gerade keine solche Basisstation hier zum Testen

Die Ausgabe nach dem Lauf des Skriptes in der Shell könnte korrekt sein. Die erzeugte Datei liegt unter
/var/lib/3cxpbx/Instance1/Data/Http/Interface/provisioning/1a2b3c4d5e6f/jgid_gigaset_phonebook.xml auf der 3CX und sollte vorhanden sein.

Ein
ls -ahl /var/lib/3cxpbx/Instance1/Data/Http/Interface/provisioning/1a2b3c4d5e6f/jgid_gigaset_phonebook.xml sollte die finden mit Datum / Uhrzeit vom Skript lauf, owner und group = phonesystem.

Mit Aufruf von http://10.11.12.13:5000/provisioning/1a2b3c4d5e6f/jgid_gigaset_phonebook.xml (IP und Provisionierungs ID anpassen nicht vergessen) im Browser der Wahl sollte die auch angezeigt werden.
 
ich weiss nicht ob Dir diese Info behilflich sein kann, ABER.....
ich habe einfach mal auf dem Server nach einer Datei gesucht *jgid*
und dann hat er mir im Verzeichnis
/var/lib/3cxpbx/Instance1/Data/Http/Interface/provisioning/wu50oj17z1c6a/
folgende Datei gefunden:
snom_phonebook_jgid.xml
und darin war auch mein Telefonbuch mit den drei Einträgen.

Was glaubst du was schief gelaufen ist oder wo ich den Fehler gemacht habe?
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
21.135
Beiträge
106.335
Mitglieder
70.220
Neuestes Mitglied
L.IT
Holen Sie sich 3CX - völlig kostenlos!

Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX register cta
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.