[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