sipgate.de Registrierung geht nur in DMZ

Thomas007

Aktives Mitglied
Mitglied seit
18 Sep 2005
Beiträge
1,455
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich habe die Registrierung von sipgate.de für incomming calls gemäß Anleitung auf www.sipgate.de gemacht. Trotzdem geht es nur, wenn ich den Rechner in die DMZ stelle.
monduno registriert sich problemlos ohne DMZ.

Was kann die Ursache sein.

hier die Anletung von sipgate:

[general]
port = 5060
bindaddr = 0.0.0.0
context = sip-out
qualify=no
disable=all
allow=alaw
allow=alaw
allow=ulaw
allow=g729
allow=gsm
allow=slinear
srvlookup=yes
canreinvite=yes
language=de
register => SIPID:P[email protected]/SIPID
 
Portfrowarding hast Du schon richtig gemacht?

UDP 5060 und die Ports aus der rtp.conf.

jo
 
Hallo,
nein, ich habe kein PortForwarding eingerichtet, ich habe der Anleitung bei Sipgate auch nicht entnommen, daß dieses erforderlich ist?

Was macht sipgate da so anders als z.B. monduno?
Ich habe jetzt noch nicht weiter mit Ethereal geschaut, weil ich dachte das es nur eine Einstellungssache wäre....

Server hinter NAT-Router
sip show registry
Host Username Refresh State
sipgate.de:5060 1849383 120 Request Sent
sip.monduno.com:5060 1019207 105 Registered
 
versuchs mal mit dem eintrag in der Sektion [general]
nat=yes
 
NAT=yes ändert nichts.
Grund ist, daß monduno das Gespräch über seinen Server leitet und die Firewall deswegen die eingehenden Paket zuläßt, da zu monduno ja eine Verbindung besteht.!! Warum monduno das auch immer macht.
sipgate und andere vermitteln nur und da müssen natürlich die entsprechenden Ports für die neu eintreffenden Pakete von einem bis dahin unbekannten Absender geöffnet sein.

Also ohne Portforwarding oder DMZ geht es nicht.
 
nat=yes hilft alleine nicht viel. Dadurch weiß der Asterisk immer noch nicht, wie seine externe IP-Adresse ist, und baut nicht geroutete Adressen in die SIP-Header ein. Die sind aber von außen nicht erreichbar.

Also:

nat=no
insecure=very
externip=xxx.xxx.xxx.xxx ; wenn Du eine feste Adresse hast
externhost=blafasel.dyndns.org ; wenn Du eine dynamische Adresse hast, geht aber nur ab asterisk 1.2.0 oder mit einem entsprechend gepatchten 1.0.x.

Und natürlich Portforwarding...
 
danke für den Beitrag,
ich bin noch am aufbauen und habe die CVS Version nicht installiert.
externip kann aber eigentlich nur die STUN Funktionalität ersetzen, aber nicht die Firewall beeinflussen, und somit kann man nicht auf Portforwarding oder DMZ verzichten.
Problem ist, daß Pakete an der Firewall von einer neuen IP ankommen und die Firewall diese dropt oder rejected.
Helfen könnte nur wenn Asterisk die Firewall steuern könnte, z.B. mit UPnP oder man hat ein iptables modul analog wie bei ftp, welches über related die Verbindungen erkennt und erlaubt.
Bei iptables war wohl mal ein SIP Modul angedacht, ich kenne aber den aktuellen Stand nicht.
Problem ohne dieses Modul ist, daß wenn man nur von SIP-Points, wo man sich registriert hat, Anrufe entgegennehmen möchte, trotzdem alle eingehenden Anfragen auch von Voice-Spammern auf dem Asterisk Rechner abarbeiten muß.
Ebenso ist der Rechner in der Konstellation natürlich auch gegen Angriffe unnötig gefährdet, als wenn die Pakete gleich an der Firewall entsorgt würden.

Ich bin als Anfänger nur monduno aufgesessen, die die Verbindung über ihren Server ziehen und nicht zwischen den Clients vermitteln. Deswegen dachte ich es geht auch ohne DMZ oder Protforwarding.
 
Ich verstehe nicht, was Munduno dabei macht oder nicht aber Du wärst der Einzige, bei dem es ohne Portforwarding funktioniert, es sei denn Du hast einen Router mit intgriertem SIP Proxy.

Bei 1.0.x sollte auch externip=dyndnsdomain funktionieren.

Wenn Du nur von bestimmten IPs Verbindungen zulassen willst, kannst Du ja noch entsprechende Regeln mit iptables auf deiner Firewall einfügen. Wichtig ist, dass Du nur UDP zulässt, nicht TCP oder IP.

jo
 
externip teilt lediglich meine WAN-IP mit, die braucht natürlich der Anrufer um überhaupt eine direkte Verbindung zu mir herstellen zu können. Man sollte es auch wohl zusammen mit localnet verwenden damit Asterisk weiß was drinnen oder draußen ist.
http://www.voip-info.org/tiki-index.php?page=Asterisk+SIP+externip

Monduno erlaubt den RTP Strom über seinen Server zu leiten!; ausprobieren und mit iftop prüfen. Daher kann man Monduno ohne Portforwarding oder DMZ hinter einem NAT Router mit Firewall (oder besser connection tracking) benutzen. Das kann man als Feature sehen, wenn man hinter einem NAT Router sitzt, der die VoIP Ports nicht blockiert und man den Router nicht konfigurieren kann/darf. Dann läuft Asterisk trotzdem.
 
Da es bei RTP einen outgoing und einen incoming stream auf verschiedenden ports gibt, müsste wohl trotzdem ein Portforwarding eingestellt werden. Ich kann mir nicht vorstellen, wie es ohne gehen soll.

localnet kann natürlich nicht schaden, habe ich als Standard immer drin.

jo
 
rollo schrieb:
Ich verstehe nicht, was Munduno dabei macht oder nicht aber Du wärst der Einzige, bei dem es ohne Portforwarding funktioniert, es sei denn Du hast einen Router mit intgriertem SIP Proxy.

Bei 1.0.x sollte auch externip=dyndnsdomain funktionieren.

Hmmm, der Konjunktiv ... - in 1.0.9 kommt der String dyndns im Quellcode nicht vor, und im Binary auch nicht. Wenn das ginge, hätte es ja die Erweiterung externip nicht gebraucht. (Frage: Wo ist das dokumentiert? In configs/sip.conf.sample steht nix davon. Habe mir deswegen schon vor längerer Zeit externip in meine 1.0er Asteriske gepatcht, sowie SIPGetHeader - kann ich aber alles droppen, sobald HFC mit 1.2 richtig geht. :-))

Mit der Firewall - ich habe auf meinem DSL Router (Netgear) die Ports nach innen durchgelitten, und das tut seit jeher.
 
Ich habe es noch mal getestet.
habe ich einen Linux-Rechner als Router geht es auch mit monduno nicht. Einzige Erklärung ist, daß die NAT und connection tracking Implementierung in den zuvor verwendeten Routern schlampig ist und eher mehr als zu wenig durchläßt.
 
Kostenlos!

Statistik des Forums

Themen
247,206
Beiträge
2,263,793
Mitglieder
375,692
Neuestes Mitglied
Bimer81