[Problem] Sipgate Kontakte mit Yealink synchronisieren

brixton

Neuer User
Mitglied seit
5 Dez 2021
Beiträge
6
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:

sonyKatze

IPPF-Promi
Mitglied seit
6 Aug 2009
Beiträge
3,930
Punkte für Reaktionen
374
Punkte
83
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?
 

brixton

Neuer User
Mitglied seit
5 Dez 2021
Beiträge
6
Punkte für Reaktionen
2
Punkte
3
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:

brixton

Neuer User
Mitglied seit
5 Dez 2021
Beiträge
6
Punkte für Reaktionen
2
Punkte
3
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.
 

sonyKatze

IPPF-Promi
Mitglied seit
6 Aug 2009
Beiträge
3,930
Punkte für Reaktionen
374
Punkte
83
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.
 

brixton

Neuer User
Mitglied seit
5 Dez 2021
Beiträge
6
Punkte für Reaktionen
2
Punkte
3
[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:

sonyKatze

IPPF-Promi
Mitglied seit
6 Aug 2009
Beiträge
3,930
Punkte für Reaktionen
374
Punkte
83
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.
 

brixton

Neuer User
Mitglied seit
5 Dez 2021
Beiträge
6
Punkte für Reaktionen
2
Punkte
3
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:

brixton

Neuer User
Mitglied seit
5 Dez 2021
Beiträge
6
Punkte für Reaktionen
2
Punkte
3
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.
 
Erhalten Sie 3CX für 1 Jahr kostenlos!

Gehostet, in Ihrer privaten Cloud oder on-Premise! Ganz ohne Haken. Geben Sie Ihren Namen und Ihre E-Mail an und los geht´s:

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.
oder via