[HowTo] chan_capi mit Fritzbox Capi-over-Tcp unter FreePBX distro/CentOS (Update Februar 2018)

DOCaCola

Neuer User
Mitglied seit
12 Mai 2005
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Hier mal ein kleines Guide wie man aktuell eine FritzBox mit Asterisk und der chan_capi ansprechen und benutzen kann. Leider gibt es dazu tonnenweise veraltete infos. Damit kann man z.B seine FritzBox als ISDN Gateway benutzen und bekommt so auch die rohen DID - was mit einer SIP Lösung nicht funktioniert. Ich hoffe jemandem ist damit geholfen.
Ich habe dafür die aktuelle FreePBX distro benutzt welche auf CentOS basiert und mit Asterisk 11 oder 13 läuft.
Natürlich muss auf der FritzBox Capi-over-TCP aktviert sein. Das geht im normalfall einfach mit #96*3*
mehr infos gibts auch hier: http://www.wehavemorefun.de/fritzbox/CAPI-over-TCP

Schritt 1: Libcapi installieren
Code:
cd /usr/src
curl -O http://en.tabos.org/download/capi20.tar.bz2
tar jxf capi20.tar.bz2
cd capi20
./configure
make
make install
/etc/capi20.conf erstellen und folgendes eintragen
Code:
REMOTE fritzbox die.ip.der.fritzbox 5031

Schritt 2: chan_capi installieren
patch tool installieren und asterisk sourcen holen
Für Asterisk 11:
Code:
yum install patch asterisk11-devel
oder für Asterisk 13:
Code:
yum install patch asterisk13-devel

Nun laden und entpacken wir die chan_capi files.
Code:
cd /usr/src
curl -O ftp://ftp.chan-capi.org/chan-capi/chan_capi-HEAD.tgz
tar xzf chan_capi-HEAD.tgz
cd chan-capi-HEAD

Wichtig:
Datei Makefile öffnen und
Code:
USE_OWN_LIBCAPI=no
setzen (statt yes), damit die externe libcapi benutzt wird
Optional: Bei einem 64-Bit OS muss das Makefile angepasst werden. lib64
Code:
MODULES_DIR=$(INSTALL_PREFIX)/usr/lib64/asterisk/modules

Schließlich noch auf der shell ausführen:
Code:
./create_config.sh /usr/include/
make -j 2
make install
make install_config

Schritt 3: Asterisk konfigurieren
in /etc/asterisk/modules.conf folgende Zeilen einfügen:
Code:
load => chan_capi.so

datei /etc/asterisk/extensions_custom.conf öffnen und folgendes anfügen
Code:
; dieser Context (isdn-in) muss zum Eintrag in /etc/asterisk/capi.conf passen!
[isdn-in]
include => from-pstn

schließlich
Code:
amportal restart

nun kann man im asterisk cli prüfen ob alles geklappt hat
Code:
localhost*CLI> capi info
Common ISDN API Driver ($Revision: 959 $) www.chan-capi.org
Contr1: 2 B channels total, 2 B channels free.
Contr2: 2 B channels total, 2 B channels free. (unused)
Contr3: 2 B channels total, 2 B channels free. (unused)
Contr4: 1 B channels total, 1 B channels free. (unused)
Contr5: 5 B channels total, 5 B channels free. (unused)

Optional: Capiinfo installieren zum debuggen
Das müssen wir aus dem isdn4k-utils package extrahieren. Das dürfen wir nicht direkt installieren, da es uns sonst libcapi zerhaut!
Code:
mkdir /tmp/isdn

yum install yum-plugin-downloadonly
yum install --downloadonly --downloaddir=/tmp/isdn isdn4k-utils

cd /tmp/isdn
rpm2cpio isdn4k-utils-3.2-75.el6.i686.rpm | cpio -idmv
cp ./usr/bin/capiinfo /usr/bin/capiinfo
dann kann man mit capiinfo checken ob das obige funktioniert hat

--------------

Viel Erfolg!

Quellen:
http://www.ip-phone-forum.de/showthread.php?t=256720&p=2001423#post2001423
http://blog.eisold-edv.de/blog/2011/07/11/fritzbox-als-isdn-gateway-fur-asterisk-trixbox/
http://linux.kundp.de/archives/50-T...uss-mit-einer-Fritz!Box-als-Mediagateway.html
http://en.tabos.org/downloads

Update 12.02.18: Anleitung für Asterisk 13 angepasst. Hinweis und Anleitung für manuellen chan_capi patch entfernt, da nicht mehr notwendig.
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Hallo, sehr schöne Erklärung. Auf "Puttyebene" bekomme ich die korrekte Ausgabe "Contr1: 2 B channels total, 2 B channels free."
Was muß ich aber im FreePBX für ein Trunk mit welchen Werten einstellen, damit ich ein und ausgehende Gespräche führen kann.
Und gibt es einen Unterschied ob die Gespräche an der Fritzbox tatsächlich per ISDN oder per SIP weiter gehen? So was wie from-pstn oder from-isdn oder from-internet ?
 
Wie oben beschrieben sorgt der Eintrag in der extensions_custom.conf dafür, dass die im GUI angelegten ankommenden Regeln auch für CAPI gelten. Du kannst an der Stelle statt des includes aber auch beliebig andere Dinge anstellen.

Ich meine mich zu erinnern, dass man in FreePBX benutzerdefinierte Channels anlegen kann, die man dann für abgehende Regeln nutzen kann. Dort müsstest Du einen CAPI/g1 anlegen.

Alles was per CAPI kommt hat die normale MSN als Zielnummer, über SIP an der Fritzbox die interne 62x Nummer.
 
Kleiner Hinweis. Die Anleitung sollte immer noch so funktionieren. Inzwischen scheint aber der chan_capi patch für Asterisk 11 direkt in die HEAD revision integriert zu sein. Der Schritt ist also nicht mehr notwendig. Getestet habe ich allerdings noch nicht, da meine Installation von damals immer noch so läuft.

Das inzwischen fehlende libcapi file ist immer noch über archive.org verfügbar:
https://web.archive.org/web/*/http://en.tabos.org/download/capi20.tar.bz2



Edit:
Inzwischen habe ich das ganze mal auf einem aktuellen FreePBX 10.13.66 64bit mit Asterisk 11 probiert. Asterisk 13 ist nicht möglich wegen fehlendem support in chan_capi.
Das ganze funktioniert nach wie vor, nur dass die von libcapi generierten libraries in /usr/lib und nicht /usr/lib64 liegen nach der installation. Ich habe die einfach rüberkopiert und gut war...
Mein oben beschriebener 'Verdacht' hat sich bestätigt. Es nicht mehr nötig den Patch für chan_capi einzuspielen
 
Zuletzt bearbeitet:
Hallo an alle.... also... habe alles hier versucht... aber...

Code:
[root@10 ~]#
login as: root
[email protected]'s password:
Last login: Thu Feb 23 11:51:55 2017 from 192.168.0.100
 _____              ____  ______  __
|  ___| __ ___  ___|  _ \| __ ) \/ /
| |_ | '__/ _ \/ _ \ |_) |  _ \\  /
|  _|| | |  __/  __/  __/| |_) /  \
|_|  |_|  \___|\___|_|   |____/_/\_\

NOTICE! You have 1 notifications! Please log into the UI to see them!

Current Network Configuration
+-----------+-------------------+--------------------------+
| Interface | MAC Address       | IP Addresses             |
+-----------+-------------------+--------------------------+
| eth0      | 08:00:27:9E:3E:23 | 192.168.0.207            |
|           |                   | fe80::a00:27ff:fe9e:3e23 |
+-----------+-------------------+--------------------------+

Please note most tasks should be handled through the GUI.
You can access the GUI by typing one of the above IPs in to your web browser.
For support please visit:
    [URL]http://www.freepbx.org/support-and-professional-services[/URL]







Schritt 1: Libcapi installieren

Code:
cd /usr/src
curl -O [URL]https://web.archive.org/web/20151129205252/http://en.tabos.org/download/capi20.tar.bz2[/URL]
tar jxf capi20.tar.bz2
cd capi20
./configure
make
make install




[root@10 ~]# cd /usr/src
[root@10 src]# curl -O [URL]https://web.archive.org/web/20151129205252/http://en.tabos.org/download/capi20.tar.bz2[/URL]
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  402k  100  402k    0     0   165k      0  0:00:02  0:00:02 --:--:--  243k
[root@10 src]# tar jxf capi20.tar.bz2
[root@10 src]# cd capi20



[root@10 capi20]# ./configure

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1966080
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for sed... (cached) /bin/sed
checking for ANSI C header files... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking for unistd.h... (cached) yes
Capi library module loader version 2 detected
checking for select... yes
checking for library containing dlopen... -ldl
checking linux/capi.h usability... yes
checking linux/capi.h presence... yes
checking for linux/capi.h... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for ulong... yes
checking size of void *... 8
configure: creating ./config.status
config.status: creating Makefile
config.status: creating capi20.pc
config.status: executing depfiles commands
config.status: executing libtool commands
[root@10 capi20]#






[root@10 capi20]# make

gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I.    -fPIC -g -O2 -c -o libcapi20dyn_a-capidyn.o `test -f 'capidyn.c' || echo './'`capidyn.c
rm -f libcapi20dyn.a
ar cru libcapi20dyn.a libcapi20dyn_a-capidyn.o
ranlib libcapi20dyn.a
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I.    -fno-strict-aliasing -DLIBDIR="/usr/lib/capi" -g -O2 -c -o libcapi20_la-capi20.lo `test -f 'capi20.c' || echo './'`capi20.c
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -DLIBDIR="/usr/lib/capi" -g -O2 -c capi20.c  -fPIC -DPIC -o .libs/libcapi20_la-capi20.o
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -DLIBDIR="/usr/lib/capi" -g -O2 -c capi20.c -o libcapi20_la-capi20.o >/dev/null 2>&1
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I.    -fno-strict-aliasing -DLIBDIR="/usr/lib/capi" -g -O2 -c -o libcapi20_la-capifunc.lo `test -f 'capifunc.c' || echo './'`capifunc.c
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -DLIBDIR="/usr/lib/capi" -g -O2 -c capifunc.c  -fPIC -DPIC -o .libs/libcapi20_la-capifunc.o
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -DLIBDIR="/usr/lib/capi" -g -O2 -c capifunc.c -o libcapi20_la-capifunc.o >/dev/null 2>&1
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I.    -fno-strict-aliasing -DLIBDIR="/usr/lib/capi" -g -O2 -c -o libcapi20_la-convert.lo `test -f 'convert.c' || echo './'`convert.c
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -DLIBDIR="/usr/lib/capi" -g -O2 -c convert.c  -fPIC -DPIC -o .libs/libcapi20_la-convert.o
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -DLIBDIR="/usr/lib/capi" -g -O2 -c convert.c -o libcapi20_la-convert.o >/dev/null 2>&1
/bin/sh ./libtool --tag=CC   --mode=link gcc -fno-strict-aliasing -DLIBDIR="/usr/lib/capi" -g -O2 -version-info 3:6:0 -lc -rdynamic -lrt   -o libcapi20.la -rpath /usr/lib libcapi20_la-capi20.lo libcapi20_la-capifunc.lo libcapi20_la-convert.lo  -ldl
libtool: link: gcc -shared  -fPIC -DPIC  .libs/libcapi20_la-capi20.o .libs/libcapi20_la-capifunc.o .libs/libcapi20_la-convert.o   -lc -lrt -ldl  -O2   -Wl,-soname -Wl,libcapi20.so.3 -o .libs/libcapi20.so.3.0.6
libtool: link: (cd ".libs" && rm -f "libcapi20.so.3" && ln -s "libcapi20.so.3.0.6" "libcapi20.so.3")
libtool: link: (cd ".libs" && rm -f "libcapi20.so" && ln -s "libcapi20.so.3.0.6" "libcapi20.so")
libtool: link: ar cru .libs/libcapi20.a  libcapi20_la-capi20.o libcapi20_la-capifunc.o libcapi20_la-convert.o
libtool: link: ranlib .libs/libcapi20.a
libtool: link: ( cd ".libs" && rm -f "libcapi20.la" && ln -s "../libcapi20.la" "libcapi20.la" )
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I.    -fno-strict-aliasing -g -O2 -c -o lib_capi_mod_fritzbox_la-capi_mod_fritzbox.lo `test -f 'capi_mod_fritzbox.c' || echo './'`capi_mod_fritzbox.c
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -g -O2 -c capi_mod_fritzbox.c  -fPIC -DPIC -o .libs/lib_capi_mod_fritzbox_la-capi_mod_fritzbox.o
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -g -O2 -c capi_mod_fritzbox.c -o lib_capi_mod_fritzbox_la-capi_mod_fritzbox.o >/dev/null 2>&1
/bin/sh ./libtool --tag=CC   --mode=link gcc -fno-strict-aliasing -g -O2 -shared -version-info 2:0:0 -no-undefined   -o lib_capi_mod_fritzbox.la -rpath /usr/lib/capi lib_capi_mod_fritzbox_la-capi_mod_fritzbox.lo libcapi20.la -ldl
libtool: link: gcc -shared  -fPIC -DPIC  .libs/lib_capi_mod_fritzbox_la-capi_mod_fritzbox.o   -Wl,-rpath -Wl,/usr/src/capi20/.libs ./.libs/libcapi20.so -lc -lrt -ldl  -O2   -Wl,-soname -Wl,lib_capi_mod_fritzbox.so.2 -o .libs/lib_capi_mod_fritzbox.so.2.0.0
libtool: link: (cd ".libs" && rm -f "lib_capi_mod_fritzbox.so.2" && ln -s "lib_capi_mod_fritzbox.so.2.0.0" "lib_capi_mod_fritzbox.so.2")
libtool: link: (cd ".libs" && rm -f "lib_capi_mod_fritzbox.so" && ln -s "lib_capi_mod_fritzbox.so.2.0.0" "lib_capi_mod_fritzbox.so")
libtool: link: ( cd ".libs" && rm -f "lib_capi_mod_fritzbox.la" && ln -s "../lib_capi_mod_fritzbox.la" "lib_capi_mod_fritzbox.la" )
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I.    -fno-strict-aliasing -g -O2 -c -o lib_capi_mod_rcapi_la-capi_mod_rcapi.lo `test -f 'capi_mod_rcapi.c' || echo './'`capi_mod_rcapi.c
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -g -O2 -c capi_mod_rcapi.c  -fPIC -DPIC -o .libs/lib_capi_mod_rcapi_la-capi_mod_rcapi.o
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -g -O2 -c capi_mod_rcapi.c -o lib_capi_mod_rcapi_la-capi_mod_rcapi.o >/dev/null 2>&1
/bin/sh ./libtool --tag=CC   --mode=link gcc -fno-strict-aliasing -g -O2 -shared -version-info 2:0:0 -no-undefined   -o lib_capi_mod_rcapi.la -rpath /usr/lib/capi lib_capi_mod_rcapi_la-capi_mod_rcapi.lo libcapi20.la -ldl
libtool: link: gcc -shared  -fPIC -DPIC  .libs/lib_capi_mod_rcapi_la-capi_mod_rcapi.o   -Wl,-rpath -Wl,/usr/src/capi20/.libs ./.libs/libcapi20.so -lc -lrt -ldl  -O2   -Wl,-soname -Wl,lib_capi_mod_rcapi.so.2 -o .libs/lib_capi_mod_rcapi.so.2.0.0
libtool: link: (cd ".libs" && rm -f "lib_capi_mod_rcapi.so.2" && ln -s "lib_capi_mod_rcapi.so.2.0.0" "lib_capi_mod_rcapi.so.2")
libtool: link: (cd ".libs" && rm -f "lib_capi_mod_rcapi.so" && ln -s "lib_capi_mod_rcapi.so.2.0.0" "lib_capi_mod_rcapi.so")
libtool: link: ( cd ".libs" && rm -f "lib_capi_mod_rcapi.la" && ln -s "../lib_capi_mod_rcapi.la" "lib_capi_mod_rcapi.la" )
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I.    -fno-strict-aliasing -g -O2 -c -o lib_capi_mod_std_la-capi_mod_std.lo `test -f 'capi_mod_std.c' || echo './'`capi_mod_std.c
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -g -O2 -c capi_mod_std.c  -fPIC -DPIC -o .libs/lib_capi_mod_std_la-capi_mod_std.o
libtool: compile:  gcc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libcapi20" -DVERSION="3.6" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SELECT=1 -DHAVE_LINUX_CAPI_H=1 -DC_ULONG_DEFINED=1 -DSIZEOF_VOID_P=8 -I. -fno-strict-aliasing -g -O2 -c capi_mod_std.c -o lib_capi_mod_std_la-capi_mod_std.o >/dev/null 2>&1
/bin/sh ./libtool --tag=CC   --mode=link gcc -fno-strict-aliasing -g -O2 -shared -version-info 2:0:0 -no-undefined  -o lib_capi_mod_std.la -rpath /usr/lib/capi lib_capi_mod_std_la-capi_mod_std.lo libcapi20.la -ldl
libtool: link: gcc -shared  -fPIC -DPIC  .libs/lib_capi_mod_std_la-capi_mod_std.o   -Wl,-rpath -Wl,/usr/src/capi20/.libs ./.libs/libcapi20.so -lc -lrt -ldl  -O2   -Wl,-soname -Wl,lib_capi_mod_std.so.2 -o .libs/lib_capi_mod_std.so.2.0.0
libtool: link: (cd ".libs" && rm -f "lib_capi_mod_std.so.2" && ln -s "lib_capi_mod_std.so.2.0.0" "lib_capi_mod_std.so.2")
libtool: link: (cd ".libs" && rm -f "lib_capi_mod_std.so" && ln -s "lib_capi_mod_std.so.2.0.0" "lib_capi_mod_std.so")
libtool: link: ( cd ".libs" && rm -f "lib_capi_mod_std.la" && ln -s "../lib_capi_mod_std.la" "lib_capi_mod_std.la" )
[root@10 capi20]#






[root@10 capi20]# make install


make[1]: Entering directory `/usr/src/capi20'
test -z "/usr/lib" || /bin/mkdir -p "/usr/lib"
 /usr/bin/install -c -m 644  libcapi20dyn.a '/usr/lib'
 ( cd '/usr/lib' && ranlib libcapi20dyn.a )
test -z "/usr/lib" || /bin/mkdir -p "/usr/lib"
 /bin/sh ./libtool   --mode=install /usr/bin/install -c   libcapi20.la '/usr/lib'
libtool: install: /usr/bin/install -c .libs/libcapi20.so.3.0.6 /usr/lib/libcapi20.so.3.0.6
libtool: install: (cd /usr/lib && { ln -s -f libcapi20.so.3.0.6 libcapi20.so.3 || { rm -f libcapi20.so.3 && ln -s libcapi20.so.3.0.6 libcapi20.so.3; }; })
libtool: install: (cd /usr/lib && { ln -s -f libcapi20.so.3.0.6 libcapi20.so || { rm -f libcapi20.so && ln -s libcapi20.so.3.0.6 libcapi20.so; }; })
libtool: install: /usr/bin/install -c .libs/libcapi20.lai /usr/lib/libcapi20.la
libtool: install: /usr/bin/install -c .libs/libcapi20.a /usr/lib/libcapi20.a
libtool: install: chmod 644 /usr/lib/libcapi20.a
libtool: install: ranlib /usr/lib/libcapi20.a
libtool: finish: PATH="/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/sbin" ldconfig -n /usr/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/include" || /bin/mkdir -p "/usr/include"
 /usr/bin/install -c -m 644 capi20.h capiutils.h capicmd.h capi_mod.h capi_debug.h '/usr/include'
test -z "/usr/lib/capi" || /bin/mkdir -p "/usr/lib/capi"
 /bin/sh ./libtool   --mode=install /usr/bin/install -c   lib_capi_mod_fritzbox.la lib_capi_mod_rcapi.la lib_capi_mod_std.la '/usr/lib/capi'
libtool: install: warning: relinking `lib_capi_mod_fritzbox.la'
libtool: install: (cd /usr/src/capi20; /bin/sh /usr/src/capi20/libtool  --tag CC --mode=relink gcc -fno-strict-aliasing -g -O2 -shared -version-info 2:0:0 -no-undefined -o lib_capi_mod_fritzbox.la -rpath /usr/lib/capi lib_capi_mod_fritzbox_la-capi_mod_fritzbox.lo libcapi20.la -ldl )
libtool: relink: gcc -shared  -fPIC -DPIC  .libs/lib_capi_mod_fritzbox_la-capi_mod_fritzbox.o   -L/usr/lib -lcapi20 -lc -lrt -ldl  -O2   -Wl,-soname -Wl,lib_capi_mod_fritzbox.so.2 -o .libs/lib_capi_mod_fritzbox.so.2.0.0
libtool: install: /usr/bin/install -c .libs/lib_capi_mod_fritzbox.so.2.0.0T /usr/lib/capi/lib_capi_mod_fritzbox.so.2.0.0
libtool: install: (cd /usr/lib/capi && { ln -s -f lib_capi_mod_fritzbox.so.2.0.0 lib_capi_mod_fritzbox.so.2 || { rm -f lib_capi_mod_fritzbox.so.2 && ln -s lib_capi_mod_fritzbox.so.2.0.0 lib_capi_mod_fritzbox.so.2; }; })
libtool: install: (cd /usr/lib/capi && { ln -s -f lib_capi_mod_fritzbox.so.2.0.0 lib_capi_mod_fritzbox.so || { rm -f lib_capi_mod_fritzbox.so && ln -s lib_capi_mod_fritzbox.so.2.0.0 lib_capi_mod_fritzbox.so; }; })
libtool: install: /usr/bin/install -c .libs/lib_capi_mod_fritzbox.lai /usr/lib/capi/lib_capi_mod_fritzbox.la
libtool: install: warning: relinking `lib_capi_mod_rcapi.la'
libtool: install: (cd /usr/src/capi20; /bin/sh /usr/src/capi20/libtool  --tag CC --mode=relink gcc -fno-strict-aliasing -g -O2 -shared -version-info 2:0:0 -no-undefined -o lib_capi_mod_rcapi.la -rpath /usr/lib/capi lib_capi_mod_rcapi_la-capi_mod_rcapi.lo libcapi20.la -ldl )
libtool: relink: gcc -shared  -fPIC -DPIC  .libs/lib_capi_mod_rcapi_la-capi_mod_rcapi.o   -L/usr/lib -lcapi20 -lc -lrt -ldl  -O2   -Wl,-soname -Wl,lib_capi_mod_rcapi.so.2 -o .libs/lib_capi_mod_rcapi.so.2.0.0
libtool: install: /usr/bin/install -c .libs/lib_capi_mod_rcapi.so.2.0.0T /usr/lib/capi/lib_capi_mod_rcapi.so.2.0.0
libtool: install: (cd /usr/lib/capi && { ln -s -f lib_capi_mod_rcapi.so.2.0.0 lib_capi_mod_rcapi.so.2 || { rm -f lib_capi_mod_rcapi.so.2 && ln -s lib_capi_mod_rcapi.so.2.0.0 lib_capi_mod_rcapi.so.2; }; })
libtool: install: (cd /usr/lib/capi && { ln -s -f lib_capi_mod_rcapi.so.2.0.0 lib_capi_mod_rcapi.so || { rm -f lib_capi_mod_rcapi.so && ln -s lib_capi_mod_rcapi.so.2.0.0 lib_capi_mod_rcapi.so; }; })
libtool: install: /usr/bin/install -c .libs/lib_capi_mod_rcapi.lai /usr/lib/capi/lib_capi_mod_rcapi.la
libtool: install: warning: relinking `lib_capi_mod_std.la'
libtool: install: (cd /usr/src/capi20; /bin/sh /usr/src/capi20/libtool  --tag CC --mode=relink gcc -fno-strict-aliasing -g -O2 -shared -version-info 2:0:0 -no-undefined -o lib_capi_mod_std.la -rpath /usr/lib/capi lib_capi_mod_std_la-capi_mod_std.lo libcapi20.la -ldl )
libtool: relink: gcc -shared  -fPIC -DPIC  .libs/lib_capi_mod_std_la-capi_mod_std.o   -L/usr/lib -lcapi20 -lc -lrt -ldl  -O2   -Wl,-soname -Wl,lib_capi_mod_std.so.2 -o .libs/lib_capi_mod_std.so.2.0.0
libtool: install: /usr/bin/install -c .libs/lib_capi_mod_std.so.2.0.0T /usr/lib/capi/lib_capi_mod_std.so.2.0.0
libtool: install: (cd /usr/lib/capi && { ln -s -f lib_capi_mod_std.so.2.0.0 lib_capi_mod_std.so.2 || { rm -f lib_capi_mod_std.so.2 && ln -s lib_capi_mod_std.so.2.0.0 lib_capi_mod_std.so.2; }; })
libtool: install: (cd /usr/lib/capi && { ln -s -f lib_capi_mod_std.so.2.0.0 lib_capi_mod_std.so || { rm -f lib_capi_mod_std.so && ln -s lib_capi_mod_std.so.2.0.0 lib_capi_mod_std.so; }; })
libtool: install: /usr/bin/install -c .libs/lib_capi_mod_std.lai /usr/lib/capi/lib_capi_mod_std.la
libtool: finish: PATH="/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/sbin" ldconfig -n /usr/lib/capi
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/lib/capi

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/lib/pkgconfig" || /bin/mkdir -p "/usr/lib/pkgconfig"
 /usr/bin/install -c -m 644 capi20.pc '/usr/lib/pkgconfig'
make[1]: Leaving directory `/usr/src/capi20'
[root@10 capi20]#




[root@10 capi20]# nano /etc/capi20.conf


REMOTE fritzbox ip.fritzbox 5031

Ctrl+o

enter

Ctrl+x




Schritt 2: chan_capi installieren
patch tool installieren und asterisk sourcen holen

Code:
yum install patch
yum install asterisk11-devel




[root@10 capi20]# yum install patch

Loaded plugins: fastestmirror, kmod
Setting up Install Process
base                                                                          | 2.0 kB     00:00
base/primary                                                                  | 2.6 MB     00:02
base                                                                                       6520/6520
extras                                                                        | 1.3 kB     00:00
extras/primary                                                                |  15 kB     00:00
extras                                                                                         38/38
pbx                                                                           | 2.9 kB     00:00
pbx/primary_db                                                                | 1.6 MB     00:01
schmooze-commercial                                                           | 2.9 kB     00:00
schmooze-commercial/primary_db                                                | 100 kB     00:00
updates                                                                       | 1.3 kB     00:00
updates/primary                                                               | 3.0 MB     00:02
updates                                                                                    1367/1367
Resolving Dependencies
--> Running transaction check
---> Package patch.x86_64 0:2.6-6.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================
 Package               Arch                   Version                     Repository            Size
=====================================================================================================
Installing:
 patch                 x86_64                 2.6-6.el6                   base                  90 k

Transaction Summary
=====================================================================================================
Install       1 Package(s)

Total download size: 90 k
Installed size: 172 k
Is this ok [y/N]: y
Downloading Packages:
patch-2.6-6.el6.x86_64.rpm                                                    |  90 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : patch-2.6-6.el6.x86_64                                                            1/1
  Verifying  : patch-2.6-6.el6.x86_64                                                            1/1

Installed:
  patch.x86_64 0:2.6-6.el6

Complete!
[root@10 capi20]#




[root@10 capi20]# yum install asterisk11-devel

Loaded plugins: fastestmirror, kmod
Setting up Install Process
Determining fastest mirrors
Resolving Dependencies
--> Running transaction check
---> Package asterisk11-devel.x86_64 0:11.25.1-1.shmz65.1.113 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================
 Package                    Arch             Version                             Repository     Size
=====================================================================================================
Installing:
 asterisk11-devel           x86_64           11.25.1-1.shmz65.1.113              pbx           374 k

Transaction Summary
=====================================================================================================
Install       1 Package(s)

Total download size: 374 k
Installed size: 1.6 M
Is this ok [y/N]: y
Downloading Packages:
asterisk11-devel-11.25.1-1.shmz65.1.113.x86_64.rpm                            | 374 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : asterisk11-devel-11.25.1-1.shmz65.1.113.x86_64                                    1/1
  Verifying  : asterisk11-devel-11.25.1-1.shmz65.1.113.x86_64                                    1/1

Installed:
  asterisk11-devel.x86_64 0:11.25.1-1.shmz65.1.113

Complete!
[root@10 capi20]#




[root@10 capi20]# cd /usr/src


[root@10 src]# curl -O [URL]ftp://ftp.chan-capi.org/chan-capi/chan_capi-HEAD.tgz[/URL]

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  265k  100  265k    0     0   193k      0  0:00:01  0:00:01 --:--:--  370k

[root@10 src]# tar xzf chan_capi-HEAD.tgz

[root@10 src]# cd chan-capi-HEAD

[root@10 chan-capi-HEAD]# nano Makefile


Code:
USE_OWN_LIBCAPI=no


Code:
MODULES_DIR=$(INSTALL_PREFIX)/usr/lib64/asterisk/modules


Ctrl+o

enter

Ctrl+x



[root@10 chan-capi-HEAD]#




Schließlich noch auf der shell ausführen:

Code:
make -j 2
make install
make install_config



[root@10 chan-capi-HEAD]# make -j 2

./create_config.sh "/usr/include"
Checking Asterisk version... 11.23.1
 * found Asterisk version 11
Using Asterisk 11.0 API
 * found new 'ast_dsp_set_digitmode' function
 * found new union data in ast_frame structure
 * found new union subclass in ast_frame structure
 * found ast_channel_release function
 * found new ast_devstate2str function
 * found ast_devstate_cache in ast_devstate_changed function
 * found requestor in ast_request
 * no format_t in ast_request
 * found const char in ast_register_application
 * found linkedid in ast_channel_alloc
 * no format_t in frame_defs
 * found rtp_engine.h
 * found ast_sockaddr structure
config.h complete.

 [CC] chan_capi.c -> chan_capi.o
 [CC] chan_capi_utils.c -> chan_capi_utils.o
 [CC] chan_capi_rtp.c -> chan_capi_rtp.o
 [CC] chan_capi_command.c -> chan_capi_command.o
 [CC] xlaw.c -> xlaw.o
 [CC] dlist.c -> dlist.o
 [CC] chan_capi_qsig_core.c -> chan_capi_qsig_core.o
 [CC] chan_capi_qsig_ecma.c -> chan_capi_qsig_ecma.o
 [CC] chan_capi_qsig_asn197ade.c -> chan_capi_qsig_asn197ade.o
 [CC] chan_capi_qsig_asn197no.c -> chan_capi_qsig_asn197no.o
 [CC] chan_capi_supplementary.c -> chan_capi_supplementary.o
 [CC] chan_capi_chat.c -> chan_capi_chat.o
 [CC] chan_capi_mwi.c -> chan_capi_mwi.o
 [CC] chan_capi_cli.c -> chan_capi_cli.o
 [CC] chan_capi_ami.c -> chan_capi_ami.o
 [CC] chan_capi_management_common.c -> chan_capi_management_common.o
 [CC] chan_capi_devstate.c -> chan_capi_devstate.o
 [LD] chan_capi.so (chan_capi.o chan_capi_utils.o chan_capi_rtp.o chan_capi_command.o xlaw.o dlist.o chan_capi_qsig_core.o chan_capi_qsig_ecma.o chan_capi_qsig_asn197ade.o chan_capi_qsig_asn197no.o chan_capi_supplementary.o chan_capi_chat.o chan_capi_mwi.o chan_capi_cli.o chan_capi_ami.o chan_capi_management_common.o chan_capi_devstate.o)
[root@10 chan-capi-HEAD]#


[root@10 chan-capi-HEAD]# make install

install -d -m 755 /usr/lib64/asterisk/modules
for x in chan_capi.so; do install -m 755 $x /usr/lib64/asterisk/modules ; done
[root@10 chan-capi-HEAD]#



[root@10 chan-capi-HEAD]# make install_config

install -d -m 755 /etc/asterisk
install -m 644 capi.conf /etc/asterisk
[root@10 chan-capi-HEAD]#







Schritt 3: Asterisk konfigurieren

in /etc/asterisk/modules.conf folgende Zeilen einfügen:
Code:

load => chan_capi.so



[root@10 chan-capi-HEAD]# nano /etc/asterisk/modules.conf



Ctrl+o

enter

Ctrl+x




datei /etc/asterisk/extensions_custom.conf öffnen und folgendes anfügen
Code:

; dieser Context (isdn-in) muss zum Eintrag in /etc/asterisk/capi.conf passen!
[isdn-in]
include => from-pstn


Ctrl+o

enter

Ctrl+x




schließlich
Code:

amportal restart


[root@10 chan-capi-HEAD]# amportal restart

Please wait...

/var/lib/asterisk/bin/freepbx_engine: line 222: /var/lib/asterisk/bin/freepbx_engine_hook_sysadmin: No such file or directory
!!!!amportal is depreciated. Please use fwconsole!!!!
forwarding all commands to 'fwconsole'
Running FreePBX shutdown...

Shutting down Asterisk Gracefully. Will forcefully kill after 30 seconds.
Press C to Cancel
Press N to shut down NOW
[============================] 1 sec
Running FreePBX startup...
Starting Asterisk...
[============================] 1 sec
Asterisk Started
[root@10 chan-capi-HEAD]#




nun kann man im asterisk cli prüfen ob alles geklappt hat
Code:

[root@10 chan-capi-HEAD]# rasterisk
Asterisk 11.23.1, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <[email protected]>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 11.23.1 currently running on 10 (pid = 5208)


10*CLI> capi info
No such command 'capi info' (type 'core show help capi info' for other possible commands)
10*CLI>
 
Zuletzt bearbeitet:
Ist das Übersetzen des chan_capi ohne Fehler durchgelaufen? Was sagt module load chan_capi?
 
Code:
[root@10 chan-capi-HEAD]# rasterisk
Asterisk 11.23.1, Copyright (C) 1999 - 2013 Digium, Inc. and others.
Created by Mark Spencer <[email protected]>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 11.23.1 currently running on 10 (pid = 6721)
10*CLI> capi info
No such command 'capi info' (type 'core show help capi info' for other possible commands)
10*CLI> load chan_capi
No such command 'load chan_capi' (type 'core show help load chan_capi' for other possible commands)
10*CLI>

- - - Aktualisiert - - -

in MODULES_DIR=$(INSTALL_PREFIX)/usr/lib64/asterisk/modules

ca2853ba4ecb4bb48ef3eb022a03a96a.png


muss ich die dateien von /usr/lib/capi nach /usr/lib64/asterisk/modules kopieren?

Screenshot_2.jpg

oder von /usr/lib nach /usr/lib64/asterisk/modules

Screenshot_3.jpg

- - - Aktualisiert - - -

also.... habe diese dateien nach /usr/lib64/ kopiert

Screenshot_4.jpg

und

Code:
10*CLI> capi info
Common ISDN API Driver ($Revision: 963 $) [URL="http://www.chan-capi.org"]www.chan-capi.org[/URL]
Contr1: 2 B channels total, 2 B channels free.
Contr2: 2 B channels total, 2 B channels free. (unused)
Contr3: 2 B channels total, 2 B channels free. (unused)
Contr4: 1 B channels total, 1 B channels free. (unused)
Contr5: 3 B channels total, 3 B channels free. (unused)
10*CLI>


;)

- - - Aktualisiert - - -

habe einen custom trunk gemaht

Screenshot_6.jpg

outbound route ist ok

inbound route mit der msn 307

Screenshot_7.jpg

in cli...

Code:
> [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('CHAN_START',{ts '2017-02-23 16:06:22.197713'},'','60','','','','307','isdn-in','CAPI/ISDN1#02/307-0','','',3,'','1487858782.1','1487858782.1','','','')]
       > [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('HANGUP',{ts '2017-02-23 16:06:27.911359'},'','60','60','','307','307','isdn-in','CAPI/ISDN1#02/307-0','','',3,'','1487858782.1','1487858782.1','','','')]
       > [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('CHAN_END',{ts '2017-02-23 16:06:27.911407'},'','60','60','','307','307','isdn-in','CAPI/ISDN1#02/307-0','','',3,'','1487858782.1','1487858782.1','','','')]
       > [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('LINKEDID_END',{ts '2017-02-23 16:06:27.911418'},'','60','60','','307','307','isdn-in','CAPI/ISDN1#02/307-0','','',3,'','1487858782.1','1487858782.1','','','')]

telefon klingelt aber nicht!!!

- - - Aktualisiert - - -

in der capi.conf

immediate=yes

alles OK



kan man 2 oder 3 fritzboxen in der /etc/capi20.conf eintragen?
 
In der Grundeinstellung (Neue Box) ist "CAPI-over-TCP" nicht aktiviert.

Deswegen meine Frage: Wurde obiges mittels angeschlossenen DECT/ISDN/Analog Telefon mit dem Telefoncode auch schon aktiviert?

WHMF: http://www.wehavemorefun.de/fritzbox/CAPI-over-TCP
 
Zuletzt bearbeitet:
Aktivierung des Servers

Tastencodes

Tastencode Firmw. Funktion
#96*3* 3.101 CAPI-over-TCP aktivieren
#96*2* 3.101 CAPI-over-TCP deaktivieren

ich habe es mit analog telefon gemacht

- - - Aktualisiert - - -

...bin in der suche... wie ich eine zweite fritz mit capi an den pbx server installiere!!!
 
Kleines Update: Inzwischen ist chan_capi auch für Asterisk 13 geupdated worden. Getestet habe ich es nicht, aber es müsste jetzt wie beschrieben auch unter Asterisk 13 funktionieren.

Edit: Ich habe das ganze erfolgreich mit Asterisk 13 getestet und die Anleitung entsprechend ergänzt
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.