Troncal IAX sobre IP virtual

206 views
Skip to first unread message

Daniel Bareiro

unread,
May 2, 2013, 5:35:47 AM5/2/13
to Lista Asterisk-es

Hola!

Actualmente me encuentro haciendo pruebas con un cluster de alta
disponibilidad activo/pasivo con Pacemaker y Corosync sirviendo con
Asterisk.

Ahora bien, estuve haciendo pruebas con troncales IAX desde el cluster a
una instalación independiente de Asterisk y me encontré con que la
conexión se podía hacer en el sentido desde el cluster al host
independiente, pero no en el sentido opuesto.

Al principio pensé que podría deberse a que los Asterisk que tengo
instalados en el cluster son de versión 1.8.13 y el que tenía en la
máquina independiente era 11.3.0, pensando en que tal vez podría haber
algún tipo de incompatibilidad entre las implementaciones del protocolo
IAX, así que probé realizando la prueba con un host independiente que
tuviera la misma versión 1.8.13 de Asterisk, pero el resultado siguió
siendo el mismo: el cluster se podía conectar a la máquina
independiente, pero no al revés.

Luego lo que probé fue levantar el peer desde la máquina independiente
contra la IP propia del nodo primario del cluster en vez de hacerlo
contra la IP virtual del cluster y en ese caso la conexión sí se
establece en el otro sentido.

Hice una prueba con netstat y, por lo que veo, el protocolo IAX está
escuchando sobre todas las interfaces:

atlantis:~# netstat -tulepan | grep 4569
udp 0 0 0.0.0.0:4569 0.0.0.0:* 107 5224 1909/asterisk


Me gustaría saber si alguien también pasó por un escenario como este y
pudo resolverlo de alguna manera, para mantener la disponibilidad de la
conexión IAX sobre los dos nodos del cluster a través de la IP virtual.
Estuve investigando en Internet y encontré varios casos similares, pero
sin alguna forma de solucionarlo.



Gracias anticipadas por responder.

Saludos,
Daniel
--
Ing. Daniel Bareiro - GNU/Linux registered user #188.598
Proudly running Debian GNU/Linux with uptime:
06:09:49 up 67 days, 14:17, 11 users, load average: 0.02, 0.06, 0.01
signature.asc

Ramses

unread,
May 2, 2013, 5:51:24 AM5/2/13
to aster...@googlegroups.com
Tienes que hacer el Bind a la IP Virtual del Cluster en el fichero iax.conf


Saludos,

Ramsés

Enviado desde mi Móvil

Daniel Bareiro

unread,
May 2, 2013, 8:28:26 AM5/2/13
to aster...@googlegroups.com
Hola, Ramses.

El jueves 02 de mayo del 2013 a las 11:51:24,
Ramses escribió:

> Tienes que hacer el Bind a la IP Virtual del Cluster en el fichero
> iax.conf

Es que, como decía antes mostrando con el netstat, el servicio IAX está
escuchando en todas las IPs. De todas maneras, para probar, también
intenté haciendo el bind sobre la IP virtual, pero tampoco funcionó.
Solo funciona cuando levanto el peer sobre la IP propia del nodo.


Gracias por responder.


Saludos,
Daniel
--
Ing. Daniel Bareiro - GNU/Linux registered user #188.598
Proudly running Debian GNU/Linux with uptime:
09:20:45 up 67 days, 17:28, 11 users, load average: 0.05, 0.02, 0.00
signature.asc

Ramses

unread,
May 2, 2013, 9:08:33 AM5/2/13
to aster...@googlegroups.com
Tienes que hacer el Bind con la IP Virtual y reiniciar, y funciona.

Lo tengo en varios Clusters montado así.

El tema es que, si haces una captura del tráfico, verás que el equipo autónomo, como lo llamas, ataca a la IP Virtual, pero le contesta la IP Real del equipo que en ese momento esté dando el servicio de Asterisk.


Saludos,

Ramsés

Enviado desde mi Móvil

Daniel Bareiro

unread,
May 2, 2013, 9:23:31 AM5/2/13
to aster...@googlegroups.com
El jueves 02 de mayo del 2013 a las 15:08:33,
Ramses escribió:

> Tienes que hacer el Bind con la IP Virtual y reiniciar, y funciona.
>
> Lo tengo en varios Clusters montado así.

Mmmmmmm... que raro. Voy a volver a probar, por las dudas.

> El tema es que, si haces una captura del tráfico, verás que el equipo
> autónomo, como lo llamas, ataca a la IP Virtual, pero le contesta la IP
> Real del equipo que en ese momento esté dando el servicio de Asterisk.

Sí, cuando hice una captura con ngrep, noté justamente esto que me
decís. Tuviste que agregar alguna regla de ruteo especial en cada nodo
del cluster?


Gracias por responder.


Saludos,
Daniel
--
Ing. Daniel Bareiro - GNU/Linux registered user #188.598
Proudly running Debian GNU/Linux with uptime:
10:18:08 up 67 days, 18:25, 12 users, load average: 0.00, 0.02, 0.00
signature.asc

Daniel Bareiro

unread,
May 2, 2013, 11:17:57 AM5/2/13
to aster...@googlegroups.com
El jueves 02 de mayo del 2013 a las 10:23:31,
Daniel Bareiro escribió:

> > Tienes que hacer el Bind con la IP Virtual y reiniciar, y funciona.
> >
> > Lo tengo en varios Clusters montado así.

> Mmmmmmm... que raro. Voy a volver a probar, por las dudas.

Ahí lo volví a probar:

------------------------------------------------------------------------

atlantis:~# netstat -tulepan | grep 4569
udp 0 0 10.1.0.100:4569 0.0.0.0:* 107 2383711 9001/asterisk

------------------------------------------------------------------------

asterisk*CLI> iax2 show peers
Name/Username Host Mask Port Status
oficina-b-peer/ 10.1.0.100 (S) 255.255.255.255 4569 (T) OK (3 ms)
1 iax2 peers [1 online, 0 offline, 0 unmonitored]

------------------------------------------------------------------------

Así que esta vez quedó el enlace establecido. Tal vez antes me habría
faltado hacer el reinicio de Asterisk. :-/

Lo que me llama la atención es que si lo vuelvo a configurar en 0.0.0.0,
se vuelve a poner en UNREACHABLE. Pero bueno... lo deje escuchando en la
IP viertual 10.1.0.100 y así no hubo problema.


Gracias por responder.

Saludos,
Daniel
--
Ing. Daniel Bareiro - GNU/Linux registered user #188.598
Proudly running Debian GNU/Linux with uptime:
11:59:38 up 67 days, 20:07, 13 users, load average: 0.12, 0.06, 0.02
signature.asc
Reply all
Reply to author
Forward
0 new messages