Asterisk Linux Fedora

Fedora 9

Fedora 9 provides asterisk packages that may be installed using yum. See Open source telephony: a Fedora-based VoIP server with Asterisk for documentation covering the installation and configuration of the Fedora packages.

Fedora Core 6

Tutorial

http://www.voip-info.org/wiki/view/Installing+Asterisk+1.2.17+on+Fedora+Core+6+%28zod%29

Fedora Core 5

Asterisk

If you get an error while compiling saying that ld cannot find -lssl, install openssl-devel.

Zaptel

Zaptel will not compile against the stock FC5 kernel, due to a bug in the kernel. You will get an error message like "module format invalid" when you try to modprobe the zaptel modules. To make zaptel work with FC5, download an updated kernel. (As of 27 March 2006, the updated kernel has not yet been released, but can be downloaded from http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/5/. You'll want the get both the kernel and kernel-devel RPMs for your particular architecture.) -jsmith

Using a recently downloaded Fedora 5 (as of 9/18/2006) I had trouble, but got it to work after some time. It would be nice if the zaptel developers tested it on Fedora. After downloading the source, I had to edit the create /usr/src/kernels and link 2.6.15-1.2054_FC5-i686 to /usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.noarch

After doing this, the zaptel make could find the kernel source. (BTW, I don't think you need to actually build the kernel, and note that the config used for the installed kernel is in /boot. Replace the .config and "make oldconfig") However, zaptel won't compile.

I had to comment out the "owner" lines in wcusb.c and xpp/xpp_usb.c. Then I could compile it fine. However, it wouldn't install properly since it was trying to install to /lib/modules/2.6.15-prep, not /usr/lib/2.6.15-1.2054_FC5. To fix this, edit the line in the linux Makefile to have EXTRAVERSION = -1.2054_FC5. Then it will install fine. After a "make config" in zaptel, I could run "/etc/init.d/zaptel start" and it came up OK. --nfranke


Fedora Core 4

  • Installation similar to FC3 with the following exception if you are building zaptel:
Since FC4 no longer ships with kernel-source RPM, http://www.mjmwired.net/resources/mjm-fedora-fc4.html#kernelsrc you have to install the kernel-devel package to populate /lib/modules/`uname -r`/build properly. (install kernel-smp-devel instead for smp machines.)

  • To install asterisk as not root user you will need to add in /etc/udev/rules.d/50-udev.rules for example:
# Section for zaptel device
KERNEL="zapctl", NAME="zap/ctl", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL="zaptimer", NAME="zap/timer", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL="zapchannel", NAME="zap/channel", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL="zappseudo", NAME="zap/pseudo", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL="zap[0-9]*", NAME="zap/%n", OWNER="asterisk", GROUP="asterisk", MODE="0660"
As the solution from README.udev doesn’t work with udev 1.0.FC4.1 shipped with FC4; For references, please visit udev man page http://www.reactivated.net/writing_udev_rules.html#mode-owner-group


As the above mentioned solution didn't work for me i had to remove the above lines from /etc/udev/rules.d/50-udev.rules and create a file /etc/udev/rules.d/11-zaptel.rules:
# /etc/udev/rules.d/11-zaptel.rules
KERNEL=="zapctl", NAME="zap/ctl", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zaptimer", NAME="zap/timer", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zapchannel", NAME="zap/channel", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zappseudo", NAME="zap/pseudo", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zap[0-9]*", NAME="zap/%n", OWNER="asterisk", GROUP="asterisk", MODE="0660"

See also this posting in the FedoraForum



Fedora Core 3



Fedora Core 2


RPMS for Fedora Core 2 can be downloaded from: http://atrpms.net/dist/fc2/asterisk/ and http://apt.kspei.com/fedora/2/i386/RPMS.kspei/

Compiling Zaptel with the FC2 2.6.5 kernel requires a few files that are auto generated by the Makefile.
The complete directions to set up your source tree are thus:

ln -s /usr/src/linux-(yourkernelversion) /usr/src/linux-2.6
cd /usr/src/linux-2.6
make oldconfig
make include/asm
make include/linux/version.h
make SUBDIRS=scripts

A pain in the butt but at least you only have to do this once after installing a new kernel-source RPM.

A posting by Dan Davis (asterisk-dev@lists.digium.com) on the Asterisk Developers Mailing List:
"Fedora Core Two will work if you update with the new Fedora . = Simply follow the instructions in README.Linux26"
Instructions for getting zaptel to work with Fedora Core 2 using 2.6.7 kernel:
Getting asterisk to work on fedora core 2 is no problem. But getting zaptel to work is another issue.
The kernel (2.6.5) source code provided with Fedora Core 2 is missing some auto-generated components. I found that the easiest way to get around all those issues was to download a new kernel source code like 2.6.7 from http://www.kernel.org.

Here is the procedure:
  • 1-Grab the 2.6.7 kernel source code and untar it in a suitable directory.
  • 2-Copy the .config file from the default /usr/src/linux-2.6.5-1.358 into the 2.6.7 source code directory.
  • 3-type; make menuconfig and make the necessary change for your hardware configuration. You could just leave it as it is as the default Fedora Core 2 contains everything. But having so much stuff in means much longer compilation time! Quit and save the .config file
  • 4-Compile and install your kernel as describe there: http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html
  • 5-Create a link linux-2.6 to your 2.6.7 linux kernel directory in /usr/src; something like:
ln -s /data/work/src/linux-2.6.7 /usr/src/linux-2.6
  • 6-Reboot with the new kernel
  • 7-Get the latest asterisk, libpri and zaptel source code from the digium CVS directory
  • 8-Go into the zaptel directory and type:
>make clean
>make linux26
>make install
>make config
  • 9-Edit the file /etc/init.d/zaptel and replace all:
insmod with modprobe
and rmmod with modprobe -r
If you are using the ZTDUMMY module, you will also need to add it on lines 30 and 32 (MODULES= and RMODULES=)

  • 10-Depmod so modprobe works with newly installed modules (asterisk fails to send RTP without this)
>depmod

That's it. Make sure it works by starting the script
/etc/init.d/zaptel start
doing lsmod should show the wcfxs and zaptel module being installed. then install and run asterisk as usual.

Hope all of this help, Jean-Yves

addon:
If you get errors about pivotroot not being able to mount root, and it dies while trying to run init.

"pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed"

You are using the "ext3" filesystem for /boot.
Changing "CONFIG_EXT3_FS=y" in the .config solves the problem.

These are the complete steps that I followed for a successful Redhat 9 upgrade to 2.6.4
kernel:

http://osdn.dl.sourceforge.net/sourceforge/souptonuts/README_26.txt

addon:
If you get errors after modprobe zaptel before compiling zaptel try with this (symbolic link to /lib/...):
cd /usr/src/
ln -s /lib/modules/2.6.5-1.358/build linux-2.6

then:
cd zaptel
make clean
make linux26

After that i had working zaptel on fedora core 2
Goran.skular(at)slsolucije.hr or goran.skular(at)migo-systems.com

Additional Notes for Zaptel if you get error message

Notice: Configuration file is /etc/zaptel.conf
line 143: Unable to open master device '/dev/zap/ctl'

If you edit the Zaptel Make file commit out the following lines

ifeq ($(DYNFS),)
else
@echo "**** Dynamic filesystem detected — not creating device nodes"
@echo "**** If you are running udev, read README.udev"
endif

Recompile Zaptel, libpri and Asterisk and you should be good to go, special thanks to Patrick off the mailing list for the above info.


See also: Zatptel Installation Instructions

Fedora II Package requirement


I suceessully install asterisk on Fedora core II (no zap hardware) using the following options

Using a custom option, I selected the following

  • Editors : (just to get vim)
  • Text based internet : selected Lynx (web browser) from the list
  • sound and vision : no options selected, just selected the category to add sox
  • mail server : no option selected, just wanted Sendmail
  • SQL-Database : Just selected MySQL server
  • Development tools : added cvs
  • Kernel Development : no option selected, just wanted kernel-source

with these options I was able to make, and install asterisk but it failed with MySQL options

I downloaded and installed MySQL-devel and this allowed me to compile with MySQL options.





Fedora Core 1 with AVM Fritz Card + CAPI + Asterisk

This is my procedure to have FC working with the mentioned configuration:

Just sharing my progress and pitfalls with Asterisk on fedora.

Install FC1 custom, remove everything but

Editors
Development Tools
Kernel Development
Administration Tools
System Tools

(need to update the stock kernel which has issues on FC 1)
yum update kernel
yum update kernel-sources
yum install isdn4k-utils-devel (needed otherwise chan_capi will not compile)

reboot

install http://download.atrpms.net/other/packages/fedora-1-i386/atrpms/atrpms-kickstart-25-1.rhfc1.at.i386.rpm

apt-get update && apt-get install fcpci
echo fcpci - - - - - ->/etc/capi.conf

modprobe capi
modprobe fcpci
(you will recieve a kernel taint message about licensing which is fine)

lsmod
(Should now show capi, fcpci and kernelcapi loaded)

capiinit
capiinfo (should give you a page of outputted text)

  • Get Asterisk
from a shell,
cd /usr/src
export CVSROOT=:pserver:anoncvs@cvs.digium.com:/usr/cvsroot
cvs login (anoncvs is the password)
cvs checkout -D2004-11-17 zaptel libpri asterisk
(you need this build as its the only one that works properly with chan_capi)


  • Build Asterisk
cd /usr/src/zaptel
edit the Makefile and uncomment "ztdummy"
(unless of course your using digium hardware)
make clean;make install;make config
cd /usr/src/libpri
make clean;make install;make config
cd /usr/src/asterisk
make clean;make install;make samples

  • Get chan_capi and CVS patch
http://www.junghanns.net/asterisk/downloads/chan_capi.0.3.5.tar.gz
http://www.levigo.de/VoIP/chan_capi-0.3.5-cvs-HEAD-patch.tar.bz2

  • Extract chan_capi
cd /usr/src
tar -zxvf chan_capi.0.3.5.tar.gz

  • Extract http://www.levigo.de/VoIP/chan_capi-0.3.5-cvs-HEAD-patch.tar.bz2 into the chan_capi folder
cd /usr/src/chan_capi-0.3.5/
tar -jxvfp chan_capi-0.3.5-cvs-HEAD-patch.tar.bz2
patch -p1 <chan_capi-0.3.5-patch.diff
vi /usr/src/chan_capi-0.3.5/Makefile
comment out the line: CC=gcc-2.95

  • Build chan_capi
make clean
make install
make config

  • Get and build mpg123 for Music On Hold(redhat from 8-9+ including all fedora core dont ship mp3 support by default, due to licensing)
cd /usr/src
wget http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz
tar -zxvf mpg123-0.59r.tar.gz
cd mpg123-0.59r
make linux
make install
cp /usr/local/bin/mpg123 /usr/bin

  • Add chan_capi into Asterisk by changing modules.conf

[modules]
autoload=yes
noload => pbx_gtkconsole.so
noload => pbx_kdeconsole.so
noload => app_intercom.so

load => chan_modem.so
load => res_musiconhold.so
; following three lines added
;load => res_parking.so
load => chan_capi.so
noload =>zaptel.sa

noload => chan_alsa.so

[global]
chan_modem.so=yes
; following line added
chan_capi.so=yes

* Start Asterisk
    safe_asterisk






Hope that helps anyone else with FC 1 and CAPI
Please feel free to point out any mistakes or work arounds you find.



Cheers
Brendan
bbeveridge at broadreachservices.com

Fedora 9

Fedora 9 provides asterisk packages that may be installed using yum. See Open source telephony: a Fedora-based VoIP server with Asterisk for documentation covering the installation and configuration of the Fedora packages.

Fedora Core 6

Tutorial

http://www.voip-info.org/wiki/view/Installing+Asterisk+1.2.17+on+Fedora+Core+6+%28zod%29

Fedora Core 5

Asterisk

If you get an error while compiling saying that ld cannot find -lssl, install openssl-devel.

Zaptel

Zaptel will not compile against the stock FC5 kernel, due to a bug in the kernel. You will get an error message like "module format invalid" when you try to modprobe the zaptel modules. To make zaptel work with FC5, download an updated kernel. (As of 27 March 2006, the updated kernel has not yet been released, but can be downloaded from http://download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/5/. You'll want the get both the kernel and kernel-devel RPMs for your particular architecture.) -jsmith

Using a recently downloaded Fedora 5 (as of 9/18/2006) I had trouble, but got it to work after some time. It would be nice if the zaptel developers tested it on Fedora. After downloading the source, I had to edit the create /usr/src/kernels and link 2.6.15-1.2054_FC5-i686 to /usr/src/redhat/BUILD/kernel-2.6.15/linux-2.6.15.noarch

After doing this, the zaptel make could find the kernel source. (BTW, I don't think you need to actually build the kernel, and note that the config used for the installed kernel is in /boot. Replace the .config and "make oldconfig") However, zaptel won't compile.

I had to comment out the "owner" lines in wcusb.c and xpp/xpp_usb.c. Then I could compile it fine. However, it wouldn't install properly since it was trying to install to /lib/modules/2.6.15-prep, not /usr/lib/2.6.15-1.2054_FC5. To fix this, edit the line in the linux Makefile to have EXTRAVERSION = -1.2054_FC5. Then it will install fine. After a "make config" in zaptel, I could run "/etc/init.d/zaptel start" and it came up OK. --nfranke


Fedora Core 4

  • Installation similar to FC3 with the following exception if you are building zaptel:
Since FC4 no longer ships with kernel-source RPM, http://www.mjmwired.net/resources/mjm-fedora-fc4.html#kernelsrc you have to install the kernel-devel package to populate /lib/modules/`uname -r`/build properly. (install kernel-smp-devel instead for smp machines.)

  • To install asterisk as not root user you will need to add in /etc/udev/rules.d/50-udev.rules for example:
# Section for zaptel device
KERNEL="zapctl", NAME="zap/ctl", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL="zaptimer", NAME="zap/timer", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL="zapchannel", NAME="zap/channel", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL="zappseudo", NAME="zap/pseudo", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL="zap[0-9]*", NAME="zap/%n", OWNER="asterisk", GROUP="asterisk", MODE="0660"
As the solution from README.udev doesn’t work with udev 1.0.FC4.1 shipped with FC4; For references, please visit udev man page http://www.reactivated.net/writing_udev_rules.html#mode-owner-group


As the above mentioned solution didn't work for me i had to remove the above lines from /etc/udev/rules.d/50-udev.rules and create a file /etc/udev/rules.d/11-zaptel.rules:
# /etc/udev/rules.d/11-zaptel.rules
KERNEL=="zapctl", NAME="zap/ctl", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zaptimer", NAME="zap/timer", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zapchannel", NAME="zap/channel", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zappseudo", NAME="zap/pseudo", OWNER="asterisk", GROUP="asterisk", MODE="0660"
KERNEL=="zap[0-9]*", NAME="zap/%n", OWNER="asterisk", GROUP="asterisk", MODE="0660"

See also this posting in the FedoraForum



Fedora Core 3



Fedora Core 2


RPMS for Fedora Core 2 can be downloaded from: http://atrpms.net/dist/fc2/asterisk/ and http://apt.kspei.com/fedora/2/i386/RPMS.kspei/

Compiling Zaptel with the FC2 2.6.5 kernel requires a few files that are auto generated by the Makefile.
The complete directions to set up your source tree are thus:

ln -s /usr/src/linux-(yourkernelversion) /usr/src/linux-2.6
cd /usr/src/linux-2.6
make oldconfig
make include/asm
make include/linux/version.h
make SUBDIRS=scripts

A pain in the butt but at least you only have to do this once after installing a new kernel-source RPM.

A posting by Dan Davis (asterisk-dev@lists.digium.com) on the Asterisk Developers Mailing List:
"Fedora Core Two will work if you update with the new Fedora . = Simply follow the instructions in README.Linux26"
Instructions for getting zaptel to work with Fedora Core 2 using 2.6.7 kernel:
Getting asterisk to work on fedora core 2 is no problem. But getting zaptel to work is another issue.
The kernel (2.6.5) source code provided with Fedora Core 2 is missing some auto-generated components. I found that the easiest way to get around all those issues was to download a new kernel source code like 2.6.7 from http://www.kernel.org.

Here is the procedure:
  • 1-Grab the 2.6.7 kernel source code and untar it in a suitable directory.
  • 2-Copy the .config file from the default /usr/src/linux-2.6.5-1.358 into the 2.6.7 source code directory.
  • 3-type; make menuconfig and make the necessary change for your hardware configuration. You could just leave it as it is as the default Fedora Core 2 contains everything. But having so much stuff in means much longer compilation time! Quit and save the .config file
  • 4-Compile and install your kernel as describe there: http://www.digitalhermit.com/linux/Kernel-Build-HOWTO.html
  • 5-Create a link linux-2.6 to your 2.6.7 linux kernel directory in /usr/src; something like:
ln -s /data/work/src/linux-2.6.7 /usr/src/linux-2.6
  • 6-Reboot with the new kernel
  • 7-Get the latest asterisk, libpri and zaptel source code from the digium CVS directory
  • 8-Go into the zaptel directory and type:
>make clean
>make linux26
>make install
>make config
  • 9-Edit the file /etc/init.d/zaptel and replace all:
insmod with modprobe
and rmmod with modprobe -r
If you are using the ZTDUMMY module, you will also need to add it on lines 30 and 32 (MODULES= and RMODULES=)

  • 10-Depmod so modprobe works with newly installed modules (asterisk fails to send RTP without this)
>depmod

That's it. Make sure it works by starting the script
/etc/init.d/zaptel start
doing lsmod should show the wcfxs and zaptel module being installed. then install and run asterisk as usual.

Hope all of this help, Jean-Yves

addon:
If you get errors about pivotroot not being able to mount root, and it dies while trying to run init.

"pivotroot: pivot_root(/sysroot,/sysroot/initrd) failed"

You are using the "ext3" filesystem for /boot.
Changing "CONFIG_EXT3_FS=y" in the .config solves the problem.

These are the complete steps that I followed for a successful Redhat 9 upgrade to 2.6.4
kernel:

http://osdn.dl.sourceforge.net/sourceforge/souptonuts/README_26.txt

addon:
If you get errors after modprobe zaptel before compiling zaptel try with this (symbolic link to /lib/...):
cd /usr/src/
ln -s /lib/modules/2.6.5-1.358/build linux-2.6

then:
cd zaptel
make clean
make linux26

After that i had working zaptel on fedora core 2
Goran.skular(at)slsolucije.hr or goran.skular(at)migo-systems.com

Additional Notes for Zaptel if you get error message

Notice: Configuration file is /etc/zaptel.conf
line 143: Unable to open master device '/dev/zap/ctl'

If you edit the Zaptel Make file commit out the following lines

ifeq ($(DYNFS),)
else
@echo "**** Dynamic filesystem detected — not creating device nodes"
@echo "**** If you are running udev, read README.udev"
endif

Recompile Zaptel, libpri and Asterisk and you should be good to go, special thanks to Patrick off the mailing list for the above info.


See also: Zatptel Installation Instructions

Fedora II Package requirement


I suceessully install asterisk on Fedora core II (no zap hardware) using the following options

Using a custom option, I selected the following

  • Editors : (just to get vim)
  • Text based internet : selected Lynx (web browser) from the list
  • sound and vision : no options selected, just selected the category to add sox
  • mail server : no option selected, just wanted Sendmail
  • SQL-Database : Just selected MySQL server
  • Development tools : added cvs
  • Kernel Development : no option selected, just wanted kernel-source

with these options I was able to make, and install asterisk but it failed with MySQL options

I downloaded and installed MySQL-devel and this allowed me to compile with MySQL options.





Fedora Core 1 with AVM Fritz Card + CAPI + Asterisk

This is my procedure to have FC working with the mentioned configuration:

Just sharing my progress and pitfalls with Asterisk on fedora.

Install FC1 custom, remove everything but

Editors
Development Tools
Kernel Development
Administration Tools
System Tools

(need to update the stock kernel which has issues on FC 1)
yum update kernel
yum update kernel-sources
yum install isdn4k-utils-devel (needed otherwise chan_capi will not compile)

reboot

install http://download.atrpms.net/other/packages/fedora-1-i386/atrpms/atrpms-kickstart-25-1.rhfc1.at.i386.rpm

apt-get update && apt-get install fcpci
echo fcpci - - - - - ->/etc/capi.conf

modprobe capi
modprobe fcpci
(you will recieve a kernel taint message about licensing which is fine)

lsmod
(Should now show capi, fcpci and kernelcapi loaded)

capiinit
capiinfo (should give you a page of outputted text)

  • Get Asterisk
from a shell,
cd /usr/src
export CVSROOT=:pserver:anoncvs@cvs.digium.com:/usr/cvsroot
cvs login (anoncvs is the password)
cvs checkout -D2004-11-17 zaptel libpri asterisk
(you need this build as its the only one that works properly with chan_capi)


  • Build Asterisk
cd /usr/src/zaptel
edit the Makefile and uncomment "ztdummy"
(unless of course your using digium hardware)
make clean;make install;make config
cd /usr/src/libpri
make clean;make install;make config
cd /usr/src/asterisk
make clean;make install;make samples

  • Get chan_capi and CVS patch
http://www.junghanns.net/asterisk/downloads/chan_capi.0.3.5.tar.gz
http://www.levigo.de/VoIP/chan_capi-0.3.5-cvs-HEAD-patch.tar.bz2

  • Extract chan_capi
cd /usr/src
tar -zxvf chan_capi.0.3.5.tar.gz

  • Extract http://www.levigo.de/VoIP/chan_capi-0.3.5-cvs-HEAD-patch.tar.bz2 into the chan_capi folder
cd /usr/src/chan_capi-0.3.5/
tar -jxvfp chan_capi-0.3.5-cvs-HEAD-patch.tar.bz2
patch -p1 <chan_capi-0.3.5-patch.diff
vi /usr/src/chan_capi-0.3.5/Makefile
comment out the line: CC=gcc-2.95

  • Build chan_capi
make clean
make install
make config

  • Get and build mpg123 for Music On Hold(redhat from 8-9+ including all fedora core dont ship mp3 support by default, due to licensing)
cd /usr/src
wget http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz
tar -zxvf mpg123-0.59r.tar.gz
cd mpg123-0.59r
make linux
make install
cp /usr/local/bin/mpg123 /usr/bin

  • Add chan_capi into Asterisk by changing modules.conf

[modules]
autoload=yes
noload => pbx_gtkconsole.so
noload => pbx_kdeconsole.so
noload => app_intercom.so

load => chan_modem.so
load => res_musiconhold.so
; following three lines added
;load => res_parking.so
load => chan_capi.so
noload =>zaptel.sa

noload => chan_alsa.so

[global]
chan_modem.so=yes
; following line added
chan_capi.so=yes

* Start Asterisk
    safe_asterisk






Hope that helps anyone else with FC 1 and CAPI
Please feel free to point out any mistakes or work arounds you find.



Cheers
Brendan
bbeveridge at broadreachservices.com
Created by: wylie, Last modification: Fri 01 of Jun, 2012 (04:30 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+