- Mitglied seit
- 29 Mai 2009
- Beiträge
- 230
- Punkte für Reaktionen
- 3
- Punkte
- 18
Moin,
weder in der Forumssuche noch via Google wurde ich fündig, daher mal 'ne Verständnisfrage -- evtl. ist das, was ich möchte, ja auch nicht möglich.
Situation:
Asterisk auf Ubuntu Jaunty (Asterisk 1.4.21.2~dfsg-3ubuntu2) auf separatem Rechner ("ast-1") mit einer HFC-S-Karte, ISDN-Amt (T-ISDN) angeschlossen. fbrcapi installiert (modprobe fbrcapi addr=${PRIVATESNETZ}), verbunden mit unten spezifizierter FBF 7170.
Fritz!Box Fon WLAN 7170 an (später) externem Standort ("fbf7170"). AVM-Branding, OpenVPN installiert mit aktiven (UDP-) Tunnel auf obigen Asterisk. CAIP over TCP aktiviert, verbunden (über Tunnel) mit fbrcapi.ko auf Asterisk-Rechner. An externen S0 (CAPI-Controller1) steckt ISDN, am internen S0 (CAPI-Controller3) eine ISDN-Anlage (T-Sinus 45/Gigaset).
Skizze:
Ziel:
Zum Vergleich ein Anruf via ISDN (initiiert vom gleichen S0, aber das sollte technisch ja egal sein; ist dank Flatrate halt billiger als SIP ):
Ich vermute, dadurch, daß die FBF den internen Anruf über die eigenen Wahlregeln rausschickt, kommt die CAPI nicht zum Zuge. Es könnte sich natürlich auch »nur« um ein simples Codec-Problem handeln, nur fehlt mir da der Geistesblitz, wie ich das debuggen/beheben soll?
Eigentlich müßte ich in der FBF definieren, daß mit einem Vorwahlcode über CAPI gewählt werden soll. Natürlich könnte ich auch über SIP gehen, bin mir da aber etwas unsicher, wie ich sicherstelle, daß die SIP-Kommunikation ausschließlich über den OpenVPN-Tunnel zwischen der fbf7170 und ast-1 läuft -- CAPI-over-TCP ist da so angenehm unkompliziert.
Hat jemand soetwas (internen S0 einer Fritz!Box Fon per CAPI-over-TCP an einen Asterisk angebunden und für in- und outbound verwendet) schon mal gemacht?
Und, zu guter Letzt: Wie binde ich mehrere Fritz!Boxen per fbrcapi.ko ein? Vorgesehen scheint nur genau 1 IP (einer entfernten FBF) zu sein?
weder in der Forumssuche noch via Google wurde ich fündig, daher mal 'ne Verständnisfrage -- evtl. ist das, was ich möchte, ja auch nicht möglich.
Situation:
Asterisk auf Ubuntu Jaunty (Asterisk 1.4.21.2~dfsg-3ubuntu2) auf separatem Rechner ("ast-1") mit einer HFC-S-Karte, ISDN-Amt (T-ISDN) angeschlossen. fbrcapi installiert (modprobe fbrcapi addr=${PRIVATESNETZ}), verbunden mit unten spezifizierter FBF 7170.
Fritz!Box Fon WLAN 7170 an (später) externem Standort ("fbf7170"). AVM-Branding, OpenVPN installiert mit aktiven (UDP-) Tunnel auf obigen Asterisk. CAIP over TCP aktiviert, verbunden (über Tunnel) mit fbrcapi.ko auf Asterisk-Rechner. An externen S0 (CAPI-Controller1) steckt ISDN, am internen S0 (CAPI-Controller3) eine ISDN-Anlage (T-Sinus 45/Gigaset).
Skizze:
HTML:
<PRE>
c1: NGN-ISDN
| c3: T-Sinus 45 Zap/g1: T-ISDN
| | |
[fbf7170]-(DSL)---IP---(DSL)-[ast-1]
\.....OVPN-Tunnel..../</PRE>
- Anrufe auf T-ISDN an ast-1 sollen an ISDN-Anlage hinter fbf7170 angenommen werden können.
- Anrufe auf NGN-ISDN an fbf7170 sollen von ast-1 beantwortet/weitergeleitet werden können.
- Anrufe von der ISDN-Anlage an fbf7170 sollen über NGN-ISDN (fbf7170) oder T-ISDN (ast-1) rausgehen können.
- Anrufe von ast-1 sollen über NGN-ISDN (fbf7170) rausgehen können.
- Weiterleitung T-ISDN an fbf7170 funktioniert problemlos per SIP (fbf7170 als SIP-Client an ast-1).
- Signalisierung (und Annahme) von Anrufen auf NGN-ISDN funktinoniert über fbrcapi.co (Controller 1). Kommt per NGN-ISDN auf fbf7170 ein Anruf rein für eine auf ast-1 im Kontext definierte MSN, kann ast-1 diese beantworten (im Test: Goto(demo,s,1)).
- Signalisierung von ausgehenden Anrufen vom internen S0 der fbf7170 werden über fbrcapi (Controller 3) an ast-3 signalisiert; sie gehen aber parallel über die Fritz-Wahlregeln raus. Verbindet ast-1 den CAPI-Anruf mit der Demo, höre ich am ISDN-Endgerät hinter fbf7170 nichts.
- Rauswählen von ast-1 über CAPI & fbf7170 steht noch auf der ToTest-Liste.
Code:
ast-1*CLI>
== ISDN-INT-GT#02: Incoming call '2219539' -> '2219541'
-- ISDN-INT-GT#02: Updated channel name: CAPI/ISDN-INT-GT#02/2219541-11
-- Executing [2219541@from-capi-int:1] Goto("CAPI/ISDN-INT-GT#02/2219541-11", "demo|s|1") in new stack
-- Goto (demo,s,1)
-- Executing [s@demo:1] Wait("CAPI/ISDN-INT-GT#02/2219541-11", "1") in new stack
-- Extension '2219541' in context 'from-isdn' from '52412219539' does not exist. Rejecting call on channel 0/2, span 1
== ISDN-AMT-GT-DT#02: Incoming call '052412219539' -> '2219541'
[Jun 7 14:44:03] NOTICE[23618]: chan_capi.c:2575 start_pbx_on_match: ISDN-AMT-GT-DT#02: did not find exten for '2219541', ignoring call.
== ISDN-AMT-GT-DT#02: CAPI Hangingup for PLCI=0xa01 in state 4
ast-1*CLI>
==> /var/log/asterisk/messages <==
[Jun 7 14:44:03] NOTICE[23618] chan_capi.c: ISDN-AMT-GT-DT#02: did not find exten for '2219541', ignoring call.
-- Executing [s@demo:2] Answer("CAPI/ISDN-INT-GT#02/2219541-11", "") in new stack
== ISDN-INT-GT#02: Answering for 2219541
-- Executing [s@demo:3] Set("CAPI/ISDN-INT-GT#02/2219541-11", "TIMEOUT(digit)=5") in new stack
-- Digit timeout set to 5
-- Executing [s@demo:4] Set("CAPI/ISDN-INT-GT#02/2219541-11", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10
-- Executing [s@demo:5] BackGround("CAPI/ISDN-INT-GT#02/2219541-11", "demo-congrats") in new stack
-- <CAPI/ISDN-INT-GT#02/2219541-11> Playing 'demo-congrats' (language 'de')
== Spawn extension (demo, s, 5) exited non-zero on 'CAPI/ISDN-INT-GT#02/2219541-11'
== ISDN-INT-GT#02: CAPI Hangingup for PLCI=0x803 in state 2
Zum Vergleich ein Anruf via ISDN (initiiert vom gleichen S0, aber das sollte technisch ja egal sein; ist dank Flatrate halt billiger als SIP ):
Code:
-- Extension '2219541' in context 'from-isdn' from '52412219541' does not exist. Rejecting call on channel 0/2, span 1
== ISDN-AMT-GT-DT#02: Incoming call '052412219541' -> '2219541'
-- Executing [2219541@from-capi-amt:1] Goto("CAPI/ISDN-AMT-GT-DT#02/2219541-13", "demo|s|1") in new stack
-- Goto (demo,s,1)
-- Executing [s@demo:1] Wait("CAPI/ISDN-AMT-GT-DT#02/2219541-13", "1") in new stack
-- Executing [s@demo:2] Answer("CAPI/ISDN-AMT-GT-DT#02/2219541-13", "") in new stack
== ISDN-AMT-GT-DT#02: Answering for 2219541
-- Executing [s@demo:3] Set("CAPI/ISDN-AMT-GT-DT#02/2219541-13", "TIMEOUT(digit)=5") in new stack
-- Digit timeout set to 5
-- Executing [s@demo:4] Set("CAPI/ISDN-AMT-GT-DT#02/2219541-13", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10
-- Executing [s@demo:5] BackGround("CAPI/ISDN-AMT-GT-DT#02/2219541-13", "demo-congrats") in new stack
-- <CAPI/ISDN-AMT-GT-DT#02/2219541-13> Playing 'demo-congrats' (language 'de')
ast-1*CLI> -- Executing [s@demo:6] BackGround("CAPI/ISDN-AMT-GT-DT#02/2219541-13", "demo-instruct") in new stack
-- <CAPI/ISDN-AMT-GT-DT#02/2219541-13> Playing 'demo-instruct' (language 'de')
== Spawn extension (demo, s, 6) exited non-zero on 'CAPI/ISDN-AMT-GT-DT#02/2219541-13'
== ISDN-AMT-GT-DT#02: CAPI Hangingup for PLCI=0xf01 in state 2
> ISDN-AMT-GT-DT#02: CAPI INFO 0x3490: Normal call clearing
ast-1*CLI>
Ich vermute, dadurch, daß die FBF den internen Anruf über die eigenen Wahlregeln rausschickt, kommt die CAPI nicht zum Zuge. Es könnte sich natürlich auch »nur« um ein simples Codec-Problem handeln, nur fehlt mir da der Geistesblitz, wie ich das debuggen/beheben soll?
Eigentlich müßte ich in der FBF definieren, daß mit einem Vorwahlcode über CAPI gewählt werden soll. Natürlich könnte ich auch über SIP gehen, bin mir da aber etwas unsicher, wie ich sicherstelle, daß die SIP-Kommunikation ausschließlich über den OpenVPN-Tunnel zwischen der fbf7170 und ast-1 läuft -- CAPI-over-TCP ist da so angenehm unkompliziert.
Hat jemand soetwas (internen S0 einer Fritz!Box Fon per CAPI-over-TCP an einen Asterisk angebunden und für in- und outbound verwendet) schon mal gemacht?
Und, zu guter Letzt: Wie binde ich mehrere Fritz!Boxen per fbrcapi.ko ein? Vorgesehen scheint nur genau 1 IP (einer entfernten FBF) zu sein?
Zuletzt bearbeitet: