¿Responde algo Asterisk a esa conexión TCP/AMI?
--
Iñaki Baz Castillo
<i...@aliax.net>
¿Pero se establece la conexión TCP y el cliente envía datos AMI al
5038 de Asterisk? ¿o ni siquiera se establece la conexión TCP?
--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
~~~ Normas de la lista Asterisk-ES: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Para anular la suscripción: asterisk-es...@googlegroups.com
Llega un intento de conexión TCP, pero no se establece por lo que no
llegan datos a nivel de aplicación (AMI en este caso).
Yo haría un tcpdump en la centralita:
tcpdump -i any -n port 5038
e intenta conectar por telnet desde el exterior. Así veremos mejor qué
ocurre (ngrep está bien si se ha llegado a establecer la conexión TCP,
si no, sirve de poco).
--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
~~~ Normas de la lista Asterisk-ES: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tcpdump tcpdump ;)
Buff, ni idea. Prueba lo siguiente si te es posible:
- Apaga el asterisk un ratito.
- En el server Asterisk:
~# nc -l -p 5038 IP_PRIVADA_DE_ESTE_SERVER
- En el server remoto:
~# telnet IP_PUBLICA_DEL_ASTERISK 5038
- Si se establece la conexión, escribe "hay vida más allá de asterisk".
- ¿Llega eso al server asterisk? debería pintarse en pantalla.
El primero es el intento de conexión TCP desde el server remoto (un
SYN). Fíjate que llega al server Asterisk, y anuncia un número de
secuencia de 2019503517 (esto es el número inicial de secuencia de
datos TCP desde el server remoto al asterisk).
> 17:30:24.971324 IP 192.168.1.250.5038 > 80.25.180.5.43349: Flags [S.],
> seq 2432391856, ack 2019503518, win 5792, options [mss 1460,sackOK,TS
> val 800552955 ecr 7669371,nop,wscale 6], length 0
Ahora el server asterisk le response un ACK indicando 2019503518, o
sea, el siguiente número de secuencia TCP que espera recibir del
remoto. A su vez, el server asterisk le indica al remoto (SYN) el
número de secuencia TCP en la comunicación en sentido asterisk ->
remoto: 2432391856.
> 17:30:27.951514 IP 80.25.180.5.43349 > 192.168.1.250.5038: Flags [S],
> seq 2019503517, win 5840, options [mss 1360,sackOK,TS val 7670121 ecr
> 0,nop,wscale 7], length 0
Aquí el remoto envía una retransmisión del primer paquete TCP, o sea,
el SYN inicial. Fíjate que sigue anunciando seq 2019503517, y que no
incluye un ACK para reconocer el número de secuencia enviado por el
server asterisk, etc.
O sea, el intento de conexión del remoto llega a Asterisk. Las
respuestas de Asterisk, pese a ir encaminadas a la IP y puerto del
remoto, no llegan. Esto puede ser un problema de dos tipos (igual hay
más):
1) Tienes un horrible firewall en el server asterisk que no permite el
tráfico TCP saliente ni siquiera como respuesta a una conexión
iniciada/iniciándose desde el exterior (esto es muy raro de ver creo
yo, habría que configurar el firewall con muy mala leche). O puede que
sea que el remoto tiene un firewall que NO permite tráfico TCP
entrante de respuesta a un intento de conexión TCP hacia fuera (más
posible que lo primero). En este punto, yo probaría a tratar de hacer
la conexión desde cualquier otra IP del mundo.
2) Un problema de routing IP. Comprueba las routas en el server
asterisk o en el supuesto router. Lo que está claro es que la
respuesta TCP del server no llega al remoto.
Lo que sí es seguro es que el problema no tiene nada que ver con
Asterisk ni la configuración de AMI puesto que ni se ha podido llegar
a ese nivel (en realidad no se ha establecido ni la conexión TCP).
2011/6/22 TelecoSilvia <teleco...@gmail.com>:
--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
~~~ Normas de la lista Asterisk-ES: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Humm, no dudo en absoluto de lo que dices pero, ¿dónde ves el bit
RESET? ¿qué símbolo lo está representando en la salida de tcpdump? (lo
digo porque no lo sé).
Pero me mosquea una cosa: si es un RESET, ¿por qué el remoto vuelve a
enviar un intento de conexión al de *3* segundos con exactametne el
mismo valor de secuencia (que se supone es aleatorio en cada inicio de
conexión)?
De hecho, se supone que el bit RESET se activa para indicar que no hay
ningún servicio escuchando en el puerto contactado. Si lo pruebo con
mi host veo claramente esto:
00:52:10.024838 IP MI_IP.48410 > MI_SERVER.9999: S
2108481433:2108481433(0) win 14600 <mss 1402,sackOK,timestamp 1186890
0,nop,wscale 7>
00:52:10.024974 IP MI_SERVER.9999 > MI_IP.48410: R 0:0(0) ack 2108481434 win 0
Ahí veo claramente la "R" en la respuesta. Pero en el caso que nos
ocupa no es ni parecido.
Disculpad el top posting. Cosas dr android...
Fíjate que en la traza última de Silvia no hay ningún flag R.
El 23/06/2011 20:10, "Sir Brain Colward" <col...@gmail.com> escribió:Me baso en esto:16:43:55.420831 IP 192.168.1.250.5038 > 80.25.180.5.48346: Flags [R.],Y el que el remoto vuelva a intentar confirma que no le llegan los paquetes, ni aún con el reset.Por lo que yo creo que hay/había dos problemas. Uno de enrutado/firewall y otro en el propio asterisk.Pero bueno, dejemos que primero resuelva el enrutado/firewall y ya si sigue con problemas, analizaremos los nuevos problemas.Sir Brain Colward
2011/6/23 Iñaki Baz Castillo <i...@aliax.net>
>
> El día 22 de junio de 2011 23:53, Sir Brain Colward
> <col...@gmail.com> escribió:
> > Pero si ...
> Iñaki Baz Castillo
> <i...@aliax.net>
>
> --
> Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
>
> ~~~ Normas de...
--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
~~~ Normas de la...