El Wednesday 16 January 2008 01:32:57 David Villasmil escribió:
On Jan 16, 2008 2:23 AM, Raúl Alexis Betancor Santana <
rabs@dimension-virtual.com> wrote:
On Wed, Jan 16, 2008 at 02:13:35AM +0100, David Villasmil wrote:
Perdona, se me pasó comentar que esa traza es desde el lado del telf..
Pues por eso .. falta el mensaje del proxy con el 200 OK al REGISTER con los datos del realm y tengo la impresión de que ese mensaje se está perdiendo en el ciberespacio.
No, el Openser nunca manda el OK
Porque algo no está bien, el dialogo del REGISTE ha de terminar con un OK o un código de rechazo por autenticación inválida.
El fujo normal es:
UAC OpenSer REGISTER -> <- 401 Autentication Needed, realm=XXX REGISTER -> realm res. <- REGISTER 200 OK
Y en tus trazas falta el mensaje final de la transacción.
son demasiados mensajes, el UA se queda ahí eternamente mandando REGISTERs
¿Como que son demasiados mensajes? .. son los mínimos para tener autenticación en los register.
lo que yo digo que me parece raro, es lo siguiente
Openser le pide que se autorice con "Digest realm" WWW-Authenticate: Digest realm="sip99.yip.com", nonce="478d52abccc5d8fe59400728682be83fd7211108", qop="auth"
y el UA, devuelve la info, pero con "Digest username": Authorization: Digest username="8889990", realm="sip99.yip.com", nonce="478d52abccc5d8fe59400728682be83fd7211108", uri="sip:sip99.yip.com", response="7e809df26b9443c5836186e7b99aefe6", algorithm=MD5
Porqué?
Porque es normal, léete el RFC y lo comprobarás, cuando el proxy te contesta que 401 te pasa los datos del challenge para que respondas y lo que te pasa es el realm en el que has de autenticarte y tu UAC responde diciendo que para ese realm y el usuario XXXX la respuesta al challende es .... (lo que está en response).
Ahora bien .. insisto en que ó estás tratando MAL los mensajes de REGISTER que llegan con los datos de autenticación ... o tienes un problema de NAT. Deberías revisar la parte del guión en la que haces el XXXX_autenticate()
Saludos. -- Raúl Alexis Betancor Santana Dimensión Virtual S.L.