sip.register.conf.php
kann diesen nicht erzeugen, u.a. kann das Transportprotokoll nicht angeben werden.
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.
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.
srvlookup=no
defaultexpiry=600
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.
$ 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.
$ 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.
Der Telekom SIP-Trunk erfordert einen speziellen1) 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
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) |
usereqphone = yes |
session-timers=refuse3) |
fromdomain=sip-trunk.telekom.de4) |
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.
Die match_peer_order
muss auf ueIh
gestellt sein. Außerdem muss hier tpcenable
auf yes
gesetzt werden. Danach sollte der Asterisk neugestartet werden.
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