Wahlhilfe über chan_capi

Dounme

Neuer User
Mitglied seit
6 Apr 2008
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich versuche meinen Computer als Wahlhilfe zu verwenden, d.h. er baut die Verbindung auf und gibt diese dann an ein ISDN-Telefon hier weiter.

Ich habe eine FritzCard v2 sowie 2 ISDN-Telefone die direkt am NTBA hängen und verwende Asterisk v1.4.18 sowie chan-capi v1.1.1 aus Debian/unstable.

Kann sowas überhaupt funktionieren? Meine Idee war folgende: Ich baue via .call-Datei von Asterisk eine Verbindung zu einem lokalen Telefon auf und setze die Verbindung auf hold. Im Context wird dann eine weitere Verbindung aufgebaut und via ECT werden beide "gebridget".

Meine extensions.conf-Contexte sehen so aus:

Code:
[macro-capiect]
exten => s,1,Wait(2)
exten => s,2,capicommand(ect)


[calltest]

exten => s,1,Wait(2)
exten => s,2,capicommand(hold)
exten => s,3,Wait(2)
exten => s,4,Dial(CAPI/ISDN1/9237****:01577154****,60,M(capiect))

Meine capi.conf sieht so aus:

Code:
[general]
nationalprefix=0
internationalprefix=00
rxgain=1.0       ;linear receive gain (1.0 = no change)
txgain=1.0       ;linear transmit gain (1.0 = no change)
language=de      ;set default language
;ulaw=yes        ;set this, if you live in u-law world instead of a-law

;jb.....         ;with Asterisk 1.4 you can configure jitterbuffer,
                 ;see Asterisk documentation for all jb* setting available.
;mohinterpret=default ;Asterisk 1.4: default music on hold class when placed on hold.


; interface sections ...

[ISDN1]          ;this example interface gets name 'ISDN1' and may be any
                 ;name not starting with 'g' or 'contr'.
                 ;Use one interface section for each isdn port!
;ntmode=yes      ;if isdn card operates in nt mode, set this to yes
isdnmode=msn     ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
                 ;when using NT-mode, 'DID' should be set in any case
incomingmsn=*    ;allow incoming calls to this list of MSNs/DIDs, * = any
;defaultcid=123  ;set a default caller id to that interface for dial-out,
                 ;this caller id will be used when dial option 'd' is set.
;controller=0    ;ISDN4BSD default
;controller=7    ;ISDN4BSD USB default
controller=1     ;capi controller number of this interface/port
group=1          ;dialout group
;prefix=0        ;set a prefix to calling number on incoming calls
softdtmf=on      ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=on     ;in addition to softdtmf, you can use relaxed dtmf detection
faxdetect=off    ;enable faxdetection and redirection to EXTEN 'fax' for incoming and/or
                 ;outgoing calls. (default='off', possible values: 'incoming','outgoing','both')
accountcode=     ;PBX accountcode to use in CDRs
;amaflags=default;AMA flags for CDR ('default', 'omit', 'billing', or 'documentation')
context=isdn-in  ;context for incoming calls
holdtype=hold   ;when the PBX puts the call on hold, ISDN HOLD will be used. If
                 ;set to 'local' (default value), no hold is done and the PBX may
                 ;play MOH.
immediate=yes   ;DID: immediate start of pbx with extension 's' if no digits were
                 ;     received on incoming call (no destination number yet)
                 ;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
                 ;     info like REDIRECTINGNUMBER may be lost, but this is necessary for
                 ;     drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;echosquelch=1   ;_VERY_PRIMITIVE_ echo suppression. Disable this before you start recording voicemail
                 ;or your files may get choppy. (you can use capicommand(echosquelch|no) for this)
;echocancel=yes  ;Dialogic Diva (Capi) echo cancelation (yes=g165)
                 ;(possible values: 'no', 'yes', 'force', 'g164', 'g165') 
echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
;echotail=64     ;echo cancel tail setting (default=0 for maximum)
;echocancelnlp=1 ;activate non-linear-processing; this improves echo cancel ratio, but might
                 ;incorporate variable gain in the signal path.
bridge=no      ;native bridging (CAPI line interconnect) if available
;callgroup=1     ;PBX call group
;pickupgroup=1   ;PBX pickup group (which call groups are we allowed to pickup)
;transfergroup=1 ;Controller(s) where a transfer on native bridge is allowed to.
;language=de     ;set language for this device (overwrites default language)
;disallow=all    ;RTP codec selection (valid with Dialogic Diva only)
;allow=all       ;RTP codec selection (valid with Dialogic Diva only)
devices=2

Und die .call-Datei:

Code:
Channel: CAPI/ISDN1/9237****:9237****
Context: calltest
Extension: s
MaxRetries: 0
RetryTime: 10

Grundsätzlich klappt das soweit auch, d.h. die Verbindung zu meinem lokalen ISDN-Telefon wird aufgebaut, auf hold gesetzt und dann wählt Asterisk die andere Nummer im Call-plan.

Allerdings schlägt das Bridging dann fehlt. Hier ein Auszug aus dem Asterisk-Debug-Log:

Code:
    -- CAPI/ISDN1#01/01577154****-2 answered CAPI/ISDN1#02/9237****-0
    -- Executing [s@macro-capiect:1] Wait("CAPI/ISDN1#01/01577154****-2", "2") in new stack
    -- Executing [s@macro-capiect:2] capicommand("CAPI/ISDN1#01/01577154****-2", "ect") in new stack
    -- ISDN1#02: ECT confirmed (PLCI=0x101)
    -- Native bridging CAPI/ISDN1#02/9237****-0 and CAPI/ISDN1#01/01577154****-2 ended
       > ISDN1#02: CAPI INFO 0x3600: Supplementary service not subscribed
       > ISDN1#01: CAPI INFO 0x3490: Normal call clearing
  == ISDN1#01: CAPI Hangingup for PLCI=0xdead0000 in state 4
  == Spawn extension (calltest, s, 4) exited non-zero on 'CAPI/ISDN1#02/9237****-0'
  == ISDN1#02: CAPI Hangingup for PLCI=0x101 in state 10
[Apr  6 01:23:07] NOTICE[15976]: pbx_spool.c:371 attempt_thread: Call completed to CAPI/ISDN1/9237****:9237****

Woran kann das "Supplementary service not subscribed" liegen? Wenn ich capiinfo aufrufe, steht dort unter Supplementary services auch ECT:

Code:
Supplementary services support: 0x000003ff
   Hold / Retrieve
   Terminal Portability
   ECT
   3PTY
   Call Forwarding
   Call Deflection
   MCID
   CCBS

Gibt es noch weitere Dinge, die ich probieren könnte? Ich hab schon alle möglichen Kombinationen der bridge und holdtype Parameter in der capi.conf getestet, jedes mal mit dem gleichen Ergebnis. Hat jemand eine andere Idee, wie ich die Grundidee einer Wahlhilfe lösen kann?

Vielen Dank im voraus.

Grüße aus Berlin,

Dounme
 
Ich vermute mal, dass deine Anlage das ECT Feature nicht unterstützt.


Mario


EDIT: vergiss obiges, ich sehe du hängst am NTBA - evtl. ist das LM vom Provider nicht freigeschalten. Näheres könnte man evtl. nach set verbose 5 und capi debug sagen.
 
capiinfo sagt ECT, weil es die Karte/der Treiber supported. Aber die Fehlermeldung sagt, dass deine ISDN Leitung es nicht supported.

Armin
 
Hallo,

vielen Dank für die beiden Antworten.

capiinfo sagt ECT, weil es die Karte/der Treiber supported. Aber die Fehlermeldung sagt, dass deine ISDN Leitung es nicht supported.

Armin

Ich bin bei der Telekom. Kann man dieses Feature denn dort beantragen?

Oder brauch ich dazu zwingend eine TK-Anlage? Wenn ich eine brauche, welche wäre für meinen Zweck ausreichend und nicht zu teuer?

Oder gibt es noch andere Möglichkeiten wie Rufweiterleitung o. ä. um eine Wahlhilfe zu realisieren?

Danke & Gruß

Dounme
 
Kostenlos!

Neueste Beiträge

Statistik des Forums

Themen
248,866
Beiträge
2,303,227
Mitglieder
378,522
Neuestes Mitglied
Christian_B70