El Lunes, 10 de Diciembre de 2007, Marcelo Castillo escribió:
Hola como están, este es mi primer post en la lista espero que me puedan orientar por favor, al grano. He implementado TLS entre 2 proxys openser además de usar softphone con soporte TLS como es el eyebeam, el esquema es el sgte:
softphone <-> opensert tls:5061 <-> opensert tls:5061 <-> softphone
al realizar capturas en cada proxy me he dado cuenta que al realizar el Handshake TLS entre los proxys el puerto utilizado por el proxy que "inicia" esta negociación no utiliza el puerto 5061, se ve algo como esto:
(4565) proxy ---------Client Hello---------------> (5061) proxy
además sigue utilizando este puerto 4565 durante toda la negociación, la pregunta es: Esto se debe a una característica de funcionamiento de los openser ?, ya que cuando la llamada la hago desde el otro softphone el puerto que utiliza el otro proxy es el 42623.
Cabe señalar que existe conectividad-TLS entre los softphone al realizar la llamada entre los proxys.
TLS es TCP, y en TCP cada conexión saliente (cada transacción) usa un puerto (se puede también reusar para todas las transacciones de la sesión, pero no es obligatorio). En definitiva, si usas TCP el puerto origen del UAC o del proxy no es 5061 sino cualquier otro (distinto en cada transacción paralela). Otro tema es que según el RFC3261 un UAC debe estar preparado para recibir respuestas en un puerto diferente al que inició su transacción (en caso de que la conexión TCP se pierda por lo que sea).
Saludos.