FBF 7170+Asterisk: Problem bei eingehenden CAPI Anrufen

kagoru

Neuer User
Mitglied seit
18 Feb 2008
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Hallo,

Ich benutze die neueste 7170er Firmware und Asterisk 1.4 von spblinux.

Ich benutze den internen S0 port fuer eine ISDN DECT Basisstation mit 4 Mobilteilen und den Fon0 Port fuer ein analoges DECT Telefon. Ich habe jeweils alle Mobilteile als Fritzbox SIP client am asterisk angemeldet.

Interne Anrufe funktionieren soweit (wenn auch mit starker Verzoegerung beim ersten anwaehlen). Und sowohl ankommene als auch abgehende Anrufe über SIP funktionieren.


Will ich jedoch ankommende CAPI anrufe weiterleiten, beschwert sich asterisk ständig, der Kanal sei besetzt:

Code:
*CLI>   == ISDN1#02: Incoming call 'xxxxxxx' -> 'zzzzzzzz'
    -- Executing [zzzzzzzz@capi_in1:1] Dial("CAPI/ISDN1#02/zzzzzzzz-3", "SIP/300|30|Ttr") in new stack
    -- Called 300
    -- Got SIP response 486 "Busy Here" back from 10.0.0.1
    -- SIP/300-005fac90 is busy
  == Everyone is busy/congested at this time (1:1/0/0)
    -- Executing [zzzzzzzz@capi_in1:2] Goto("CAPI/ISDN1#02/zzzzzzzz-3", "r-BUSY|1") in new stack
    -- Goto (capi_in1,r-BUSY,1)
    -- Executing [r-BUSY@capi_in1:1] Playback("CAPI/ISDN1#02/zzzzzzzz-3", "vm-isunavail") in new stack
  == ISDN1#02: Answering for zzzzzzzz
    -- <CAPI/ISDN1#02/zzzzzzzz-3> Playing 'vm-isunavail' (language '')
  == ISDN1#02: Setting up DTMF detector (PLCI=0x1901, flag=1)
    -- Executing [r-BUSY@capi_in1:2] Hangup("CAPI/ISDN1#02/zzzzzzzz-3", "") in new stack
  == Spawn extension (capi_in1, r-BUSY, 2) exited non-zero on 'CAPI/ISDN1#02/zzzzzzzz-3'
  == ISDN1#02: CAPI Hangingup for PLCI=0x1901 in state 2

Hier die relevanten Auszüge aus meinen config dateien:


Code:
;;;;; sip.conf

[general]
;language=de
context=default; Default context for incoming calls

tos_sip=0x18                    ;use fritzbox raffic shaping
tos_audio=0x18                                              


bindport=5061                   ; 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)   
localnet=10.0.0.0/24                                                          
;externip=sunny.selfip.org
;externrefresh=120        

srvlookup=yes                   ; Enable DNS SRV lookups on outbound calls
nat=no                                                                    

;qualify=yes

disallow=all
allow=all   
allow=gsm
allow=ulaw
allow=g726

;; phone template
[sets](!)        
type=peer
insecure=very
context=phones
host=dynamic  
secret=qwerty 
tos_sip=0x18                    ;use fritzbox raffic shaping
tos_audio=0x18                                              
allowoverlap=no

[300](sets) 
[301](sets)         
[302](sets)
[303](sets)
[304](sets)
[305](sets)
[306](sets)
[307](sets)
[308](sets)
[309](sets)



Code:
[capi_in1]                               
; solange in capi.conf nur auf einer msn Nummer Anrufe angenommen werden
; reicht es, unabhängig von der msn immer auf die                       
; gewünschten Nebenstellen weiterzuverbinden     
                                            
exten => zzzzzzzz,1,Dial,SIP/300|30|Ttr
exten => zzzzzzzz,n,goto,r-${DIALSTATUS}|1
                                                                      
;exten => r-BUSY,1,Verbose(Channel:${CHANNEL})                        
exten => r-BUSY,1,Playback(vm-isunavail)                              
exten => r-BUSY,n,Hangup                
                                                                      
;exten => r-CHANUNAVAIL,1,Verbose(Channel:${CHANNEL})
exten => r-CHANUNAVAIL,1,Set(PRI_CAUSE()=18)                          
exten => r-CHANUNAVAIL,n,Playback(vm-isunavail)                       
exten => r-CHANUNAVAIL,n,Hangup      
                                     
;exten => r-CONGESTION,1,Verbose(Channel:${CHANNEL})
exten => r-CONGESTION,1,Playback(vm-isunavail)      
exten => r-CONGESTION,n,Hangup                
                                     
;exten => r-NOANSWER,1,Verbose(Channel:${CHANNEL})
exten => r-NOANSWER,1,Playback(vm-isunavail)                       
exten => r-NOANSWER,n,Hangup


Ich suche schon mehrere Tage nach der Ursache für dieses Verhalten, kann aber nix finden. Wäre cool, wenn Ihr eine Idee habt!
 
Ergänzung:

Bei einem eingehenden Anruf über SIP kann Asterisk nur ein Telefon klingeln lassen. Sobald ich versuche SIP/300&SIP/301 zu wählen, klingelt nur das erste der beiden Telefone, auch wenn das erste ein ISDN und das zweite ein analoges Telefon ist.

Auf der Konsole erscheint folgendes:

Code:
*CLI>     -- Executing [yyyyyyyy@sip_in:1] Dial("SIP/sipgate.de-0000abcd", "SIP/300&SIP/301|30|r") in new stack
    -- Called 300
[Feb 18 12:56:27] WARNING[3236]: chan_sip.c:2898 create_addr: No such host: 301
[Feb 18 12:56:27] WARNING[3236]: app_dial.c:1191 dial_exec_full: Unable to create channel of type 'SIP' (cause 3 - No route to destination)
    -- SIP/300-0060c738 is ringing
  == Spawn extension (sip_in, yyyyyyyy, 1) exited non-zero on 'SIP/sipgate.de-0000abcd

Ich hatte schon versucht in Asterisk die CAPI ports direkt zu verwenden ohne den Umweg über den SIP client, aber das funktioniert ja dann nicht für den analogen Anschluss.

Hat einer von euch ein ähnliches Szenario ?
 
dir kann geholfen werden

Hi kagoru,

ich hatte ähnliche/gleiche Probleme.
Grundsätzlich: du musst in der FritzBox die einkommenden Anrufe aus dem Festnetz "vor die Wand" laufen lassen, ansonsten greift sich der telefon-Demon der Fritzbox die Anrufe. Ich habe das mit einer Rufumleitung Richtung asterisk gemacht.

Weitere genaue Infos kann ich dir heute abend geben, z. Zt. komme ich nicht an meine Konfig dran, bin fleißig im Büro tätig ;-)

P.S.: Leg dir mal ne aussagekräftige Signatur zu, dann musst du deine Konfig nicht jedesmal herunterbeten :)
 
Danke für den Typ, bin noch recht neu hier im Forum ;)

Wäre Super, wenn du mir noch ein paar Hinweise zu den Konfigs geben könntest, ich habe schon fast verzweifelt.
 
So, isch fang mal januz langsam an, deine sip.conf sieht etwas "gruselig" aus:
Code:
;; phone template
[sets](!)        
type=peer
insecure=very
context=phones
host=dynamic  
secret=qwerty 
tos_sip=0x18                    ;use fritzbox raffic shaping
tos_audio=0x18                                              
allowoverlap=no

[300](sets) 
[301](sets)         
[302](sets)
[303](sets)
[304](sets)
[305](sets)
[306](sets)
[307](sets)
[308](sets)
[309](sets)

Frage: bekommst du bei einem "sip show peers" in der asterisk console alle sip-Klienten als registriert angezeigt?

Das du nur ein SIP-Telefon klingeln lassen kannst bei Anrufen über SIP spricht dagegen, und diese Fehlermeldung von dir:

[Feb 18 12:56:27] WARNING[3236]: chan_sip.c:2898 create_addr: No such host: 301
 
Zuletzt bearbeitet:
sip show peers zeit mir

Code:
304/304                    10.0.0.1         D          5060     Unmonitored           
303/303                    10.0.0.1         D          5060     Unmonitored           
302/302                    10.0.0.1         D          5060     Unmonitored           
301/301                    10.0.0.1         D          5060     Unmonitored           
300/300                    10.0.0.1         D          5060     Unmonitored

Das zeigt doch, dass alle angemeldet sind, richtig? Mit qualify=yes würde ich das Unmonitored noch wegbekommen, das hilft aber leider auch nicht.

Eine andere Sache, die mir aufgefallen ist, ist, dass ich die "s" extension nicht verwenden kann.... schnappt die der telefond auch weg ?

Könntest Du mir vielleicht nochmal dein Setup genauer erläutern, ich bin etwas verwirrt. Soweit ich das verstanden habe, sollte ich eine Rufumleitung für eingehende Anrufe auf dem externen S0 einrichten, oder ? Die sollte dann per (aktivierten, interner) Sip Nummer an weitergeleitet werden?
 
Das eigentliche Besetzt-Problem aus dem ISDN habe ich wie folgt gelöst:

1. in der FB Rufumleitungen je MSN angelegt

"Anrufe an Festnetz:<MSN mit Vorwahl> Umleiten über Internet 770 (bei dir ein anderer SIP-Anschluss, z. B. 300) Zielrufnummer <MSN OHNE Vorwahl> Umleitung: sofort"

und FON 1 und FON 2 unterschiedliche Rufnummern (771 und 772) zugewiesen, zusätzlich hören die auch noch auf die 770, wenn beide gleichzeitig klingeln sollen.

2. in der extensions.conf sieht bei mir der capi_in1 Teil abgekürzt so aus:

Code:
exten => <erste MSN OHNE Vorwahl>,1,Dial,SIP/771&SIP/773|300|r

exten => <zweite MSN OHNE Vorwahl>,1,Dial,SIP/772&SIP/773|300|r

wobei SIP/771 = FON 1, SIP/772 = FON 2 und SIP/773 = IP-Phone
 
[Edit frank_m24: Mehrere Beiträge innerhalb weniger Minuten zusammengefasst. Man kann seine Beiträge auch editieren. Lies noch mal die Forumregeln.]
Mhhhh. Ich hab das jetzt so versucht, wie von dir vorgeschlagen und lade auch keine chan_capi mehr in *, machst du das auch so? Die Rufumleitung hat leider den Nachteil, dass ich die Rufnummer des Anrufers mit der lokalen SIP nummer überschreibe und nicht mehr sehen kann.

Leider beschwert sich * immer noch über busy kanäle.....

Code:
    -- Called 302
    -- Called 301
    -- Got SIP response 486 "Busy Here" back from 10.0.0.1
    -- SIP/301-005a1290 is busy
    -- SIP/302-005998c8 is ringing

Wobei 301 FON1 und 302 interner S0 bus ist......

[Edit frank_m24: Beitrag 2:]
Achso: Warum gibts du bei der Rufumleitung die Vorwahl ein, wofür ist das gut?
 
Also, wenn du dir nochmal die Muster-Konfig von spblinux ansiehst (http://spblinux.de/fbox.new/info/asterisk14/extensions.conf.default), findest du z. B. beim context (wird in der sip.conf angegben und ist der Einstieg für diese Leitung in die extensions.conf) für die 771 drei Einträge: lokal, festnetz_out und sip_out. Bei mir hat die 770 nur lokal, d. h. die Anrufe die von der FB über die 770 in den * kommen, können nur die anderen Nebenstellen im * wählen, nicht aber die MSNs, die ich in der RUL angegeben habe --> der Anruf auf die FB-capi läuft vor die Wand.

Damit bei dir noch Anrufe aus dem ISDN ankommen, musst du die chan_capi im * aktiviert lassen!!!

Der passende context (-> capi_conf) ist lt. Muster capi_in1 und der enthält bei mir die schon oben erwähnten Einträge:

Code:
exten => <erste MSN OHNE Vorwahl>,1,Dial,SIP/771&SIP/773|300|r
exten => <zweite MSN OHNE Vorwahl>,1,Dial,SIP/772&SIP/773|300|r

Achso: Warum gibts du bei der Rufumleitung die Vorwahl ein, wofür ist das gut?

In der FB musst du die Festnetznummern (MSNs) ja definieren, bei mir habe ich das mit Vorwahl gemacht, müsste evtl. aber auch ohne gehen, guck mal in die FB-Hilfe auf der passenden Seite.
 
Jetzt hab ich verstanden, wie das gemeint war. Es reicht doch einfach ein leerer Kontext in der Art [Wand] dafür.

Ich habe jetzt das Besetzt-Problem damit umgangen, dass ich das analoge und eine ISDN MSN auf die gleiche nummer laufen lasse. Also für einkommende Anrufe auf CAPI wird dann auf die 312 angerufen, die sich aus den telefonen 301 und 302 zusammensetzt. Damit kann man das Problem umgehen, richtig lösen leider nicht....


Hat denn kein anderer von euch ein ähnliches Setup ?
 
Könnt Ihr anderen FB7170 eigentlich die "s" extension benutzen ?
 
Jetzt hab ich verstanden, wie das gemeint war. Es reicht doch einfach ein leerer Kontext in der Art [Wand] dafür.

Ich leider nicht :confused: ,da ich noch blutiger Anfänger von * bin.
Ich nutzt z.T. die mitgelieferte Default-Config.
Ich habe eine Rufumleitung im WebIf eingerichtet: von 77157(eine MSN) über Internet 771 auf 77157. Das ganze für jede MSN.
Im WebIf ist die 771 registriert bei *. In der Capiconfig habe ich den context geändert auf context=wand.
In der extentions.conf habe ich eine Sektion [wand], welche aber leer ist.

Ist dies die korrekte Config um die ext. Anrufe über ISDN gegen die "Wand" laufen zu lassen?

Ich habe auch noch ein zweites Problem: Wenn ich mit meinen Softphone an einer meiner MSN anrufe (z.B. 7715), dann bekomme ich während der Rufphase ein Anruf am Softphone von mir selbst. Kann man das unterdrücken?

Meine Aufbau (Teststellung) sieht momentan so aus:
7170 mit ext. S0 am T-Com. Der int. S0 geht an ein ISDN-Telefon und an meinen Speedport (ext. S0). Auf dem Speedport läuft auch *.

Gruß
Markus
 
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.