Dokumentation Telekom Sip-Trunk

Produkt: DeutschlandLAN SIP-Trunk

Achtung: Dies ist die „Anlagenanschluss“-Variante. Informationen zum „DeutschlandLAN IP Voice/Data S“ (die „DSL-Anschluss mit SIP-Trunk“-Variante für Small Business Kunden) finden sich hier.

Vorbereitungen

Folgende Anpassungen sind in der /opt/ucware/etc/asterisk/sip.conf vorzunehmen. Achtung diese Anpassungen können dazu führen, dass andere Sip-Trunks nicht mehr funktionieren, oder dass es zu Problemen mit den Telefonen kommt.

Der SRV-Lookup sollte ausgeschaltet werden.

srvlookup=no

Weiterhin muss das Ablaufdatum der Session (defaultexpiry) auf 600 gesetzt werden.

defaultexpiry=600

DNS-Override

In Asterik 11 ist der Service-Record-Lookup teilweise kaputt. Die SRV-Records werden nur beim registrieren berücksichtigt und nicht beim Invite. Daher müssen die Adressen aus dem vollständig aufgelösten SRV-Record in den A-Record übernommen werden.

Achtung die Adressen könnten sich jederzeit ändern ohne dass die Anlage das mitbekommt! Außerdem sind die Adressen je nach Standort unterschiedlich sein.

Ermitteln der SRV-Records:

$ host -t SRV _sip._tcp.reg.sip-trunk.telekom.de
_sip._tcp.reg.sip-trunk.telekom.de has SRV record 0 5 5060 n-ipr-a01.sip-trunk.telekom.de.
_sip._tcp.reg.sip-trunk.telekom.de has SRV record 1 5 5060 n-ipr-a02.sip-trunk.telekom.de.
_sip._tcp.reg.sip-trunk.telekom.de has SRV record 10 5 5060 d-ipr-a01.sip-trunk.telekom.de.

Auflösen des A-Records (IP-Adresse):

$ host n-ipr-a01.sip-trunk.telekom.de
n-ipr-a01.sip-trunk.telekom.de has address 217.0.15.67

/etc/bind/db.telekom:

$TTL 604800
@ IN SOA dns00.dns.t-ipnet.de. hostmaster.t-ipnet.net. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost.
reg.sip-trunk.telekom.de. IN A 217.0.26.197
sip-trunk.telekom.de. IN A 217.0.26.197

/etc/bind/named.conf.local

include "/etc/bind/zones.rfc1918";
zone "reg.sip-trunk.telekom.de." {
type master;
file "/etc/bind/db.telekom";
};
zone "sip-trunk.telekom.de." {
type master;
file "/etc/bind/db.telekom";
};

Anschließend müssen, sofern noch nicht geschehen, die forwarding Nameserver gesetzt werden.

/etc/bind/named.conf.options:

options {
directory "/var/cache/bind";
forwarders {
10.0.200.1;
192.168.1.1;
};
dnssec-validation no;
auth-nxdomain no;
listen-on-v6 {
any;
};
};

Damit die Einstellungen wirksam werden muss bind neu gestartet werden und es muss ggf. die /etc/resolv.conf angespasst werden.

Registerstring

Der Telekom SIP-Trunk erfordert einen speziellen1) sip.register.conf.php kann diesen nicht erzeugen, u.a. kann das Transportprotokoll nicht angeben werden. Registerstring, dieser kann derzeit nur manuell in der sip.conf, im Abschnitt [general], angelegt werden.

register => tcp://<Tel.Nr.>@sip-trunk.telekom.de:<pass>:<T-Online Nummer>@reg.sip-trunk.telekom.de:5060/<Tel.Nr.>
; ↑ ↑ ↑ ↑ ↑
; | Benutzer | PW | WTF? | Registrar |

Die <Tel.Nr.> ist die Telefonnummer des Trunks, d.h. seine Kopfnummer mit abschließender 0, als E.123. Z.B. +4922842273920.

Die ursprüngliche Registerzeile sollte entfernt werden.

#exec /opt/ucware/etc/asterisk/sip-register.conf.php

Gateway

Die Benutzereinstellung müssen unabhängig vom Registerstring auch in der sip.conf in den Gatewayeinstellungen vorgenommen werden!

Value
Registrar / Server	sip-trunk.telekom.de oder reg.sip-trunk.telekom.de
Username	T-Online Nummer (55…)
Password	Trunk Passwort
Authuser	<T-Online Nr>@sip-trunk.telekom.de
Extract target number from	to header
qualify	no
Insecure	port, invite

In den Advanced Options müssen die folgenden Werte eingestellt sein.

Value
transport=tcp
session-expires=6002) Wahrscheinlich auch nicht zwingend nötig.
usereqphone = yes
session-timers=refuse3) Verhindert dass Gespräche nach 30min abgebrochen werden.
fromdomain=sip-trunk.telekom.de4) Nicht zwingend erforderlich.

Die Einstellung userreqphone hängt den Tag user=phone am To-Header an. Eigentlich sollte dieser am From-Header angehängt werden, aber das ist nach aktuellem Kenntnissstand – ohne Asterisk-Patch – nicht möglich.

Key-Value-Store

Die match_peer_order muss auf ueIh gestellt sein. Außerdem muss hier tpcenable auf yes gesetzt werden. Danach sollte der Asterisk neugestartet werden.

Dialplan-Quirk

Der folgende Quirk ist nach aktuellen Wissenstand nicht nötig!

--[[-- Telekom Sip-Trunk Quirk @author Martin T. Ledderboge @copyright 2018 UCware GmbH @script telekom-sip-trunk @return callback ]] local Channel = require 'core.channel' local Log = require 'core.logger' --- Realm of the sip provider (and it's NOT reg.sip-trunk.telekom.de!) -- @field realm local realm = "sip-trunk.telekom.de" --- Quirk for the german *Telekom* -- @param self caller object -- @param extension callee extension -- @param gateway gateway object with the following fields, {type, grpId, id, allowOut, extsource, host, name, title, dailstring} return function(self, extension, gateway) -- get current caller id local callerid = Channel["CALLERID(num)"] or 'anonymous' -- Clear display name Channel["CALLERID(name)"] = "" -- CLIR app.sipremoveheader("P-Preferred-Identity") app.sipremoveheader("P-Asserted-Identity") -- CLIP app.sipaddheader(("P-Preferred-Identity: <sip:%s@%s>"):format(callerid, realm)) -- Override Contact field, it's a telekom requirement, see TR118 for more information. app.sipremoveheader("Contact") app.sipaddheader("Contact: <sip:<external ip>:5060;bnc>") end

Tipps und Tricks

Faxversand Geschwindigkeit möglichst langsam wählen, 9600 muss ausreichen, und die Fehlerkorrektur anschalten.