Archive for the ‘asterisk’ Category

Instalando y configurando iptables en centos

November 8, 2008

Entramos en materia, iptables es un firewall tipico de instalaciones linux:

1.- Instalacion usando yum:

yum install iptables

2.- Crear un archivo de texto de configuracion (usando nano o vim):

nano /etc/sysconfig/iptables

# By default drop all incoming and forwarded traffic

# Allow all outgoing traffic
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

# Puerto 80 http para los diferentes servicios web que podamos tener
-A INPUT -p udp –dport 80 -j ACCEPT

# Puerto Protocolo Dundi
-A INPUT -p udp –dport 4520 -j ACCEPT

# Puerto IAX
-A INPUT -p udp –dport 4569 -j ACCEPT

# Puerto SIP
-A INPUT -p udp –dport 5060 -j ACCEPT

# Puertos RTP media (este rango de puertos luego debemos indicarselo al asterisk)
-A INPUT -p udp –dport 10000:20000 -j ACCEPT

# Allow incoming SSH (el 22 es el puerto por default)
-A INPUT -p tcp –dport xxxx -j ACCEPT

# Allow ping
-A INPUT -p icmp –icmp-type ping -j ACCEPT

# Allow local traffic
-A INPUT -i lo -j ACCEPT

# Allow ping
-A INPUT -p icmp –icmp-type ping -j ACCEPT

COMMIT

Importante es abrir el puerto xxxx de ssh, (22 por defualt)

Guardamos el archivo y debemos reiniciar iptables:

service iptables restart

Aparecera:

Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]

Chequeo general:

iptables -L

Para terminar tenemos que decirle a asterisk que use los puertos desde 10000 hasta 20000 para el protocolo RTP:

abrimos el archivo

vim /etc/asterisk/rtp.conf

quitamos (si lo hay) el punto y coma antes de [general]

En rtpstart ponemos 10000 y en rtpend ponemos 20000

rtpstart=10000
rtpend=20000

Guardar el archivo y reiniciar asterisk:

/etc/init.d/asterisk reload

Instalacion de asterisk paso a paso en un linux centos

November 8, 2008

Este manual esta hecho para linux centos, casi desde cero:

1.- Instalar un editor de texto, nano o vim:

yum install nano

yum install vim-enhanced

2.- Instalamos ahora Vorbis, un decodificador/codificador audio:

yum install libvorbis libvorbis-devel vorbis-tool

3.- Algunas utilidades que necesitamos:

yum install gcc ncurses ncurses-devel make gcc-c++ libtermcap libtermcap-devel zlib zlib-devel libtool

4.-Podemos utilizar mysql para registrar todas las llamadas efectuadas:

yum install mysql mysql-server mysql-devel

5.- Ahora instalamos el decodificador/codificador MP3 (lame) para la musica en espera utilizando archivos mp3 en el pbx:

Descargamos lame en la carpeta /usr/src con el siguiente comando:

wget http://ufpr.dl.sourceforge.net/sourceforge/lame/lame-398-2.tar.gz

luego descomprimimos el archivo con el comando:

tar -xf lame-398-2.tar.gz

entramos en la capeta de lame

cd lame-398-2

y compilamos:

./configure –prefix=/usr

make

make install

Terminamos con el comando

ldconfig -v

para actualizar las librerias utilizadas por el sistema operativo.

6.- Instalar libmad:

wget http://ufpr.dl.sourceforge.net/sourceforge/mad/libmad-0.15.1b.tar.gz

tar -xf libmad-0.15.1b.tar.gz cd libmad-0.15.1b

./configure

make

make install

7.- Instalar el programa SOX (sound exchange) para cambiar archivos de audio de un formato a otro:

Descargamos el programa en la carpeta /usr/src

wget http://ufpr.dl.sourceforge.net/sourceforge/sox/sox-14.1.0.tar.gz

Estos son los pasos:

tar -zxvf sox-14.1.0.tar.gz

cd sox-14.1.0

./configure

make

make install

8.- Si queremos compilar con opcion de conectar a gtalk o servidores jabber entonces debemos instalar Gnutls y Iksemel:

Gnutls:

yum install gnutls gnutls-devel gnutls-utils

y actualizamos las librerías

ldconfig –v

Iksemel:

wget http://iksemel.googlecode.com/files/iksemel-1.3.tar.gz

tar –xf iksemel-1.3.tar.gz

cd iksemel -1.3

./configure –prefix=/usr

make

make check

Se verifica con make check que no haya errores en la compilacion, (segun he leido en varios foros al parecer si incluso da errores la compilacion igual se puede conectar con gtalk, pero de eso no estoy seguro, tambien algunos dicen que les ha dado problemas con 64 bits, igual no estoy seguro).

make install

actualizamos las librerías

ldconfig –v

9.- Ahora vamos con asterisk:

wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz

lo descomprimimos

tar –zxvf Asterix-1.4-current.tar.gz

entramos en la carpeta

cd asterisk-1.4.xx.x

./configure

make menuselect

Ahora en este menu de configuracion, chequeamos que este las opciones que deseamos, pero en particular la de jabber, en“Resource Modules” vemos si la opcion res_jabber tiene un asterisco. Si hay tres XXX significa que no se puede instalar (hubo seguramente algún problema en la instalación de iksemel).

Para guardar los cambios usamos la tecla x en el menu principal, con esc salimos.

make

make install

Ahora instalamos los archivos de configuración de muestra

make samples

y le decimos que arranque asterisk al boot de linux

make config

Completa la instalacion de asterisk, falta ahora la de los modulos zaptel y libpri.

Bajar de la pagina de asterisk, descomprimir en la carpeta /usr/src y ejecutar:

  1. cd /usr/src/zaptel-x.x.x
  2. make clean
  3. make
  4. make install

  1. cd /usr/src/libpri-x.x.x
  2. make clean
  3. make
  4. make install
  5. make sample

Arranque de asterisk:

asterisk -vvvvvvc

asterisk -v

Luego para entra a la consola CLI:

asterisk -r


SiVuS: un escáner de vulnerabilidad para las redes VoIP

October 12, 2008

SiVuS es un escáner de vulnerabilidad para las redes VoIP que utilizan el protocolo SIP. Este escáner proporciona varias características para verificar la robustez y para asegurar la implementación de una red VoIP segura.

Las características de este escáner son las siguientes:

Generador de mensajes SIP: puede ser utilizado para enviar varios tipos de mensajes a un componente del SIP incluyendo contenido del SDP. Esta característica se puede utilizar para probar ediciones específicas del SIP o para generar varios ataques, como por ejemplo un ataque de denegación de servicios.

Explorador de componentes del SIP: explora una gama de direcciones IP para identificar los anfitriones que utilizan el protocolo SIP y se puedan utilizar como blancos para el análisis adicional. Es una opción del explorador que permite el descubrimiento preliminar de blancos antes de una exploración real.

Explorador de la vulnerabilidad del SIP: El explorador proporciona la configuración flexible de varias opciones que se puedan utilizar, para verificar la robustez y la seguridad de una implementación del protocolo SIP. Se realizan chequeos como: análisis de las cabeceras de mensajes del protocolo SIP para identificar vulnerabilidades tales como desbordamientos del buffer o ataques de denegación de servicio, autentificación de mensajes que identifican componentes del SIP, autentificación de las peticiones del registro, inspección para las comunicaciones seguras (SIPS) y verificación de las capacidades de cifrado.

Componente de log: posee un completo sistema de log en HTML que permite omitir mensajes de error para hacer logs mas fáciles de comprender, también posee base de datos para históricos.

Ayuda del SIP: el interfaz de SiVuS proporciona ayuda rápida en los aspectos más comunes sobre SIP que pueden ser útiles a un usuario mientras que realizan SiVuS. La ayuda del SIP proporciona información sobre última versión del estándar RFC 3261 (SIP), muestra también ayuda a un usuario para construir mensajes del SIP a través del generador.

Descarga Sivus 1.09:
http://www.vopsecurity.org/sivus-1.09.exe

Manual Sivus 1.09:
http://www.vopsec.net/SiVuS-User-Doc.pdf

Seguridad en VoIP a través del protocolo ZRTP.
http://vtroger.blogspot.com/2007/10/seguridad-en-voip-travs-del-protocolo.html

Herramienta de test de penetración para VoIP:
http://vtroger.blogspot.com/2007/10/herramienta-de-test-de-penetra

Servicios de call center con asterisk

October 3, 2008

AACC

AACC (short for Asterisk Advanced Call Center) is an underway project which aims to create a full CTI solution for the Asterisk PBX.

It is written in Java, which makes it operating system independant.

It will feature:

  • Inbound call center
  • Outbound call center
  • Blending
  • Multi-customer
  • Per campaign custom data and products
  • Agent toolbar for CTI
  • Use of Asterisk queues and agents facilities
  • Agent screen pops
  • Multicampaign predictive dialing
  • IVR-only, agent-only, and IVR+Agent type campaigns.
  • Powerful, customizable reporting
  • Highly scalable solution
  • Instant messaging
  • DNC lists
  • Automatic and manual call rescheduling

GnuDialer

GnuDialer is a predictive dialer for linux.

Current Features include:

  • Multiple Modes: predictive, power, preview, auto
  • Web CRM interface – record is automatically populated when a call comes in
  • Web admin interface
  • Capable of FCC Compliance
  • and much more…

Visit GnuDialer.org for more details.

The above url is the original gnudialer site (which hasn’t seen an update in ages).

Instalar servidor bind en una maquina centos (trixbox)

October 3, 2008

Usando yum para instalar bind:

yum -y install bind bind-libs caching-nameserver bind-chroot

chkconfig named on

service named start

Ahora editamos el fichero /var/named/chroot/etc/named.conf para añadir los reenviadores (servidores DNS externos, que en nuestro ejemplo será los de opendns.com) dentro de la sección options:

forwarders {
IP1 del DNS que usemos;
IP2 del DNS que usemos;
};

OJO: se debe borrar todo lo demas, solo dejar las lineas anteriores. Este archivo al modificarlo y resetear el servicio bind se actualiza el otro ubicado en /etc/chrootg…..-nameserver.conf
Estos DNS son los de nuestro ISP o los de openDNS

Por último, editamos el fichero /etc/resolv.conf para decirle a la máquina que se consulte a sí misma y lo dejamos así:

search localdomain
nameserver 127.0.0.1

Reiniciamos el servicio de DNS:

service named restart

Instalando ssh server con yum en un maquina con centos (TRIXBOX)

September 30, 2008
yum install openssh-server
/etc/init.d/sshd start


RAGUI: GUI para Asterisk en RealTime

September 17, 2008

RAGUI es un GUI de asterisk en tiempo real: Realtime Asterisk uses the MySQL relational database to access dialplan, extension and configuration data. This allows for dynamic additions and changes to users, extensions and dialplans without having to restart or reload the system.

Es una opcion que ya me baje y estoy viendo si la puedo instalar en mi debian siguiendo y adaptando el manual suministrado para centos, si tengo exito pronto publicare el manual adaptado.

http://www.ragui.net/download.php

click2call con una extension de firefox

September 6, 2008

http://www.interlinkweb.com/blog/post.aspx?id=314

How to Make Phone Calls through Switchvox from Your Firefox Browser

Switchvox Fire DialerLast week I received a new snom 320 phone from our Network Administrator who is building out our VoIP Network and being an IT guy I set out to discover extensible features. So, as I find them I’ll post about them here.

Switchvox has authored the Switchvox Fire Dialer Extension; it’s a Firefox Browser Plug-in that integrates the Browser with Switchvox to make VoIP calls directly from your computer.

I found this plug-in to be exceptionally simple to install and configure. Here are the steps I took.

Things You’ll Need

  1. VoIP capability on your network.
  2. Firefox Web Browser.
  3. A microphone and speakers or a headset on your PC.
  4. Inform your Network Administrator.

Regarding #3, you’ll definitely want to discuss this with your Network Administrator first because having phone conversations through your PC is going to put some voice traffic on your network. Our VoIP implementation that we have in our offices today is segmented such that our Voice and Data are on separate network segments and so trying out the Fire Dialer meant that I’d be taking voice over the Data network. Not a huge deal for a single user but that might present some problems for our Data Applications if everyone in our office attempted to do this.

Step 1

Environment

Determine what version of Firefox you’re running by clicking the Help Menu and then selecting “About Mozilla Firefox.

Determine your version of Firefox

You can locate the version number here.

Firefox Version Number location

Step 2

Download

Download (opens new window) the Fire Dialer plug-in that supports your Firefox Web Browser version. The download options will look like this.

Fire Dialer Download Link Options

After clicking the Download link the Firefox plug-in installer dialog will launch. Click the “Install” button.

Fire Dialer Install Dialog

Note: I have verified directly with Digium that this plug-in was created by Switchvox. I don’t have any reason to believe that they should not be a trusted source.

Once the installation is complete you’ll be prompted to re-start Firefox.

Step 3

Configuration

After you’ve restarted the Firefox web browser you’ll need to configure Fire Dialer. To do so, go to the Tools –> Add-ons menu option.

Firefox Add-ons Management

This will launch Add-ons management console. Click the Options button for Fire Dialer.

Firefox Ad-ons Management Console

You’ll need to add some information here.

  1. The IP Address of the PBX (Switchvox box for me).
  2. Your Phone extension.
  3. Your Phone password.

Fire Dialer Configuration

Click Save. You’re now ready to go dialing!

Step 4

Kick the Tires

Using your Firefox web browser, navigate to a web page that has a Phone Number displayed as text. I’ve navigated to our Home Page.

Web Page Phone Numbers

Over-score the Phone Number that you wish to call.

Highlighted Phone Number for Fire Dialer

Place your mouse cursor over the over-scored phone number and right click on your mouse. This will launch the context menu. Choose the Dial option and get ready to call.

Fire Dialer Context Dialing Menu

Oh, make sure that you either have your headset on or your mike and speakers ready

AGI EN ASTERISK

September 6, 2008

A simple AGI scripting engine with Asterisk-Java


Introduction
Asterisk, the well known free PBX, exposes great integration potentialities. Specifically , we’re interested in AGI (Asterisk Gateway Interface), a sort of API for scripting the engine.
Today we’ll face a java interface for AGI: asterisk-java. We’ll use this easy library to build a scripting engine. The used scripting language is BeanShell, but you can virtually use any language supported by the Sun jdk (python,ruby,groovy, javascript etc.).

Asterisk-Java and AGI – some code

The library asterisk-java is of immediate use; its simplest use is based on fastagi protocol, and though it also exposes a Manager API, fastagi will be enough for this article purposes . To build our scripting engine we just need to subclass “BaseAgiScript” and override its “service” method. From the AgiRequest object we’ll grab the parameter we’re interested in, “script”, which is just the name of a beanshell script we want to execute. We’ll then pass a reference of our class, the AgiRequest and the AgiChannel object to the beanshell interpreter, launch a global script that defines some utility functions (see below) and finally launch the requested script. The approach is quite flexible, our script engine doesn’t need to be on the same computer the pbx is on, and we can add/modify our scripts on the fly without need for compilation or engine restart.


package org.beanizer.bagiserver;


import bsh.EvalError;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.asteriskjava.fastagi.AgiChannel;
import org.asteriskjava.fastagi.AgiException;
import org.asteriskjava.fastagi.AgiRequest;
import org.asteriskjava.fastagi.BaseAgiScript;

import bsh.Interpreter;

public class BAgiServer extends BaseAgiScript{

public BAgiServer() {
}

public void service(AgiRequest request, AgiChannel channel)
throws AgiException {

Interpreter interp=new Interpreter();
try {
String script=((request.getParameter("script")!=null) && !( request.getParameter("script").equals("") ) )
        ? request.getParameter("script") : "../scriptlib/default";
interp.source("scriptlib/bagi_import.bsh");
interp.set("bagi",this);
interp.set("request",request);
interp.set("channel",channel);

interp.source("scripts/"+ script +".bsh");

} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
} catch (EvalError ex) {
ex.printStackTrace();
}
}

}

A “fastagi-mapping.properties” file must exists on the classpath of the scripting engine and should contain something like this:

server.agi = BAgiServer

where “server.agi” is the agi script name called from asterisk, to be mapped to “BagiServer”, our class name.

We also need to add a call to our engine from asterisk’s dialplan, so in “extensions.conf” we’ll add something like:


exten => 1200,1,Agi(agi://localhost/server.agi?script=scriptname)

where “1200″ can be an extension number of your choice, “localhost” is the server your scripting engine is hosted on, “server.agi” is the name we’ve mapped for our scripting engine and “scriptname” is the name of the beanshell script we want to invoke(without .bsh extension).

When someone will try to call extension “1200″, the specified agi script will be executed.

In our source code you can see we’re using two directories relative to the base classpath of BAgiServer:

  • “scriptlib”, wich contains scripts “default”(called if no script name is passed as parameter), and “bagi_import” ( where we put generic functions we can use from other scripts).
  • “scripts” , containing all the user defined scripts.

Obviously these paths are arbitrary and you can choose differently. Now let’s have a look at our beanshell scripts.

bagi_import.bsh
This is an utility script automatically included each time the engine gets called, so we should put here all the general purpose functions. Here is how it is now:



import
org.asteriskjava.fastagi.AgiChannel;
import org.asteriskjava.fastagi.AgiException;
import org.asteriskjava.fastagi.AgiRequest;
import org.asteriskjava.fastagi.BaseAgiScript;

import org.beanizer.bagiserver.BAgiServer;

BAgiServer bagi;
AgiRequest request;
AgiChannel channel;

say(String string){
java.rmi.server.UID uid=new java.rmi.server.UID();
String command="echo '" + string + "' | text2wave -scale 8 -o "+ "/tmp/"+uid.toString() +".ulaw -otype ulaw -";
channel.exec("System",command );
channel.streamFile("/tmp/" +uid.toString());
channel.exec("System","rm /tmp/"+ uid.toString() +".ulaw" );
}
answer(){
channel.answer();
}
hangup(){
channel.hangup();
}
getDigits(int number){
StringBuffer sb=new StringBuffer();
for(int t=0;t<number;t++){
sb.append(channel.waitForDigit(10000));
}
return sb.toString();
}

wait(int millis){
(new Thread()).sleep(millis);
}

Here we basically import some useful classes, instantiate BAgiServer,AgiRequest and AgiChannel, and then define some functions. These just do what their names say, note how most of the time we just wrap AgiChannel’s methods (“answer” and “hangup” i.e.).

“getDigits”, makes use of the method “waitForDigit” of AgiChannel to wait for the user to input a number of digits specified by the function parameter and returns the entire number as a string.

“say”, is used to achieve text-to-speech. Instead of using festival or flite, here we use a lighter approach. Using the “exec” method of AgiChannel we launch “text2wave” on the pbx host (so text2wave must be installed there), and save the resulting sound file in a tmp directory with a random name.

We then use “streamFile” to stream the sound to the user and finally delete the sound file from the tmp directory.


default.bsh


This is called when no script to be executed has been specified.


answer
();
wait(1000);
say("No script defined");
wait(1000);
hangup();

As you can see, it makes use of the functions defined in bagi_import.bsh. It answers the call, waits for a second, says a phrase, waits another second and then hangs up.

test.bsh


And now an example of a user defined script. This script must reside in the “scripts” directory, and the agi call from asterisk should be something like this:
exten => 1200,1,Agi(agi://localhost/server.agi?script=test)

And here is the code:


import org.asteriskjava.fastagi.command.*;
answer();
wait(1000);
say("Please, enter extension code");
String code = getDigits(3);
say("Trying to call extension:");
channel.sayDigits(code);
channel.exec("ChannelRedirect", channel.getName() + "|from-internal|" + code + "|1");
hangup();

I’m sure you can appreciate how easy it is now to write a script. In this case the script answers and waits for a while, then asks for an extension number to be dialed, reads aloud the dialed code and then tries to redirect the call to the requested extension, using th “ChannelRedirect” asterisk command. Then it hangs up.

If you want to test this approach, here are a couple of guidelines:

  • The directory structure should be like this:

basedir
scriptlib
bagi_import.bsh
default.bsh
scripts
your_scripts_go_here.bsh
lib
asteriskjava.jar (the name depends on the version)
beanshell.jar (the name depends on the version)
bagiserver.jar (it’s just org.beanizer.bagiserver.BAgiServer.class jarred)
fastagi-mapping.properties

  • from “basedir”, start the engine including in your classpath the “lib” dir and all the jars it contains, and launching the class org.beanizer.bagiserver.BAgiServer
Conclusions

The proposed is just a skeleton of what could grow as a more complete agi scripting engine for java (or even ruby,python,javascript,groovy) developers involved in integrating asterisk with other platforms.
It’s quite easy to extend the engine by adding methods in the java class or, better, by adding functions to bagi_import.bsh

Proyectos opensource relacionados con telecomunicaciones

August 30, 2008

CSCF

SER
O projecto SER – Sip Express Router é muito popular na comunicade open-source. As vantagens deste pacote são:

• Servidor SIP gratuito com alto desempenho e elevada flexibilidade.
• Pode actuar como servidor SIP Proxy, Redirect e Registrar.
• Pode-se facilmente construir novos módulos para serem adicionadas novas funcionalidades.
• O mais popular na comunidade Open Source.
• Adoptado por diversos vendedores e universidades.

As desvantagens são:
• Não é IMS compliant. Necessita de desenvolvimento.

Tambien tenemos en este lado los siguientes proyectos, todos probados por nosotros:

Openser, opensips, kamailio.

OpenIMS Core
O projecto open-source IMS Core é desenvolvido pelo instituto Fraunhofer Institute FOKUS e pretende colmatar o vazio existente no mundo do open-souce em relação ao IMS. O objectivo do projecto é criar uma comunidade de developers de componentes para redes de próxima geração IMS.

As vantagens deste pacote de software são:
• Implementa o CSCF e HSS.
• O CSCF é baseado no SER (SIP Express Router) mencionado em cima. Do qual retira as suas vantagens.
• É IMS compliant evitando a necessidade de integração.
• A sua interoperabilidade tem sido testada com produtos IMS comerciais.
• Disponibiliza uma interface ISC (IMS Service Control) para permitir à camada de aplicação a criação de serviços IMS para várias plataformas (SIP AS, OSA/Parlay ou IN através do IM-SSF)

HSS

OpenIMS Core
Como mesmo as funções mais básicas de encaminhamento de sinalização no IMS necessitam de uma consulta ao HSS, este foi incluido no OpenIMS Core para permitir uma utilização normal do mesmo. Assim sendo, o Open IMS core disponibiliza uma implementação simples HSS, o FOKUS Home Subscriber Server (FHoSS).

As vantagens deste pacote de software são:
• É IMS compliant evitando a necessidade de integração.
• É o único HSS open-source encontrado.

MRF

Asterisk PBX
O Asterisk PBX é provavelmente o IP PBX open-source mais populal. O projecto é gerido pela Digium e é utilizado por outros projectos open-source como o TrixBox para criar uma solução para call centers, por exemplo.

As vantagens deste pacote de software são:
• Servidor PBX IP gratuito com alto desempenho e elevada flexibilidade.
• Pode actuar como servidor SIP Registrar, location server e pode actuar como UAC.
• O mais popular na comunidade Open Source.
• Adoptado por diversos vendedores e universidades.
• É integrado em projectos como o TrixBox que pode ser uma óptima solução para um pequeno call-center IP
• Pode funcionar como Gateway SIP-PSTN usando placas Digium ou Sangoma.
• Pode actuar como Gateway SIP-SS7 usando as mesmas placas e a libraria libSS7.
• Pode funcionar como como Gateway SIP-3G usando a libraria h324m da sip.fontventa.com
• Tem capacidade de áudio e vídeo-conferência com o meetme e app_mixer, respectivamente.

As desvantagens são:
• Não é IMS compliant. Necessita de desenvolvimento.

SEMS – Sip Express Media Server
O SEMS é baseado no software open source SER (Sip Express Router) desenvolvido pela iptel.org. Corre em linux e é distribuido com uma variedade de exemplos de aplicações como voicemail, IVR, audio conferencia, etc.

As vantagens deste pacote de software são:
• Baseado no SER que é conhecido pelo seu alto desempenho e elevada flexibilidade.

As desvantagens são:
• Não é IMS compliant. Necessita de desenvolvimento.

CallWeaver
O CallWeaver, anteriormente conhecido como Open PBX é um spin-off do Asterisk PBX mas licenciado sobre a licença GNU GPL. Assim sendo, ambos os projectos partilham um código base identico mas o CallWeaver tem uma comunidade de desenvolvimento menor o que o torna menos atraente.
Mais informações em: www.openpbx.org

As vantagens deste pacote de software são:
• Partilha código com o Asterisk.

As desvantagens são:
• Não é IMS compliant. Necessita de desenvolvimento.
• Comunidade de desenvolvimento menos que a do Asterisk.

SIPfoundry Sipx
A SIPfoundry é uma comunidade open source community que fornece varios development kits SIP e VoIP.A sua stack SIP é usada em diversos produtos e a solução sipX PBX é usada por muitas empresas. Este projecto está ligado aos productos Vision permitindo interoperabilidade com RDIS e SS7.

As vantagens deste pacote de software são:
• Solução robusta.

As desvantagens são:
• Não é IMS compliant. Necessita de desenvolvimento.
• Não tem suporte para H.323 ou outros protocolos além do SIP.

YATE
O Yet Another Telephony Engine é um PBX e cliente open source com recursos SIP, H.323 e IAX. Funciona como um tradutor SIP-H.323. (suportado comercialmente pela Null Team).

As vantagens deste pacote de software são:
• Solução interessante para gateway SIP-H.323.
• Pode funcionar como Gatekeeper H.323.

As desvantagens são:
• Não é IMS compliant. Necessita de desenvolvimento.

FreeSWITCH
A FreeSWITCH é uma plataforma de telefonia open source telephony desenhada para facilitar a criação de produtos orientados à voz e chat. Pode ser usado apenas como um motor de comutação, uma media gateway ou um media server com aplicações de IVR criadas usando scripts ou XML.
Suporta diversos protocolos como SIP, H.323, IAX2 e GoogleTalk making it easy to interface with other open source PBX systems such as sipX, OpenPBX, Bayonne, YATE or Asterisk.

As vantagens deste pacote de software são:
• Suporta diversos protocolos (SIP, H.323, IAX2 e GoogleTalk).

As desvantagens são:
• Não é IMS compliant. Necessita de desenvolvimento.

Bayonne
O GNU Bayonne é um servidor de telefonia open source que oferece um ambiente de desenvolvimento sistemas escalaveis e independents da media usada.

As vantagens deste pacote de software são:
• Desenvolvido pela GNU.

As desvantagens são:
• Não é IMS compliant. Necessita de desenvolvimento.
• O projecto parece estar parado.

Vovida Vocal
O projecto parece estar parado e há dificuldades em aceder ao site.

SIP AS

SIPSEE
O SIPSEE (SIP Servlet Execution Environment) é a solução da FOKUS para desempenhar o papel de SIP Application Server (SIP AS) com base em SIP Servlet Technology. O SIPSEE intregra a camada Application Layer e dá aos serviços IMS a capacidade de controlo das sessões multimédia sobre SIP/HTTP/Diameter.
O SIPSEE actua como um SIP proxy, SIP Redirect ou um B2BUA (Back to Back User Agent). A API (Application Programming Interface) usada pelo SIPSEE é compativel com o JSR116 – SIP Servlet API 1.0 que tem vindo a ser adoptada como API HTTP Servlet.
O SIPSEE foi desenhado e impelmentado com suporte para SIP e HTTP de modo a permitir o acesso a serviços IMS por parte de clientes SIP ou através de browser HTTP potenciando serviços como o Click2Dial, See What I See, etc. Desta forma, une os protocolos mais usados da internet e do VoIP.

As vantagens deste pacote de software são:
• IMS compliant.

Mobicents
O Mobicents é o SIP Application Server server mais popular para a plataforma Java.

As vantagens deste pacote de software são:
• IMS compliant.
• Muito popular.

WeSIP
WeSIP é um SIP e HTTP Application Server implementado sobre o OpenSER. Não é open source. Gratuito para uso não comercial.

As desvantagens deste pacote de software são:
• Não é open source. Gratuito para uso não comercial.

User Equipment

IMS Communicator
O IMS Communicator é desenvolvido pela PT Inovação, SA. Implementa um UE (User Equipment) IMS com capacidades vídeo.

As vantagens deste pacote de software são:
• IMS compliant.
• Suporta vídeo.
• É open source (nesta secção só dois produtos são open source).

OpenIC
O OpenIMS Client é desenvolvido pelo instituto Fraunhofer Institute FOKUS e implementa um UE (User Equipment) IMS permitindo o acesso aos serviços multimédia de uma rede IMS.

As vantagens deste pacote de software são:
• IMS compliant.

As desvantagens são:
• Não é open-source.

UCT IMS Client
O OpenIMS Client é desenvolvido pelo instituto Fraunhofer Institute FOKUS e implementa um UE (User Equipment) IMS permitindo o acesso aos serviços multimédia de uma rede IMS.

As vantagens deste pacote de software são:
• IMS compliant.
• É open source (nesta secção só dois produtos são open source).

As desvantagens são:
• Pode revelar problemas de interoperação já que claramente afirma que foi construído para ser usado com o OpenIMS Core.
• Tem alguns bugs conhecidos.

X-Lite
Desenvolvido pela CounterPath. Não é open-source mas é gratuito. É um softphone não IMS-compliant mas muito popular e com capacidades vídeo.

As vantagens deste pacote de software são:
• IMS compliant.

As desvantagens são:
• Não é open source.

SJphone
Não é open-source mas é gratuito. É um softphone não IMS-compliant mas muito popular.

As desvantagens deste pacote de software são:
• Não é IMS Compliant.
• Não é open source.

Kapanga
Não é open-source mas é gratuito. É um softphone não IMS-compliant mas com muitas opções de configuração. Dispõe de uma versão para Windows Mobile. Dispõe de codecs vídeo como o H.264 e áudio como o AMR (na versão paga).

As desvantagens deste pacote de software são:
• Não é IMS Compliant.
• Não é open source.

Stacks Diameter

OpenBloX
O OpenBloX é um framework Java Diameter open source para implementação de interfaces IMS Diameter conforme a especificação 3GPP e 3GPP2. É mantido pela Traffix Systems.

OpenDiameter
Open Diameter é uma libraria C++ que potencia implementação do protocolo Diameter e suporta Linux, BSD e Microsoft Windows. Mais informação pode ser encontrada em http://www.opendiameter.org/

JDiameter
JDiameter é uma API e implementação do protocolo Diameter em Java. Mais informação pode ser encontrada em https://jdiameter.dev.java.net/.

Ferramentas de teste

Seagull
É um gerador de trafego multi-protocolo da HP orientado ao IMS.

Sipp
É um gerador de trafego SIP.


Follow

Get every new post delivered to your Inbox.