CGRateS en CentOS - Sistema de facturación para FreeSWITCH, OpenSIPs, Kamailio

CGRates en un sistema de facturación que puede ser integrado con FreeSWITCH, OpenSIPs y Kamailio. Es altamente escalable y está escrito en el lenguaje de programación GO (golang). Su instalación en Debian es muy sencilla mientras que en CentOS es un poco más complicada y es la que veremos a continuación. El Programa está pensado para ISPs y Compañías de Telecomunicaciones y, aunque todavía no tiene una versión estable y una documentación pobre, puede ser una buena elección para OpenSIPs y Kamailio. Estamos trabajando con el mismo servidor donde hemos instalado primero Kamailio y luego Siremis. Importante: se accederá al servidor con el usuario root. Iniciamos con la instalación de GO:

cd /usr/src

wget https://storage.googleapis.com/golang/go1.5.2.linux-amd64.tar.gz

tar -C /usr/local -xzf go1.5.2.linux-amd64.tar.gz

ln -s /usr/local/go/bin/go /usr/local/bin/go
ln -s /usr/local/go/bin/godoc /usr/local/bin/godoc
ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt

Seguimos con la instalación de la ultima versión disponible de GIT ya que la que viene por defecto con CentOS 6.7 no “sirve” para la instalación de algunas dependencias que utilizará CGRateS:

cd /usr/src
wget https://github.com/git/git/archive/v2.6.3.tar.gz
tar -xf v2.6.3.tar.gz
cd git-2.6.3
make configure
./configure --prefix=/usr
make all doc info
make install install-doc install-html install-info

Se averigua que se ha instalado correctamente:

git version
git version 2.6.3

Ya podemos empezar con la creación del paquete RPM para luego instalarlo en el sistema. Primero descargamos la ultima versión disponible con Git:

cd /usr/src

git clone https://github.com/cgrates/cgrates.git

creamos una serie de carpetas en la carpeta de root:

cd /root

mkdir -p $HOME/cgr_build/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

bajamos el paquete de la ultima versión disponible en la carpeta SOURCES:

wget -P $HOME/cgr_build/SOURCES https://github.com/cgrates/cgrates/archive/v0.9.1rc7.tar.gz

Copiamos el archivo que contiene todos los pasos a seguir para la creación del paquete RPM:

cp /usr/src/cgrates/packages/redhat_fedora/cgrates.spec /root/cgr_build/SPECS/

Lanzamos la creación del paquete:

rpmbuild -bb --define "_topdir $HOME/cgr_build" $HOME/cgr_build/SPECS/cgrates.spec

Primer error:

error: Archivo /root/cgr_build/SOURCES/cc3bebd90c24b187379027e6a618e206da89d7a9.tar.gz: No existe el fichero o el directorio

Solución:

cp cgr_build/SOURCES/v0.9.1rc7.tar.gz cgr_build/SOURCES/cc3bebd90c24b187379027e6a618e206da89d7a9.tar.gz

Se sigue:

rpmbuild -bb --define "_topdir $HOME/cgr_build" $HOME/cgr_build/SPECS/cgrates.spec

Segundo error:

/var/tmp/rpm-tmp.hIs453: line 34: cd: /root/cgr_build/BUILD/cgrates-0.9.1rc7.cc3bebd/src/github.com/cgrates/cgrates: No such file or directory
error: Estado de salida erróneo de /var/tmp/rpm-tmp.hIs453 (%build)

Se soluciona con:

nano +33 cgr_build/SPECS/cgrates.spec

modificando la línea:

ln -sf ../../../%{name}-%{git_commit} src/github.com/cgrates/cgrates

para que quede:

ln -sf /root/cgrates-0.9.1rc7 /root/cgr_build/BUILD/cgrates-0.9.1rc7.cc3bebd/src/github.com/cgrates/cgrates

Se guardan los cambios y se sigue:

rpmbuild -bb --define "_topdir $HOME/cgr_build" $HOME/cgr_build/SPECS/cgrates.spec

Tercero error:

install: cannot stat `src/github.com/cgrates/cgrates/packages/redhat_fedora/cgrates.options': No such file or directory
error: Estado de salida erróneo de /var/tmp/rpm-tmp.PvTBYc (%install)

Se soluciona:

mkdir cgr_build/BUILD/cgrates-0.9.1rc7.cc3bebd/src/github.com/cgrates/cgrates/packages/redhat_fedora
cp /usr/src/cgrates/packages/redhat_fedora/* /root/cgr_build/BUILD/cgrates-0.9.1rc7.cc3bebd/src/github.com/cgrates/cgrates/packages/redhat_fedora/

Se ejecuta nuevamente:

rpmbuild -bb --define "_topdir $HOME/cgr_build" $HOME/cgr_build/SPECS/cgrates.spec

Esta vez todo debería salir bien y tener nuestro paquetes en la carpeta /root/cgr_build/RPMS/x86_64/:

ls /root/cgr_build/RPMS/x86_64/

que ya podemos instalar:

rpm -ivh /root/cgr_build/RPMS/x86_64/cgrates-0.9.1rc7.cc3bebd-1.el6.x86_64.rpm

El archivo de configuración es /etc/cgrates/cgrates.json y es donde se define que tipo de motor de base de datos se va a utilizar y toda la configuración de las tarifas, LCR, etcétera. Para crear la base de datos:

cd /usr/share/cgrates/storage/mysql/

./setup_cgr_db.sh root sesamo localhost
\t+++ CGR-DB successfully set-up! +++

sesamo es la contraseña del usuario root de MySQL.

Ya se puede iniciar el programa con la configuración predefinida:

service cgrates start

service cgrates status
Se está ejecutando cgrates (pid  25937)...

Para seguir con la configuración, la documentación del programa.

Me comentan

Vota el Articulo: 

No votes yet
Evalúa la calidad del articulo
Subscribe to Comments for "CGRateS en CentOS - Sistema de facturación para FreeSWITCH, OpenSIPs, Kamailio" Subscribe to VozToVoice - All comments