Asterisk, Nikotel, Routingprobleme

cheercity

Neuer User
Mitglied seit
12 Jan 2005
Beiträge
8
Punkte für Reaktionen
0
Punkte
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:[email protected]/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
 
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!
 
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
 
Post mal bitte deine sip.conf und extensions.conf in der jetzigen Form!
 
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:[email protected]/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
 
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 [email protected] 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
 
"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)!
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,695
Beiträge
2,216,697
Mitglieder
371,315
Neuestes Mitglied
jack-mack
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.