[SR-Users-ES] No Audio con clientes detras de una NAT, el audio funciona con clientes que usan IPs publicas (Estoy utilizando rtpproxy)
rubenrojas - Trc.es
rubenrojas en trc.es
Jue Jun 25 13:40:25 CEST 2009
Gracias por la pronta respuesta, asi da gusto unirse a una comunidad,
he colocado varios xlog en onreply_route[1] y lo he dejado asi:
onreply_route[1] {
xdbg("incoming reply\n");
xlog("L_INFO", "*** onreply_route antes de forzar rtpproxy ***");
if ((isflagset(5) || isbflagset(6)) && status=~"(183)|(2[0-9][0-9])") {
xlog("L_INFO", "*** rtpproxy forzado en onreply_route ***");
force_rtp_proxy();
}
if (isbflagset(6)) {
xlog("L_INFO", "*** fix_nated_contact en onreply_route ***");
fix_nated_contact();
}
}
haciendo un tail -f /var/log/syslog veo lo siguiente:
Jun 25 13:39:51 kamailio /usr/local/sbin/kamailio[22088]: *** onreply_route antes de forzar rtpproxy ***
Jun 25 13:39:51 kamailio /usr/local/sbin/kamailio[22087]: *** onreply_route antes de forzar rtpproxy ***
Jun 25 13:39:55 kamailio /usr/local/sbin/kamailio[22088]: *** onreply_route antes de forzar rtpproxy ***
Jun 25 13:39:55 kamailio /usr/local/sbin/kamailio[22088]: *** rtpproxy forzado en onreply_route ***
Jun 25 13:39:55 kamailio /usr/local/sbin/kamailio[22088]: ACC: transaction answered: timestamp=1245929995;method=INVITE;from_tag=5c805948a0455e5b;to_tag=c0a80101-3569b;call_id=d1b81cbb5fbb9e6e en 192.168.254.110;code=200;reason=OK;src_user=20000004;src_domain=212.4.107.250;dst_ouser=20000000;dst_user=20000000;dst_domain=192.168.254.101
Jun 25 13:39:55 kamailio /usr/local/sbin/kamailio[22089]: ACC: request acknowledged: timestamp=1245929995;method=ACK;from_tag=5c805948a0455e5b;to_tag=c0a80101-3569b;call_id=d1b81cbb5fbb9e6e en 192.168.254.110;code=200;reason=OK;src_user=20000004;src_domain=212.4.107.250;dst_ouser=20000000;dst_user=20000000;dst_domain=192.168.254.101
Jun 25 13:39:55 kamailio /usr/local/sbin/kamailio[22088]: *** onreply_route antes de forzar rtpproxy ***
Jun 25 13:39:55 kamailio /usr/local/sbin/kamailio[22088]: *** rtpproxy forzado en onreply_route ***
Jun 25 13:39:56 kamailio /usr/local/sbin/kamailio[22089]: *** onreply_route antes de forzar rtpproxy ***
Jun 25 13:39:56 kamailio /usr/local/sbin/kamailio[22089]: *** rtpproxy forzado en onreply_route ***
Jun 25 13:39:58 kamailio /usr/local/sbin/kamailio[22087]: *** onreply_route antes de forzar rtpproxy ***
Jun 25 13:39:58 kamailio /usr/local/sbin/kamailio[22087]: *** rtpproxy forzado en onreply_route ***
por lo que veo si hace el force_rtp_proxy() pero no hace nunca el fix_nated_contact() en onreply_route
----- Mensaje original -----
De: "Iñaki Baz Castillo" <ibc en aliax.net>
Para: users-es en lists.kamailio.org
Enviados: Jueves, 25 de Junio de 2009 13:25:18 GMT +01:00 Amsterdam / Berlín / Berna / Roma / Estocolmo / Viena
Asunto: Re: [SR-Users-ES] No Audio con clientes detras de una NAT, el audio funciona con clientes que usan IPs publicas (Estoy utilizando rtpproxy)
El Jueves, 25 de Junio de 2009, Iñaki Baz Castillo escribió:
> El Jueves, 25 de Junio de 2009, rubenrojas - Trc.es escribió:
> > # Caller NAT detection route
> > /* uncomment the whole following route for enabling Caller NAT Detection
> > */ route[4]{
> > force_rport();
> > if (nat_uac_test("19")) {
> > if (method=="REGISTER") {
> > fix_nated_register();
> > } else {
> > fix_nated_contact();
> > }
> > setflag(5);
> > }
> > return;
> > }
>
> Lo anterior NO se está ejecutando. Fíjate que el Contact del 200 Ok llega
> con la IP provada al llamante, por lo que el ACK que envía llega al proxy
> con el RURI conteniendo una IP privada del llamado, así que el proxy ruta
> el ACK a la IP privada (que obiviamente no llega). Por eso no oyes audio,
> porque la negociación del INVITE no acaba (no llega el ACK al llamado, y
> por eso hay tantas retransmissiones del 200 OK que no pareces haber
> observado).
Perdona, lo de arriba sí se está ejecutando (el Contact del INVITE cambia). Lo
que no cambia es el de la respuesta, o sea, no se ejecuta esto:
onreply_route[1] {
xdbg("incoming reply\n");
if ((isflagset(5) || isbflagset(6)) && status=~"(183)|(2[0-9][0-9])")
{
force_rtp_proxy();
}
if (isbflagset(6)) {
fix_nated_contact();
}
}
Lo que no sé es porqué no se ejecuta puesto que tienes puesto en
t_onreply("1") en route[1]. Eso tendrás que descubrirlo a base de poner "xlog"
para ver si se están eejcutando los bloques o no. Nadie garantiza que el
config file que viene por defecto sea 100% correcto.
--
Iñaki Baz Castillo <ibc en aliax.net>
_______________________________________________
SR-Users-ES mailing list
SR-Users-ES en lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users-es
_________________________________________________________________
Este mensaje ha sido escaneado en busca de virus por MailScanner.
Más información sobre la lista de distribución SR-Users-ES