Telekom SIP Rufnummern als Trunk in FreePBX 14 konfigurieren (mit chan_pjsip)

Ausgangsbasis: FreePBX 14 mit FreePBX Distro 7

Neuen Trunk erstellen unter Connectivity ==> Trunks ==> Add Trunk ==> Add SIP (chan_pjsip) Trunk. Dann folgende Einstellungen machen unter:

General:
Trunk Name: tcom_pj_089XXXXXXXX
Outbound CallerID: <089XXXXXXXX>
CID Options: Force Trunk CID (Caller-ID ist bei normalen Anschlüssen nicht frei wählbar)
Maximum Channels: 2 (Telekom erlaubt meines Wissens 2 ausgehende + 2 eingehende Gespräche. Die Maximum Channels zählen standardmäßig aber eh nur die ausgehenden!)

tcom_pj_1of4

pjsip Settings – General:
Username: 089XXXXXXXX
Secret: Das Kennwort ist völlig egal! Irgendwas eingeben! Siehe Bemerkungen unten.
SIP Server: tel.t-online.de

tcom_pj_2of4

pjsip Settings – Advanced:
Permanent Auth Rejection: Enabled deaktivieren
Expiration: 480 (Standard “3600” finde ich zu lang – 480 ist das minimal erlaubte @TCOM)
Max Retries: 9999
Contact User: 089XXXXXXXX
From Domain: tel.t-online.de
From User: 089XXXXXXXX

tcom_pj_3of4

pjsip Settings – Codecs
g722
alaw

tcom_pj_4of4

 

Authentifzierungs-Wirr-Warr bei Telekom SIP Anschlüssen:

Kennwort: Ganz große Verwirrung besteht beim Kennwort sowie bei der Authentifizierung. Wenn man nach Informationen dazu sucht findet man extrem viele widersprüchliche Angaben. Hintergrund ist wohl dass es hier bei der Telekom mehrere Möglichkeiten gibt bzw. gab:

  • a) Authentifizierung erzwingen über einen Login mit einem @t-online.de E-Mail Account und zugehörigem Kennwort auch für den eigenen Anschluss. Diese Option besteht seit Sommer 2014 zumindest für die normalen Privatkundenanschlüsse nicht mehr! Quelle: Telekom Forum, Post vom 21.03.2015
  • b) Authentifizierung über deine-email-adresse@t-online.de mit E-Mail Login + Passwort sofern man über einen fremden Telekom Anschluss Online ist (außerhalb des Telekom Festnetzes sind die SIP Server sowieso nicht erreichbar.
  • c) Keine Authentifizierung sofern man über den eigenen Anschluss online ist. Dies war früher der Standard und ist bei normalen Privatkundenanschlüssen inzwischen die einzige Variante (bei Geschäftskundenanschlüssen mag es anders sein, und den obskuren Sonderfall “Rufnummern die zusätzlichen Inclusivnutzern zugeordnet sind” ignorieren wir mal hier). Da hier das Kennwort nicht geprüft wird sind meines Erachtens Gerüchte entstanden dass man das DSL-Kennwort für den SIP Account verwenden müsste. IMHO: absoluter Schwachsinn => Das Kennwort ist einfach egal und bloß weil das DSL Kennwort funktioniert hat heißt es nicht dass auch dieses benötigt würde.

So geht die Nutzung des Telekom SIP Anschlusses mit Authentifizierung:
Wird die Rufnummer an einem anderen Telekom Internet Anschluss genutzt als der zu dem sie eigentlich gehört, sind folgende Einstellungen für die Authentifizierung nötig:
1) eine @t-online.de E-Mail Adresse muss einrichtet werden für den Anschluss dessen Rufnummer woanders genutzt werden soll. Dazu ein Passwort vergeben. Dieses Passwort gilt zusammen mit der E-Mail Adresse für “Kundencenter”, “E-Mail Center” und “Telekom Login” – aber auch die die SIP Einwahl an fremden Anschlüssen.
2) Bei den pjsip Settings unter General die Optionen Username und Secret anpassen. Username: email-adresse@t-online.de  /  Secret: das-kennwort
3) FreePBX generiert aus Username und Kennwort auch die Optionen Client URI (client_uri= im type=registration Block) und AOR Contact (contact= im type=aor Block). Diese sind nun falsch und müssen übersteuert werden durch entsprechende Einträge unter pjsip Settings – Advanced:
==> Client URI: sip:089XXXXXXXX@tel.t-online.de:5060
==> AOR Contact: sip:089XXXXXXXX@tel.t-online.de:5060
… und schon sind sowohl ein als auch ausgehende SIP Telefonate am “fremden” Anschluss möglich.


Kommentare & Besonderheiten:

  • Inbound Routes konfigurieren mit DID im Format 089XXXXXXXX
  • Die Permanent Auth Rejection abzuschalten und die Max Retries hochzusetzen ist natürlich nicht nötig, aber ich halte es für sinnvoll damit PJSIP bei temporären Anmeldefehlern nicht einfach sofort aufgibt und es nie wieder probiert! Das ist mit den Standardsettings nämlich ganz schnell der Fall. Achtung: Ein Max Retries = 0 wäre wirklich 0 und nicht unendlich!
  • DTMF Mode “Auto” halte ich für die richtige Option. Die Telekom kann eindeutig RFC und Inband – auch wenn an manchen Seiten noch anderes steht (vielleicht veraltete Informationen).

Bei Problemen:

  • Die SIP Anschlüsse der Telekom sind leider oft eine etwas hakelige Angelegenheit. Dies liegt daran dass die Telekom selber dazu kaum Dokumentation bereitstellt, die Anschlüsse sich teilweise sogar regional unterschiedlich verhalten und von Seiten der Telekom Änderungen vorgenommen werden ohne dass diese dokumentiert oder angekündigt wird – solange es mit Speedport und Fritz!Box funktioniert reicht der Telekom das leider… Daher hier noch ein paar Problemlösungshinweise wenn es mal nicht klappt:
  • Bricht das Gespräch ab, z.B. nach 15, 30, 45 oder 60min ist evtl. sinnvoll mal die testweise die Option timers=no in der pjsip Konfiguration (/etc/asterisk/pjsip.endpoint.conf – Bereich [Fritz_pj_XXXXXXXX]) manuell einzutragen – bisher nicht im GUI möglich. Danach Asterisk neu starten bzw. config neu laden (“core reload”). Achtung: Änderungen hier werden natürlich vom FreePBX GUI überschrieben sobald dort wieder “Apply Settings” gedrückt wird. Zum testen sollte so ein Eintrag von Hand aber erstmal reichen. Ich würde hoffen dass dies heutzutage eigentlich nicht mehr nötig sein sollte.
  • Bei NAT Problemen (One-Way Audio z.B.) ist es evtl. mal einen Versuch wert die Option “RTP Symmetric” auf Yes zu stellen. Im Normalfall aber nicht nötig.
  • Falls eingehende Anrufe als unautorisiert erkannt werden von FreePBX kann es helfen bei Match (Permit): 217.0.0.0/13 einzutragen. Dies sollte normalerweise aber automatisch erkannt werden. Welchen Match Eintrag die automatische Erkennung generiert hat sieht man auf der Asterisk Konsole mit “pjsip show endpoints”.
  • Weitere Hinweise und Kommentare zur Konfiguration des Telekom Anschlusses per PJSIP finden sich hier

Alternativ ist natürlich auch die Einrichtung mit dem älteren chan_sip möglich. Wie das geht steht hier: Telekom SIP Rufnummern als Trunk in FreePBX 14 konfigurieren (mit chan_sip)

Advertisements

14 thoughts on “Telekom SIP Rufnummern als Trunk in FreePBX 14 konfigurieren (mit chan_pjsip)

  1. Bezogen auf das:
    ==> Client URI: sip:089XXXXXXXX@tel.t-online.de:5060
    ==> AOR Contact: sip:089XXXXXXXX@tel.t-online.de:5060

    Wie müsste der Eintrag aussehen, wenn man aus der eigenen Leitung telefonieren möchte. Mit anonymous@t-online.de – aber wie?

    Like

  2. Beide Felder einfach leer lassen! Sofern unter General / Username die eigene Telefonnummer steht wird es von FreePBX eh richtig generiert. Ausfüllen mit “sip:089XXXXXXXX@tel.t-online.de:5060” dürfte aber auch nicht schaden – ist einfach nur nicht nötig.

    Like

  3. Alles klar soweit. Unter pjsip zeigt er mir die Nummer als Registred an, allerdings kommt in der CLI folgendes:
    [2017-12-06 12:58:30] ERROR[13852]: res_pjsip.c:3426 create_out_of_dialog_request: Unable to create outbound OPTIONS request to endpoint Test as URI ‘sip:anonymous@t-online.de@tel.t-online.de:5060’ is not valid
    [2017-12-06 12:58:30] ERROR[13852]: res_pjsip/pjsip_options.c:427 qualify_contact: Unable to create request to qualify contact sip:anonymous@t-online.de@tel.t-online.de:5060

    Bei eingehendes Anrufen:
    [2017-12-06 12:57:56] NOTICE[13852]: res_pjsip/pjsip_distributor.c:649 log_failed_request: Request ‘INVITE’ from ” failed for ‘217.0.23.132:5060’ (callid: p65545t151xxxxxxxxxxxxxxxxxxxx46530s2) – No matching endpoint found

    Like

  4. Wenn du Dir den Post durchliest, wirst du sehen das nirgendwo “anonymous@t-online.de” vorkommt. Weder im Text noch in den Screenshots. Ich vermute du hast “anonymous@t-online.de” unter General / Username eingetragen. Da gehört aber die Rufnummer rein.

    Like

  5. Ich habe mittlerweile das Problem, dass eingehende Anrufen nicht durchgeleitet werden bzw. die Nummer als “ungültig Rufnummer” wiedergegeben wird. Hatte über Monate hinweg eine funktionierende Config.
    Ausgehende Telefonate funktionieren einwandfrei und soweit ich es beurteilen kann gibt es auch von der Telekom die Antwort: “SIP 200 – In Ordnung”
    Irgendeine Idee woran es liegen könnte?

    Like

    • @machineswalkamongus
      Hast du einen Contact User angegeben? Die Zuordnung eingehender Anrufe läuft meines Erachtens über die Nummer die du dort angibst. Diese muss dann auch bei den Inbound Routes als DID Nummer verwendet werden damit FreePBX/Asterisk weiss welche eingehenden Anrufe zu welchem Account wohin gehören.

      Falls es das ist nicht, bräuchte man wohl mehr Details. Was gibt es für konkrete Fehler im Asterisk Log, Screenshots der Konfiguration, was exakt ist die Ansage wenn man Anruft und es nicht klappt…

      Like

      • Danke für deine Antwort,
        Mittlerweile funktioniert alles wieder (falscher Codec war eingestellt)
        Jedoch habe ich das Problem, dass bei ausgehenden Anrufen nur ein 1-Way Audiokanal entsteht, ich kann alles hören aber die andere Partei mich nicht.
        Wenn Anrufe reinkommen funktioniert alles wunderbar… RTP symmetric habe ich testweise eingestellt, scheint aber nicht zu helfen.
        RTP Ports sind weitergeleitet, wenn ich die RTP Port Range mit tcpdump abgreife scheint auch eine Verbindung zu entstehen…
        Irgendeine Idee woran es liegen könnte?

        Like

      • Fällt mir leider auch nicht sehr viel dazu sein. Könnte irgendwas in Router/Firewall sein, oder auch im FreePBX… Wenn es nicht der Router ist würde ich in FreePBX schauen bei der Sangoma Smart Firewall ob da die Netze (Interfaces, Networks) korrekt definiert sind dann noch und unter Advanced SIP Settings ==> General SIP Settings ==> External Address oder auch dort bei Chan PJSIP Settings => External IP Address.

        Ich habe diese zwei External Address Felder leer, da man (im Gegensatz zu chan_sip) dort bisher keine dynamischen Hostnamen angeben durfte (nur fests IPs). Es könnte jetzt allerdings in ganz aktuellen Asterisk Versionen auch mit dynamischen Hostnamen funktionieren, habe ich aber noch nicht probiert. Leere Felder hier sollten aber für normale Gespräche auch reichen! Wenn dort aber etwas falsches drinsteht kann das durchaus zu 1-way-audio führen!

        Like

  6. Ich habe auch einmla versucht, an miener FreePBX 14 Anlage von SIP auf PJSIP umzustellen.
    (DeutschlandLan IP Premium)

    Meine FreePBX Anlage läuft hinder einer PFSense Firewall ohne Portweiterleitung der Ports UDP/TCP 5060 (SIP) sowie der RTP Ports. Mit SIP funktioniert das auch wunderbar. Bei PJSIP muss ich die Ports an die FreePBX weiterleiten, damit eingehende Anrufe funktionieren. (Bin vorerst einmal bei SIP geblieben)

    Meine Frage ist nun, ist das ein generelles Problem mit PJSIP, dass hier die Ports weitergeleitet werden müssen oder kann das an den NAT Einstellungen liegen? Diese wurden allerdings im Vergleich zu den SIP Einstellungen nicht geändert.

    Like

    • Ich denke das Problem muss woanders gelegen haben. Port 5060 habe ich selber (aus Sicherheitsgründen) noch nie weitergeleitet, die RTP Ports allerdings schon immer. Wobei auch diese meines Erachtens nur in speziellen Konstellationen wichtig werden, welche das sind habe ich allerdings noch nicht ganz durchschaut.

      Ich vermute dein Problem mit den eingehenden Anrufen lag eher irgendwo in den zahlreichen Settings die man in der PJSIP Konfiguration vornehmen kann und teilweise vornehmen muss. Um genaueres zu sagen wäre meine Frage: Was passiert denn mit eingehenden Anrufen? Eine Ansage? Leitung tot? Und was steht im Log bzw. auf der Asterisk Console (asterisk -rvvv per ssh) während der Anruf schiefgeht?

      Ich denke ein grundsätzliches Problem kann es nicht geben. Was vielleicht noch von Interesse wäre ist ob unter Advanced SIP Settings bei FreePBX ein dynamischer Hostname angegeben war, z.B. bei General SIP Settings ==> External Address oder bei Chan PJSIP Settings => External IP Address. Hier konnte man verleitet sein einen Hostname anzugeben, was aber zumindest in der Vergangenheit nicht ok war (nur IP Adressen valid hier). Könnte INZWISCHEN mit ganz aktuellen Asterisk Versionen gehen, habe ich aber noch nicht ausprobiert ob FreePBX die Konfiguration entsprechend schreibt so dass es tatsächlich geht. Die Funktion hier Hostnamen aufzulösen kann Asterisk erst seit wenigen Monaten.

      Like

  7. Hello, danke für den Artikel.
    Ich setze allerdings eine Asterisk ohne FreePBX ein, die auch läuft, bis auf paar Dialplan-Routings, wo ich noch hintersteigen muss.
    Mich würde interessieren, ob du auch mehrere Nummern an deinem Telekom-Anschluss betreibst, denn die Telekom gibt einem ja 3 Nummern im normalen “Flat-Tarif” und ich habe Probleme zwei “MSN” paralell zu betreiben und ein Telefon über die eine MSN raus zu schicken und das andere über die andere. Rein auf beide. Ich schweife ab, deswegen noch mal die Frage: Betreibst du zwei Nummern an deiner Anlage?

    Viele Grüße

    Like

    • Ja, geht bei mir definitiv. Habe an einer FreePBX Anlage neun Telekom MSNs im Einsatz mit unterschiedlicher eingehender und ausgehender Rufverteilung je nach Endgerät. Die MSN #10 ist dort dann in der vorgeschalteten Fritz!Box 7590 eingerichtet und gehts aufs Fax. Hab es also bis zum Limit ausgeschöpft – klappt 🙂

      Like

  8. Sehr schöne Anleitung. Danke dafür.
    Ich bin derzeit auf Recherche… Da passte Dein Beitrag perfekt.
    Vlt kannst du mir auch einen Tipp für mein baldiges Vorhaben geben,
    ob das so funktioniert….
    Ich habe derzeit 4 separate Anschlüsse mit jeweils zwei ISDN Leitungen.
    Diese gehen auf eine Telefonanlage, dich nicht auf die Schnelle ersetzt werden kann.
    Es ist ein Anlagenanschluse mit der bsp Hauptnummer 012345 und diese geht dann von
    0123450 (Zentrale) bis
    012345999
    Also quasi 1000 Nummern
    Nun würde ich für die Überbrückungszeit
    einen FreePBX VM Server aufsetzen, der nach deiner Anleitung die Anbindung zur Telekom herstellt.
    Dann allerdings intern auf 4 Fritzboxen (7270v3) weiter reicht. Also die fritzboxen quasi via SIP intern
    an die FreePBX. Die S0 der Fritzboxen auf die bisherigen 4 ISDN (Eingänge) der Telefonanlage.
    So wäre die vorhandene Telefonanlage quasi Voip fähig gemacht.
    Wie ist deine Einschätzung dazu. Funktioniert das ?
    Mir geht es da um die Rufnummern des Anlagenanschlusses. Ich weiß nicht ob die Fritzbox
    die quasi 1000 Nummern kapiert.
    Ich bin für jede Info in der Richtung dankbar.

    Viele Grüße

    Like

    • Puh, also ob da die Variante mit der Fritz!Box als ISDN Adapter die richtige ist? Das ist nicht wirklich der Einsatzzweck einer Fritz!Box 🙂
      Vor allem ist das dann ja ein Anlagenanschluss was die alte Telefonanlage erwartet. D.h. du musst dann nicht nur die Fritz!Box als SIP Gateway benutzen sondern sie auch noch in den unsupporteten ISDN-Anlagenanschluss-Modus schalten. Ich kann mir nicht vorstellen dass dies zufriedenstellend läuft, falls es überhaupt läuft!

      Die “Normale” klassiche Lösung dafür wäre ein FreePBX Server als “echte” Hardware und dann eine interne ISDN Karte per DAHDI Interface. Eine Junghanns QuadBRI kriegst du auf eBay zu ganz fairen Preisen (100€ rum, gab früher ähnliche HFC Karten auch von BeroNet) – neu war das zeug mal extrem teuer. Noch besser ist allerdings ein per Netzwerk ansprechbares SIP zu ISDN Interface, so dass du nicht dich mit dem DAHDI ISDN Interface von Asterisk herumschlagen musst. Dann bist du allerdings ganz schnell bei >500€ für einen entsprechenden Adapter.

      Entsprechende Geräte wären zB von BeroNet, als interne Karte die BF4004S0e (ist intern PCI/PCIe, kommuniziert aber per Netzwerk und SIP und nicht per schwierigem DAHDI). Gibt auch externe Adapterkästchen von BeroNet, die heissen dann wohl BeroNet oder BeroFix. Sehe komischerweise grad keine mit 4x ISDN auf der Webseite. Ruf im Zweifelsfall mal an, muss es geben.

      Wenn du 1000 Rufnummern hast und 8 Leitungen gehe ich davon aus dass auch mehr als 3 Benutzer daran hängen. Insofern würde ich SEHR stark zur >500€ SIP auf ISDN Adapterlösung raten. Falls du es nur temporär brauchst und nicht für viele Jahre versuch es gebraucht zu kaufen und dann gebraucht wieder zu verkaufen.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s