Mostrando las entradas con la etiqueta scripts. Mostrar todas las entradas
Mostrando las entradas con la etiqueta scripts. Mostrar todas las entradas

miércoles, 9 de febrero de 2011

Log en Asterisk

Este es un artículo un poco viejo del 2009 pero desde que lo leí me encanto pero se me olvido postearlo, aquí se los dejo.



Visitanos: www.voipsystemscr.com


 


A menudo cuando una centralita tiene alta carga, ver la consola o los logs que genera Asterisk en/var/log/asterisk/messages no es suficiente. Porque se genera gran cantidad de información, porque al tener muchas llamadas concurrentes seguir una llamada en concreto a través de saltos en un fichero es complicado, porque a medida que integramos más y más herramientas con Asterisk las llamadas ya no se controlan o se localizan en un único punto…

lunes, 24 de enero de 2011

Agispeedy - faster than AGI and performance improved 10 times comparing with AGI

 


agispeedy_workflow


The Agispeedy is robust implemention of AGI in asterisk. Agispeedy is inconceivable faster than AGI. The result of test shows that by using Agispeedy in asterisk, the performance of system would be improved more than 10 times comparing with AGI.


Agispeedy Features:


* implemention of AGI(FastAGI) over TCP Sockets 
* Work in Stabilize Prefork Mode and Written by Pure Perl. 
* Easy to Maintain, unlike FastAGI(Dynamic Load AGI no need restart Agispeedy services) 
* Providing possibility of running AGI on a remote server(Inheriting the FastAGI) 
* Fast Database Connect(system can hook database connection in child process)


agispeedy_cluster


Table of asterisk extend tech:


 




































name



speed



reliability



cluster



asterisk module



top faster



easy crash



no



agi



slowly



strong



no



fastagi



faster



maybe crash



yes



agispeedy



faster



strong



yes



 


Get Agispeedy


get source files from SVN:
>svn export http://darwin.freeiris.org/svn/freeiris/addition/agispeedy/

Installation


Under the agispeedy, install agispeedy by run the script: ./install.pl You also can add -–prefix=path to other directory, for example, you can add agispeedy to system boot by copying contrib/agispeedy.init.centos to /etc/init.d/


please note: sudo as root

>cd agispeedy
>chmod +x install.pl
>./install.pl

[RESPONSE] Agispeedy Installer
[INPUT] continue to install agispeedy to /agispeedy (yes/no)?yes
......
[RESPONSE] set /etc/agispeedy
[RESPONSE] set agispeedy services

Command Line


More parameters to run AGIspeedy:


-?, –help Display this help and exit. 
-V, –version Output version information and exit. 
-v, –verbose Display more messages on screen(debug level 4). 
-q, –quiet Start Agispeedy as background. 
-c, –config=path Specify Config files directory. 
-L, –log=path Specify Log files directory. 
-l, –lib=lib Specify Agispeedy include directory. 
-P, –pid=path Specify pid file directory. 
-a, –var=path Specify Agispeedy script modules directory.


run DEBUG mode: 
./agispeedy –verbose


will output all messages from agispeedy services


Run Normal Commandline: 
./agispeedy –quiet


agispeedy will quiet and slience run in background and write messages to log_files.


run Services: 
/etc/init.d/agispeedy start


If you are not use redhat, you have to manually install init scripts.


 


checking process:

>ps ax|grep agispeedy
32424 ? Ss 0:00 /usr/bin/perl /agispeedy/bin/agispeedy -q -c /etc/agispeedy
32425 ? S 0:00 /usr/bin/perl /agispeedy/bin/agispeedy -q -c /etc/agispeedy
32426 ? S 0:00 /usr/bin/perl /agispeedy/bin/agispeedy -q -c /etc/agispeedy
32427 ? S 0:00 /usr/bin/perl /agispeedy/bin/agispeedy -q -c /etc/agispeedy
32428 ? S 0:00 /usr/bin/perl /agispeedy/bin/agispeedy -q -c /etc/agispeedy
32430 ? S 0:00 /usr/bin/perl /agispeedy/bin/agispeedy -q -c /etc/agispeedy
32431 ? S 0:00 /usr/bin/perl /agispeedy/bin/agispeedy -q -c /etc/agispeedy

 

how does agispeedy work

example : 
exten => 123456,n,AGI(agi://127.0.0.1/demo_dynamic?number=7890)

* asterisk send socket request scriptname demo_dynamic with args 
* agispeedy get one child to response asterisk 
* child find demo_dynamic static module in memory 
* child find demo_dynamic.dam in /agispeedy/var/ 
* child do args parse and push to hash table 
* child synatx checking and complie demo_dynamic.dam 
* child run entry function demo_dynamic() 
* child exit


Fuente: Voip Today

martes, 11 de enero de 2011

Elastix redundante, método fácil

Este manual describe como armar un cluster con dos elastix para tener redundancia en caso de que el principal falle. La operación nos dará mas disponibilidad del servicio, en condiciones normales si nuestra centralita falla el tiempo que estaremos sin comunicación será el que nos tome copiar las configuraciones en otro servidor, ó si ya lo tenemos listo, el tiempo que sea necesario para encenderlo y conectarlo.
La ventaja del sistema que se plantea en este manual es que las configuraciones se respaldan por red cada minuto, así en caso de fallas tendremos en un par de minutos un sistema casi idéntico al que estaba en producción antes del fallo.
El servidor Maestro copiará cada minuto sus archivos de configuración hacia el Esclavo.