[Asterisk-Users] Re: chan_capi-cm-0.6.4
Ralf Schlatterbeck
ralf at zoo.priv.at
Wed Mar 1 00:44:55 MST 2006
On Tue, Feb 28, 2006 at 04:21:57PM +0100, Armin Schindler wrote:
> On Tue, 28 Feb 2006, Ralf Schlatterbeck wrote:
> > On Tue, Feb 28, 2006 at 02:32:27PM +0100, Armin Schindler wrote:
> > > On Tue, 28 Feb 2006, Ralf Schlatterbeck wrote:
> > > > Maybe chan_capi should have a timeout waiting for more info_ind and if
> > > > the timeout is reached pass the call to asterisk anyway?
> > >
> > > What for? The dialplan rules should give you enough to make this possible.
> > See above: Seems the dialplan match isn't detected??
>
> It will be detected when chan_capi gets the signal to check it
> (SENDING-COMPLETE/SETUP INFO_IND, or normal CONNECT_IND in MSN mode with
> immediate=yes).
Armin, I have now a patch from Karsten Keil that enables sending
complete info_ind to be sent. I'm still *not* seeing the call in
asterisk! Karsten thinks there should be a timeout, to quote:
Karsten Keil writes (see the mantis bug-tracker:
https://www.isdn4linux.de/mantis/view.php?id=40):
> If a user sends not enough digits in a DDI session, it will timeout in
> the L3 of the driver, if it is in OVERLAP receiving, so the user will
> get some info. The problem is, if here is SENDING COMPLETE on the
> message (it is in your case according the kernel log), it will not
> enter OVERLAP RECEIVING state, so yes this info should be given to the
> application. Still the question, why it does not handle the call,
> since the number is matching. SENDING complete is more a hint that the
> number is complete, so you should not run in the timeout before you
> proceed, but you need always a timeout (maybe not in the chan_capi,
> but chan_capi should present all numbers to asterisk, the dialplan is
> the only instance which can determine, if the number is OK or here was
> still missing info.
For reference, see again part of my dialplan and capi.conf in a
previous message:
http://lists.digium.com/pipermail/asterisk-users/2006-February/148693.html
I have attached the capi debug verbose 15 log of asterisk. To avoid
confusion, please note that the "Disconnect" part is when i unplug the
isdn-line from the test system. It is long after the remote end already
got "No answer". If I leave the isdn line plugged in, asterisk stays in
this half-connected state forever.
So now I don't know what to try next -- chan_capi is obviously working
for other people, so what is different in my setup? Do I have a config
error in my dialplan?
Ralf
--
Ralf Schlatterbeck
email: ralf at zoo.priv.at FAX: +43/2243/26465/23
-------------- next part --------------
fox*CLI> set verbose 15
Verbosity was 0 and is now 15
fox*CLI> capi debug
CAPI Debugging Enabled
-- Remote UNIX connection
CONNECT_IND ID=001 #0x0001 LEN=0046
Controller/PLCI/NCCI = 0x101
CIPValue = 0x10
CalledPartyNumber = <81>11
CallingPartyNumber = <21 83>650621xxxx
CalledPartySubaddress = default
CallingPartySubaddress = default
BC = <80 90 a3>
LLC = default
HLC = <91 81>
AdditionalInfo
BChannelinformation = default
Keypadfacility = default
Useruserdata = default
Facilitydataarray = default
-- CONNECT_IND (PLCI=0x101,DID=11,CID=650621xxxx,CIP=0x10,CONTROLLER=0x1)
> ISDN1: msn='*' DNID='11' DID
== ISDN1: Incoming call '0650621xxxx' -> '11'
INFO_IND ID=001 #0x0002 LEN=0016
Controller/PLCI/NCCI = 0x101
InfoNumber = 0x18
InfoElement = <89>
INFO_RESP ID=001 #0x0002 LEN=0012
Controller/PLCI/NCCI = 0x101
-- ISDN1: info element CHANNEL IDENTIFICATION 89
INFO_IND ID=001 #0x0003 LEN=0027
Controller/PLCI/NCCI = 0x101
InfoNumber = 0x6c
InfoElement = <21 83>650621xxxx
INFO_RESP ID=001 #0x0003 LEN=0012
Controller/PLCI/NCCI = 0x101
-- ISDN1: unhandled INFO_IND 0x6c (PLCI=0x101)
INFO_IND ID=001 #0x0004 LEN=0015
Controller/PLCI/NCCI = 0x101
InfoNumber = 0xa1
InfoElement = default
INFO_RESP ID=001 #0x0004 LEN=0012
Controller/PLCI/NCCI = 0x101
-- ISDN1: info element Sending Complete
####
#### Here the remote party gets "No answer" after a timeout of about 15s
#### Long after the timeout I'm unplugging the ISDN line and then I'm
#### getting the following disconnect:
####
DISCONNECT_IND ID=001 #0x0005 LEN=0014
Controller/PLCI/NCCI = 0x101
Reason = 0x3301
DISCONNECT_RESP ID=001 #0x0005 LEN=0012
Controller/PLCI/NCCI = 0x101
> CAPI INFO 0x3301: Protocol error layer 1 (broken line or B-channel removed by signalling protocol)
-- ISDN1: DISCONNECT_IND on incoming without pbx, doing hangup.
== ISDN1: CAPI Hangingup
== ISDN1: Interface cleanup PLCI=0x101
fox*CLI>
More information about the asterisk-users
mailing list