Capturar Paquetes SIP de la RED

340 views
Skip to first unread message

tecnicosht

unread,
Feb 6, 2007, 3:43:35 AM2/6/07
to aster...@googlegroups.com
Hola.

Para un pequeño proyecto, necesito capturar los paquetes de red SIP.
Es decir un pequeño sniffer para trafico SIP.

La idea:
Estoy realizando un programilla que en un PC, cuando se produce una
llamada VoIP salte una ventana en el PC con la identificación del numero
que llama y una búsqueda en una BD si ese teléfono es de un cliente para
desplegar su información.

El caso es que con asterisk, ya tengo claro que se puede hacer con AMI
(por ejemplo el programa del compañero de la lista Saul Ibarra)
pero .. y si quiero que dicho programa funcione hasta con centralita de
voIP hardware que empiezan a proliferar ???

Pues a mi se me ha ocurrido que la única forma para que sea estandard,
es capturando los paquetes SIP y tratándolos para sacar el numero de
teléfono entrante.

Entonces tengo dos preguntas ... es una idea descabellada ? se puede
hacer de forma sencilla ?
Y otra. Si no es una idea descabellada ...... Alguien sabe darme alguna
idea por donde empezar a investigar ?

A mi se me antoja la idea como muy poco funcional ... pero sino, como
hacer algo similar !

La otra opción es usando los drivers CAPI de la centralita voIP (que
suelen venir) al menos con la que yo tengo (elmeg), pero claro, el
trabajo solo valdria para esta centralita no para otra.

Un Saludo.

JacnaroL

unread,
Feb 6, 2007, 6:18:36 AM2/6/07
to asterisk-es
Para que eso te funcione no puedes tener switch en tu instalacion o
pinchar con un hub al lado del asterisk o de la centralita ip.

ru0...@gmail.com

unread,
Feb 6, 2007, 6:29:02 AM2/6/07
to aster...@googlegroups.com
En el caso de tener un switch, se puede utilizar "ARP Spoofing", tal
como explica Julián Menéndez en su blog:
http://www.julianmenendez.es/comment/reply/10

Ramses II

unread,
Feb 6, 2007, 6:45:41 AM2/6/07
to aster...@googlegroups.com, jga...@grupo-ondemand.com
Si tenéis un switch con soporte para "port mirroring" es suficiente para
capturar el tráfico que no va dirigido a nosotros.


Saludos,


Ramses


| -----Mensaje original-----
| De: aster...@googlegroups.com [mailto:aster...@googlegroups.com] En
| nombre de ru0...@gmail.com
| Enviado el: martes, 06 de febrero de 2007 12:29
| Para: aster...@googlegroups.com
| Asunto: [Asterisk-ES] Re: Capturar Paquetes SIP de la RED

David Santamaria

unread,
Feb 6, 2007, 7:09:11 AM2/6/07
to aster...@googlegroups.com
Aupa!

> Para un pequeño proyecto, necesito capturar los paquetes de red SIP.
> Es decir un pequeño sniffer para trafico SIP.

Me encuentro realizando un proyecto similar, te comentare como lo he
enfocado yo, si te vale de algo.

La que tendrias que hacer, es capturar de manera "promiscua" todo el
trafico de tu red, de esa manera podrias mirar los paquetes SIP que son
los que te interesan, y luego sacar sus cabeceras (donde encontraras la
informacion que quieres), para la captura de trafico y el ARPSpoofing
utilizo la herramienta ettercap (por lo que mi proyecto, esta orientado
a ser un pluggin para esta herramienta), una vez que esta herramienta te
captura el trafico tu solo te encargas de utilizar el que te interesa.
Si no quieres tener que desarrollar bajo esta herramienta, (aunque el
desarrollo de plugins es bastante sencillo segun parece), puedes
consultar su cogigo (es Open Source).
Creo que lo bueno, es tratar esos paquetes SIP, independientemente de
quien los mande (asterisk, un softphone, un dispositivo SIP, ...),
aunque quizas no sea eso lo que quieras, no lo se, puedes comentar algo
mas de cual es la idea que tenias?, un saludo.

--
SALUD.

David (a.k.a. Highwayman).

Ramses II

unread,
Feb 6, 2007, 7:23:01 AM2/6/07
to aster...@googlegroups.com, jga...@grupo-ondemand.com
Buenos días,

Una preguntita: ¿Dónde tenéis pensado capturar/analizar todo el tráfico de
la red, en cada PC?


Saludos,


Ramses


| -----Mensaje original-----
| De: aster...@googlegroups.com [mailto:aster...@googlegroups.com] En

| nombre de David Santamaria
| Enviado el: martes, 06 de febrero de 2007 13:09


| Para: aster...@googlegroups.com
| Asunto: [Asterisk-ES] Re: Capturar Paquetes SIP de la RED
|
|

tecnicosht

unread,
Feb 6, 2007, 7:42:55 AM2/6/07
to aster...@googlegroups.com
Buenas de nuevo.

La captura de trafico, no se haría en cada PC, tan solo en uno que haga
de servidor y el resto de PC consulte la información tratada del
servidor que realice las capturas del trafico SIP.

Y la idea, es controlar el trafico SIP entrante, tener una especie de
realtime como la que puede tener asterisk, pero que me valga para un
asterisk como para una centralita hardware IP.
Lo que realmente quiero saber, en principio, es el teléfono llamante, y
la duración de la llamada.

Y habiendo capturado esa información, los PC la consulten ya tratada y
saquen por pantalla quien esta llamando de una base de datos, o un
número nuevo si no existe el numero en la base de datos.

Escenario:
Llama el número 91123456789, el sistema captura el trafico SIP y el
servidor pone en una BD que esta llamando 91123456789 que corresponde
con el numero de cliente 1234.
Entonces en los PC sale una ventanita que avisa que llama el 91123456789
que es pepito y un enlace para si se quiere atender la llamada y abrir
la ficha del cliente.
Cuando se acaba la llamada, en el servidor se borra de la BD la
información de la llamada en otra tabla de llamadashistoricas y vacía la
tabla de realtime.

No se si me he explicado muy bien, pero creo que se capta la idea.
Y como os digo, esto en asterisk es relativamente fácil de hacer, pero
si en vez de asterisk tengo una centralita hardware !!!
Pues por ese es el motivo de hacer todo el lío este.

Es por tener un escenario en el que empresas pequeñas (menos de 5
empleados) puedan usar esta tecnología sin gastar mucho dinero, ya que
implantar un asterisk puede salir mas caro que la opción de la
centralita hardware.


Salu2.


Ramses II escribió:

Ramses II

unread,
Feb 6, 2007, 8:50:44 AM2/6/07
to aster...@googlegroups.com, jga...@grupo-ondemand.com
Una pregunta:

¿Qué Centralita IP para 5 usuarios sale más económica que ASTERISK y con qué
prestaciones?


Saludos,


Ramses


| -----Mensaje original-----
| De: aster...@googlegroups.com [mailto:aster...@googlegroups.com] En

| nombre de tecnicosht
| Enviado el: martes, 06 de febrero de 2007 13:43

Espartano

unread,
Feb 6, 2007, 8:58:37 AM2/6/07
to aster...@googlegroups.com

Si vas a poner un programa a capturar en el servidor por donde pasa
todo el trafico de la red no tendras que hacer arpspoof, puedes
realizar un programita que haga espesificamente lo que quieres con la
libreria pcap (libpcap), en ella esta basado tcpdump, es vastante
poderosa ...... si necesitas hacer el arpspoof puedes hacer uso de
libnet :)


--
http://espartano.linuxreal.org/blog/html/index.php

tecnicosht

unread,
Feb 6, 2007, 11:11:24 AM2/6/07
to aster...@googlegroups.com
Yo estoy ahora mismo con una elmeg t484
Características:
http://www.funkwerk-ec.com/prod_elmeg_t484_main_en,43138,837.html


Ramses II escribió:

David Roman Esteban

unread,
Feb 7, 2007, 3:44:05 AM2/7/07
to aster...@googlegroups.com
Pues si tienes que poner un PC que sea capaz de capturar procesar el
trafico de red, consultar a una BBDD en otro ordenador y alguna cosa mas
que propones ya tienes el PC del asterisk :)
Vamos que no veo el ahorro de costes por ningun sitio 1 centralita + 1
PC solo para sacar esa info + un switch que sea capaz de poner un puerto
en modo promiscuo.

Ademas lo que no termino de ver nada claro es eso de que
"

Entonces en los PC sale una ventanita que avisa que llama el 91123456789
que es pepito y un enlace para si se quiere atender la llamada y abrir
la ficha del cliente.

"
¿Esto como lo pretendes hacer en una centralita hardware? ¿mediante
captura de llamadas ?

Un saludo
David
tecnicosht escribió:

Samuel Moñux

unread,
Feb 7, 2007, 4:08:57 AM2/7/07
to aster...@googlegroups.com
El 6/02/07, tecnicosht <tecni...@gmail.com> escribió:

>
> Hola.
>
> Para un pequeño proyecto, necesito capturar los paquetes de red SIP.
> Es decir un pequeño sniffer para trafico SIP.
>
> La idea:
> Estoy realizando un programilla que en un PC, cuando se produce una
> llamada VoIP salte una ventana en el PC con la identificación del numero
> que llama y una búsqueda en una BD si ese teléfono es de un cliente para
> desplegar su información.
>
> El caso es que con asterisk, ya tengo claro que se puede hacer con AMI
> (por ejemplo el programa del compañero de la lista Saul Ibarra)
> pero .. y si quiero que dicho programa funcione hasta con centralita de
> voIP hardware que empiezan a proliferar ???
>
> Pues a mi se me ha ocurrido que la única forma para que sea estandard,
> es capturando los paquetes SIP y tratándolos para sacar el numero de
> teléfono entrante.
>
> Entonces tengo dos preguntas ... es una idea descabellada ? se puede
> hacer de forma sencilla ?
> Y otra. Si no es una idea descabellada ...... Alguien sabe darme alguna
> idea por donde empezar a investigar ?
>


Antes de nada, un saludo al grupo, que es mi primer post. Espero
aprender mucho de la lista (dados mis casi nulos conocimientos de
telefonía seguro que es así :-)

No tengo mucha idea de lo que comentas, pero he conocido un par de
aplicaciones que tienen relación con lo que intentas.

La primera de ellas en la empresa en la que trabajaba hace un par de
años. Era una aplicación de control de llamadas que atacaba a una
"Hipath" (no sé bien lo que es eso supongo que alguna centralita de
las caras). Sé que usaban JTAPI. Es todo lo que se de ella, porque
apenas conocí de su existencia (me fui antes de la implantación).

La otra es para la empresa para la que trabajo ahora. Nos están
haciendo una aplicación parecida para unas centralitas EADS, aunque el
proyecto está un poco en "suspenso". Sé que están usando un protocolo,
stack, lo que sea, llamado "CSTA", tambien con java. Con esta gente
tengo algo de contacto, podría preguntarles.

Parece complicado encontrar una manera estándar de hacer las cosas,
pero yo no me iría a analizar el tráfico "en bruto". No sé si para SIP
existe alguna API estándar para control o admisión de llamadas, sería
una posibilidad.

Saludos, Samuel

tecnicosht

unread,
Feb 7, 2007, 4:49:52 AM2/7/07
to aster...@googlegroups.com
Respondiendo a lo del precio de la centralita (que alguien preguntaba)
la que os comento yo esta alrededor de 450 €.
Que es un precio muy interesante para pymes.
Eso si .. no da la potencia de un asterisk !!!

En el caso de esta centralita, trae unos drivers CAPI y TAPI que se
pueden instalar en windows ... pero claro, ya seria desarrollar un
programa específicamente para esos drivers ... cosa que no quiero ya que
en otra centralita similar de otra marca no me funcionaria .. por lo que
queda descartado.

De todas formas, buscando información y pensando (un poco solo ..
jejeje) me he dado cuenta que este tipo de centralitas híbridas que
tienen soporte para llamadas SIP y tradicionales, con teléfonos SIP y
analógicos ... en el caso que se produce una llamada por una RDSI a una
extensión analógica, esto no genera trafico TCP, por lo que lo de
capturar paquetes no valdría ... a no ser que la única entrada de la
centralita sea un proveedor SIP (cosa que de momento creo que esta
lejos, por los menos a corto plazo .. a ver como le dices tu a una
empresa que la linea que tienen solo la van a usar para internet y no
para llamar, y que las llamadas van por internet y se paga a un
proveedor !! ... y eso ahora que hay packs de llamadas gratis nacionales
!!!)

Lo que comenta David ...
Si que hay ahorro de costes, ya que un asterisk + PC servidor +
interface BRI + interface FXO y FXS + programas necesarios > centralita
hardware + programas (en equipo de la red cualquiera)
Calcula un precio ya veras como sale mas económico lo segundo ... eso
si, con muchas menos funcionalidades que asterisk !

Y lo de hacer el programa ese que pretendo en una centralita hardware,
es el tema de la captura de los paquetes de RED o bien si existiera un
driver TAPI y CAPI estándar para cualquier centralita hardware ! (aunque
el tema de driver CAPI ya no valdría para asterisk y yo lo que quiero es
algo estándar para cualquier tipo de centralita)

Lo que comenta Samuel ....
Gracias por el ofrecimiento, pero de momento no creo que sea necesario.
Y lo de analizar el trafico es justamente lo que estamos pensando, por
eso puse el tema este en la lista ;-)

Conclusiones:

Creo que al final, habrá que irse a la solución asterisk, adaptando el
hardware a lo que realmente necesite el cliente (para reducir costes).
Y usando AMI y realtime para sacar toda la información, ademas de meter
la base de datos MySQL y hacer todo el interface vía Web.
Además así, valdría para cualquier sistema operativo.
De todas formas seguiré investigando un poco sobre el tema de la captura
del trafico SIP de la red, ya que podría ser interesante para algunas
otra ocasión.
Y habrá que investigar el tema AMI y formas que con un interface vía web
puedan salir notificaciones y mas cosas !

Bueno, de momento, creo que nada mas ... muchas gracias por responder a
todos.

Salu2.

Ramses II

unread,
Feb 7, 2007, 5:16:44 AM2/7/07
to aster...@googlegroups.com, jga...@grupo-ondemand.com
El problema no es la RDSI, el problema es que si entran por RDSI, todos los terminales deberían de ser IP (SIP) para que mande todo el tráfico a la Red.

Si todos los terminales son IP, te da igual por donde entren o salgan las llamadas, siempre vas a poder interceptarlas en la red.


Saludos,


Ramses

| -----Mensaje original-----
| De: aster...@googlegroups.com [mailto:aster...@googlegroups.com] En

| nombre de tecnicosht
| Enviado el: miércoles, 07 de febrero de 2007 10:50


| Para: aster...@googlegroups.com
| Asunto: [Asterisk-ES] Re: Capturar Paquetes SIP de la RED
|
|

Raúl Alexis Betancor Santana

unread,
Feb 7, 2007, 6:21:23 AM2/7/07
to aster...@googlegroups.com
El Miércoles, 7 de Febrero de 2007 09:49, tecnicosht escribió:
> De todas formas, buscando información y pensando (un poco solo ..
> jejeje) me he dado cuenta que este tipo de centralitas híbridas que
> tienen soporte para llamadas SIP y tradicionales, con teléfonos SIP y
> analógicos ... en el caso que se produce una llamada por una RDSI a una
> extensión analógica, esto no genera trafico TCP, por lo que lo de
> capturar paquetes no valdría ... a no ser que la única entrada de la
> centralita sea un proveedor SIP (cosa que de momento creo que esta
> lejos, por los menos a corto plazo .. a ver como le dices tu a una
> empresa que la linea que tienen solo la van a usar para internet y no
> para llamar, y que las llamadas van por internet y se paga a un
> proveedor !! ... y eso ahora que hay packs de llamadas gratis nacionales
> !!!)

Ojito con los "packs" de llamadas, nadie da "duros a cuatro pesetas", en
relidad en muy pocas ocaciones son realmente rentables (para el abonado
claro ... para el operador si lo son)

--
Saludos.

Raúl Alexis Betancor Santana
Dimensión Virtual S.L.

Reply all
Reply to author
Forward
0 new messages