Asterisk eingehende Anrufe funktionieren nicht

Bit-Devil

Neuer User
Mitglied seit
20 Jul 2008
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo !

Ich nutze congstar als DSL und VoIP(SIP) Provider.
Leider kann ich nur ausgehende Telefonate führen. Reinkommende werde aus irgend einem Grud abgelehnt.
Als Telefonanalage nutze ich Asterisk Ver. 1.6.1.6 die hinter einer Firewall bzw. Router liegt.
Der Router besteht aus IPtables und Kernel 2.6.30.2.
Ich habe den Congstar SIP Proxy komplett freigegeben.
#Congstar/QSC SIP Gateway -> farm1.tel2.congstar.qsc.de -> 213.148.136.3
iptables -A FORWARD -i dsl0 -s 213.148.136.3 -d 172.16.190.4 -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i dsl0 -d 213.148.136.3 -s 172.16.190.4 -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o dsl0 -s 213.148.136.3 -d 172.16.190.4 -p udp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o dsl0 -d 213.148.136.3 -s 172.16.190.4 -p udp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#
iptables -A FORWARD -i dsl0 -s 213.148.136.3 -d 172.16.190.4 -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i dsl0 -d 213.148.136.3 -s 172.16.190.4 -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o dsl0 -s 213.148.136.3 -d 172.16.190.4 -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o dsl0 -d 213.148.136.3 -s 172.16.190.4 -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
Hier die "sip.conf"
[general]
port=5060
bindaddr = 0.0.0.0
defaultexpirey => 600
context=incoming_calls
register => <Telefonnummer>:<DSL Passwort>@farm1.tel2.congstar.qsc.de/congstar

[congstar]
type=friend
username=<Telefonnummer>
secret=<DSL Passwort>
host=farm1.tel2.congstar.qsc.de
fromuser=<Telefonnummer>
fromdomain=tel2.congstar.de
canreinvite=no
qualify=no
insecure=port,invite
context=incoming_calls
allow=all
nat=yes

[20]
type=friend
secret=Passwort
host=dynamic
qualify=yes
canreinvite=no
nat=yes
context=sipclient

[21]
type=friend
secret=Passwort
host=dynamic
qualify=yes
canreinvite=no
nat=yes
context=sipclient

Und hier die "extensions.conf"
[general]
static=yes
writeprotect=no
clearglobalvars=no

[congstar]
exten => _0.,1,Dial(SIP/${EXTEN:1},60)
exten => _0.,2,Congestion
exten => _0.,102,Busy

[sipclient]
exten => 20,1,Dial(SIP/20)
exten => 21,1,Dial(SIP/21)
include => outgoing_calls

[incoming_calls]
exten => _0X.,1,Answer()
exten => _0X.,n,Dial(SIP/20,20)

[outgoing_calls]
exten => _0X.,1,NoOp()
exten => _0X.,n,Dial(SIP/congstar/${EXTEN})


Und so sieht es auf der CLI aus wenn ein eingehneder Anruf kommt
*CLI> == Using SIP RTP CoS mark 5
-- Executing [<Telefonnummer>@incoming_calls:1] Verbose("SIP/congstar-084aa7a0", "3,"" <Anrufer Nummer>") in new stack
-- "" <Anrufer Nummer>
-- Executing [<Telefonnummer>@incoming_calls:2] Dial("SIP/congstar-084aa7a0", "SIP/20") in new stack
== Using SIP RTP CoS mark 5
-- Called 20
-- SIP/20-084b0078 is ringing
-- SIP/20-084b0078 is ringing
-- SIP/20-084b0078 is ringing
-- SIP/20-084b0078 answered SIP/congstar-084aa7a0
-- Packet2Packet bridging SIP/congstar-084aa7a0 and SIP/20-084b0078
== Spawn extension (incoming_calls, <Telefonnummer>, 2) exited non-zero on 'SIP/congstar-084aa7a0'


Wenn ich von einem Handy aus anrufe, kommt die Fehlermeldung "Anruf wurde abgelehnt"
und wenn ich über das Festnetz Anrufen will, dann ertönt ein Besetztzeichen.

Weis jemand Rat oder hat eine funktionierende Lösung ?

Vielen Dank im Voraus
B.-D.
 
Ändere mal den Kontext

[incoming_calls]
exten => _X.,1,Dial(SIP/20)

Und schau mal was dann passiert. Das answer brauchst du nicht, das kosten den Anrufer nur unnötige Gebühren. Der eigentliche Fehler ist vermutlich durch das answer verdeckt.

Wenn es dann immer noch nicht geht, iptables raus und im debug schauen, wo das Gespräch herkommt. Das kommt uU nämlich gar nicht von tel2.congstar.de oder du hast den Port nicht auf, auf dem der Datenstrom vom Provider kommt. Das ist bei sip nicht 5060.
 
Leider alles ohne erfolg.
Bei IPtables habe ich den kompletten congstar Server freigegeben inkl. ICMP.
In der Firewall Log steht auch kein geDROPter Eintrag zum congstar Server.

Die sip.conf und die extensions.conf habe ich auch alle wie beschrieben abgeändert.
Allerdings konnte ich nicht sehn woher der Anruf kommen sollte.
Also wie gesagt raustelefonieren funktioniert ja nur eingehnede werden irgendwie nicht richtig weitergeleitet/angenommen, von daher gehe ich mal aus das der congstar Sever (farm1.tel2.congstar.qsc.de bzw. 213.148.136.3) der richtige Server ist bzw. der Server (fromdomain) ist von dem die Gespräche kommen.

So sieht mein kleines Computernetz aus.
Schaubild:
VoIP(SIP-Telefon) <=======> Asterisk Server (Linux Kernel 2.6.30) <======> Linux Router/NAT (Linux Kernel 2.6.30[netfilter/IPtables]) <======> Congstar bzw. Internet

CLI Log sieht folgendermaßen aus wenn ein Anruf ankommt.

*CLI> == Using SIP RTP CoS mark 5
-- Executing [<Telefonnummer>@incoming_calls:1] Dial("SIP/congstar-08461880", "SIP/20") in new stack
== Using SIP RTP CoS mark 5
-- Called 20
-- SIP/20-084a7f60 is ringing
-- SIP/20-084a7f60 is ringing
-- SIP/20-084a7f60 is ringing
-- SIP/20-084a7f60 answered SIP/congstar-08461880
-- Packet2Packet bridging SIP/congstar-08461880 and SIP/20-084a7f60
== Spawn extension (incoming_calls, <Telefonnummer>, 1) exited non-zero on 'SIP/congstar-08461880'

Wenn ich dann das Telefon abhebe kommt ein Besetztzeichen.

Bitte um Hilfe
B.-D.
 
Hast Du auch sicher den neuen Dialplan geladen (das answer wundert mich gerade...)?
 
Hallo !

Ich bin jetzt einen Schritt weiter.
Wenn ich in der sip.conf
den "host" auf "dynamic" stelle, dann kann ich eingehnden Telefonate annhemenen aber keine abgehenden führen. Wenn ich den "host" auf die consgat IP oder DNS stelle dann kann ich nur raustelefonieren dafür aber keine ankommenden annehmen.

"sip.conf" ->
[congstar]
type=friend
username=<Telefonnummer>
secret=<DSL Passwort>
host=dynamic ;für eingehnde Anruge
;host=213.148.136.3 ;für abgehnde Anrufe
fromuser=<Telefonnummer>
fromdomain=farm1.tel2.congstar.qsc.de
canreinvite=no
qualify=no
insecure=port,invite
context=incoming_calls
allow=all

Wie kann ich den jetzt feststellen was ich dort richtig eintragen muss damit beides gleichzeit funktioniert.
Wenn ich auf der CLI "sip set debug on" schalte kommt zwar jede menge output aber irgendwie sehr undurchsichtig.
Nach was müßte ich denn danach suchen um rauszufinden was ich nun bei host eintragen muss damit es korrekt funktioniert.

MfG
B.-D.
 
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.