Amigo. Yo tampoco soy un experto en el tema, pero creo te puedo ayudar. Tomando un poco lo que indicas, te comento:
1. quisiera integrar varios Asterisk (PBX) con un solo Kamailio utilizando realtime.
Hay un par de guías que te ayudan en esto, http://kb.asipto.com/asterisk:realtime:kamailio-4.0.x-asterisk-11.3.0-astdb, http://saevolgo.blogspot.com/2011/11/how-to-increasing-voip-services.html, http://nil.uniza.sk/sip/application-servers/kamailio-configuration-provide-l oad-balancing-and-failover-media-services La primera orientada a aprovechar las bondades de Kamailio en el manejo de SIP versus asterisk ya que hasta antes de pjsip, daba mucho que desear (no sé cómo anda pjsip, habrá que darle una vuelta). Las otras guías, son para balancear carga de llamadas en 1 o más asterisk, con dispatcher y quizá rtpproxy.
2. rutear el tráfico de acuerdo al dominio de destino
Respecto a este punto, creo tienes una confusión: 1. Asterisk no opera multidominio, conceptualmente no es para ello, puedes hacer un juego con los contextos pero no es lo mismo. 2. Las guías arriba indicadas te permiten tener una única base de sipuser/subscriber por lo cual tomando el caso que la utilices como tal, en ella tendrás los usuarios de todos los dominios y se reflejará en todos los Asterisk. Tomando la misma guía podrías hacer algo poco ortodoxo como repetir y renombrar las configuraciones, cuidadosamente y con simples sentencias if derivar las autentificaciones y el enrutamiento... ejemplo:
#!define WITH_ASTERISK1 #!define WITH_ASTERISK2 #!define WITH_ASTERISK3
#!define DBURL "mysql://openser:openserrw@localhost/openser" #!ifdef WITH_ASTERISK1 #!define DBASTURL "mysql://asterisk:asterisk_password@localhost/asterisk1" #!ifdef WITH_ASTERISK2 #!define DBASTURL "mysql://asterisk:asterisk_password@localhost/asterisk2" #!ifdef WITH_ASTERISK3 #!define DBASTURL "mysql://asterisk:asterisk_password@localhost/asterisk3" #!endif #!endif #!endif #!endif
Ya más elaborado, podrías usar el módulo ipops trabajando los dominios según el segmento de red
Saludos.
Mauricio, buenos días, gracias por tu respuesta.
Soy consiente que Asterisk no es soporta multi dominio, lo tengo mas que claro, por eso quiero manejar esta funcionalidad desde Kamailio. Pero mi idea no es poner varios dominios en un Asterisk, es un dominio por Asterisk (cada cliente con su PBX). Respecto a las guías que mencionas las he visto y por eso hago mención del modulo auth_db, ya que ese modulo (creo yo) es el que hace la autenticación y validación de una cuenta respecto a 1 (uno) Asterisk y a la DB respectiva a ese Asterisk. Ese modulo no me permite cargar o indicarle mas de una db. Cuando realizas el loadmodule le indicas el Asterisk. También, cuando mencionas lo de realizar los define WITH_ASTERISKX, no es mantenible ni dinámico, por eso es la idea de obtener esos valores desde una db (eso ya lo logré).
En fin creo yo, que mi problema en este momento persiste en el auth_db.
Me explique un poco mejor o aún sigue medio confuso ?.
Slds.-
El 06/05/15 a las 00:14, Mauricio Andres Tejeda Sandoval escribió:
Amigo. Yo tampoco soy un experto en el tema, pero creo te puedo ayudar. Tomando un poco lo que indicas, te comento:
- quisiera integrar varios Asterisk (PBX) con un solo Kamailio utilizando
realtime.
Hay un par de guías que te ayudan en esto, http://kb.asipto.com/asterisk:realtime:kamailio-4.0.x-asterisk-11.3.0-astdb, http://saevolgo.blogspot.com/2011/11/how-to-increasing-voip-services.html, http://nil.uniza.sk/sip/application-servers/kamailio-configuration-provide-l oad-balancing-and-failover-media-services La primera orientada a aprovechar las bondades de Kamailio en el manejo de SIP versus asterisk ya que hasta antes de pjsip, daba mucho que desear (no sé cómo anda pjsip, habrá que darle una vuelta). Las otras guías, son para balancear carga de llamadas en 1 o más asterisk, con dispatcher y quizá rtpproxy.
- rutear el tráfico de acuerdo al dominio de destino
Respecto a este punto, creo tienes una confusión:
- Asterisk no opera multidominio, conceptualmente no es para ello, puedes
hacer un juego con los contextos pero no es lo mismo. 2. Las guías arriba indicadas te permiten tener una única base de sipuser/subscriber por lo cual tomando el caso que la utilices como tal, en ella tendrás los usuarios de todos los dominios y se reflejará en todos los Asterisk. Tomando la misma guía podrías hacer algo poco ortodoxo como repetir y renombrar las configuraciones, cuidadosamente y con simples sentencias if derivar las autentificaciones y el enrutamiento... ejemplo:
#!define WITH_ASTERISK1 #!define WITH_ASTERISK2 #!define WITH_ASTERISK3
#!define DBURL "mysql://openser:openserrw@localhost/openser" #!ifdef WITH_ASTERISK1 #!define DBASTURL "mysql://asterisk:asterisk_password@localhost/asterisk1" #!ifdef WITH_ASTERISK2 #!define DBASTURL "mysql://asterisk:asterisk_password@localhost/asterisk2" #!ifdef WITH_ASTERISK3 #!define DBASTURL "mysql://asterisk:asterisk_password@localhost/asterisk3" #!endif #!endif #!endif #!endif
Ya más elaborado, podrías usar el módulo ipops trabajando los dominios según el segmento de red
Saludos.
SR-Users-ES mailing list SR-Users-ES@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
Hola a todos
Al fin actividad por la lista, desde ya el tema al ser muy amplio es muy confuso , por que no ir de menos a mas, por que no postear en pdf o en un blog , las configuraciones ( asi sean pequeñas) sobre kamailio , así tener un punto de partida y luego ir sumando otras configuraciones.
Saludos! Juan
2015-05-06 8:51 GMT-05:00 Emiliano González emiliano.gonzalez@uruip.com:
Mauricio, buenos días, gracias por tu respuesta.
Soy consiente que Asterisk no es soporta multi dominio, lo tengo mas que claro, por eso quiero manejar esta funcionalidad desde Kamailio. Pero mi idea no es poner varios dominios en un Asterisk, es un dominio por Asterisk (cada cliente con su PBX). Respecto a las guías que mencionas las he visto y por eso hago mención del modulo auth_db, ya que ese modulo (creo yo) es el que hace la autenticación y validación de una cuenta respecto a 1 (uno) Asterisk y a la DB respectiva a ese Asterisk. Ese modulo no me permite cargar o indicarle mas de una db. Cuando realizas el loadmodule le indicas el Asterisk. También, cuando mencionas lo de realizar los define WITH_ASTERISKX, no es mantenible ni dinámico, por eso es la idea de obtener esos valores desde una db (eso ya lo logré).
En fin creo yo, que mi problema en este momento persiste en el auth_db.
Me explique un poco mejor o aún sigue medio confuso ?.
Slds.-
El 06/05/15 a las 00:14, Mauricio Andres Tejeda Sandoval escribió:
Amigo. Yo tampoco soy un experto en el tema, pero creo te puedo ayudar. Tomando un poco lo que indicas, te comento:
- quisiera integrar varios Asterisk (PBX) con un solo Kamailio utilizando
realtime.
Hay un par de guías que te ayudan en esto,http://kb.asipto.com/asterisk:realtime:kamailio-4.0.x-asterisk-11.3.0-astdb,... oad-balancing-and-failover-media-services La primera orientada a aprovechar las bondades de Kamailio en el manejo de SIP versus asterisk ya que hasta antes de pjsip, daba mucho que desear (no sé cómo anda pjsip, habrá que darle una vuelta). Las otras guías, son para balancear carga de llamadas en 1 o más asterisk, con dispatcher y quizá rtpproxy.
- rutear el tráfico de acuerdo al dominio de destino
Respecto a este punto, creo tienes una confusión:
- Asterisk no opera multidominio, conceptualmente no es para ello, puedes
hacer un juego con los contextos pero no es lo mismo. 2. Las guías arriba indicadas te permiten tener una única base de sipuser/subscriber por lo cual tomando el caso que la utilices como tal, en ella tendrás los usuarios de todos los dominios y se reflejará en todos los Asterisk. Tomando la misma guía podrías hacer algo poco ortodoxo como repetir y renombrar las configuraciones, cuidadosamente y con simples sentencias if derivar las autentificaciones y el enrutamiento... ejemplo:
#!define WITH_ASTERISK1 #!define WITH_ASTERISK2 #!define WITH_ASTERISK3
#!define DBURL "mysql://openser:openserrw@localhost/openser" #!ifdef WITH_ASTERISK1 #!define DBASTURL "mysql://asterisk:asterisk_password@localhost/asterisk1" #!ifdef WITH_ASTERISK2 #!define DBASTURL "mysql://asterisk:asterisk_password@localhost/asterisk2" #!ifdef WITH_ASTERISK3 #!define DBASTURL "mysql://asterisk:asterisk_password@localhost/asterisk3" #!endif #!endif #!endif #!endif
Ya más elaborado, podrías usar el módulo ipops trabajando los dominios según el segmento de red
Saludos.
SR-Users-ES mailing listSR-Users-ES@lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
-- Slds.- Emiliano González Telefono: +59896121026 *www.uruip.com http://www.uruip.com | Soluciones IP*
SR-Users-ES mailing list SR-Users-ES@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
El Wed, 06 May 2015 10:51:58 -0300 Emiliano González emiliano.gonzalez@uruip.com escribió:
Mauricio, buenos días, gracias por tu respuesta.
Soy consiente que Asterisk no es soporta multi dominio, lo tengo mas que claro, por eso quiero manejar esta funcionalidad desde Kamailio. Pero mi idea no es poner varios dominios en un Asterisk, es un dominio por Asterisk (cada cliente con su PBX). Respecto a las guías que mencionas las he visto y por eso hago mención del modulo auth_db, ya que ese modulo (creo yo) es el que hace la autenticación y validación de una cuenta respecto a 1 (uno) Asterisk y a la DB respectiva a ese Asterisk. Ese modulo no me permite cargar o indicarle mas de una db. Cuando realizas el loadmodule le indicas el Asterisk. También, cuando mencionas lo de realizar los define WITH_ASTERISKX, no es mantenible ni dinámico, por eso es la idea de obtener esos valores desde una db (eso ya lo logré).
Es un tema complicado creo yo.
Lo ideal en mi opinión es tener todos los realtime de asterisk en una sola instancia de mysql. Una bd por cada asterisk. De esa forma puedes formar una view a partir de todas las tablas de sip users de cada base de datos y usar esa tabla unificada para la auth de kamailio.
Si no tienes todas las bases de datos en el mismo servidor tendrías que hacer con multi source replication. No te lo recomiendo.
Buen dia.
Yo tengo un sipproxy que hace loadbalancer entre 3 MBilling.
Me anda todo bien.
En mi caso la autenticación de los usuarios lo hago en el proprio kamailio y configure la tabla de autenticación del proxy como MASTER SLAVE de MBilling.
De los 3 MBilling coloque 1 como siendo el principal, y los otros dos solo para hacer recibir las llamadas de Kamailio.
El único tema que tengo son con los CDR, ya que al cliente no puedo dar 3 lugares distintos para consultar sus llamadas y crédito.
Asi que desarrolle un script que envía el CDR del los 2 MBilling para el MBilling principal.
Ya trate de hacer base de datos MASTER MASTER replication, pero no me fue bien. Ya probe colocar MYSQL en un servidor exclusivo. Pero ninguno caso me dio resultado. Ya que en algún momento mysql también no soporta el volumen de llamadas. Alguien tendría alguna idea en esta question de los CDR?
Saludos
On May 8, 2015, at 6:09 PM, Jon Bonilla (Manwe) manwe@aholab.ehu.es wrote:
El Wed, 06 May 2015 10:51:58 -0300 Emiliano González emiliano.gonzalez@uruip.com escribió:
Mauricio, buenos días, gracias por tu respuesta.
Soy consiente que Asterisk no es soporta multi dominio, lo tengo mas que claro, por eso quiero manejar esta funcionalidad desde Kamailio. Pero mi idea no es poner varios dominios en un Asterisk, es un dominio por Asterisk (cada cliente con su PBX). Respecto a las guías que mencionas las he visto y por eso hago mención del modulo auth_db, ya que ese modulo (creo yo) es el que hace la autenticación y validación de una cuenta respecto a 1 (uno) Asterisk y a la DB respectiva a ese Asterisk. Ese modulo no me permite cargar o indicarle mas de una db. Cuando realizas el loadmodule le indicas el Asterisk. También, cuando mencionas lo de realizar los define WITH_ASTERISKX, no es mantenible ni dinámico, por eso es la idea de obtener esos valores desde una db (eso ya lo logré).
Es un tema complicado creo yo.
Lo ideal en mi opinión es tener todos los realtime de asterisk en una sola instancia de mysql. Una bd por cada asterisk. De esa forma puedes formar una view a partir de todas las tablas de sip users de cada base de datos y usar esa tabla unificada para la auth de kamailio.
Si no tienes todas las bases de datos en el mismo servidor tendrías que hacer con multi source replication. No te lo recomiendo.
SR-Users-ES mailing list SR-Users-ES@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
Hola a todos, bueno días.
Según entiendo lo que busca Emiliano no es distribución de carga, sino atender múltiples dominios y dirigir las llamadas concatenando usuario.dominio1 con pbx.dominio1, por lo tanto las guías que tomó como ejemplo debe considerarlas como tal. Lo que indica Jon me hace sentido, podría crear una vista de todas las tablas sipusers y mezclar las guias de realtime de asipto con algo autentificación por defecto de Kamailio y un poco de músculo.
Por ejemplo:
Si activas el MULTIDOMAIN Creas los dominios en Kamailio sea por DB o por archivo Mantienes tal cual viene en el archivo por defecto, la sección de autentificación de Kamailio (ya que ahora lo hará contra una vista). Con esto ya tendrás autentificación multidomino, solo mirando la DB, los Asterisk al momento duermen. Teóricamente debiesen poder llamarse entre suscriber del mismo dominio, te queda resolver si entre dominios se podrán llamar, para lo cual podrías usar alias, aunque aquí siempre he tenido una duda, por ejemplo:
Usuario1@dominio1 alias 2234 Usuario27@dominio3 alias 2234
Como hago para que el alias del dominio1 llame al alias del dominio3.
Lo otro que queda por resolver son las rutas de salida: Debes primero crear una relación de confianza entre los Asterisk y Kamailio, con lo anterior los register solo quedaron en kamailio por lo cual debes permitir llamadas sin autentificar desde el kamailio haci los aterisk, a menos redirijas esos register, la pregunta es como ya que son de diferentes dominios/asterisk, aquí deberás poner algo de musculo para identificar el dominio destino del register o invite para enviar según corresponda.
Las rutas. Puedes por ejemplo tomar el dominio en la cabecera del INVITE y según éste derivar sea por un trunk de vuelta al asterisk para éste analice el destino según su plan de discado y tarjetas E1 o, crear las rutas en el mismo kamailio y hacer uso de los Gateway en común disponibles, aunque si es este último el caso, te recomiendo actives el módulo de accounting de kamailio.
Voy a ver si puedo hacer el laboratorio, al momento solo he trabajado con kamailio-asterisk con distribución de carga y algunos filtros de seguridad, esta aplicación igual suena interesante, así tomo más experiencia con kamailio.
Espero te ayude en la solución Emiliano, saludos.
-----Mensaje original----- De: SR-Users-ES [mailto:sr-users-es-bounces@lists.sip-router.org] En nombre de magnusadilsom@gmail.com Enviado el: sábado, 09 de mayo de 2015 9:38 Para: Lista de usuarios de SIP Router Asunto: Re: [SR-Users-ES] Kamailio y múltiples asterisk.
Buen dia.
Yo tengo un sipproxy que hace loadbalancer entre 3 MBilling.
Me anda todo bien.
En mi caso la autenticación de los usuarios lo hago en el proprio kamailio y configure la tabla de autenticación del proxy como MASTER SLAVE de MBilling.
De los 3 MBilling coloque 1 como siendo el principal, y los otros dos solo para hacer recibir las llamadas de Kamailio.
El único tema que tengo son con los CDR, ya que al cliente no puedo dar 3 lugares distintos para consultar sus llamadas y crédito.
Asi que desarrolle un script que envía el CDR del los 2 MBilling para el MBilling principal.
Ya trate de hacer base de datos MASTER MASTER replication, pero no me fue bien. Ya probe colocar MYSQL en un servidor exclusivo. Pero ninguno caso me dio resultado. Ya que en algún momento mysql también no soporta el volumen de llamadas. Alguien tendría alguna idea en esta question de los CDR?
Saludos
On May 8, 2015, at 6:09 PM, Jon Bonilla (Manwe) manwe@aholab.ehu.es
wrote:
El Wed, 06 May 2015 10:51:58 -0300 Emiliano González emiliano.gonzalez@uruip.com escribió:
Mauricio, buenos días, gracias por tu respuesta.
Soy consiente que Asterisk no es soporta multi dominio, lo tengo mas que claro, por eso quiero manejar esta funcionalidad desde Kamailio. Pero mi idea no es poner varios dominios en un Asterisk, es un dominio por Asterisk (cada cliente con su PBX). Respecto a las guías que mencionas las he visto y por eso hago mención del modulo auth_db, ya que ese modulo (creo yo) es el que hace la autenticación y validación de una cuenta respecto a 1 (uno) Asterisk y a la DB respectiva
a ese Asterisk.
Ese modulo no me permite cargar o indicarle mas de una db. Cuando realizas el loadmodule le indicas el Asterisk. También, cuando mencionas lo de realizar los define WITH_ASTERISKX, no es mantenible ni dinámico, por eso es la idea de obtener esos valores desde una db (eso ya lo logré).
Es un tema complicado creo yo.
Lo ideal en mi opinión es tener todos los realtime de asterisk en una sola instancia de mysql. Una bd por cada asterisk. De esa forma puedes formar una view a partir de todas las tablas de sip users de cada base de datos y usar esa tabla unificada para la auth de kamailio.
Si no tienes todas las bases de datos en el mismo servidor tendrías que hacer con multi source replication. No te lo recomiendo.
SR-Users-ES mailing list SR-Users-ES@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
_______________________________________________ SR-Users-ES mailing list SR-Users-ES@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
sr-users-es@lists.kamailio.org