Asterisk hinter Fritzbox

dispy

Neuer User
Mitglied seit
30 Sep 2007
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Moin,

ich habe heute Asterisk eingerichtet und soweit hat das auch Alles erstaunlich gut & schnell geklappt :D
Leider kann ich mich bei ASterisk nur im lokalen Netz anmelden :(

Hab schon gegoogelt aber das hat leider nich geholfen....

Portfreigaben Fritzbox:
Asterisk Listen UDP 5050 192.168.178.21 5050
Asterisk RTP UDP 10000-10100 192.168.178.21 10000-10100

extensions.conf
[sonstige]

[meine-telefone]
exten => 2000,1,Dial(SIP/2000)
exten => 2001,1,Dial(SIP/2001)

sip.conf
[general]
port = 5050,5061
bindaddr = 0.0.0.0
context = sonstige

[2000]
type=friend
context=meine-telefone
secret=1234
host=dynamic

[2001]
type=friend
context=meine-telefone
secret=1234
host=dynamic

Wenn ich mich mit der lokalen IP (192.....) anmelde, geht Alles wunderbar. Nehme ich hingegen die externe IP und versuche das über die Fritzbox, kommt immer "register failed" <<== im Log von ASterisk taucht kein Anmeldeversuch auf, also scheitert das irgendwo an der Fritzbox.
Würde mich freuen wenn ihr mir helft :D

Vielen Dank im Voraus !

MfG
dispy
 
OK... jetzt hab ich schonmal raus, dass Asterisk das "Authentification Required" immernoch auf Port 5060 sendet -obwohl er auf 5050 eingestellt ist
*Wireshark*

MfG
dispy
 
Welche Asterisk-Version benutzt du? Ersetze "port" mal durch "bindport".

Voip-Info schrieb:
New in Asterisk v1.2.0: The global option "port" in 1.0.X that is used to set which port to bind to has been changed to "bindport" to be more consistent with the other channel drivers and to avoid confusion with the "port" option for users/peers.
 
Asterisk 1.4.21.1 -damit ich zur Anleitung kompatibel bleibe

MfG
dispy

EDIT: mit bindport statt port funzts leider dann überhaupt nicht -auch nicht nur lokal
 
Zuletzt bearbeitet:
Ich bin kein Asterisk-Experte, deswegen hier einfach ein Ausschnitt aus meiner sip.conf (alles was ich in [general] habe bis auf die "register =>"s und ein Client). Ich benutze auch 1.4.21.1.
Damit kann ich mich sowohl von außerhalb als auch von innerhalb meines LANs einloggen. Ich habe den Port 5061 und die RTP-Ports, so wie ich sie in der rtp.conf eingestellt habe, in der Fritzbox freigegeben. Lokale IP meines Asterisk-Servers is die 192.168.1.2.

Code:
[general]
context=incoming 
allowoverlap=no
bindport=5061
bindaddr=0.0.0.0
srvlookup=yes

externhost=my.dyndns.org
externrefresh=10

nat=yes
localnet=192.168.1.2/255.255.255.0

rtpkeepalive=5
rtptimeout=60

disallow=all
allow=ulaw
allow=alaw

[1000]
type=friend
secret=mysecretkey
host=dynamic
qualify=1200
nat=no
context=intern_out
canreinvite=no
 
rtp.conf ?
Kannst du die auch mal posten ?
Hab die RTP-ports jetzt auch freigegeben.... bringt trotzdem nix ^^

MfG
dispy
 
Zuletzt bearbeitet:
Ich habe den Netzwerkverkehr bei erfolgreichem & nicht erfolgreichem Anmelden mal mitgeschnitten.... ich kenne mich damit nicht aus aber vllt. sagt euch das was

MfG
dispy
 

Anhänge

Nimm mal dies hier:

...
[general]
bindport=5050
bindaddr=0.0.0.0
externhost=my.dyndns.org
localnet=192.168.178.0/255.255.255.0
...

Jetzt noch ein "sip reload" und in Deinem lokalen SIP client nicht vergessen den port für Asterisk auf 5050 einzustellen, z.B. als "192.168.178.21:5050". Dein Eintrag für "my.dyndns.org" musst Du natürlich auf Deinen eigenen DynDNS Eintrag anpassen.

Viel Glück, und im Zweifel hilft ein "sip set debug on" im Asterisk CLI.
 
Moin,

sobald ich "bindport" statt port nehme, ist der Server weder intern noch öffentlich verfügbar. mit "port" ist er immerhin intern verfügbar.

sip debug on hat leider auch nicht geholfen - bei Asterisk kommt nichts an.

Selbstsamerweise kann er selbst mit Port Forwarding nicht connecten lol :(

MfG
dispy
 
Hmm. Versuchst du es immer mit "bindport=5050,5061" oder auch mal einfach nur mit "bindport=5050", also nur einem Port offen?

Zudem: Was trägst du bei deinen Clients ein? Eventuell ist hier der Fehler zu finden.
 
Bei mir steht im Mom fürn Port nurnoch:
port=5050


Client-settings:
Client: Phoner 2.19

SIP:
Profil:79.223.59.93
Benutzername: 2000
Passwort: mein_pw
Proxy: 79.223.59.93
Lokaler Port: 5050
BEvorzugte Verbindungsart: UDP
Angezeiger Name: Phoner
STUN SErver: 79.223.59.93
Realm: 79.223.59.93

Das ist jetzt mit der internen IP genau dasselbe -ändert sich nur die IP

MfG
dispy
 
Mach' mal das hier im client:

Über Internet:

Proxy: 79.223.59.93:5050
Lokaler Port: 5060

Beziehungsweise innerhalb des LAN:

Proxy: 192.168.178.21:5050
Lokaler Port: 5060

Sofern Du nur intern mit diesem client telefonieren willst solltest Du auch noch den Eintrag für den "STUN Server" komplett löschen, der kann mitunter zu Problemen führen. Es sei noch bemerkt dass ein Testszenario "Eigenes LAN client - Fritz!Box - Internet - Fritz!Box - Eigenes LAN server" ziemlich kompliziert ist und daher als erster Test nicht so eine gute Idee.
 
Zuletzt bearbeitet:
Also, ich habe gerade einen kleinen Test gemacht und bei mir funktioniert port=xxxx im [general] Bereich nicht. Asterisk greift bei mir dann zurück auf den Port 5060. Dieser Befehl scheint also komplett entfernt zu sein und es funktioniert nurnoch bindport=xxxx.

Hier meine Vermutung:
Durch deine Client-Einstellungen versucht es der Client bei Asterisk am Port 5060, dies funktioniert Netzintern perfekt, da der Request nicht durch einen Router muss, sobald der Request von Ausserhalb kommt wird er abgeblockt, da dieser Port nicht weitergeleitet wird.
Sobald du nun "bindport=5050" machst schaltet Asterisk auf den Port um, auf den er eigentlich hören soll. Somit stößt dein Client sowohl Netzintern als auch Netzextern auf "taube Ohren", da der Port 5060 auf den er versucht zuzugreifen nicht mehr in Benutzung ist.

Die Einstellung "Lokaler Port" bedeuten genau das. Lokaler Port des Clients. Also statt nur die IP anzugeben einfach IP:Port angeben (z.B. meinserver.dyndns.org:5050)
 
port= gilt für die SIP peers als remote port (also die clients), während bindport= für den listening port des Asterisk servers zuständig ist. Das war nicht immer so, in früheren Versionen von Asterisk war port= unter [general] anstelle des heutigen bindport= zu benutzen.
 
Nunja - als mein Freund nicht von außen reingekommen ist habe ichs auch probiert -und das hat halt nicht geklappt.

Mit den genannten Einstellungen geht es leider auch nicht: "Register failed <Connectivity Checks failed>"

MfG
dispy

EDIT: mit bindport geht es..... endlich :D
EDIT2: okay... vllt. zu früh gefreut... oder mein Gegenüber is zu blöd *vermut* :)
 
Zuletzt bearbeitet:
So, wir sind weitergekommen
a) Bei Portscans im externen & internen Netz taucht Asterisk nicht auf, das interne Einloggen klappt aber trotzdem
b) die Fritzbox-Logs enthalten bei externen Anfragen den Fehler: ICMP Destination unreachable (Port unreachable)

liegt das vllt. am Clienten? die ports sind freigegeben...
MfG
dispy

EDIt:
-- Registered SIP 'dispy' at 79.223.58.254 port 64182 expires 900
-- Saved useragent "SIPPER for phoner" for peer dispy
[Aug 2 17:53:18] NOTICE[3528]: chan_sip.c:15094 handle_request_subscribe: Received SIP subscribe for peer without mailbox: dispy
das war jetzt lokal connectet -immerhin steht da jetzt die externe IP statt die interne...
aber kann mir jemand erklären, wie er auf Prt 64.182 kommt ? Ich hab ihm 5050 zugewiesen.....

Selbst mit Port Forwarding seitens meiner Fritzbox gehts nicht.... register failed...
Phoner-Log meines externen Testers
hat noch jemand Ideen=? :)
 
Zuletzt bearbeitet:
Ich würde sagen Du hast den Portscan nicht korrekt ausgeführt bzw. die Ergebnisse fehlerhaft interpretiert. Im übrigen musst Du Dir klar machen dass hier immer zwei ports involviert sind, derjenige auf dem der Sender hört, und derjenige auf dem der Empfänger hört, und in aller Regel sind diese Portnummern nicht identisch: Dein phoner sendet zu port 5050 des Servers und nimmt die Antworten vom Server auf 64182 entgegen.
 
Zuletzt bearbeitet:
Ich würde sagen da hast den Portscan nicht korrekt ausgeführt bzw. die Ergebnisse fehlerhaft interpretiert. Im übrigen musst Du Dir klar machen das hier immer zwei ports involviert sind, derjenige auf dem der Sender hört, und derjenige auf dem der Empfänger hört, und in aller Regel sind diese Portnummern nicht identisch: Dein phoner sendet zu port 5050 des Servers und nimmt die Antworten vom Server auf 64182 entgegen.

Code:
nmap -sS mein_server
taucht nix auf, was auf einem Asterisk-Port liegt oder die Bezeichnung trägt

Mit den Ports: joa, das hab ich wohl falsch verstanden -danke :-)
Nur ist das irgendwie trotzdem keine Erklärung.... selbst, wenn ich den Computer mit der Fritzbox forwarde, funktioniert es nicht....

MfG
dispy
 
Kostenlos!

Statistik des Forums

Themen
248,889
Beiträge
2,304,145
Mitglieder
378,572
Neuestes Mitglied
idadana