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

Asterisk, Nikotel, Routingprobleme

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von cheercity, 12 Jan. 2005.

  1. cheercity

    cheercity Neuer User

    Registriert seit:
    12 Jan. 2005
    Beiträge:
    8
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich habe folgendes Problem und langsam keinen Nerv mehr. Versuche schon alles mögliche, aber es klappt irgendwie nicht.

    Ich habe einen Asteriskserver hinter einer Firewall mit NAT und zwei Grandstream 101. Als Anbieter Nikotel mit externen Rufnummern (entsprechende Accounts)

    Intern funktioniert fast alles. Nur wenn ich mit einem Telefon einmal nach außen gerufen haben, was bei beiden geht, bekomme ich immer wieder die Meldung "Besetzt" also er registriert nicht, das der Call zu Ende ist.

    Von außen kann ich entsprechend dann auch nicht mehr anrufen. Entweder garkein Lebenszeichen oder Besetzt.

    Anbei nun meine sip.conf

    Code:
    ;
    ; SIP Configuration for Asterisk
    ;
    
    [general]
    context=default			; Default context for incoming calls
    port=5060			; UDP Port to bind to (SIP standard port is 5060)
    bindaddr=0.0.0.0		; IP address to bind to (0.0.0.0 binds to all)
    srvlookup=yes			; Enable DNS SRV lookups on outbound calls
    canreinvite=no 
    tos=0x18 
    insecure=very 
    dtmfmode=rfc2833 
    maxexpirey=3600 
    defaultexpirey=120
    localnet=192.168.1.0/255.255.255.0
    externip=62.146.133.21
    disallow=all			; First disallow all codecs
    allow=ulaw			; Allow codecs in order of preference
    allow=alaw
    musicclass=default		; Sets the default music on hold class for all SIP calls
    language=de			; Default language setting for all users/peers
    relaxdtmf=yes			; Relax dtmf handling
    rtptimeout=60			; Terminate call if 60 seconds of no RTP activity
    rtpholdtimeout=300		; Terminate call if 300 seconds of no RTP activity
    nat=yes				; NAT settings 
    promiscredir = yes	        ; If yes, allows 302 or REDIR to non-local SIP address;
    qualify=no
    
    
    register => cheercity:XXXXXX@calamar0.nikotel.com/cheercity	
    
    
    
    [cheercity]
    secret=XXXXXX
    username=cheercity
    fromuser=cheercity
    fromdomain=calamar0.nikotel.com
    type=friend
    context=default
    host=calamar0.nikotel.com
    insecure=very
    promiscredir=yes
    qualify=no
    canreinvite=no
    nat=yes
    
    [cheercity01]
    secret=XXXXXX
    username=cheercity01
    fromuser=cheercity01
    fromdomain=calamar0.nikotel.com
    type=friend
    context=default
    host=calamar0.nikotel.com
    canreinvite=no
    nat=yes
    insecure=very
    promiscredir=yes
    qualify=no
    
    [cheercity02]
    secret=XXXXXXX
    username=cheercity02
    fromuser=cheercity02
    fromdomain=calamar0.nikotel.com
    type=friend
    conetxt=default
    host=calamar0.nikotel.com
    canreinvite=no
    nat=yes
    insecure=very
    promiscredir=yes
    qualify=no
    
    [cheercity03]
    secret=XXXXXXX
    username=cheercity03
    fromname=cheercity03
    fromdomain=calamar0.nikotel.com
    type=friend
    context=default
    host=calamar0.nikotel.com
    canreinvite=no
    nat=yes
    insecure=very
    promiscredir=yes
    qualify=no
    
    [cheercity04]
    secret=XXXXXX
    username=cheercity04
    fromuser=cheercity04
    fromdomain=calamar0.nikotel.com
    type=friend
    context=default
    host=calamar0.nikotel.com
    insecure=very
    promiscredir=yes
    qualify=no
    canreinvite=no
    nat=yes
    
    
    [50]
    type=friend 			; either "friend" (peer+user), "peer" or "user"
    context=default
    username=50
    secret=XXXXX
    callerid=CCA<50>
    host=dynamic
    nat=no				; there is not NAT between phone and Asterisk
    canreinvite=no			; allow RTP voice traffic to bypass Asterisk
    dtmfmode=rfc2833		; either RFC2833 or INFO for the BudgeTone
    ;incominglimit=1		; permit only 1 outgoing call at a time
    mailbox=9950@default  		; mailbox 1234 in voicemail context "default"
    disallow=all			; need to disallow=all before we can use allow=
    allow=ulaw			; Note: In user sections the order of codecs
    allow=alaw
    allow=gsm			
    
    [54]
    type=friend
    context=default
    secret=XXXXX
    nat=no
    username=54
    callerid=User4<54>
    host=dynamic
    canreinvite=no
    dtmfmode=rfc2833
    mailbox=9954@default
    disallow=all
    allow=ulaw
    allow=alaw
    allow=gsm
    
    
    und hier die extensions.conf

    Code:
    
    [general]
    static=yes
    writeprotect=no
    
    [globals]
    CCA=50
    
    User4=54
    
    ; #### Outcalls ####
    
    [default]
    
    
    
    exten => _08.,1,Dial(SIP/${EXTEN:2}@cheercity,60,Ttr)
    exten => _08.,2,Hangup
    
    
    
    ; #### Phone 00 Number 0911-30916550 ####
    
    exten => cheercity,1,Dial(SIP/50,30,Ttm)
    exten => cheercity,2,Hangup
    ;exten => cheercity,102,Congestion
    
    exten => 50,1,Dial(SIP/50,30,Ttm)
    exten => 50,2,VoiceMail,u9950
    exten => 50,3,Hangup
    exten => 50,102,VoiceMail,b9950
    exten => 50,103,Hangup
        
        ; #### VoiceMail 9950 ### 
    
    exten => 9950,1,Ringing
    exten => 9950,2,Wait,1
    exten => 9950,3,VoicemailMain,s9950
    exten => 9950,4,Hangup
    
    
    ; ##### Phone 03 Nuernberg 0911-30916554 ####
    
    exten => cheercity04,1,Dial(SIP/54,30,Ttm)
    exten => cheercity04,2,Hangup
    ;exten => cheercity04,102,Congestion
    
    
    exten => 54,1,Dial(SIP/54,30,Ttm)
    exten => 54,2,VoiceMail,u9954
    exten => 54,3,Hangup
    exten => 54,102,VoiceMail,b9954
    exten => 54,103,Hanup
    
        ; ##### Voicemail 9954 #####
    
    exten => 9954,1,Ringing
    exten => 9954,2.Wait,1
    exten => 9954,3,VoicemailMain,s9954
    exten => 9954,4,Hangup
    
    Vielleicht kann mir ja jemand weiterhelfen. Falls ihr noch weitere Infos zur Lösung braucht einfach Bescheid sagen.

    Bin für jede Hilfe sehr dankbar.

    Gruß Holger
     
  2. Netview

    Netview IPPF-Promi

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    3,366
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Dipl.-Inf.
    Ort:
    Westerwald
    Unter sip.conf hast du überall den context=default - dies ist so nicht sinnvoll und macht sicherlich Probleme!

    unter [general] sollte context=incoming stehen und hierunter sollten in der extensions.conf alle dials für die internen Geräte (+capi falls verwendet) aufgeführt werden - für die eingehenden Anrufe.
    Das Gleiche gilt auch für die Provider-Einträge in der sip.conf ebenfalls context=incoming (oder weg lassen - steht ja schon unter [general].
    Bei den lokalen Geräten machst du einen context=outgoing dieser verweist in der extensions.conf auf die nach Außen gehende dials zu den providern. Damit hast du dann eine klare Trennung. Momentan laufen eingehende und ausgehende Gespräche in die gleiche [default] extension!
    [default] kann dann entfallen!
     
  3. cheercity

    cheercity Neuer User

    Registriert seit:
    12 Jan. 2005
    Beiträge:
    8
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi,

    habe ich jetzt gemacht.
    hat aber nicht wirklich was geändert. sobald ich einen anruf getätigt habe (auch wenn er nicht angeommen wurde) ist das danach der anschluss belegt. zumal ich intern jetzt garnichts mehr machen kann.
    kommt immer fehler 404 im display.

    gruß holger
     
  4. Netview

    Netview IPPF-Promi

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    3,366
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Dipl.-Inf.
    Ort:
    Westerwald
    Post mal bitte deine sip.conf und extensions.conf in der jetzigen Form!
     
  5. cheercity

    cheercity Neuer User

    Registriert seit:
    12 Jan. 2005
    Beiträge:
    8
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    aber gerne doch.

    extensions.

    Code:
    [general]
    static=yes
    writeprotect=no
    
    [globals]
    CCA=50
    
    User4=54
    
    ; #### Outcalls ####
    
    [outgoing]
    
    
    exten => _08.,1,Dial(SIP/${EXTEN:2}@cheercity,60,r)
    exten => _08.,2,Hangup
    
    
    [incoming]
    
    ; #### Phone 00 Number 0911-30916550 ####
    
    exten => cheercity,1,Dial(SIP/50,30,Ttm)
    exten => cheercity,2,Hangup
    exten => cheercity,102,Congestion
    
    exten => 50,1,Dial(SIP/50,30,Ttm)
    exten => 50,2,VoiceMail,u9950
    exten => 50,3,Hangup
    exten => 50,102,VoiceMail,b9950
    exten => 50,103,Hangup
        
        ; #### VoiceMail 9950 ### 
    
    exten => 9950,1,Ringing
    exten => 9950,2,Wait,1
    exten => 9950,3,VoicemailMain,s9950
    exten => 9950,4,Hangup
    
    ; #### Phone 01 Nuemberg 0911-30916552 ####
    
    exten => cheercity01,1,Dial(SIP/52,30,Ttm)
    exten => cheercity01,2,Hangup
    exten => cheercity01,102,Congestion
    
    exten => 52,1,Dial(SIP/52,30,Ttm)
    exten => 52,2,VoiceMail,u9952
    exten => 52,3,Hangup
    exten => 52,102,VoiceMail,b9952
    exten => 52,103,Hangup
    
        ; #### Voicemail 9952 ####
    
    exten => 9952,1,Ringing
    exten => 9952,2,Wait,1
    exten => 9952,3,VoicemailMain,s9952
    exten => 9952,4,Hangup
    
    
    ; ##### Phone 02 Nuernberg 0911-30916553 ####
    
    exten => cheercity03,1,Dial(SIP/53,30,Ttm)
    exten => cheercity03,2,Hangup
    exten => cheercity03,102,Congestion
    
    
    ; ##### Phone 03 Nuernberg 0911-30916554 ####
    
    exten => cheercity04,1,Dial(SIP/54,30,Ttm)
    exten => cheercity04,2,Hangup
    exten => cheercity04,102,Congestion
    
    
    exten => 54,1,Dial(SIP/54,30,Ttm)
    exten => 54,2,VoiceMail,u9954
    exten => 54,3,Hangup
    exten => 54,102,VoiceMail,b9954
    exten => 54,103,Hanup
    
        ; ##### Voicemail 9954 #####
    
    exten => 9954,1,Ringing
    exten => 9954,2.Wait,1
    exten => 9954,3,VoicemailMain,s9954
    exten => 9954,4,Hangup
    
    
    
    
    sip.conf

    Code:
    ;
    ; SIP Configuration for Asterisk
    ;
    
    [general]
    context=incoming
    port=5060			; UDP Port to bind to (SIP standard port is 5060)
    bindaddr=0.0.0.0		; IP address to bind to (0.0.0.0 binds to all)
    srvlookup=yes			; Enable DNS SRV lookups on outbound calls
    canreinvite=no 
    tos=0x18 
    insecure=very 
    dtmfmode=rfc2833 
    maxexpirey=3600 
    defaultexpirey=120
    localnet=192.168.1.0/255.255.255.0
    externip=62.146.133.21
    disallow=all			; First disallow all codecs
    allow=ulaw			; Allow codecs in order of preference
    allow=alaw
    musicclass=default		; Sets the default music on hold class for all SIP calls
    language=de			; Default language setting for all users/peers
    relaxdtmf=yes			; Relax dtmf handling
    rtptimeout=60			; Terminate call if 60 seconds of no RTP activity
    rtpholdtimeout=300		; Terminate call if 300 seconds of no RTP activity
    nat=yes				; NAT settings 
    promiscredir = yes	        ; If yes, allows 302 or REDIR to non-local SIP address;
    qualify=no
    
    
    register => cheercity:xxx@calamar0.nikotel.com/cheercity	
    
    
    [cheercity]
    secret=xxxx
    username=cheercity
    fromuser=cheercity
    fromdomain=nikotel.com
    type=friend
    host=calamar0.nikotel.com
    insecure=very
    promiscredir=yes
    qualify=yes
    canreinvite=no
    nat=yes
    
    [cheercity01]
    secret=xxxx
    username=cheercity01
    fromuser=cheercity01
    fromdomain=nikotel.com
    type=friend
    host=calamar0.nikotel.com
    canreinvite=no
    nat=yes
    insecure=very
    promiscredir=yes
    qualify=yes
    
    [cheercity02]
    secret=xxxx
    username=cheercity02
    fromuser=cheercity02
    fromdomain=nikotel.com
    type=friend
    host=calamar0.nikotel.com
    canreinvite=no
    nat=yes
    insecure=very
    promiscredir=yes
    qualify=yes
    
    [cheercity03]
    secret=xxxxx
    username=cheercity03
    fromname=cheercity03
    fromdomain=nikotel.com
    type=friend
    host=calamar0.nikotel.com
    canreinvite=no
    nat=yes
    insecure=very
    promiscredir=yes
    qualify=yes
    
    [cheercity04]
    secret=xxxx
    username=cheercity04
    fromuser=cheercity04
    fromdomain=nikotel.com
    type=friend
    host=calamar0.nikotel.com
    insecure=very
    promiscredir=yes
    qualify=yes
    canreinvite=no
    nat=yes
    
    
    [50]
    type=friend 			; either "friend" (peer+user), "peer" or "user"
    context=outgoing
    username=50
    secret=xxxx
    callerid=CCA<50>
    host=dynamic
    nat=no				; there is not NAT between phone and Asterisk
    canreinvite=no			; allow RTP voice traffic to bypass Asterisk
    dtmfmode=rfc2833		; either RFC2833 or INFO for the BudgeTone
    ;incominglimit=1		; permit only 1 outgoing call at a time
    mailbox=9950@default  		; mailbox 1234 in voicemail context "default"
    disallow=all			; need to disallow=all before we can use allow=
    allow=ulaw			; Note: In user sections the order of codecs
    allow=alaw
    allow=gsm			
    
    
    
    [54]
    type=friend
    context=outgoing
    secret=xxx
    nat=no
    username=54
    callerid=User4<54>
    host=dynamic
    canreinvite=no
    dtmfmode=rfc2833
    mailbox=9954@default
    disallow=all
    allow=ulaw
    allow=alaw
    allow=gsm
    
    
    so das sind sie

    gruß holger
     
  6. cheercity

    cheercity Neuer User

    Registriert seit:
    12 Jan. 2005
    Beiträge:
    8
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    hi,

    bin jetzt ein stück weiter.
    jetzt klappt soweit alles incalls, outcalls, interne calls ABER ...

    wenn ich nach außen telefonier bricht das gespräch nach ca. 60 sec ab.
    eintrag in der console

    chan_sip.c:673 retrans_pkt: Maximum retries exceeded on call 00dee0797e8139b149da42c3241b1d38@192.168.1.226 for seqno 104 (Non-critical Request)

    danach ist dann die nummer von extern auch nicht mehr zu erreichen.
    gar kein lebenszeichen.

    hat jemand eine idee?

    gruß holger
     
  7. Netview

    Netview IPPF-Promi

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    3,366
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Dipl.-Inf.
    Ort:
    Westerwald
    "wenn ich nach außen telefonier bricht das gespräch nach ca. 60 sec ab."

    Da würde ich mal auf einen Fehler im port-forwarding tippen!
    Hast du den sip-port 5060 (udp) und die rtp-ports (rtp.conf/udp) auch alle in Richtung * geforwarded?

    Und wozu hast du dies gesetzt:

    rtptimeout=60 ; Terminate call if 60 seconds of no RTP activity
    rtpholdtimeout=300

    setze das doch mal auf Kommentar (dann gelten die defaults)!