Letztes update: 13.11.2007
Hier halte ich meinen Versuch fest, asterisk auf FreeBSD mit einer AVM FritzCard zum laufen zu bringen. Diese Seite wird parallel zu meiner Installation aktualisiert und ist in erster Linie für mich selber gedacht, daher keine Garantie auf irgendetwas. Berichtigungen, Anmerkungen etc. gerne in den Kommentaren.
Ich installiere auf FreeBSD 6.2-RELEASE-p8, asterisk1.4 1.4.11, asterisk-addons1.4 1.4.2, ISDN4BSD revision 544, chan-capi-hps revision 544
Als erstes WITHOUT_X11=true
in /etc/make.conf
ergänzen, falls nötig.
asterisk installieren:
# cd /usr/ports/net/asterisk
# make install clean
# cd /usr/ports/net/asterisk-addons
# make install clean
falls nicht vorhanden, Kernel sourcen installieren, zb mit
# cvsup /usr/share/examples/cvsup/stable-supfile
vorher in /usr/share/examples/cvsup/stable-supfile
editieren, zb:
*default host=cvsup3.FreeBSD.org
Sourcen für ISDN4BSD und chan-capi auschecken, zb nach /tmp
:
% svn --username anonsvn --password anonsvn checkout \
svn://svn.turbocat.net/i4b
# cd i4b/trunk/i4b/FreeBSD.i4b
# make S=../src package
# make install
Jetzt kommt der eklige Teil, Kernel bauen. Bä! Wir folgen dem FreeBSD Handbuch:
# cd /usr/src/sys/i386/conf
# mkdir /root/kernels
# cp GENERIC /root/kernels/isdn_kernel
# ln -s /root/kernels/isdn_kernel
Jetzt /root/kernels/isdn_kernel
editieren, sicher gehen, dass:
# I4B section
#
options IPR_VJ
device "i4bdss1"
device "i4b"
device "i4btrc"
device "i4bctl"
device "i4brbch"
device "i4btel"
device "i4bipr"
device "i4bisppp"
#
# If you need more than 8 units please
# edit "/usr/src/sys/i4b/include/i4b_global.h",
# until further.
#
device ihfc
device usb
device pcm
#or device sound
#if device pcm does not exist
enhalten ist und bei der Gelegenheit noch ein bisschen unnützes Zeug raus, ISA, nicht verwendete Netzwerkadapter etc (bei mir "device sound" anstatt "device pcm").
Dann
# cd /usr/src
# make buildkernel KERNCONF=isdn_kernel
je nach Rechner etwas oder gerne auch etwas länger (VIA C3 1.1Ghz ...) warten, anschließend installieren mit:
# make installkernel KERNCONF=isdn_kernel
Als nächstes chan_capi installieren und bauen:
cd /tmp/i4b/trunk/chan_capi
gmake all install
/usr/local/etc/asterisk/capi.conf
editieren:
[general]
nationalprefix=0
internationalprefix=00
rxgain=1.0
txgain=1.0
language=de
[ISDN1]
isdnmode=msn
incomingmsn=538
controller=0 ;ISDN4BSD default (first controller)
group=1 ;dialout group
;prefix=0 ;set a prefix to calling number on incoming calls
softdtmf=on ;software dtmf detection,rec. for AVM cards
relaxdtmf=off
accountcode=
context=isdn_incoming
holdtype=local
immediate=yes
echocancel=no
echosquelch=no
devices=1
[ISDN1]
Interface Name
isdnmode=msn
:ISDN-Modus, FritzCard unterstützt nur msn
incomingmsn=538
: asterisk nimmt Anruf nur an, wenn dieser an eine Rufnummer geht, die mit 538 beginnt(damit asterisk nicht an jeden Anruf geht)
Jetzt in /usr/local/etc/asterisk/modules.conf
einen Haufen Module die wir (derzeit) nicht brauchen nicht laden:
noload => app_intercom.so
noload => chan_modem.so
noload => chan_modem_aopen.so
noload => chan_modem_bestdata.so
noload => chan_modem_i4l.so
noload => res_config_mysql.so
noload => cdr_addon_mysql.so
noload => res_musiconhold.so
noload => chan_skinny.so
noload => chan_zap.so
noload => codec_zap.so
noload => app_addon_sql_mysql.so
noload => app_saycountpl.so
noload => res_odbc.so
noload => cdr_odbc.so
noload => res_config_odbc.so
noload => format_jpeg.so
auskommentieren, wegen Fehler mit mpeg123, wird hoffentlich später wieder geladen.
dafür mit
[global]
chan_capi.so=yes
dafür sorgen, dass chan_capi auch geladen wird.
Jetzt kann man ganz normale asterisk konfigurieren. Auf Wunsch schnell noch ein asterisk_enable="YES"
in /etc/rc.conf
und fertig.
[tags]isdn, ISDN4BSD, i4b, capi, chan_capi, capi4pbx, asterisk, FreeBSD, BSD, FritzCard[/tags]