.titleBar { margin-bottom: 5px!important; }

Bekomme * nicht mehr sauber hinter NAT zum laufen

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von udosw, 12 Feb. 2005.

  1. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Hannover
    Hi,

    ich benutze diesen Asterisk:
    pingu*CLI> show version
    Asterisk CVS-HEAD-01/26/05-01:29:27 built by root@pingu on a i586 running Linux
    auf Debian Linux (SID).

    Router ist eine FritzBoxFon an Arcor DSL. SIP-Provider sipgate, freenet, gmx usw. Lokale Clients die VoIP-Accounts meiner beiden Fritzboxen. Bis vor kurzem hatte ich die Konstellation stabil laufen.

    Dann mit der DeTeWe Opencom experimentiert, dazu alles mögliche im Asterisk umgestellt und auch * upgedated von 1.0.5 auf obiges CVS, weil ich den 'attendet transfer' haben möchte.

    Nun das Problem. Ich bekomme derzeit nur sipgate registriert, freenet und gmx z.B. nicht:

    Code:
    sip show peers
    Name/username              Host            Dyn Nat ACL Mask             Port     Status    
    gmx/49511xxxxxxx           212.227.15.196       N      255.255.255.255  5060     UNREACHABLE
    freenet/xxxxxx             194.97.54.97         N      255.255.255.255  5060     UNREACHABLE
    sipgate/800xxxx            217.10.79.9          N      255.255.255.255  5060     OK (98 ms)
    fon2/fon2                  192.168.178.1    D   N      255.255.255.255  5060     OK (75 ms)
    fon1/fon1                  192.168.178.1    D   N      255.255.255.255  5060     OK (72 ms)
    Hier der Anfang meiner sip.conf:

    Code:
    [general]
    port=5060               ; make sure you have this line
    ;bindaddr=0.0.0.0
    bindaddr=192.168.178.2
    ;localnet=192.168.178.0/255.255.255.0 
    externip=xxxxx.ath.cx
    srvlookup=yes
    context=default
    Wenn ich nun localnet einkommentiere, ist auch sipgate nicht mehr registriert. Vorher hatte ich localnet immer drin und alles war OK.

    Auswirkungen auf dieses ganze Verhalten haben:
    nat (yes/no)
    localnet
    bindaddr
    und komischerweise auch
    canreinvite
    bei den Peers/Clients

    Oft sind die Auswirkungen aber nicht unmittelbar und sofort nachvollziehbar. Die localen Clients laufen besser mit nat=yes, obwohl es unlogisch klingt. Wenn man localnet ändert, muss man das aber evtl. auch ändern.

    Hat jemand eine stabil hinter NAT laufende Konfiguration?
    Hat sich das Verhalten von * vielleicht kürzlich geändert?

    Udo
     
  2. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Versuchs evtl. mal mit 'externhost' statt 'externip'. Infos dazu findest du im sample-config-file.
     
  3. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Hannover
    Danke, bringt ber leider keine Änderung.

    Wenn ich "localnet" einkommentiere ist Peer sipgate sofort "UNREACHABLE".

    Nehm ichs' raus, geht es und auch Testanruf auf 10000 klappt.
    Ruf ich mich vom Festnetz auf meine Sipgate-Nr an, jab ich Audio nur in richtung zum Festnetz.

    Andere Peers (freenet, gmx, web) bekomme ich gar nicht mehr zum laufen.

    Udo
     
  4. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Schicke doch mal Deine komplette sip.conf mit (ohne Zugangsdaten und passwörter)
    Hast Du ein Port-Forwarding eingerichtet (SIp und Rtp)?

    Wenn Du gmx nutzen willst (hinter NAT) und keine statische IP hast, dann giebt es zwei Möglichkeiten:
    Otakus reload-Skript oder du musst einen DynDns-Client laufen lassen (z.B. den der FritzBox) und dann mit externhost arbeiten. 'localnet' muss auf jeden Fall gesetzt werden.
    Bei mir läuft Asterisk Head hinter NAT ohne Probleme. Notfalls mal "sip debug" in die Konsole eingeben, und danach 'sip reload'. Da kommen dann eine Menge mehr informationen zusammen).
     
  5. udosw

    udosw Aktives Mitglied

    Registriert seit:
    20 März 2004
    Beiträge:
    1,114
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Hannover
    Hier meine sip.conf:

    Code:
    [general]
    port=5060               ; make sure you have this line
    bindaddr=192.168.178.2
    localnet=192.168.178.0/255.255.255.0
    externhost=uuuuuu.ath.cx
    ;srvlookup=yes
    context=default
    
    tos=0x18
    disallow=all
    ;allow=iLBC   
    allow=gsm    
    allow=g726
    allow=g729
    allow=alaw
    allow=ulaw  
    ;maxexpirey=1200
    ;defaultexpirey=200
    
    register = 80XXXXX:PPPPPPP@sipgate.de:5060/1
    register = XXXXXXX:PPPPPPP@freenet.de:5060/1
    
    #include fon1.sip
    #include fon2.sip
    
    #include sipgate.sip
    #include freenet.sip
    
    [fon1]
    type=friend 
    secret=pass1
    host=dynamic
    defaultip=192.168.178.1
    qualify=yes
    nat=yes
    context=intern
    callerid=fon1 <**1>
    
    [fon2]
    type=friend 
    secret=pass2
    host=dynamic
    defaultip=192.168.178.1
    qualify=yes
    nat=yes
    context=intern  
    callerid=fon2 <**2>
    
    [sipgate]
    username=XXXXXXX
    fromuser=XXXXXXX
    fromdomain=sipgate.de
    host=sipgate.de
    secret=PPPPPP
    type=friend
    context=extern
    nat=yes
    qualify=yes
    ;canreinvite=no
    insecure=very
    ;dtmf=rfc2833
    
    [freenet]
    username=XXXXXX
    fromuser=XXXXXX
    fromdomain=freenet.de
    host=freenet.de
    secret=PPPPPPP
    type=friend
    context=extern
    nat=yes
    qualify=yes
    In dieser Konfiguration sieht sip show peers so aus:

    Code:
    *CLI> sip show peers
    Name/username              Host            Dyn Nat ACL Mask             Port     Status    
    freenet/uuuuuu             194.97.54.97         N      255.255.255.255  5060     UNREACHABLE
    sipgate/800XXXX            217.10.79.9          N      255.255.255.255  5060     UNREACHABLE
    fon2/fon2                  192.168.178.1    D   N      255.255.255.255  5060     OK (30 ms)
    fon1/fon1                  192.168.178.1    D   N      255.255.255.255  5060     OK (28 ms)
    4 sip peers [2 online , 2 offline]
    Wenn ich localnet auskommentiere, ist sipgate sofort erreichbar, freenet aber weiterhin nicht:

    Code:
    *CLI> sip show peers
    Name/username              Host            Dyn Nat ACL Mask             Port     Status    
    freenet/uuuuuu             194.97.54.97         N      255.255.255.255  5060     UNREACHABLE
    sipgate/800XXXX            217.10.79.9          N      255.255.255.255  5060     OK (75 ms)
    fon2/fon2                  192.168.178.1    D   N      255.255.255.255  5060     OK (66 ms)
    fon1/fon1                  192.168.178.1    D   N      255.255.255.255  5060     OK (56 ms)
    4 sip peers [3 online , 1 offline]
    Von der FritzBox her (Router) sind keine Ports freigegeben. Für Port 5060 wäre das z.B. auch gar nicht möglich. Dennoch hat alles auch ohne Portfreigaben vor ein paar Wochen bestens funktioniert: Ich konnte intern zwischen den 4 Clients der zwei FritzBoxen und von dort per SIP nach draussen telefonieren. (ISDN-Karten oder analoge Devices sind an dem Asterisk nicht angeschlossen).

    Ich habe extra ein FW-Downgrade der FritzBox gemacht, um evtl. Änderungen dort auszuschließen. Außerdem mochmal alle Asterisk-Konfig-Dateien, die ich gesichert hatte, zurückkopiert - ohne Erfolg.

    Udo