[gelöst] Zwei Asterisk, jeweils hinter NAT und mit dyn. IP

Ber5erker

Mitglied
Mitglied seit
6 Apr 2004
Beiträge
305
Punkte für Reaktionen
0
Punkte
16
Ich verzweifel langsam völlig!
Seit Tagen versuche ich zwei Asterisk (jeweils hinter NAT, dynamische IP) so hinzubiegen daß man untereinander telefonieren kann.
Der Clou an der ganzen Sache: der eine Asterisk hat Telekom-ISDN, der andere Arcor.
Was zum verrecken nicht will ist von Ast1 über Ast2 ins ISDN-Netz zu telefonieren!
Hat soetwas schon jemand zustande gebracht?
 
Mit welchem Protokoll und welchen Wählplaneinstellungen hast Du es denn versucht? Über IAX2 mit Portweiterleitung sollte das eigentlich kein Problem sein ...
 
Re: Zwei Asterisk, jeweils hinter NAT und mit dyn. IP

Ber5erker schrieb:
Ich verzweifel langsam völlig!
Seit Tagen versuche ich zwei Asterisk (jeweils hinter NAT, dynamische IP) so hinzubiegen daß man untereinander telefonieren kann.
Der Clou an der ganzen Sache: der eine Asterisk hat Telekom-ISDN, der andere Arcor.
Was zum verrecken nicht will ist von Ast1 über Ast2 ins ISDN-Netz zu telefonieren!
Hat soetwas schon jemand zustande gebracht?
Die Fehler- und Problembeschreibung ist äußerst mangelhaft ("Es geht nicht"). Woran scheitert es genau? Was klappt bereits? (Registrierung, interne Gespräche, SIP, gar nix, etc.) Wieviele Asteriske sind von "extern", d.h. aus dem Internet über die externe Adresse auf dem entsprechenden Port erreichbar (0, 1 oder beide)? Ein bisschen mehr Input (Konfiguration, Logmeldungen, etc.) muss schon sein, dann kann dir sicher geholfen werden. :)
 
Die Fehler- und Problembeschreibung ist äußerst mangelhaft
Ja, da hast du wohl recht.
Beide Asterisk laufen produktiv und stehen jeweils hinter einem ADSL-Router mit dynamischer IP.
Der eine besitzt nur SIP-Endgeräte und kann sowohl über ISDN (Arcor) als auch über VoIP (Sipgate und Freenet) rein- und raustelefonieren.
Der andere hat intern eine HFC-Karte im NT-Mode laufen und zusätzlich SIP-Endgeräte und kann über ISDN (Telekom) rein- und raustelefonieren.
Nun sollen aber beide Asterisk auch untereinander "telefonieren":
Endgerät -> Asterisk1 -> asterisk2 -> Endgerät

Erste Versuche mit IAX schlugen spätestens dann fehl wenn sich bei einem der Router die IP geändert hat, von daher fällt (anscheinend) die Möglichkeit mit "register => ..." bei SIP als auch bei IAX aus.
Den anderen Weg mittels
Code:
exten => _9XX,1,Dial(SIP/${EXTEN}@<dyndns-name>)
funktioniert nur insoweit, daß man jetzt zwar untereinander telefonieren kann, jedoch nicht das ISDN des anderen nutzen kann. Soll bedeuten: "Endgerät -> Asterisk1 -> asterisk2 -> ISDN" funktioniert in diesem Falle nicht.

Die Sache hakt anscheinend nur daran daß beide eine dynamische IP haben. Hätte einer der beiden eine feste kann man ja mit "register => ..." arbeiten wie man sich ja auch bei z.B. Sipgate registriert.
 
Versuch da mal die beiden über IAX2 zu verbinden, das sollte mit dem doppelten NAT weniger Probleme machen.

jo
 
ich verstehe das Problem auch nicht ganz. Wenn man die beiden Asterisk über IAX verbindet und host=dynamic verwendet, sollte man per Remote-Verbindung auch IP-unabhängig telefonieren können.
 
Pustekuchen mit dem hinhauen :mad:

Das Problem liegt anscheinend bei den Ports. Ein iax2 show registry bei dem einen Asterisk ergibt
Code:
ast1*CLI> iax2 show registry
Host                  Username    Perceived             Refresh  State
82.82.xxx.xxx:4569    ast2        <Unregistered>             60  Request Sent
ast1*CLI>
und beim anderen
Code:
ast2*CLI> iax2 show registry
Host                  Username    Perceived             Refresh  State
84.137.xxx.xxx:4569   ast1        82.82.xxx.xxx:1025         60  Registered
ast2*CLI>
Bedeutet: ast2 hat den register angenommen und geht auf dem UDP-Port 1025 wieder zurück (Port 20001 hat er auch schon genommen, er macht es also wahllos).
Ein einziges mal hat er den richtigen Port genommen (Port 4569, welcher auch in beiden Routern auf den Asterisk gemappt ist), da hat auch alles tadellos funktioniert.
Hier noch die iax.conf vom ast1:
Code:
[general]
port=4569
bindaddr=0.0.0.0
accountcode=iax
bandwidth=high
disallow=all
allow=alaw
register => ast2:[email protected]
tos=lowdelay
[ast1]
type=friend
auth=md5
secret=passwort1
context=intern
accountcode=iax
host=dynamic
qualify=yes
und hier vom ast2:
Code:
[general]
port=4569
bindaddr=0.0.0.0
accountcode=iax
bandwidth=high
disallow=all
allow=alaw
register => ast1:[email protected]
tos=lowdelay
[ast2]
type=friend
auth=md5
secret=passwort2
context=intern
accountcode=iax
host=dynamic
qualify=yes
Wie gesagt, einmal hat er sich auf dem richtigen Port zurückgemeldet. Da hat dann auch der zweite Asterisk seinen register wie gewünscht setzen können.
Das phänomen tritt auch bei deaktivierter Firewall auf!
 
Schuß ins Blaue:

Hast Du es mal mit unterschiedliche Ports versucht? Also z.B. ast1 mit 4569 , ast2 mit 4579

Gruß,
Tin
 
Hallo Ber5erker,
bei mir funktioniert es. Ich lasse sich allerdings AST1 bei AST2 registrieren. Eine Registrierung AST2 bei AST1 brauche ich nicht. AST2 telefoniert über AST1 durch exten => _*., (IAX2/username:passwd@dynadresse/${EXTEN:1}).
Damit ich auch über ISDN raus kann, habe ich einfach DISA mit Authentifizierung genutzt (ist sicherer!).

Vielleicht hilft Dir das ja weiter - Peter -
 
für die "Kopplung" zweier Asterisk-Server ist prinzipiell gar keine Registrierung in irgendeine Richtung notwendig. Einzige Voraussetzung ist, daß jeweils ein passender Kontext auf dem jeweils "anderen" Asterisk in der IAX.CONF existiert. Der Verbindungsaufbau zum "zweiten" Asterisk erfolgt einfach durch mitgeben von user & password direkt im Dial(IAX2/user:passwort@zweiterasteris/extensiondort)
 
@Betateilchen:
Das ist richtig, dass sich keiner der beiden * beim anderen registrieren muss. Ich habe aber die Variante mit einer Anmeldung gewählt, da dann nur auf einer Firewall der Port 4569 auf den * weitergeleiten werden muss. Im dem Fall, dass sich niemand bei dem anderen registriert, müssen beide Firewalls einen Port auf den jeweiligen * weiterleiten.

@Ber5erker:
Hat mein Tip was gebracht?
 
Im dem Fall, dass sich niemand bei dem anderen registriert, müssen beide Firewalls einen Port auf den jeweiligen * weiterleiten.

Müssen sie nicht :!: Bei SIP vielleicht, aber ich nutze die von mir beschriebene Methode mit der Registrierung über IAX2 schon lange Zeit, ohne irgendeine Portweiterleitung.
 
:oops: Stimmt. Sorry für die Falschauskunft. Ich habe es eben mal getestet und in einer Richtung klappt es schon mal. DIe andere Richtung kann ich erst heute abend testen.

EDIT: Nöö, funktioniert doch nicht. Ich muss zumindest bei einer Firewall den Port öffnen und sich den anderen Asterisk registrieren lassen. Sonst geht nix!
 
So, nach langm hin und her kann ich nur sagen: Ja, die Firewall des ZyXEL 660HW hat mir 'nen Strich durch die Rechnung gemacht! Irgend eine Funktion in der FW hat - trotz Portforwarding und dergleichen Regeln - die eingehenden UDP-Pakete geblockt. Mit komplett deaktivierter FW klappt es jetzt einwandfrei.
Wie betateilchen schon sagte ist eine gegenseitige Registrierung bei IAX2 _nicht_ notwendig (danke nochmal für den Testaccount :) ), dies erleichtert die Kommunikation gerade bei dynamischen IPs erheblich.
 
hallo,

gibt es hierzu die relevanten confs (iax und extensions) nochmal als "musterbeispiel" einzusehn? oder is das da oben bereits alles?

wäre dankbar, da ich grad versuchen muss 2 asterisk über VPN und IAX2 miteinander zu koppeln :roll: :oops:
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,840
Beiträge
2,219,268
Mitglieder
371,543
Neuestes Mitglied
Brainbanger
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.