[Problem] Telekom VoIP Wartung isolieren die Telefonanlage

deagol

Neuer User
Mitglied seit
29 Jul 2010
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Ich habe ein an sich funktionierendes Setup, in dem sich Asterisk anstelle des normalen Telekom Routers bei tel.t-online.de registriert und die Nummern verwaltet. Allerdings gibt es in unregelmässigen Abständen Probleme: Manchmal ist der sip Server nicht erreichbar oder lehnt die Registrierung ab, gelegentlich ist der Asterisk Server Status aber auch ok, nur telefonieren kann man nicht. In allen Fällen ist das Telefon unbenutzbar, ein- und ausgehende Calls sind nicht mehr möglich. Und ein Neustart von Asterisk behebt das Problem garantiert.

Die Ursache dafür ist nach meinem Debugging, dass Asterisk nur beim Start eine Namensauflösung für tel.t-online.de macht und danach immer die da gefundene IP verwendet. Wenn die Telekom nun z.B. Wartungsarbeiten macht und per DNS die Benutzer zu anderen Servern umlenkt bekommt Asterisk das nicht mit und versucht weiterhin mit einer nicht mehr korrekten IP zu kommunizieren. Damit ist die Verbindung ins Telefonnetz unterbrochen, entweder weil Asterisk den SIP Server nicht mehr erreichen kann, oder weil die Telekom den SIP Server nicht mehr mit dem Telefonnetz verbunden hat.

Als Workaround kann man nun natürlich Asterisk einfach 1x in der Nacht neu starten, da es so aussieht als würde die Telekom "alte" tel.t-online.de nur in der Nacht ausser Betrieb nehmen. Das ist aber doch sehr unflexibel und fehleranfällig und kann kaum die richtige Lösung sein.

Wie das funktionieren sollte ist dabei theoretisch einfach:
  1. Asterisk sollte immer einen DNS lookup machen (DNS TTL beachten?) oder zumindest die bei einem Reconnect auch mal die IP per dns lookup erneuern.
  2. Oder basierend auf dem DNS SRV records zum Backup sip schwenken (Was vermutlich auch einen neuen DNS Lookup beinhaltet)
Es sieht so aus, als müsste man dafür nur Asterisk für NAPTR und SRV lookups korrekt konfigurieren, was aber scheinbar erst mit pjsip auch Redundanz (und neue DNS lookups) bringt. Ich finde aber keine Information, wie ich Asterisk in egal welcher Version - sip oder pjsip dazu bringe, auf einen Fallbackserver zu schwenkt oder alternativ die DNS Auflösung zu wiederholt.

Ich verwende momentan Asterisk 13.14.0 mit pjsip von Gentoo (mit zwei custom Fixes um pjsip überhaupt möglich zu machen), aber am Problem hat sich nichts geändert. Die Hoffnung war, dass der pjsip Code zumindest beim Reconnect die IP per DNS prüft, aber mit meiner Konfiguration zumindest passiert das nicht.

Hier ein paar zensierte Fragmente meiner Konfiguration :
Code:
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0
local_net=192.168.1.0/24

[auth_reg_tel.t-online.de]
type=auth
auth_type=userpass
username=<deleted>-0001
password=<deleted>


[123456-reg_tel.t-online.de]
type=registration
transport=transport-udp
outbound_auth=auth_reg_tel.t-online.de
server_uri=sip:tel.t-online.de
client_uri=sip:[email protected]
contact_user=123456
retry_interval=20
forbidden_retry_interval=300
expiration=480
auth_rejection_permanent=false

[telekom_out]
type=aor
contact=sip:<deleted>@tel.t-online.de
qualify_frequency=30
qualify_timeout=3.0

[telekom_out]
type=endpoint
transport=transport-udp
outbound_auth=auth_reg_tel.t-online.de
auth=auth_reg_tel.t-online.de
aors=telekom_out
context=default
from_domain=tel.t-online.de
disallow=all
allow=alaw
dtmf_mode=inband
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
timers=no
direct_media=no
tone_zone=de
language=de
Soweit ich es verstehe sollte eigentlich jeder der Asterisk mit einem Telekomanschluss betreibt das Problem auch haben.... Aber auch dazu finde ich praktisch nichts.
Hat jemand hier mehr Informationen? Habe ich ggf nur irgend etwas offensichtliches übersehen?
 
Zuletzt bearbeitet:
es gibt die dnsmgr.conf wo man das einstellen kann (enable=yes und refreshinterval)

das funktioniert aber erst wenn der Register abgelaufen ist, ansonsten muss man Asterisk manuell reloaden z.B. via bash script
 
Das hört sich doch vielversprechend an, danke!

Die Registrierung scheint dazu alle 480s abzulaufen... und ich bin sicher, die Telekom lässt den VoIP Clients bedeutend mehr Zeit bei geplanten Wartungen.

Code:
asterisk*CLI> pjsip show registration 123456-reg_tel.t-online.de

 <Registration/ServerURI..............................>  <Auth..........>  <Status.......>
==========================================================================================

 123456-reg_tel.t-online.de/sip:tel.t-online.de          auth_reg_tel.t-online.de  Registered      

 ParameterName            : ParameterValue
 ===========================================================
 auth_rejection_permanent : false
 client_uri               : sip:[email protected]
 contact_user             : 123456
 endpoint                 : 
 expiration               : 480
 fatal_retry_interval     : 0
 forbidden_retry_interval : 300
 line                     : false
 max_retries              : 10
 outbound_auth            : auth_reg_tel.t-online.de
 outbound_proxy           : 
 retry_interval           : 20
 server_uri               : sip:tel.t-online.de
 support_path             : false
 transport                : transport-udp
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

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.