We can discuss the details later!

This and that.

asterisk auf FreeBSD

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]