How to Asterisk PBX with ISDN and FritzCard PCI on Linux
This article shows how you can use Asterisk PBX with ISDN and FritzCard PCI on Linux Ubuntu Server / OpenSuse on a Easybox 904-S0 / Y-Cable. Have fun!
Setup FritzCard ISDN driver
Opensuse leap 15.2
# Setup repository lp152-19 oldkernel!
# Add 15.2 Leap Repository if not present:
zypper clean -a
zypper ar -f -c http://download.opensuse.org/distribution/leap/15.2/repo/oss/ OLDKERNEL-FRITZ-ISDN-15.2
## Install Kernel / Initram and reboot system:
# Search kernel .*lp152.19.2
# zypper se -su -r $ISDN_REPO 'kernel-def*' | grep -i lp152.19.2
# Add oldkernel to /etc/zypp/zypp.conf for preventing purge next time!
# multiversion.kernels = latest,oldest,running
# Install
zypper install --oldpackage kernel-default-5.3.18-lp152.19.2
## FCPCI driver install
# Import rpm key
rpm --import https://fkn-systems.de/_repos/FKN-Repo_-_fcpci_opensuse_leap.15.2/repodata/repomd.xml.key
# If some armored erros:
# wget http://www.fkn-systems.de/_repos/FKN-Repo_-_fcpci/repodata/repomd.xml.key -O - | sed -e '$a\' > repomd.xml.key
# rpm --import repomd.xml.key
# rpm --query --all "gpg-pubkey*"
# Remove old repositories
zypper lr -u && zypper rr FKN-Systems_-_Repo_-_fcpci*
# Add FKNS Repository:
REPO='FKN-Repo_-_fcpci_opensuse_leap.15.2'
zypper ar -f -c http://www.fkn-systems.de/_repos/${REPO}/ Fritzcard_Repo
# Get some info an cleanup
zypper clean -a && zypper ref
# Install (Reinstall: - reinstall) fcpci driver
zypper in fcpci
# Install ISDN Tools (capiutils - i4l (isdn)) (Optional ant-phone minicom)
zypper in capisuite capi4linux libcapi20-3 i4l-base i4l-isdnlog
## Setup driver blacklist / udev
cat << EOF >>/etc/udev/rules.d/46-FKN_isdn_capi.rules
# Symlink (capi20 -> capi) zu
# Kompatibilitaetszwecken erstellen
KERNEL=="capi", SYMLINK="capi20"
EOF
cat << EOF >>/etc/modprobe.d/50-blacklist.conf
#blacklist fcpci
blacklist avmfritz
blacklist mISDNipac
EOF
# Reload force udev rules
udevadm control --reload-rules && udevadm trigger
# Get Capitools start info (See some B Channels there?)
capiinit start && capiinfo
# check
# uname -srvpio ; rpm -qa | grep fcpci ; sha1sum -b /lib/modules/*-desktop/kernel/extras/fcpci.ko ; lsmod | grep -i capi ; lspci | grep -i avm
RPM.key Optional fix
cat << EOF > isdn.key
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.0 (GNU/Linux)
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
AJwI7mtkVGV0xoE5w3NjuLmat++MDA==
=cqHb
-----END PGP PUBLIC KEY BLOCK-----
EOF
rpm --import isdn.key
Extra stuff: Loading ant-phone / ISDN Pipe issus
# AT ISDN errors create-devices
mknod /dev/ippp0 c 45 128
mknod /dev/isdnctrl0 c 45 64
mknod /dev/isdn0 c 45 0
mknod /dev/isdninfo c 45 255
#
# Loading GTK ant-phone with sudo user
su - <normaluser> or exit
xhost +local:root
sudo su
export DISPLAY=:0.0
Ubuntu Server 14.04 LTS
## Install tools and driver
# Copy the following line and paste it into a terminal.
# URL: https://belug.de/~lutz/pub/fcpci/
wget -O install.sh https://belug.de/~lutz/pub/fcpci/install3100.sh ; chmod +x install.sh ; sudo ./install.sh
modprobe -rf fcpci
modprobe -rf avmfritz
modprobe -v fcpci
## setup driver blacklist / udev
echo "blacklist avmfritz" > /etc/modprobe.d/blacklist-avmfritz.conf
sed 's/#fcpci/fcpci/g' -i /etc/isdn/capi.conf
cat << EOF >> /etc/modules:
# Fritz!Card
capidrv
capi
fcpci
EOF
## Install additional software
apt update && apt install capiutils ant-phone isdnutils-base isdnlog
capiinit start && capiinfo
First test with capifax
capifax -c <MSN> <PHONENUMBER> <(echo "hello world")
Setup Asterisk with chan-capi module
Install asterisk software
# Setup asterisk on system -> example 15.3 repo asterisk 13
zypper ar -f -c https://download.opensuse.org/repositories/home:/vicidial:/asterisk-13/openSUSE_Leap_15.3/ Asterisk_13_repo
zypper install asterisk
Install and compile chan-capi module
Start asterisk / Create desktop shortcut
asterisk -vvvvvvvc
# detached by service
systemctl restart asterisk && asterisk -vvvvvvvr
## Adding desktop icon shortcut:
cat << EOF > /home/user/asteriskstart.desktop
[Desktop Entry]
Comment[de_DE]=
Comment=
Exec=konsole -e "/home/user/start_asterisk_pbx.sh"
GenericName[de_DE]=
GenericName=
Icon=plasma-mobile-phone
MimeType=
Name[de_DE]=Start PBX
Name=Start-Asterisk_pbx
Path=/home/user/SCRIPTS/
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
EOF
start_asterisk_pbx.sh
#!/bin/bash
echo "Starting Asterisk"
echo
sleep 3
echo "-- ADDING FCPCI module"
sudo modprobe -v fcpci
sleep 2
systemctl stop SuSEfirewall2
#systemctl restart asterisk.service
echo
echo "and go asterisk remote to service -- else -r"
echo
echo "---------------------------------------------"
echo
sleep 2
sudo asterisk -vvvvvvvc
#exit 0
Asterisk configure Files
asterisk.conf
# hs
modules.conf
[modules]
autoload=yes
noload => pbx_gtkconsole.so
load => res_musiconhold.so
noload => chan_alsa.so
noload => chan_console.so
noload => res_hep.so
noload => res_hep_pjsip.so
noload => res_hep_rtcp.so
capi.conf
[general]
nationalprefix = 0
internationalprefix = 49
txgain = 1.0
rxgain = 1.0
use_smoother = yes
max_bchans=2
language=de ;set default language
[rcapi]
[ISDN1] ;this example interface gets name 'ISDN1' and may be any
;name not starting with 'g' or 'contr'.
ntmode=no ;if isdn card operates in nt mode, set this to yes
isdnmode=msn ;'MSN' (point-to-multipoint) or 'DID' (direct inward dial)
;when using NT-mode, 'DID' should be set in any case
incomingmsn=*
defaultcid=* ;set a default caller id to that interface for dial-out,
;this caller id will be used when dial option 'd' is set.
controller=1 ;capi controller number to use
group=1 ;dialout group
softdtmf=on ;enable/disable software dtmf detection, recommended for AVM cards
relaxdtmf=on ;in addition to softdtmf, you can use relaxed dtmf detection
accountcode= ;Asterisk accountcode to use in CDRs
context=capiisdnin ;context for incoming calls
;set to 'local' (default value), no hold is done and Asterisk may
;play MOH.
immediate=yes ;DID: immediate start of pbx with extension 's' if no digits were
; received on incoming call (no destination number yet)
;MSN: start pbx on CONNECT_IND and don't wait for SETUP/SENDING-COMPLETE.
; info like REDIRECTINGNUMBER may be lost, but this is necessary for
; drivers/pbx/telco which does not send SETUP or SENDING-COMPLETE.
;(possible values: 'no', 'yes', 'force', 'g164', 'g165')
echocancelold=yes;use facility selector 6 instead of correct 8 (necessary for older eicon drivers)
bridge=no ;native bridging (CAPI line interconnect) if available
devices=2 ;number of concurrent calls on this controller
;(2 makes sense for single BRI, 30 for PRI)
sip.conf
[general]
port=5566 ; Port des SIP-Servers
bindport=5566
bindaddr=0.0.0.0 ; Bei Multihost (Host hat mehrere IP-Adressen) angeben
;externip=123.123.123.123 ; Externe IP-Adresse (für NAT)
localnet=192.16.0.0 ; lookupskales Subnetz (wichtig bei NAT)
localmask=255.255.255.0
context=main ; Eingehende Anrufe kommen in den Kontext [main]
disallow=all ; Erst alle Codecs ausschlissen, dann
;allow=all
allow=ulaw ; Codecs in der folgenden Reihenfolge erlauben
allow=alaw ; ulaw (G.711 für USA), alaw (G.711 für Europa)
allow=gsm
allow=g723
allow=g726
allow=speex
;srvlookup=yes ; Enable DNS SRV lookups on outbound calls
;canreinvite=no ; Stellt HW-Kompatibilität sicher
vmexten=60 ; voicemail stuff:
language=de ; vm...
qualify=yes ; Sends ping of life every X secs or on or off
alwaysauthreject=yes ; Some username reject security
prematuremedia=no
progressinband=yes
; register => asterisk:pass@172.2.2.2/asterisk
;register => asterisk:pass@172.2.2.2/626
;[626]
[asterisk]
type=friend
context=in-outbound-call
defaultuser=asterisk
fromuser=asterisk
fromdomain=172.2.2.2
secret=pass
host=172.2.2.2 ; Der Vertrieb ist mobil und wechselt eventuell die IP-Adresse
insecure=invite
;insecure=very
;nat=force_rport,comedia
;nat=no
;[ISDN CAPI]
[MSN_MAIN_NUMBER]
type=friend ; friend user peer
context=in-outbound-call
defaultuser=extern
secret=pass ; Der Vertrieb ist mobil und wechselt eventuell die IP-Adresse
insecure=invite
;insecure=very
;nat=force_rport,comedia
;nat=no
[analog01]
;DIAL MIT *122# <INTERN-NR>
callerid=Analog 01 phone <111>
type=friend
username=analog01
secret=pass
mailbox=111
host=dynamic
;host=172.16.3.3.3
;domain=192.168.1.1
callgroup=1
pickupgroup=1
[suuhmer]
callerid=suuhmer <10>
type=friend
username=suuhm
secret=pass
dtmfmode=rfc2833 entsprechend RFC
host=dynamic
[11]
callerid=Call <11>
type=friend
username=11
secret=pass
mailbox=11
host=dynamic
;domain=192.168.1.2
callgroup=1
pickupgroup=1
[12]
callerid=Esszimmer <12>
type=friend
username=12
secret=pass2
host=dynamic
;context=from-internal
nat=force_rport,comedia
[buero]
callerid=buero <13>
type=friend
username=buero ; Standardeinstellung: Benutzer ist »user« und »peer« zugleich
secret=pass ; Passwort für Telefon ; Benutzername für Telefon
dtmfmode=rfc2833 ; Tastentöne nach Anwahl entsprechend RFC
host=dynamic ; Der Vertrieb ist mobil und wechselt eventuell die IP-Adresse
;context=nebenstelle1
extensions.conf
; asterisk -rvvv
; sip show peers
; sip set debug on
; dialplan reload ; sip reload
[general]
;static=yes
writeprotect=no
autofallthrough=no
[ansagen-demo]
exten => 601,1,Answer()
; FIX FOR FREETZ:
; ln -s /var/media/ftp/uStor01/asterisk/atdata/sounds/ /var/lib/asterisk/
; LOCATING /var/lib/asterisk/sounds/tt-monkeysintro
exten => 601,n,Playback(tt-monkeysintro)
exten => 601,n,Playback(tt-monkeys)
[echotest]
exten => 602,1,answer
exten => 602,n,Wait(1)
exten => 602,n,playback(demo-echotest)
exten => 602,n,echo
exten => 602,n,playback(demo-echodone)
exten => 602,n,hangup
[musiconholdd]
exten => 666,1,Answer()
same => n,Wait(2)
same => n,MusicOnHold()
[incoming-out]
exten => 1333711,1,Goto(intern,10,1)
[in-outbound-call]
;inbound calls
exten => asterisk,1,NoOp(*** Interner Anruf auf ${EXTEN} ***)
exten => asterisk,n,GotoIfTime(8:00-18:00,mon-fri,*,*?intern,1,1)
;exten => asterisk,n,GoSub(timecheck,subnr,1)
exten => asterisk,n,Playback(tt-monkeys)
exten => asterisk,n,Hangup()
[capiisdnin]
exten => MSN_NR,1,NoOp(*** Interner Anruf auf ${EXTEN} ***)
exten => MSN_NR,n,GotoIfTime(8:00-18:00,mon-fri,*,*?intern,1,1)
exten => MSN_NR,n,Playback(tt-monkeys)
exten => MSN_NR,n,Hangup()
;; Intern *3#1011 Isdn -> 1011 (#101*302)
exten => _.,1,NoOp(*** Interner *3#1011 ISDN => ${EXTEN} ***)
exten => same,1,Dial(SIP/11,30,TtrWw)
exten => same,n,Playback(tt-monkeys)
exten => same,n,Hangup()
[intern]
exten => 111,1,Dial(SIP/analog01,30,TtrWw)
same => n,Hangup()
;same => n,MusicOnHold()
exten => 10,1,Dial(SIP/suuhmer,30,TtrWw)
same => n,Hangup()
;same => n,MusicOnHold()
exten => 11,1,NoOp(Rufen mich mal an den test inbound an :D)
same => n,dial(SIP/11,30,TtrWw)
;same => n,MusicOnHold()
same => n,Hangup()
;exten => 12,1,answer
;same => n,Playback(something-terribly-wrong)
;same => n,wait(5)
exten => 13,1,NoOp(Rufe 13 an buero)
same => n,dial(SIP/buero,30,TtrWw)
same => n,Hangup()
exten => 1010,1,Dial(SIP/suuhmer,30,TtrWw)
same => n,Hangup()
exten => 1011,1,Dial(SIP/11,30,TtrWw)
same => n,Hangup()
exten => 1013,1,Dial(SIP/buero,30,TtrWw)
same => n,Hangup()
exten => 1,1,Dial(SIP/suuhmer&SIP/11&SIP/buero&SIP/analog01,60)
same => n,Hangup()
exten => *555,1,VoiceMailMain(11)
same => n,Record(/tmp/555record.wav,5,20)
same => n,Hangup
exten => *777,1,VoiceMailMain(11)
same => n,Hangup
;calling analog buero
exten => 555,1,NoOp(*** EXterner ISDN CAPI Anruf calling analog buero auf: *1 ***)
exten => same,n,Dial(CAPI/ISDN1/*301)
exten => same,n,Hangup()
;;else..
;; letzten 3 zahlen ${EXTEN:-3}
;; erste stelle weg ${EXTEN:1}
;exten => _XXXX,1,Dial(SIP/${EXTEN},55,TtrWw)
;same => _0X.,1,Dial(SIP/${EXTEN:1}@testcenter,20,r)
;;Amtholung Outbound-Calls:
;;exten => _0X.,1,NoOp(*** EXterner Anruf auf: ${EXTEN:1} ***)
;exten => _0X.,n,Set(CALLERID(num)=44206660)
;exten => _0X.,n,Dial(SIP/${EXTEN:1}@626,45,r)
;;exten => _0X.,n,Dial(SIP/${EXTEN:1}@asterisk)
;;exten => _0X.,n,Hangup()
;;Amt 99 ISDN Outbound-Calls:
exten => _55X.,1,NoOp(*** EXterner ISDN CAPI Anruf auf: ${EXTEN:2} ***)
exten => _55X.,n,Dial(CAPI/ISDN1/${EXTEN:2})
exten => _55X.,n,Hangup()
;;Amt -> # ISDN Outbound-Intern-Calls:
exten => _000.,1,NoOp(*** Interne ISDN CAPI auf: ${EXTEN:3} ***)
exten => _000.,n,Dial(CAPI/ISDN1/${EXTEN:3})
exten => _000.,n,Hangup()
;; SPOOF CALLER
;exten => _[0-9].,1,NoOp(#### [SET P CALLER ID] ####)
;exten => _[0-9].,n,Set(CALLERID(num)=442077677)
exten => i,1,Hangup()
exten => h,1,Hangup()
exten => t,1,Hangup()
[main]
include => ansagen-demo
include => echotest
include => musiconholdd
;; SETUPS
;; RANGFOLGE BEACHTEN!
include => intern
include => incoming-out
include => capiisdnin
include => in-outbound-call