Esto es un problema de configuración de Asterisk, no
de Kamailio.
Habilita el
debug en el CLI de Asterisk a ver de qué se queja (mira qué peer y
contexto
ha sido identificado en la llamada).
Efectivamente, era un problema de configuración de asterisk, pues no tenia creado
el usuario [Kamailio] con host=192.168.3.10 en el sip.conf, y entonces no me aceptaba el
invite de esta maquina. Lo que me confundió fue el 404 Not found que pensé que era que no
encontraba la ext 1000
2 Esta
respuesta 404 Not found la envía por la interfaz eth0(10.2.7.12)
y no por
la eth1(192.168.1.10) que fue por donde llego el
invite, lo que
hace que el
kamailio al otro lado, nunca escuche la respuesta
404 y siga
reenviando el
invite hasta que se cumple el tiempo y manda un
sessiontimeout.
Esto es una guarrada de Asterisk total, ¿qué versión usas? Hasta
hace poco
Asterisk tenía un bug que, usando UDP, respondía a la IP indicada
en el Via
en vez de a la IP original, lo cuál es una gran cagada pero que ya
está
corregida.
Este problema persiste entonces como el kamailio no ve que se responda a su
invite, corta la llamada. Estoy usando Asterisk 1.4.22, no se si esta versión presenta
esta falla.
¿Como puedo hacer para que las invitaciones que reciba por la
eth0 las
responda por la eth0 y las que reciba por la eth1
las responda
por la
eth1(en este momento cualquier cosa que llega,
sin importar de
donde, trata
de responderla por la eth0),
Puedes matar moscas a cañonazos poniendo "nat=yes" en el SIP peer
por el que
llega el INVITE, pero esto habilita el modo comedia y demás.
No me gusta mucho esto de matar moscas a cañonazos, pero si no hay mas que hacer.
Aunque no se si realmente sea un error de Asterisk, o de configuración en las tarjetas de
red que hace que cualquier cosa que llegue, no importa que sea me la responda únicamente
por la eth0. Habra una forma de indicarle en el sistema operativo que cada tarjeta
responde por lo suyo a no se que se le de una orden diferente. Lo digo por que con
Nettools cuando trato de hacer un trace hacia la maquina de kamailio 193.168.3.10 trata de
sacarlo por la eth0 10.2.7.12 y no por la eth1 192.168.1.10 que es la que tiene la
conexión hacia esa maquina. Igual cuando hago un ping, tengo que poner ping 192.168.3.10
-I eth1 para que llegue, si no se pierde.
:-( Yo se que esto no se debería preguntar en esta lista pero de pronto alguien me puede
ayudar.