Asterisk mit Sipgate. Kein Anruf in Richtung Sipgate.

canram

Neuer User
Mitglied seit
24 Jul 2004
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich schlage mich nun seit ein paar Tagen mit Asterisk herum. Bei manchen Problemen haben wir vorhande Forumthreads schon weitergeholfen, aber jetzt komme ich nicht mehr weiter ;)

Mein Asterisk-Server steht hinter einem NAT-Router (Draytek Vigor 2300). Um zum Test Firewallproblemen aus dem Weg zu gehen, steht Asterisk in der DMZ.

Im internen Netz habe ich zwei X-Lite Clients.
Nach außen hin, registriert sich Asterisk bei Sipgate. Anrufe aus dem Festnetz an die Sipgatenummer werden brav an den definierten X-Lite Client intern weitergeleitet:

Problem:
Die Verbindung von den internen Clients in Richtung Sipgate funktioniert allerdings nicht. Sipgate hat eine Testnummer (die 10000), welche bei mir auch nicht funktioniert.

Sobald ich eine Verbindung z.B. zur 10000 von Sipgate aufbauen möchte, sieht es bei mir folgendermasen aus:

Code:
    -- Executing SetCallerID("SIP/3001-2731", "") in new stack
    -- Executing SetCIDName("SIP/3001-2731", "") in new stack
    -- Executing Dial("SIP/3001-2731", "SIP/1000@sipgate|60|tr") in new stack
Jul 24 14:59:44 NOTICE[1184048960]: app_dial.c:696 dial_exec: Unable to create channel of type 'SIP'
  == Everyone is busy/congested at this time
    -- Executing Playback("SIP/3001-2731", "invalid") in new stack
    -- Playing 'invalid' (language 'en')
    -- Executing Hangup("SIP/3001-2731", "") in new stack
  == Spawn extension (intern, 911000, 5) exited non-zero on 'SIP/3001-2731'
    -- Executing Hangup("SIP/3001-2731", "") in new stack
  == Spawn extension (intern, h, 1) exited non-zero on 'SIP/3001-2731'

3001 ist einer meiner internen X-Lite Clients.

Hier meine sip.conf

Code:
[general]
context=default
realm=<meindynhostname>.dnsalias.org
port=5060
bindaddr=0.0.0.0
srvlookup=yes
tos=lowdelay
maxexpirey=3600
defaultexpirey=120
notifymimetype=text/plain
videosupport=no
disallow=all
allow=ilbc
allow=gsm
allow=alaw
allow=ulaw
language=en
useragent=Asterisk PBX
nat=yes

register => <sipgateusername>:<sipgatepasswort>@sipgate.de/<sipgateusername>

externip=<meindynhostname>.dnsalias.org
localnet=10.0.0.0/255.255.255.248
localnet=192.168.99.0/255.255.255.0
localnet=172.20.0.0/255.255.0.0


[sipgate]
type=friend
username=<sipgateusername>
secret=<sipgatepasswort>
host=sipgate.de
fromuser=<sipgateusername>
fromdomain=sipgate.de
nat=yes
port=5060
context=from-sipgate
canreinvite=no
qualify=yes
disallow=all
allow=ilbc
allow=alaw
allow=ulaw

[3001]
type=friend
username=3001
secret=123123
host=dynamic
context=intern
dtmfmode=rfc2833
nat=no
allow=ulaw
allow=alaw


[3002]
type=friend
username=3002
secret=123123
host=dynamic
context=intern
canreinvite=no
nat=no
allow=ulaw
allow=alaw

und hier die extensions.conf

Code:
[general]
static=yes
writeprotect=no


[local]
exten => 3001,1,Dial(SIP/3001,60,tr)
exten => 3002,1,Dial(SIP/3002,60,tr)

[from-sipgate]
exten => 1839266,1,Ringing
exten => 1839266,2,Dial(SIP/3001,30,tr)
exten => 1839266,3,Voicemail(u100)
exten => 1839266,4,Hangup
exten => 1839266,105,Voicemail(u100)
exten => 1839266,106,Hangup

[demo]
exten => 500,1,Playback(demo-abouttotry); Let them know what's going on
exten => 500,2,Dial(IAX2/[email protected]/s@default)     ; Call the Asterisk demo
exten => 500,3,Playback(demo-nogo)      ; Couldn't connect to the demo site
exten => 500,4,Goto(s,6)                ; Return to the start over message.

[echotest]
exten => 600,1,Playback(demo-echotest)  ; Let them know what's going on
exten => 600,2,Echo                     ; Do the echo test
exten => 600,3,Playback(demo-echodone)  ; Let them know it's over
exten => 600,4,Goto(s,6)                ; Start over

[sipgatetest]
exten => 800,1,Dial(SIP/10000@sipgate,30,tr)
exten => h,1,Hangup

[sipgate]
exten => _91XXX.,1,SetCallerID,""
exten => _91XXX.,2,SetCIDName,""
exten => _91XXX.,3,Dial(SIP/${EXTEN:2}@sipgate,60,tr)
exten => _91XXX.,4,Playback(invalid)
exten => _91XXX.,5,Hangup

[intern]
include => local
include => sipgate
include => demo
include => echotest
include => sipgatetest

exten => h,1,Hangup

[default]
include => from-sipgate

Ich denke es könnte auch damit zusammenhängen:

sip show peers
Name/username Host Dyn Nat ACL Mask Port Status
3002/3002 (Unspecified) D 255.255.255.255 0 Unmonitored
3001/3001 192.168.99.10 D 255.255.255.255 5060 Unmonitored
sipgate/1839266 217.10.66.11 N 255.255.255.255 5060 UNREACHABLE

Wie ich das fixen kann, weiss ich allerdings leider nicht.

Hat vielleicht jemand eine Idee wie ich es schaffe, dass ich über Sipgate zu anderen Sipgateteilnehmern bzw. ins Festnetz telefonieren kann?

Ach ja... mein Konto bei Sipgate IST aufgeladen ;)
 
Bei Sipgate Test muss es lauten 9110000 nicht 911000, quasi EINE 0 zu wenig :)
UNREACHABLE bei sip show peers bekommst Du weg, wenn du nat=no in sip.conf [sipgate] setzt bzw. qualify=yes + nat=yes
 
Mit der einen Null zu weing hast Du recht :) Mit einer Null mehr gehts allerdings auch nicht. Ich hab ein generelles Problem über Sipgate rauszukommen ;)

Hier das gleiche Ergebnis mit einer Null mehr:

Code:
    -- Executing Dial("SIP/3001-362b", "SIP/10000@sipgate|30|tr") in new stack
Jul 24 16:39:44 NOTICE[1184048960]: app_dial.c:696 dial_exec: Unable to create c
hannel of type 'SIP'
  == Everyone is busy/congested at this time

Was die NAT und Qualify Eintellungen angeht, hab ich beide von Dir genannten Versionen soeben ausgetestet. Leider ohne Erfolg. Mir ist auch nicht ganz klar, wieso in Sipgate Nat auf no gestellt werden soll? Schließlich ist ja Nat dazwischen? Aber egal... ging leider auch nicht.

Gibt es noch irgendwas, was ich falsch haben könnte?
Mir ist übrigens gerade noch etwas aufgefallen... was nach dem Dial auch noch kommt.


Code:
>     -- Executing Dial("SIP/3001-96b6", "SIP/10000@sipgate|30|tr") in new stack
    -- Called 10000@sipgate
Jul 24 16:47:24 WARNING[1116941120]: chan_sip.c:673 retrans_pkt: Maximum retries exceeded on call [email protected] for seqno 102 (Critical Request)
  == No one is available to answer at this time
Jul 24 16:47:30 WARNING[1116941120]: chan_sip.c:673 retrans_pkt: Maximum retries exceeded on call [email protected] for seqno 102 (Non-critical Request)
Jul 24 16:47:34 WARNING[1184048960]: pbx.c:1914 ast_pbx_run: Timeout, but no rule 't' in context 'intern'
    -- Executing Hangup("SIP/3001-96b6", "") in new stack
  == Spawn extension (intern, h, 1) exited non-zero on 'SIP/3001-96b6'
    -- parse_srv: SRV mapped to host proxy.de.sipgate.net, port 5060

Also irgendwie scheint da ein Problem beim Payload zu sein, oder? Aber nach intern funktionierts ja auch.
 
huch, wo hast du den denn her: proxy.de.sipgate.net

--EDIT--

Kann man dich schon anrufen?
 
Keine Ahnung wo der sich den proxy.de.sipgate.net herholt. Eingetragen hab ich den nirgends :) Vielleicht kriegt er den irgendwie per DNS etc.

Ja... man kann mich anrufen. Das ist ja das komische. Eingehende Rufe funktionieren. Nur raus klappts nicht.
 
Ich hab ne PN? Ist das so etwas wir Schnupfen oder Grippe :) Was bitte ist ne PN?

Ich kenne nur PP -> Persönliches Pech.
 
Aua !!!!!!! :noidea:

Danke ;) Die meisten Foren in denen ich bin sind englishsprachig, und dort heits PM. Aber da hätte ich echt drauf kommen müssen ;)

Sorry.
 
canram schrieb:
Keine Ahnung wo der sich den proxy.de.sipgate.net herholt. Eingetragen hab ich den nirgends :) Vielleicht kriegt er den irgendwie per DNS etc.

Steht in einer Deiner Ausgaben doch drin :)
parse_srv: SRV mapped to host proxy.de.sipgate.net, port 5060

ist ein sog. SRV-Record, also ein DNS-Eintrag der sipgate.de auf proxy.de.sipgate.net "umbiegt". Soweit also "normal" :)



Was jetzt das eigentliche Problem betrifft sehe ich auch jetzt aufs erste mal keinen offensichtlichen Fehler. Mich verwirrt grade eher die Fehlermeldung "Cannot creat channel of type sip" ... d.h. da scheint IMO irgendwas grundlegend anderes schief zu gehen.

Kannst Du überhaupt intern von SIP-Teilnehmer zu SIP-Teilnehmer telefonieren (mit z.B. zwei softphones) ?
 
Ich kann mir nicht vorstellen das Asterisk das nicht kann. Denn bei einigen anderen Forumsmitgliedern funktioniert ja genau dieses Scenario.

Entweder stimmt irgendwas mit meiner Configuration nicht, oder vielleicht ist ja auch mein DSL-Router dafür überhaupt nicht geeignet.
 
nja, man kann derzeit bei Asterisk nie soo genau ausschliessen, dass nicht grade schlichtweg einfach was "kaputt" ist im cvs. Meistens geht es, aber es ist auch nichts aussergewöhnliches, das mal das ein oder andere je nach CVS-Version grade nicht tut.

Ich vermute auch eher ein Konfigurationsproblem, aber um die Sache etwas einzukreisen (asterisk/DSL-Router) wäre es z.B. schonmal hilfreich zu wissen, ob Du überhaupt intern in Deinem LAN von SIP-Teilnehmer zu SIP-Teilnehmer an Deinem Asterisk telefoniern kannst. Auch wäre es hilfreich zu wissen, was für eine Asterisk-Version du von wo verwendest. Fertiges Paket? CVS?


Gruss,
Rainer
 
Ich setzte Asterisk asterisk-1.0-RC1 ein um evtl. Problemen mit CVS aus dem Weg zu gehen. Interne SIP-Telephonie hat bisher geklappt.

Aber um gleich auf den Punkt zu kommen.

[highlight=yellow:605e6780fe]ES FUNKTIONIERT ENDLICH[/highlight:605e6780fe]

Und den Übeltäter hab ich direkt hier neben mir liegen. Der Übeltäter heisst: [highlight=red:605e6780fe]DrayTek Vigor2300[/highlight:605e6780fe]. Mein DSL-Router.

Ich habe eben den Router ausgetauscht und anstatt dem Draytek den bekannten Linksys WRT54G angeschlossen. Und sofort lief Asterisk ohne Probleme. Verbindungen zu Sipgate-Teilnehmern oder nach extern gehen nun ohne Probleme. Ich musste am Router noch nicht einmal spezielle Firewalleinträge oder DMZ konfigurieren. Sondern, alles funktioniert out of the box.

Vielen Dank nochmal für die Menge Tips und gute Unterstützung hier im Forum.

MfG, Canram.

PS: Ich hab nen Draytek Vigor2300 zu verkaufen :twisted:
 
Doch, der hat Portforwarding. Der hat auch ne DMZ.

Aber das hat ja nichts mir Outgoing Verbindungen zu tun. Und Incomig Verbindungen haben ja komischerweise funktioniert?

Der Router scheint wohl einfach nur einen Bug in seiner NAT-Implementierung zu haben. Aber für so einen älteren Router gibts keine neuen Firmwares mehr :(
 
Habe mit canram alles per Telefonat durchgegangen. Nach Austausch des Routers ging es dann.

Es war anscheinend der Router.
 
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.