Hola gente: Tengo este inconveniente: Tengo una PBX (Mitel) conectada por medio de un trunk SIP con un servicio de VoIP. El problema es que el servicio de VoIP no interpreta correctamente la IP inválida de mi PBX, ni con NAT ni con NADA. (Tambien probe que asterisk haga el trabajo de proxy, pero los Headers siguen enviando la IP invalida) Por esto mismo, necesite implementar un Proxy que realice el cambio del IP en los headers que envia la PBX. Este es mas o menos el esquema:
PBX <---------------> Proxy <-----------------> VoIP provider 192.168.2.1 190.xxx.xxx.165
El proxy que estoy usando en este momento es el de Brekeke y funciona MUY bien. Pero al ser trial, tuve que buscar una alternativa. Por esto mismo estoy comenzando con Kamailio.
Lo unico que tiene que hacer Kamailio es tomar el trafico entrante de la IP 190.xxx.xxx.165 y reenviarlo a mi IP invalida 192.168.2.1. Lo mismo a la inversa, tomar el trafico de la 192.168.2.1 y reenviarlo a la IP 190.xxx.xxx.165.
De toda la documentacion que lei, pude ver que la base SQL se utiliza para llevar un control y LOG, eso no me interesa, solo el trafico. Tengo que modificar solo el kamailio.cfg? alguien me puede ayudar a comenzar con esto? Tengo Kamailio instalado en un Ubuntu server 8.04 y realmente no se por donde comenzar, creo que Kamailio esta bien configurado, por lo menos segui el manual al pie de la letra, menos la parte de SQL.
Les agradecere toda la ayuda que pueda darme.
GRACIAS! Martin
2008/12/22 Tincho ylm sadzas@gmail.com:
Hola gente: Tengo este inconveniente: Tengo una PBX (Mitel) conectada por medio de un trunk SIP con un servicio de VoIP. El problema es que el servicio de VoIP no interpreta correctamente la IP inválida de mi PBX, ni con NAT ni con NADA. (Tambien probe que asterisk haga el trabajo de proxy, pero los Headers siguen enviando la IP invalida) Por esto mismo, necesite implementar un Proxy que realice el cambio del IP en los headers que envia la PBX.
¿De qué headers estamos hablando exactamente? ¿puedes pegar un INVITE tal y como es y otro tal y como lo quieres?
Iñaki Baz Castillo wrote:
2008/12/22 Tincho ylm sadzas@gmail.com:
Hola gente: Tengo este inconveniente: Tengo una PBX (Mitel) conectada por medio de un trunk SIP con un servicio de VoIP. El problema es que el servicio de VoIP no interpreta correctamente la IP inválida de mi PBX, ni con NAT ni con NADA. (Tambien probe que asterisk haga el trabajo de proxy, pero los Headers siguen enviando la IP invalida) Por esto mismo, necesite implementar un Proxy que realice el cambio del IP en los headers que envia la PBX.
¿De qué headers estamos hablando exactamente? ¿puedes pegar un INVITE tal y como es y otro tal y como lo quieres?
Hola Iñaqui, gracias por responder.
Actualmente avance bastante, aunque sigo sin poder realizar un forward de las llamadas.
Todo lo que necesito, es que Kamailio reenvie el trafico desde la IP invalida hacia una valida. No tiene que chequear numeros, no tiene que realizar NAT, solo reenviar el trafico de un lado a otro cambiando la IP del paquete SIP entrante por la propia del Kamailio.
Realmente me esta volviendo loco. No necesito registrar numeros, no necesito tener una PBX, solo que reenvie el trafico de un lado al otro.
2008/12/30 sadzas sadzas@gmail.com:
Actualmente avance bastante, aunque sigo sin poder realizar un forward de las llamadas.
Todo lo que necesito, es que Kamailio reenvie el trafico desde la IP invalida hacia una valida. No tiene que chequear numeros, no tiene que realizar NAT, solo reenviar el trafico de un lado a otro cambiando la IP del paquete SIP entrante por la propia del Kamailio.
Realmente me esta volviendo loco. No necesito registrar numeros, no necesito tener una PBX, solo que reenvie el trafico de un lado al otro.
O sea, necesitas sencillamente que Kamailio haga de lo que es, de proxy. ¿Y cuál es el problema? es que que yo vea no has contado nada de lo que te ocurre, ni errores ni nada.
El Tuesday 30 December 2008 17:06:20 Iñaki Baz Castillo escribió:
2008/12/30 sadzas sadzas@gmail.com:
Actualmente avance bastante, aunque sigo sin poder realizar un forward de las llamadas.
Todo lo que necesito, es que Kamailio reenvie el trafico desde la IP invalida hacia una valida. No tiene que chequear numeros, no tiene que realizar NAT, solo reenviar el trafico de un lado a otro cambiando la IP del paquete SIP entrante por la propia del Kamailio.
Realmente me esta volviendo loco. No necesito registrar numeros, no necesito tener una PBX, solo que reenvie el trafico de un lado al otro.
O sea, necesitas sencillamente que Kamailio haga de lo que es, de proxy. ¿Y cuál es el problema? es que que yo vea no has contado nada de lo que te ocurre, ni errores ni nada.
Sospecho, por lo que comenta de ip's inválidas y tal .. que lo que tiene es un problema de NAT como un burro con la Mitel.
Raúl Alexis Betancor Santana wrote:
El Tuesday 30 December 2008 17:06:20 Iñaki Baz Castillo escribió:
2008/12/30 sadzas sadzas@gmail.com:
Actualmente avance bastante, aunque sigo sin poder realizar un forward
de
las llamadas.
Todo lo que necesito, es que Kamailio reenvie el trafico desde la IP invalida hacia una valida. No tiene que chequear numeros, no tiene que realizar NAT, solo reenviar el trafico de un lado a otro cambiando la
IP
del paquete SIP entrante por la propia del Kamailio.
Realmente me esta volviendo loco. No necesito registrar numeros, no necesito tener una PBX, solo que reenvie el trafico de un lado al otro.
O sea, necesitas sencillamente que Kamailio haga de lo que es, de proxy. ¿Y cuál es el problema? es que que yo vea no has contado nada de lo que te ocurre, ni errores ni nada.
Sospecho, por lo que comenta de ip's inválidas y tal .. que lo que tiene es un problema de NAT como un burro con la Mitel.
mmmno, no necesariamente es un tema de NAT. De hecho en este momento lo tengo funcionando sin NAT, simplemente usando el proxy de brekeke.
Ademas, la informacion sobre Kamailio es ... como decirlo... CONFUSA!
En este momento no acepta los OPTIONS de la PBX. Devuelve "484 Address Incomplete" (Esto lo estoy siguiendo en otro thread)
El Martes, 30 de Diciembre de 2008, sadzas escribió:
En este momento no acepta los OPTIONS de la PBX. Devuelve "484 Address Incomplete" (Esto lo estoy siguiendo en otro thread)
Eso supone de lo que haga tu script de kamailio.cfg. ¿Qué hace? ¿Cómo lo has programado?
sadzas wrote:
mmmno, no necesariamente es un tema de NAT. De hecho en este momento lo tengo funcionando sin NAT, simplemente usando el proxy de brekeke.
Ademas, la informacion sobre Kamailio es ... como decirlo... CONFUSA!
En este momento no acepta los OPTIONS de la PBX. Devuelve "484 Address Incomplete" (Esto lo estoy siguiendo en otro thread)
Supongo que en pseudo codigo deberia ser algo asi:
si (origen == "PBX") { destino = "voip provider" }
si (origen == "voip provider"){ destino = "PBX" }
No enconte ejemplos donde se redirija, obviamente esto esta mal...
El Martes, 30 de Diciembre de 2008, sadzas escribió:
Supongo que en pseudo codigo deberia ser algo asi:
si (origen == "PBX") { destino = "voip provider" }
si (origen == "voip provider"){ destino = "PBX" }
No enconte ejemplos donde se redirija, obviamente esto esta mal...
- Parte del script por defecto de kamailio.cfg. - Mira la, en absoluto "difusa", documentación de la web de Kamailio: http://kamailio.org/docs/ - Añade al script las funciones necesarias para que permita el paso del tráfico desde la IP de la PBX y lo rute al proveedor. - Poco más hay que hacer.
Pero claro, si planteas el problema diciendo que la doc es "difusa" y dando a entender que no tienes intención de intentarlo...
Iñaki Baz Castillo wrote:
- Parte del script por defecto de kamailio.cfg.
- Mira la, en absoluto "difusa", documentación de la web de Kamailio: http://kamailio.org/docs/
- Añade al script las funciones necesarias para que permita el paso del
tráfico desde la IP de la PBX y lo rute al proveedor.
- Poco más hay que hacer.
Si Iñaqui, perdon!! pero puede ser algo mas especifico?? - Añade las funciones necesarias para que permita el paso del tráfico desde la IP de la PBX y lo rute al proveedor. No se ni por donde comenzar en DOCS!!! y la verdad es que no quiero leer hasta el año que viene, me interesa que me guien donde leer y poder entender un poco mejor. No pido que lo resuelvan, pido que me guien un poquito mas especifico... algo asi como...: Mira, la funcion que se requiere para eso es: xxxxxx...
me explique?
gracias!
El Martes, 30 de Diciembre de 2008, sadzas escribió:
Iñaki Baz Castillo wrote:
- Parte del script por defecto de kamailio.cfg.
- Mira la, en absoluto "difusa", documentación de la web de Kamailio: http://kamailio.org/docs/
- Añade al script las funciones necesarias para que permita el paso del
tráfico desde la IP de la PBX y lo rute al proveedor.
- Poco más hay que hacer.
Si Iñaqui, perdon!! pero puede ser algo mas especifico??
- Añade las funciones necesarias para que permita el paso del
tráfico desde la IP de la PBX y lo rute al proveedor. No se ni por donde comenzar en DOCS!!! y la verdad es que no quiero leer hasta el año que viene, me interesa que me guien donde leer y poder entender un poco mejor.
Kamailio no es fácil, trabaja directamente a nivel SIP (hay que saber de SIP), tiene su propio lenguaje de configuración, etc...
No pido que lo resuelvan, pido que me guien un poquito mas especifico... algo asi como...: Mira, la funcion que se requiere para eso es: xxxxxx...
La variable que recoge la IP origen de un request es $si.
if ($si == "IP_PBX") { # Fijar el destino: rewritehostport("IP_PROVEEDOR:PUERTO_PROVEEDOR"); # Rutar el request: t_relay(); exit; }
El Martes, 30 de Diciembre de 2008 18:36, sadzas escribió:
Supongo que en pseudo codigo deberia ser algo asi:
si (origen == "PBX") { destino = "voip provider" }
si (origen == "voip provider"){ destino = "PBX" }
No enconte ejemplos donde se redirija, obviamente esto esta mal...
Puede o nó ser tan simple como tu propones, porque la cuestión real ¿cual es?, ¿que tu proveedor no acepta la IP que tiene la Mitel? ¿o el problema real es que la Mitel está tras algún router/firewall mal ó incorrectamente configurado y por eso no funciona contra el proveedor SIP?
Puede que le estemos dando vueltas al problema que no es y estés intentando matar moscas a cañonazos.
Saludos -- Raúl Alexis Betancor Santana
Raúl Alexis Betancor Santana wrote:
No enconte ejemplos donde se redirija, obviamente esto esta mal...
Puede o nó ser tan simple como tu propones, porque la cuestión real ¿cual es?, ¿que tu proveedor no acepta la IP que tiene la Mitel? ¿o el problema real es que la Mitel está tras algún router/firewall mal ó incorrectamente configurado y por eso no funciona contra el proveedor SIP?
Puede que le estemos dando vueltas al problema que no es y estés intentando matar moscas a cañonazos.
Saludos
No, no es un problema de Ruteo, ni firewall. Estan todos los puertos abiertos, y como dijeron por ahi, el NAT es a nivel SIP, ya que es el proveedor el que no puede aceptar los paquetes SIP que le llegan con una IP invalida.
Otra cosa mas. Si, es correcto, KAMAILIO devuelve el error "484" y lo vi en el CFG, correcto, eso significa que el puerto esta escuchando correctamente, ya que le llegan los OPTIONS de la MITEL. pero por que no le llega el discado desde la MItel, acaso KAMAILIO deberia devolver algo a los OPTIONS para que el trunk se establezca?
El Monday 05 January 2009 11:29:17 sadzas escribió:
Raúl Alexis Betancor Santana wrote:
No enconte ejemplos donde se redirija, obviamente esto esta mal...
Puede o nó ser tan simple como tu propones, porque la cuestión real ¿cual es?, ¿que tu proveedor no acepta la IP que tiene la Mitel? ¿o el problema real es que la Mitel está tras algún router/firewall mal ó incorrectamente configurado y por eso no funciona contra el proveedor SIP?
Puede que le estemos dando vueltas al problema que no es y estés intentando matar moscas a cañonazos.
Saludos
Creo que tienes montado un potaje mental de cuidado .. vamos a ver si entre todos conseguimos aclarartelo...
No, no es un problema de Ruteo, ni firewall. Estan todos los puertos abiertos, y como dijeron por ahi, el NAT es a nivel SIP, ya que es el proveedor el que no puede aceptar los paquetes SIP que le llegan con una IP invalida.
Eso de NAT a nivel SIP ... no existe, primer plato de potaje servido .. a ver si conseguimos que te lo comas como debes .. ;-) ¿Que entiendes tú (o tu proveedor) por "una ip inválida"? ... una de los rangos de privadas ? tipo 10.0.0.X ó 192.168.0.X ? ...
Voy a pintarte un escenario .. a ver si cuadra con lo que tienes ...
Proveedor SIP <-> Router Internet <-> Kamailio <-> Mitel
Supongamos que el proveedor tiene una IP tipo 200.100.100.100, que tu Router tiene la 80.80.80.80 y el puerto 5060 redirigido al Kamailio, Kamailio tiene la ip 10.0.0.2 y la Mitel la 10.0.0.3
En estas condiciones ... Kamailio no te sirve PARA NADA. Si tu proveedor no es capaz de soportar que el UAC (La mitel) esté detrás de un NAT ... cambia de proveedor.
Otra cosa mas. Si, es correcto, KAMAILIO devuelve el error "484" y lo vi en el CFG, correcto, eso significa que el puerto esta escuchando correctamente, ya que le llegan los OPTIONS de la MITEL. pero por que no le llega el discado desde la MItel,
Pues porque la Mitel no se lo está mandando, tendrás que mirar algo del dialplan de la Mitel, supongo. Si haces una captura de tráfico, ¿no ves los INVITES desde la Mitel al Kamailio? ... sino los ves .. es que la Mitel no los está enviando.
acaso KAMAILIO deberia devolver algo a los OPTIONS para que el trunk se establezca?
A ver .. que Kamailio es un proxy .. no una PBX, no existe el concepto de Trunk para él .. se dedica esclusivamente a reenviar los paquetes que recibe y enrutalos en función del script de control.
Te repito que si los INVITES de la MITEL no llegán al Kamailio .. es problema de la Mitel. ¿Acaso necesita la MITEL estar registrada en el proxy para considerar que SU TRUNK está activo y cursar llamadas por él? ... no lo sé, no conozco las Mitel ni he trabajado con ellas.
Por todo lo que hemos comentado en el hilo ... creo que tu problema se resumen en dos cosas:
- La Mitel no parece estar correctamente configurada, puesto que no envía los INVITES al proxy, ya sea tu kamailio o directamente al proxy de tru proveedor. - Tienes un buen lio mental sobre los conceptos básico del SIP, lo que te complica y mucho la existencia a la hora de intentar depurar el problema.
Saludos
Raúl Alexis Betancor Santana wrote:
Creo que tienes montado un potaje mental de cuidado .. vamos a ver si entre todos conseguimos aclarartelo...
Muchisimas gracias por la explicacion!!! Me quedo todo claro. Hago una correccion al esquema que presentaste con el router, etc...
Tengo la PBX (Mitel) con una IP privada (192.168.2.1). Kamailio tiene una IP publica (200.xxx.xxx.87). El proveedor -obviamente- tiene una IP publica, y recibe SOLO trafico originado en una publica. El NAT trasversal no sirve, ya que el NAT no abre el paquete SIP y cambia los Headers, por eso me refiero a un NAT a nivel SIP. Lo que quise decir con esto es, que necesito una aplicacion que abra el paquete SIP, le cambie los Headers y lo reenvie.
Entonces, el esquema es sencillo, PBX ---- KAMAILIO ----- PROVEEDOR.
Si, es verdad, algun tipo de inconveniente debe haber en la Mitel por la cual no esta enviando el discado, me resulto rarisimo, ya que en cualquier otro esquema siempre envio el discado. (3CX, Asterisk, Brekeke, Cisco, etc etc etc) Por esto pregunte si Kamailio deberia devolver algo o se deberia definir algun tipo de trunk o lo que sea. Hay algo que a la Mitel no le esta gustando del enlace con Kamailio, y primero voy a chequear eso.
GRACIAS a todos! y perdon por las molestas preguntas!
Que paciencia laque han tenido con usted la verdad. Creo qu lo que necesita es modificar las IP privadas que van en los mensajes SIP y SDP para que su proveedor las acepte. Para hacer esto con Kamailio tendría que tenerlo funcionando también con rtpproxy o mediaproxy. Pero sinceramente, con lo que he podido leer de lo que usted ha escrito y su amor por asterisk, creo que le queda mas fácil ponerlo a funcionar usando asterik como Gateway y usando el parámetro externip. Le toca leer un poco mas como puede hacer eso.
-----Mensaje original----- De: users-es-bounces@lists.kamailio.org [mailto:users-es-bounces@lists.kamailio.org] En nombre de sadzas Enviado el: Lunes, 05 de Enero de 2009 08:04 a.m. Para: users-es@lists.kamailio.org Asunto: Re: [Kamailio-Users-ES] Comenzando con Kamailio - Proxy
Raúl Alexis Betancor Santana wrote:
Creo que tienes montado un potaje mental de cuidado .. vamos a ver si entre todos conseguimos aclarartelo...
Muchisimas gracias por la explicacion!!! Me quedo todo claro. Hago una correccion al esquema que presentaste con el router, etc...
Tengo la PBX (Mitel) con una IP privada (192.168.2.1). Kamailio tiene una IP publica (200.xxx.xxx.87). El proveedor -obviamente- tiene una IP publica, y recibe SOLO trafico originado en una publica. El NAT trasversal no sirve, ya que el NAT no abre el paquete SIP y cambia los Headers, por eso me refiero a un NAT a nivel SIP. Lo que quise decir con esto es, que necesito una aplicacion que abra el paquete SIP, le cambie los Headers y lo reenvie.
Entonces, el esquema es sencillo, PBX ---- KAMAILIO ----- PROVEEDOR.
Si, es verdad, algun tipo de inconveniente debe haber en la Mitel por la cual no esta enviando el discado, me resulto rarisimo, ya que en cualquier otro esquema siempre envio el discado. (3CX, Asterisk, Brekeke, Cisco, etc etc etc) Por esto pregunte si Kamailio deberia devolver algo o se deberia definir algun tipo de trunk o lo que sea. Hay algo que a la Mitel no le esta gustando del enlace con Kamailio, y primero voy a chequear eso.
GRACIAS a todos! y perdon por las molestas preguntas!
El Martes, 30 de Diciembre de 2008 17:57, sadzas escribió:
mmmno, no necesariamente es un tema de NAT. De hecho en este momento lo tengo funcionando sin NAT, simplemente usando el proxy de brekeke.
Si es un tema de NAT, en cuanto lo que quieres es "enmascarar" la IP de la Mitel con otra ... da igual que la Mitel tenga una IP pública y esa IP no te la acepte el proveedor, sino "otra" que le hayas dado ... lo que quieres hacer es un NAT de la IP de la Mitel, no solo a nivel IP (que supongo lo tienes hecho), sino también a nivel SIP
Ademas, la informacion sobre Kamailio es ... como decirlo... CONFUSA!
En absoluto, lo que pasa es que la documentación de Kamailio está pensada para gente que sabe como funciona el protocolo SIP en profundidad, Kamailio no es un software apto para usuarios sin conocimientos de profundos de SIP.
En este momento no acepta los OPTIONS de la PBX. Devuelve "484 Address Incomplete" (Esto lo estoy siguiendo en otro thread)
Eso es porque en tu guión de kamailio le estás devolviendo eso, simplemente, kamailio no hace ni más ni menos que lo que tu le digas que haga (salgo bug).
Saludos -- Raúl Alexis Betancor Santana
sr-users-es@lists.kamailio.org