[Asterisk-Users] Chan_capi: using both b-channels
Ben Liesfeld
ben.liesfeld at gmx.de
Tue Sep 21 12:59:09 MST 2004
Hi there,
I just recently installed asterisk from cvs on SuSE 8.2 successfully. I was
quite surprised since asterisk seems to be a quite complex and powerful
application. I also installed chan_capi 0.3.5 and am using a Fritz!PCI card at
an ISDN line (PtMP).
I already got some basic extension schemes to work, e. g. the capi callback
example from junghanns.net. One of my goals is to set up an extension for the
capi channel that will allow me to forward a call (incoming on one of the
ISDN b-channels) to another outbound destination. So, in the following, X is
my local MSN and Y the destination that I would like to forward to.
(1) I tried the call deflection (capiCD) example from Junghanns which does not
work. I was wondering if you need some services activated from your telephone
provider (here: DTAG in Germany, Standardanschluss). There is just nothing
mentioning it on junghanns webpage. Can anyone confirm that?
/var/log/messages shows:
Sep 20 21:33:17 themistokles isdnlog: Sep 20 21:33:17 * Call to tei 122 from X
on Y HANGUP Invalid information element contents (Public network serving local
user)
The same happens with capiECT which I tried from the examples. But I am pretty
sure that you need a service activated with your provider (so I am not
surprised about that).
(2) On the other hand, accepting the call and immediately calling the
destination Y on the other B channel should work. I tried
exten => s,1,Answer
exten => s,2,ResponseTimeout(30)
exten => s,3,Background(/var/lib/asterisk/sounds/hello)
exten => t,1,Goto(s,2)
exten => i,1,Playback(/var/lib/asterisk/sounds/invalid)
exten => i,2,Goto(s,2)
exten => 1,1,Dial,CAPI/XXXXXX:XXXXXXXXXX|30
But I always get an error message:
--snip--
Asterisk Ready.
*CLI> == Starting CAPI[contr1/X]/0 at test,X,1 failed so falling back to
exten 's'
-- started pbx on channel (callgroup=0)!
-- Executing Answer("CAPI[contr1/X]/0", "") in new stack
-- Executing ResponseTimeout("CAPI[contr1/X]/0", "30") in new stack
-- Set Response Timeout to 30
-- Executing BackGround("CAPI[contr1/X]/0",
"/var/lib/asterisk/sounds/demo-thanks") in new stack
-- Playing '/var/lib/asterisk/sounds/demo-thanks' (language 'en')
== CDR updated on CAPI[contr1/X]/0
-- Executing Dial("CAPI[contr1/X]/0", "CAPI/X:Y|30") innew stack
-- Called X:Y[some number]
-- CAPI[contr1/X]/1 is busy
== Everyone is busy/congested at this time
--snip--
Why does * say that the second channel is busy?
/var/log/messages indicates that the call was executed. the HANGUP happened
when I terminated the first call.
--snip--
Sep 21 21:41:32 themistokles isdnlog: Sep 21 21:41:32 * tei 64 calling Y with
X RING (Speech)
Sep 21 21:41:32 themistokles isdnlog: Sep 21 21:41:32 * tei 64 calling Y with
X HLC: CCITT, Telefonie
Sep 21 21:41:36 themistokles isdnlog: Sep 21 21:41:36 tei 86 calling ? with ?
HANGUP ( 0:00:06)
--snip--
Any hints would be greatly appreciated. Thanks.
--
Ben Liesfeld
More information about the asterisk-users
mailing list