On a slackware 11.0 with kernel 2.6.17.13
if i try to compile
chan_capi
download: ftp://ftp.chan-capi.org/chan-capi
to support diva server with asterisk I get the following:
make
./create_config.sh "/usr/include"
Checking Asterisk version… 1.4.2
- found Asterisk version 1.4
Using Asterisk 1.4 API
- found stringfield in ast_channel
- found ‘indicate’ with data
- found extended ast_channel_alloc
- found send_digit_end with duration
config.h complete.
[CC] chan_capi_rtp.c -> chan_capi_rtp.o
In file included from chan_capi20.h:28,
from chan_capi_rtp.c:61:
/usr/include/linux/capi.h:80: error: variable or field `__user’ declared void
/usr/include/linux/capi.h:80: error: syntax error before ‘*’ token
/usr/include/linux/capi.h:115: error: syntax error before “capi_manufacturer_cmd”
/usr/include/linux/capi.h:117: error: syntax error before ‘}’ token
make: *** [chan_capi_rtp.o] Error 1
I installed capi4linux binary package to supply missing file capi20.h.
I had to do that way… because I could not install either isdn4linx or capi4linux from source code …
…for exatly the same error on capi.h.
Any idea?
Was anyone able to compile chan_capi?
is there any other solution to have the diva server card working with Asterisk?
Thank you
Hi
I managed to compile chan_capi, but it was painfull. I managed to do it for both Asterisk 1.2 and 1.4. Now it is workin OK, Card performance and sound quality are really great with simple FRITZ AVM card. I can try to look what packages I have on my system, but it is Mandriva. First of all get the newest chan_capi sources and read README carefully for system requirements…
[quote=“bkseniak”]Hi
I managed to compile chan_capi, but it was painfull. I managed to do it for both Asterisk 1.2 and 1.4. Now it is workin OK, Card performance and sound quality are really great with simple FRITZ AVM card. I can try to look what packages I have on my system, but it is Mandriva. First of all get the newest chan_capi sources and read README carefully for system requirements…[/quote]
Actually I managed to compile chan_capi, too.
I had to substitue file capi.h from kernel 2.6.17.13 with capi.h from 2.4.33 in /usr/include/linux
They are fairly the same… but 2.6 capi.h has an error blocking compilation.
typedef struct capi_manufacturer_cmd {
unsigned long cmd;
void __user *data; /*<-----error here
} capi_manufacturer_cmd;
This is from 2.4 capi.h.
typedef struct capi_manufacturer_cmd {
unsigned long cmd;
void *data;
} capi_manufacturer_cmd;