El Wednesday 24 October 2007 19:44:25 Raúl Alexis Betancor Santana escribió:
por lo que la
llamada en mi OpenSer se considera outbound y puesto que la
realiza un usuario "mío" se la permito... ¡¡pero se salta toda la
política de seguridad!!
Umm, o yo me le liado siguiendo el hilo o no tiene sentido lo que comentas.
No no, en serio, hablo de lo mismo ;)
Aunque el usuario A conozca el contact del B, no le
puede mandar un Invite
usando de outbound proxy, SI y siempre SI, tu compruebas que no es un
dialogo en curso.
Sí que puede, y tiene todo el sentido. Yo permito que los usuarios de mis
dominios (domA y domB) hagan llamadas outbound a dominos externos usando como
outbound proxy mi OpenSer (para que ponga el RtpProxy y tal).
Entonces si userA@domA llama a la IP de contact de B (sip:userB@ip_contact_B)
entonces esa llamada la interpretará mi OpenSer como outbound (no va dirigida
a un dominio local) y la rutará directamente, por lo que llegará al userB
directamente. Comprobado.
No entiendo porqué hablas ahora de diálogos en curso, no entiendo qué tiene
que ver, yo hablo de un INVITE inicial pero que no va a @domB sino a
@IP_contact_B (por lo que se ruta como Outbound) y en definitiva llega al
usuario B ya que dicho usuario permite llamadas (nat pinging tras REGISTER)
desde el proxy.
De ahí que la solución que veo es la de rutar las llamadas outbound a otro
proxy y así ya no se pueden "colar" aprovechando el natpinging.
Además resulta
que como dicho INVITE llegará desde el OpenSer el user_B
lo aceptará de todas todas (ni siquiera hay una mínima protección de NAT
o firewall posible).
Creo que te has liado, el INVITE no llegará a B, porque desde que A te lo
mande pasará por todas tus reglas, a no ser que el orden de las reglas esté
mal.
No es que las reglas estén mal, es que @IP_contact_B no es un dominio local
luego es outbound y no se procesa por las reglas (que son para llamadas
**entrantes** a los usuarios locales).
Saludos y gracias.
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es