On Thursday 25 October 2007 09:08:11 Iñaki Baz Castillo wrote:
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).
Claro este punto.
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.
Umm, ya claro, porque permites llamadas a dominios externos.
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.
Umm, error de concepto, tu OpenSer no tiene porqué usar los mismos datos de
contacto que tiene del register para hacer esta llamada Outbound, y sino usa
los mimos el Invite saliente hacia B se estampará contra el NAT de B
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.
Ahora mismo no tengo claro como .. pero estoy seguro de que no te hace falta
otro proxy para esto.
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).
Ya, después de pillar papel y boli he entendido donde tienes el problema.
--
Raúl Alexis Betancor Santana
Dimensión Virtual S.L.