FreePBX + pj_sip + dynIP --> Call canceled

qupfer2

Neuer User
Mitglied seit
30 Jan 2016
Beiträge
29
Punkte für Reaktionen
0
Punkte
1
Ich habe eine kombinierte Frage. Zum einen nach einer "bequemen" Lösung und auch eine Verstädniserklärung.

Telekom-Anschluss mit FreePBX 14.0.13.4 und Asterisk 16.3. Telekom als auch die lokalen Telefone sind alle via pj_sip angebunden.
Läuft auch alles. Außer ich bekomme aus irgendeinen Grund eine neue IP. Dann erhalte ich die Meldung "Call Canceled", wenn ich die FreePBX Anlage anrufe.
Nach einen "fwconsole restart" läuft alles wieder Problemlos. Reload genügt scheinbar nicht.
Habe auch in den Asterisk SIP Settings die externe Adresse auf meinen DynDNS Namen gesetzt. Der Haut auch hin.

Aktuell habe ich ein ein Skript laufen, welches minütlich die IP Prüft und wenn sich die ändert Asterisk neu startet. Geht, aber ist halt nicht hübsch.
Hat da jemand eine Idee wie/wo man es korrekt konfiguriert?

Und zum zweiten Teil. Warum brauche ich das überhaupt? Dachte bei Telekom etc. läuft das alles über einen "SIP-Zwangsproxy". Da kommuniziere ich doch eigentlich eh nicht direkt mit der anderen Seite. Da sollte "meine" IP ja eine untergeordnete Rolle spielen. Oder "überschreibe" ich da für die Gegenseite etwas?
 
Moinsen


Selber hab ich Asterisk im 2. NAT eines Doppel NAT und nutze: chan_sip
( Also nach pjsip konvertieren ;) )

Um keine "Verständigungsprobleme" mit den 1. NAT zu bekommen, läufts hier so...
sip.conf
[general]
localnet=netze_im_2_nat ; Ändert sich nicht
externip=asterisk_ip_aus_sicht_des_1_nat ; Ändert sich nicht
externhost=hostname_aus_sicht_des_1_nat ; Ändert sich nicht

Das routet die Anrufe richtig, weil Asterisk so weiss was Innen und Außen ist.

Um dies für DynDNS hinzumogeln, solltest du meiner Meinug nach...
;externip=kommentieren ; Da sie sich ändert ;)
...und nur...
externhost=dein_dyn_dns_name:portnummer
...verwenden.

Ich bin mir nicht sicher ob du auch...
stunserver=ein_stun_server_deiner_wahl:portnummer
...brauchst, damit Asterisk einen Mechanismus bekommt um den Wechsel zu erkennen.

Versuch auch einmal ein schnelles: asterisk -x 'database deltree registrar/contact'
Quelle ( Klienten müssen sich neu anmelden )
( Vorher nachgucken: database show )
...anstatt eines Neustarts.
Vielleicht kannste so auch ein register= neu anschubsen.
 
Zuletzt bearbeitet:
Telekom-Anschluss mit FreePBX 14.0.13.4 und Asterisk 16.3. Telekom als auch die lokalen Telefone sind alle via pj_sip angebunden.
Läuft auch alles. Außer ich bekomme aus irgendeinen Grund eine neue IP. Dann erhalte ich die Meldung "Call Canceled", wenn ich die FreePBX Anlage anrufe.
Klar geht da nichts mehr nach einem IP-Wechsel - Du musst ja dem Server sagen, wo er Dich findet - das nennt man Registrierung. Wenn sich Deine IP ändert, ist Deine Registrierung futsch - solange, bis Du Dich neu registriert hast. Das kann bis zu ca. 10 Minuten dauern (falls Asterisk den IP-Change überhaupt mitbekommt hat - da bin ich mir nicht so sicher).
Aktuell habe ich ein ein Skript laufen, welches minütlich die IP Prüft und wenn sich die ändert Asterisk neu startet. Geht, aber ist halt nicht hübsch.
Hat da jemand eine Idee wie/wo man es korrekt konfiguriert?
Ja. Aus Deiner Beschreibung interpretiere ich mal (geschrieben hast Du das nirgendwo explizit), dass Asterisk auf dem Router läuft, der auch die PPPoE-Verbindung aufbaut. Die ist für die IP verantwortlich. Die IP ändert sich nämlich nicht einfach so, sondern immer dann, wenn die PPPoE-Session beendet / neu gestartet wird. Daher ist es am trivialsten, einfach in diesem Zusammenhang Asterisk neu zu starten. Das kannst Du in /etc/ppp/ip-up.local machen.
 
Klar geht da nichts mehr nach einem IP-Wechsel - Du musst ja dem Server sagen, wo er Dich findet - das nennt man Registrierung. Wenn sich Deine IP ändert, ist Deine Registrierung futsch - solange, bis Du Dich neu registriert hast. Das kann bis zu ca. 10 Minuten dauern (falls Asterisk den IP-Change überhaupt mitbekommt hat - da bin ich mir nicht so sicher).
Sicher, aber die Registrierung ist schon längst ausgelaufen und neu registriert. Wenn es nach ~10min von alleine wieder laufen würde, wär das für mich mehr als ausreichend. Das die IP sich ungewollt ändert ist ja äußerst selten. Aber es kommt halt doch ab und zu mal vor. Aber der Zustand bleibt halt über Stunden bis zum Neustart.


Ja. Aus Deiner Beschreibung interpretiere ich mal (geschrieben hast Du das nirgendwo explizit), dass Asterisk auf dem Router läuft, der auch die PPPoE-Verbindung aufbaut. Die ist für die IP verantwortlich. Die IP ändert sich nämlich nicht einfach so, sondern immer dann, wenn die PPPoE-Session beendet / neu gestartet wird. Daher ist es am trivialsten, einfach in diesem Zusammenhang Asterisk neu zu starten. Das kannst Du in /etc/ppp/ip-up.local machen.
Nein, Asterisk läuft dahinter. Daher bekommt er nur indirekt mit, wenn sich die IP ändert. Aber ich dachte halt, der gesamte Telefonieverkehr (SIP als auch RTP)
 
Dann sollte das die Lösung sein. Ist in Asterisk >= 14 drin - in 16 auf jeden Fall.
 
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.