[Asterisk-Users] problems with chan_capi 0.3.5 , divactrl,
eicon diva server, and kernel 2.6.10/2.6.12
Luis Vazquez
luis at teledata.com.uy
Tue Jun 28 10:06:24 MST 2005
Hello all,
I'm having problems getting chan_capi 0.3.5 to work well with an Eicon
Diva Server card using using the driver from linux kernel both 2.6.10
and 2.6.12 (vanilla versions).
I have a (really two) producción system(s) running chan_capi in another
identical Eicon Card using kernel 2.4.27 and the Diva Server drivers
from Eicon. I installed an compiled the source level rpm
divas4linux_EICON-104.429-1.i386.rpm into a binary rpm named
divas4linux_EICON-105.465-1.i386.rpm.
It works (allmost) without problems except for the fact of some random
segmentation faults in Asterisk when capi is handling incoming calls
(the same problem has already been reported in the list without
solutions as long as I know).
The problem with Eicon's Diva Server Driver is they dont give a version
to work with kernel 2.6 and I need to upgrade to k2.6 for many reasons,
besides I prefer to use the open source version.
The first problem I found was having no response when making a call in
2.6.12. After searching the list I downgraded to 2.6.10 and I was able
to made a call.
Then I found the patch(es) in the comments at "Asterisk How to connect
with CAPI" at voip-info.org. I'm using the one from nitram that seems
very similar to the one from irroot but more complete. With this patch
chan_capi is mostly working with 2.6.12 but I have some problems I don't
have with Eicon's driver in 2.4.27. And the same synthoms occur both
with 2.6.12 or 2.6.10.
The worst first:
1- When I made a call from Asterisk through the capi interface it take
many seconds (around 10 secs) to get connected and then you hear a
static noise, something like permanent random clicks mixed with the voice.
I used the ditrace tool to debug a call and I see many "Layer 1 -> [Lost
Framing]" in the output, not present when using the same BRI line in the
production PBX using k2.4.27 and Eicon's Driver/Tools.
I have tried exchanging the cards too, but the problem is the same.
Here is a snippet of ditrace.txt:
======================================
0:01:51.055 s 2 Layer 2 -> [Idle]
0:01:51.057 s 2 Layer 1 -> [Lost Framing] <-----
0:01:51.057 s 2 Layer 2 -> [Idle]
.......
0:01:51.085 s 2 Layer 1 -> [Syncronized]
0:01:51.085 s 2 Layer 2 -> [Idle]
0:01:51.087 s 2 Layer 1 -> [Lost Framing] <------
.......
0:01:51.177 s 2 Layer 2 -> [Idle]
0:01:51.295 s 2 Layer 1 -> [Syncronized]
0:01:51.295 s 2 Layer 2 -> [Idle]
0:01:51.297 s 2 Layer 1 -> [Activated]
0:01:51.297 s 2 Layer 2 -> [Idle]
0:01:51.328 L 8 CAPI_REGISTER - Id = 1
0:01:51.328 L 8 MaxLogicalConnections = 30(30)
0:01:51.328 L 8 MaxBDataBuffers = 7
0:01:51.328 L 8 MaxBDataLength = 160
0:01:51.328 L 8 Allocated Memory = 75000
0:01:51.328 L 8 CAPI_REGISTER - Id = 1
0:01:51.328 L 8 MaxLogicalConnections = 30(30)
0:01:51.328 L 8 MaxBDataBuffers = 7
0:01:51.328 L 8 MaxBDataLength = 160
0:01:51.328 L 8 CAPI_REGISTER - appl already registered
0:01:51.329 - CAPI20_PUT(026)
............
0:01:51.331 - 1 CREATEID ok: context:1f assigned Id:5 freeIds=ec
............
0:01:51.342 - CAPI20_GET(014)
0x0000 01 00 05 81 06 00 02 00 00 00 00 00
............
---
LISTEN CONF AppID 0x0001 MsgNr 0x0006 CNTR: 0x00000002
Info: initiated
0:01:51.344 - 4 alloc cr in use =3
0:01:51.344 - 3 free cr in use =2
0:01:51.344 - 2 DELETEID ok: deleted Id:5 freeIds=ec
0:01:51.346 - 4 free cr in use =2
0:01:51.346 - 3 DELETEID ok: deleted Id:5 freeIds=ec
0:01:51.348 - 4 DELETEID ok: deleted Id:5 freeIds=ec
0:01:51.357 s 2 Layer 1 -> [Syncronized]
0:01:51.357 s 2 Layer 2 -> [Idle]
0:01:51.359 s 2 Layer 1 -> [Activated]
........
0:01:52.105 s 2 Layer 1 -> [Lost Framing] <-----
0:01:52.105 s 2 Layer 2 -> [Idle]
0:01:52.107 s 2 Layer 1 -> [Syncronized]
0:01:52.107 s 2 Layer 2 -> [Idle]
0:01:52.109 s 2 Layer 1 -> [Activated]
0:01:52.109 s 2 Layer 2 -> [Idle]
0:01:52.222 s 2 Layer 1 -> [Lost Framing] <-----
0:01:52.105 s 2 Layer 2 -> [Idle]
0:01:52.107 s 2 Layer 1 -> [Syncronized]
0:01:52.107 s 2 Layer 2 -> [Idle]
0:01:52.109 s 2 Layer 1 -> [Activated]
0:01:52.109 s 2 Layer 2 -> [Idle]
............
0:01:53.032 s 2 Layer 1 -> [Lost Framing] <-----
0:01:53.032 s 2 Layer 2 -> [Idle]
0:01:53.034 s 2 Layer 1 -> [Syncronized]
0:01:53.034 s 2 Layer 2 -> [Idle]
2 - After the call is terminated from asterisk side I see the hangup on
asterisk CLI but the capi line keeps busy for a while (at least 15-20
secs). I see the orange light in Eicon Card is on and I'm unable to
place a new call in meantime.
3 - Sometimes when I take the system down (halt or reboot) I get a
kernel panic with null pointer errors related to capi drivers.
If have checked both with and withoud early B3 connects dial option but
the problems are the same.
The relevant parts of my capi.conf, dial command used and kernel config
are at the end.
I am using asterisk-1.0.7; vanilla kernel-2.6.10 or 2.6.12 compiled with
gcc 3.4 in Mandrake 10.1, divactrl 2.0 from Melware, chan-capi 0.3.5
(with deadlock cvs-HEAD patch from levigo.de adapted to asterisk 1.0.*)
and (here is my main suspect) system isdn/capi libs/tools
(libisdn4k-utils2-3.2p3-16mdk - isdn4k-utils-3.2p3-16mdk) from Mandrake
10.1.
What is the best isdn libs version for using with chan_capi, k2.6.* and
divactrl??
Does anybody has a working chan_capi environment with a recent (2.6.10
up) kernel, and could give a hint on any of those synthoms??
I would like to try the new sourceforge chan_capi version 0.5.*, but it
is not clear if these works with asterisk stable or only with cvs
version? If so, are they (mostly) stable enough for testing in a
production system (compared to chan_capi 0.3.5)?
Thanks anybody.
Luis
############ capi.conf ##############
[general]
nationalprefix=0
internationalprefix=00
[interfaces]
controller=2
msn=4096925,4096927,4092350
incomingmsn=*
softdtmf=0
context=incoming
devices=2
######################################
DIAL COMMAND USED:
exten => _NXXXXXX,1,Dial(capi/4096925:b${EXTEN}|60|T)
or
exten => _NXXXXXX,1,Dial(capi/4096925:${EXTEN}|60|T)
########### config-2.6.12-1 ############
................
# ISDN subsystem
#
CONFIG_ISDN=m
#
# Old ISDN4Linux
# CONFIG_ISDN_I4L is not set
#
# CAPI subsystem
#
CONFIG_ISDN_CAPI=m
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_ISDN_CAPI_CAPI20=m
CONFIG_ISDN_CAPI_CAPIFS_BOOL=y
CONFIG_ISDN_CAPI_CAPIFS=m
#
# CAPI hardware drivers
..... ###### AVM Cards...
#
# Active Eicon DIVA Server cards
#
CONFIG_CAPI_EICON=y
CONFIG_ISDN_DIVAS=m
CONFIG_ISDN_DIVAS_BRIPCI=y
CONFIG_ISDN_DIVAS_PRIPCI=y
CONFIG_ISDN_DIVAS_DIVACAPI=m
CONFIG_ISDN_DIVAS_USERIDI=m
CONFIG_ISDN_DIVAS_MAINT=m
...........
##############################################
More information about the asterisk-users
mailing list