Icono del sitio Sinologic

Cómo compilar e instalar Asterisk-SCF

Aquellos que leyeron la presentación de Asterisk-SCF, sabrán que es un nuevo proyecto creado desde cero y que poco tiene de parecido con el conocido Asterisk del que estamos acostumbrados a utilizar.

Cuando se publicó la primera versión, muchas personas intentaron instalarla sin éxito, pero con el tiempo se ha mejorado la documentación y los requisitos necesarios para poder instalarlo y compilarlo sin tener muchos problemas.

Hay que decir que, a día de hoy Asterisk-SCF sigue siendo inestable y no para un sistema en producción pero aún así, queremos mostraros los pasos para instalar esta versión y que nos vayamos familiarizando con este sistema.

La instalación es diferente según se trate de un sistema Linux, MacosX o Windows (si, también es compatible con Windows) y de hecho, muchas de las partes de Asterisk-SCF son compatibles con .NET (o en este caso, la versión libre llamada Mono) al igual que también es compatible con Java y muchos otros lenguajes (PHP, Python, Perl, etc…)

No obstante, vamos a ver cómo se instala Asterisk-SCF en las distintas distribuciones de Linux:

Falta decir que muchos de los pasos son comunes, pero aún así los hemos reunido para poder tener la lista de pasos completa para cada distribución.

La explicación de cada paso la podéis encontrar en el nuevo y flamante wiki de Asterisk

Ubuntu 10.4/10.10

apt-get install python-software-properties
add-apt-repository "deb http://archive.canonical.com/ lucid partner"
apt-get update

apt-get -y install build-essential libboost1.40-all-dev liblua5.1-0-dev cmake
apt-get -y install libmcpp-dev libbz2-dev libdb4.8++-dev mono-gmcs monodevelop mono-xbuild
apt-get -y install ruby ruby1.8-dev php5-dev libexpat1-dev libssl-dev git-core

add-apt-repository "deb http://archive.canonical.com/ lucid partner"
apt-get update
apt-get install sun-java6-jdk libdb4.8-java ant libjgoodies-forms-java libjgoodies-looks-java
update-alternatives --config java

git clone git://git.asterisk.org/asterisk-scf/release/ice
cd ice
export CLASSPATH=/usr/share/java/libdb4.8-java.jar:/usr/share/java/forms.jar:/usr/share/java/looks.jar
make install
cd ..
cd cpp
make install
cd ../py
make install
cd ../..

git clone git://git.asterisk.org/asterisk-scf/integration/gitall
cd gitall
./gitall-asterisk-scf.sh
./cmake/init-cmake.sh
cmake --build ./build

Debian 5.0

echo "deb http://www.backports.org/debian lenny-backports main contrib non-free" >> /etc/apt/sources.list
echo "deb http://ftp.us.debian.org/debian/ testing main" >> /etc/apt/sources.list
echo -e "Package: *\r\nPin: release a=stable\r\nPin-Priority: 900" >> /etc/apt/preferences
apt-get update
apt-get install build-essential python python-dev
apt-get install -t testing cmake liblua5.1-0-dev libbz2-dev libssl-dev
apt-get install libexpat1-dev mono-gmcs monodevelop mono-xbuild
apt-get install libdb4.8++-dev ruby ruby1.8-dev php5-dev libmcpp-dev
apt-get install -t lenny-backports libboost1.40-all-dev git

echo "deb http://ftp.us.debian.org/debian/ lenny main non-free" >> /etc/apt/sources.list
echo "deb-src http://ftp.us.debian.org/debian/ lenny main non-free" >> /etc/apt/sources.list
apt-get update
apt-get install sun-java6-jdk libdb4.8-java ant libjgoodies-forms-java libjgoodies-looks-java
update-alternatives --config java

git clone git://git.asterisk.org/asterisk-scf/release/ice
cd ice

export CLASSPATH=/usr/share/java/libdb4.8-java.jar:/usr/share/java/forms.jar:/usr/share/java/looks.jar
make install
cd ..
cd cpp
make install
cd ../py
make install
cd ../..

git clone git://git.asterisk.org/asterisk-scf/integration/gitall
cd gitall
./gitall-asterisk-scf.sh
./cmake/init-cmake.sh
cmake --build ./build

CentOS / RHEL 5.5

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/`uname \-i`/epel-release-5-4.noarch.rpm
rpm -Uvh http://blackopsoft.com/el5/RPMS/noarch/blackop-el5-repo-1.0-2.noarch.rpm
rpm -Uvh http://repo.webtatic.com/yum/centos/5/`uname \-i`/webtatic-release-5-1.noarch.rpm
wget /etc/yum.repos.d/zeroc-ice.repo http://www.zeroc.com/download/Ice/3.4/rhel5/zeroc-ice.repo
wget /etc/yum.repos.d/jpackage50.repo http://www.jpackage.org/jpackage50.repo

yum groupinstall "Development Tools"
yum install --enablerepo=blackop tcl cmake boost-devel lua-devel db4-devel jpackage-utils
yum install mono-devel openssl-devel expat-devel bzip2-devel ruby ruby-devel php5-devel mcpp-devel python python-devel
yum install --enablerepo=webtatic git-all

mkdir -p ~/rpmbuild/{SOURCES,SRPMS,SPECS,RPMS,tmp,BUILD}
touch ~/.rpmmacros
echo "%_topdir /home/user_name/rpmbuild" >> ~/.rpmmacros
echo "%_tmppath %{_topdir}/tmp" >> ~/.rpmmacros
yum install -y rpm-build redhat-rpm-config libXp-devel

cd ~/rpmbuild
wget http://mirrors.dotsrc.org/jpackage/1.7/generic/SRPMS.non-free/java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm
rpmbuild --rebuild java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm
rpm -Uvh ~/rpmbuild/RPMS/`uname \-i`/java-1.6.0-sun-1.6.0.11-1jpp.`uname \-i`.rpm
alternatives --config java
yum install --enablerepo=blackop db4-java
yum install --disablerepo=blackop ant

git clone git://git.asterisk.org/asterisk-scf/release/ice
cd ice
wget http://www.jgoodies.com/download/libraries/forms/forms-1_3_0.zip
unzip forms-1_3_0.zip
mv forms-1.3.0/forms-1.3.0.jar /usr/share/java/forms.jar
wget http://www.jgoodies.com/download/libraries/looks/looks-2_3_1.zip
unzip looks-2_3_1.zip
mv looks-2.3.1/looks-2.3.1.jar /usr/share/java/looks.jar
export CLASSPATH=/usr/share/java/db.jar:/usr/share/java/forms.jar:/usr/share/java/looks.jar

make install
cd ..
cd cpp
make install
cd ../py
make install
cd ../..
git clone git://git.asterisk.org/asterisk-scf/integration/gitall
cd gitall
./gitall-asterisk-scf.sh
./cmake/init-cmake.sh
cmake --build ./build

Una vez hayamos hecho estos pasos, si no hemos recibido ningún error durante la compilación, deberíamos tener nuestro Asterisk-SCF listo para empezar a configurar. 🙂

Salir de la versión móvil