[Problem] Sipgate Kontakte mit Yealink synchronisieren

brixton

Neuer User
Mitglied seit
5 Dez 2021
Beiträge
12
Punkte für Reaktionen
2
Punkte
3
Guten Abend,

ich sitze jetzt schon den ganzen Tag an einem Problem. Ich finde einfach keine Lösung.
Vielleicht hat hier jemand eine Idee.

Ich habe das Telefon Yealink T46S
dieses ist mit LAN Kabel an meiner Fritzbox und mit Sipgate verbunden.
(Ist ein Firmentelefon, läuft mit eigener Firmen Telefonnummer, deswegen Sipgate)

Ich habe mir ein externes Telefonbuch erstellt, das Telefon lädt die Kontakte also von Sipgate.
Das funktioniert alles einwandfrei.

Ich kann die Kontakte auswählen und anrufen. Der Name (aus dem Sipgate Telefonbuch)steht dann auch bei angerufene Nummern.

Rufe ich mich jetzt vom Handy aus auf das Firmentelefon an, holt der den Namen nicht aus der Liste. Als Name zeigt er meine Firmentelefonnummer an.

Ich habe versucht die Nummern anderes zu speichern 00490151.. +490151... 0151..

Hat alles nicht funktioniert.

Speichere ich die Nummer ins interne Telefonbuch, dann geht es.

Hat jemand eine Idee warum dort die eigene Nummer als Name angezeigt wird obwohl ich mit dem Handy anrufe?

2021_12_05_17_56_51_Yealink_T46S_Phone.png

Bild gemäß Boardregeln als Vorschaubild eingebunden by stoney
 
Zuletzt bearbeitet von einem Moderator:
Ich habe mir ein externes Telefonbuch erstellt, das Telefon lädt die Kontakte also von Sipgate.
Wie geht das genau?
die eigene Nummer als Name angezeigt
Vermutlich sind die letzten Ziffern beider Rufnummern nicht gleich … ich vermute eher, dass das Yealink das falsche Feld in SIP für den Namen ausliest. Im Yealink hast Du die Möglichkeit von PAI, RPID und so weiter. Was passiert, wenn Du damit spielst?
 
Danke schonmal für die schnelle Antwort. Ich erkläre das mal etwas ausführlicher.
Ich habe ein PHP Script was mir die Nummer von Sipgate per API holt und in folgendem Format ausgibt

<YealinkIPPhoneDirectory> <DirectoryEntry> <Name>Alexander</Name> <Telephone>015111111111</Telephone> </DirectoryEntry> </YealinkIPPhoneDirectory>

Diese Adresse www.url.de/telefonbuch.php trage ich dann als externes Telefonbuch ein.
Das funktioniert auch wunderbar, ich habe das Telefonbuch im Telefon mit allen Sipgate Kontakten.

Ausgegeben wird das von sipgate so

<YealinkIPPhoneDirectory> <DirectoryEntry> <Name>Alex</Name> <Telephone>+4915111111111</Telephone> <Telephone>+4915222222222</Telephone> </DirectoryEntry> <DirectoryEntry> <Name>Alexander </Name> <Telephone>+495402222222</Telephone> </DirectoryEntry> <DirectoryEntry> <Name>Martin</Name> <Telephone>+491511111111111</Telephone> </DirectoryEntry> <DirectoryEntry> <Name>Matthias </Name> <Telephone>+4954022222222</Telephone> </DirectoryEntry> </YealinkIPPhoneDirectory>

Rufe ich mich jetzt von meiner Handynummer auf dem Telefon an, erscheint als Name die Nummer vom Telefon und als Nummer die Handynummer.

PAI und RPID habe ich ausprobiert, ändert sich nichts.
Ich habe die Nummer auch mal in ein Internes Telefonbuch gespeichert, dann gehts.
Also scheint er irgendwie nicht die Nummer aus einem externen Telefonbuch zu holen?

Tippe ich meine Nummer auf dem Telefon ein, zeigt er mir den entsprechenden Eintrag aus dem Telefonbuch.
 
Zuletzt bearbeitet:
Problem ist gelöst. Ich habe nochmal von vorne angefangen.
Die von Sipgate rausgegebenen Nummer +049 am Anfang waren doch das Problem.

Ich ersetze einfach im PHP Script +49 mit 0 und dann funktioniert es mit der Anzeige.

Hatte ich eigentlich schon probiert aber ok :)

Das funktioniert dann leider nicht mit anderen Ländervorwahlen aber das benötige ich auch nicht.
Falls jemand noch ne Idee hat , wie das mit +49 gehen könnte, gerne her damit.
 
Suppi, dass es läuft.
PHP Script was mir die Nummer von Sipgate per API holt
Wenn Du das noch genauer posten/teilen könntest, wäre das für Einige bestimmt super spannend. Letzt hatten wir wen, der sein Sipgate Team Adressbuch per Yealink ansteuern wollte … aber weil Sipgate kein LDAP bietet, hat er es ganz ohne Sipgate gemacht.
 
[Edit Novize: Überflüssiges Fullquote des Beitrags direkt darüber gelöscht - siehe Forumsregeln]
Ja werde ich machen, ich mach das alles noch etwas schön und dann erstelle ich ein extra Beitrag dafür.
 
Zuletzt bearbeitet von einem Moderator:
Hässlich nehmen wir auch. Also lieber Hässlich, bevor es an Schön scheitert. Du kannst hier IP-Phone-Forum auch im Nachhinein den Post bearbeiten, über Jahre später hinweg noch – jedenfalls war das so bis jetzt.
 
Habe das Beitragsthema geändert damit das auffindbar ist.
Der Code lädt die Kontakte über die Api von Sipgate, die Datei muss auf einem Webspace geladen werden. Die Url kann dann als externes Telefonbuch eingetragen werden.

Beispiel:
Code in pb.php speichern und auf einem Webserver laden. (
HTML:
https://www.example.de/pb.php
)
Diese Datei ist dann aber frei im Internet, deshalb sollte man die Datei in ein Verzeichnis laden und ein htaccess Schutz drauf machen (https://www.example.de/pb/pb.php) - mit Verzeichnis
User und Passwort für .htaccess können in der URL mit übergeben werden.
Man trägt also folgende URL als Remote URL ein
()


Einen Sipgate Token gibt es hier
Diese Scopes muss man auswählen
contacts:read (müsste eigentlich reichen - ich hatte noch account:red dazu gewählt)

Dann erhält man ein Token und eine Token id, diese müssen in das script eingetragen werden.

Wer Hilfe braucht kann mich gerne anschreiben. Ich habe allerdings noch vor eine Webseite zu machen, in der man sich Telefonbücher anlegen und verwalten kann oder sein sipgate Telefonbuch übertragen kann. Das dauert aber noch etwas :)

PHP:
<?php
#yealink external phonbook from sipgate
#script by Alexander Thiele
#https://www.yeabook.de
#Email:[email protected]

$sipgate_token_id = "Hier Token-ID eintragen";#YOUR_SIPGATE_ID
$sipgate_token = "Hier Token eintragen";#YOUR_SIPGATE_TOKEN
$token =  base64_encode($sipgate_token_id.':'.$sipgate_token);

$url = "https://api.sipgate.com/v2/contacts";
$curl = curl_init($url);

curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$headers = array(
   "Accept: application/json",
   "Authorization: Basic .'$token'.",
);

curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($curl);
curl_close($curl);

$sip_j_array = json_decode($response, true);
$items = $sip_j_array['items'];
echo "<YealinkIPPhoneDirectory>";
    foreach ($items as $item) {
        $name = $item['name'];
    echo"<DirectoryEntry>";
    echo "<Name>$name</Name>";

    $tel_numb = 0;
    for ($i = 1; $i <= count($item['numbers']); $i++) {
        $number = $item['numbers'][$tel_numb]['number'];
    echo "<Telephone>".str_replace('+49', '0', $number)."</Telephone>";
    $tel_numb++;
    }
    echo "</DirectoryEntry>";
    }
echo "</YealinkIPPhoneDirectory>";
?>
 
Zuletzt bearbeitet:
Ich habe oben genannte Webseite in Angriff genommen. Hat vielleicht jemand ein Yealink Telefon und hat Lust das ganze mal zu testen?

Wen ja, dann mir bitte eine PN schicken. Ich weiß nicht ob ich hier den Link einfach reinstellen darf.


Was kann/soll man auf der Seite machen?
-Registrieren
-Sipgate Kontakte laden oder eigenes Telefonbuch anlegen
-URL ins Telefon eintragen (externes Telefonbuch)

Voraussetzung -> Yealink Telefon

Ich hätte gerne dann eine Rückmeldung
-Fehler
-Rechtschreibfehler
-Probleme
-Verbesserungsvorschläge
-Welche Funktion wäre noch nützlich (Kontakteimport?)
-Kritik
-usw.
 
Sehr cool - hab es getestet und funktioniert problemlos über deine Webseite! Vielen Dank

Habe bis jetzt nur "read" ausprobiert. Wenn ich mal mehr Zeit habe, schaue ich, ob "write" auch klappt. Oder hat das schon jemand gemacht und kann mir bestätigen, dass Änderungen an Kontakten im Yealink dann auf diesem Weg ins Sipgate-Telefonbuch gesynct werden?
 
Zuletzt bearbeitet:
Nein write geht nicht, weil die Kontakte nur abgefragt werden.

Kann ich mir aber mal anschauen wieviel Aufwand das wäre.
 
Nur kein Stress. Bin bei Sipgate beim Anlegen drauf gestoßen, dass ich read und/oder write auswählen kann.
Wenn Schreiben klappt, wäre das natürlich spitze - aber so ist es auch schon super!
 
Du kannst ja auch Telefonbücher bei yeabook anlegen und dort verwalten, vielleicht hilft dir das auch weiter.

Aktuell geht write nicht, weil ich die Kontakte nicht bei mir speichere.

Das Telefon lädt die URL und die Nummern werden direkt bei Sipgate abgefragt. Ich weiß auch nicht ob ich das synchronisieren wirklich umsetzen will, das würde voraussetzen das ich die Kontakte speichere und mit Sipgate abgleiche. Tendenz geht eher zu nein.
 
Danke - ich werde da einfach noch ein bisschen rumprobieren! Read reicht mir für den Anfang auf jeden Fall schon mal.
 
Wenn du noch Anregungen, Ideen oder Änderungswünsche hast, gerne her damit. Hab vor kurzem erst für jemanden den Import von google Kontakten umgesetzt.
 
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
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.