[OpenSER-Users-ES] Crear cabecera "Route" en vez de modificar URI cuando destino es "loose router".

Iñaki Baz Castillo ibc at aliax.net
Sat Nov 3 18:41:12 CET 2007


El Sábado, 3 de Noviembre de 2007, Iñaki Baz Castillo escribió:
> El Sábado, 3 de Noviembre de 2007, Iñaki Baz Castillo escribió:
> > PD: Igual es cosa de hacerlo en plan:
> >   insert_hf("Route: udp:IP_asterisk:5060\r\n");
> > pero me parece un poco... tristón.
>
> Perdón, quería decir:
>
>   insert_hf("Route: <sip:IP_asterisk:5080;lr=on>\r\n");


Pues no sirve, resulta que si pongo ese "Route" el paquete se queda dando 
vueltas por OpenSer que además no lo reconoce como loop sino como espiral, 
así que acaba muriendo por "tamaño máximo".

Esta es la pinta que tiene el paquete en su iteración X:


U 2007/11/03 18:33:36.493976 82.14.0.110:5060 -> 82.14.0.110:5060
INVITE sip:route at sip.aliax.net SIP/2.0
Record-Route: <sip:82.14.0.110;lr=on;ftag=ofxby;dialog-id=5fa.eecd7482>
Route: <sip:82.14.0.111:5080;lr=on>
Record-Route: <sip:82.14.0.110;lr=on;ftag=ofxby;dialog-id=5fa.decd7482>
Route: <sip:82.14.0.111:5080;lr=on>
Record-Route: <sip:82.14.0.110;lr=on;ftag=ofxby;dialog-id=5fa.cecd7482>
Route: <sip:82.14.0.111:5080;lr=on>
Record-Route: <sip:82.14.0.110;lr=on;ftag=ofxby;dialog-id=5fa.becd7482>
Route: <sip:82.14.0.111:5080;lr=on>
Via: SIP/2.0/UDP 82.14.0.110;branch=z9hG4bKa369.f79c1404.0
Via: SIP/2.0/UDP 82.14.0.110;rport=5060;branch=z9hG4bKa369.e79c1404.0
Via: SIP/2.0/UDP 82.14.0.110;rport=5060;branch=z9hG4bKa369.d79c1404.0
Via: SIP/2.0/UDP 82.14.0.110;rport=5060;branch=z9hG4bKa369.c79c1404.0


Yo había rutado el paquete así:

  insert_hf("Route: <sip:82.14.0.111:5080;lr=on>\r\n");

(allí hay un Asterisk escuchando).


Por otra parte me preocupa que esto no haya sido detectado como Loop. Según el 
RFC la construcción del parámetro branch en cada transacción se basa en un 
hash del from-tag, to-tag, call-id, uri, proxy-authenticacion, route. Todos 
esos parámetros son iguales en todos los paquetes que rebotan, y de hecho el 
branch es igual en todos:
  z9hG4bKa369.e79c1404.0
Si es el mismo branch... ¿por qué no se asume como Loop como indica el RFC?


Gracias por cualquier explicación.

-- 
Iñaki Baz Castillo




More information about the Users-es mailing list