Asterisk - Konfig dt. Telekom
für Gesprächs- und Transportverschlüsselung (Magenta Zuhause)
Die Konfiguration, um einen Dt. Telekom Magenta Zuhause Anschluss über den Asterisk an's Laufen zu bekommen, beruht, im Gegensatz zur an anderer Stelle beschriebenen Sipgate Konfiguration, nicht auf der PJSIP-Wizard Datei, sondern wird komplett in der pjsip.conf Datei hinterlegt. Ob eine funktionierende Konfiguration mit dem Wizard erstellt werden kann, habe ich nicht ausprobiert, sollte aber grundsätzlich möglich sein. Wie schon in der Konfiguration bei Sipgate erwähnt, sollte für jede registrierte Rufnummer ein eigener Transport definiert werden.
Wie bei jedem Trunk (d. h. Verbindung zu einem Telefonanbieter) und pjsip bei Asterisk gibt es 6 verschiedene Definitonsbereiche. Diese lauten:
- transport (Transportweg)
- registration (Registrierung beim Provider)
- auth (Authentifizierung)
- endpoint (Eigenschaften für ankommende u. abgehende Gespräche)
- aor
- identify (Sicherheit, um unberechtigte SIP-Anfragen zu unterbinden)
Nachfolgend meine (anonymisierte) Konfiguration für die virtuelle Rufnummer 0228-123456:
[transport-telekom-tls-1]
type = transport
protocol = tls
bind = 0.0.0.0:0
local_net=192.168.2.0/24
ca_list_file = /etc/ssl/certs/ca-certificates.crt
method = tlsv1_2
verify_server = yes
allow_reload = no
tos = 0xb8
cos = 3
;==== Templates ====
[regt](!)
retry_interval = 60
fatal_retry_interval = 0
forbidden_retry_interval = 10
max_retries = 10000
expiration = 660
auth_rejection_permanent = yes
line = yes
[endpt](!)
context = telekom-in
disallow = all
allow = g722,alaw,ulaw
send_connected_line=false
from_domain = tel.t-online.de
language = de
user_eq_phone = no
t38_udptl = no
t38_udptl_ec = none
fax_detect = no
trust_id_inbound = no
t38_udptl_nat = no
direct_media = no
rewrite_contact = yes
rtp_symmetric = yes
dtmf_mode = rfc4733
tos_audio=0xb8
rtp_timeout=120
media_encryption = sdes
[telekom_123456_reg](regt)
type = registration
transport = transport-telekom-tls-1
outbound_auth = telekom_123456_auth
server_uri = sip:tel.t-online.de
client_uri = sip:+49228123456@tel.t-online.de
contact_user = +49228123456
endpoint = telekom_123456
[telekom_123456_auth]
type = auth
auth_type = userpass
password = irgend:etwas-0001@tel.t-online.de
username = +49228123456
[telekom_123456](endpt)
type = endpoint
transport = transport-telekom-tls-1
message_context = messaging
outbound_auth = telekom_123456_auth
aors = telekom_123456_aor
from_user = +49228123456
contact_user = +49228123456
[telekom_123456_aor]
type = aor
contact = sip:+49228123456@tel.t-online.de
qualify_frequency=240
remove_existing=yes
[telekom_123456_identify]
type = identify
endpoint = telekom_123456
match = tel.t-online.de
Nachfolgend noch ein paar Hinweise: Solange die Registrierung am heimischen Anschluss (zu dem die Rufnummern gehören) erfolgt, ist das Passwort in der in der auth-Sektion tatsächlich egal, da die Telekom hier einen anderen Weg zur Überprüfung des Benutzers benutzt.
Die Gesprächsverschlüsselung erkennt man an der Option media_encryption = sdes. Diese gilt, genau wie bei der
Sipgate-Konfiguration auch, zwischen Asterisk und (in diesem Falle) der Telekom und darf nicht mit einer
Ende-zu-Ende Verschlüsselung verwechselt werden!
Auch hier gilt: local_net ist auf das lokale Netz anzupassen, der Pfad für die ca_list_file Datei ist evtl. auch anzupassen (das ist die Datei, in der sämtliche Zertifizierungsstellen aufgeführt sind).
Die Sektionen regt und endpt sind wieder Vorlagen (Templates), um sich entsprechende (sich wiederholende) Einträge bei den einzelnen Rufnummern sparen zu können.
Als Codecs benutze ich G722 (das entspricht HD-Voice) sowie alaw (das ist die Generation vor HD-Voice, normale Gesprächsqualität) sowie ulaw (ob das von Telekom unterstützt wird, weiß ich nicht, da es immer schon vorher eine Einigung auf G722 gibt).
Bei Problemen lohnt es sich immer mal, auf der Asterisk Kommandozeile den SIP-Logging einzuschalten. Für PJSIP geht das
mit dem Befehl pjsip set logger on. Dabei ist zu beachten, dass es bei mehreren Rufnummern durchaus einige
Logging-Meldungen gibt, so dass entsprechende Meldung erst zugeordnet werden müssen.
Sobald man die gewünschten Informationen hat, kann das Logging mit pjsip set logger off wieder beendet werden.