REGISTER sin Contact

15 views
Skip to first unread message

Jesus Rodriguez

unread,
Sep 10, 2008, 2:57:34 PM9/10/08
to sip...@googlegroups.com
Hola,

Si un proxy/registrar recibe un REGISTER sin Contact y no hay ningún
binding en ese registrar para ese AOR, ¿el 200OK generado por el proxy
debería incluir algún Contact?, ¿se debería generar en ese caso un
200OK o un mensaje de error?.

Gracias.

Saludos
JesusR.


Victor Pascual Ávila

unread,
Sep 10, 2008, 3:30:24 PM9/10/08
to sip...@googlegroups.com
2008/9/10 Jesus Rodriguez <jes...@voztele.com>:

> Si un proxy/registrar recibe un REGISTER sin Contact y no hay ningún
> binding en ese registrar para ese AOR, ¿el 200OK generado por el proxy
> debería incluir algún Contact?, ¿se debería generar en ese caso un
> 200OK o un mensaje de error?.

Creo que encabezas el top de preguntas sin respuesta ;-)

Sinceramente, no estoy seguro.

En el RFC3261, el proceso para hacer un fetch de un binding termina con:

RFC3261, Section 10.3- Step 8:

The registrar returns a 200 (OK) response. The response MUST contain
Contact header field values enumerating all current bindings.

Esta es mi interpretación: si el AoR realmente pertenece al dominio de
ese registrar, el registrar debe retornar un 200 OK con los bindings:
si hay uno, uno; si hay dos, dos; si no hay ninguno, ninguno. ¿Podría
ir vacío ese contact?

A ver que opinan los demás.

Saludos,
--
Victor Pascual Ávila

Miguel Angel Garcia Martin

unread,
Sep 10, 2008, 4:06:52 PM9/10/08
to sip...@googlegroups.com
Hmmm... estoy de acuerdo en que RFC 3261 no contempla ese caso, al
menos lo he estado buscando y no lo he encontrado.

Creo que la respuesta de Victor es lo más lógico: un 200 OK que tiene
un Contact header field que tiene todos los contactos registrados, es
decir, cero en tu caso. Contact puede estar vacio, asi que parece lo
más lógico.

/M.A.

2008/9/10 Victor Pascual Ávila <victor.pas...@gmail.com>:
--
Miguel A. Garcia
mailto:ea1...@gmail.com

Iñaki Baz Castillo

unread,
Sep 10, 2008, 5:06:59 PM9/10/08
to sip...@googlegroups.com
El Miércoles, 10 de Septiembre de 2008, Miguel Angel Garcia Martin escribió:
> Hmmm... estoy de acuerdo en que RFC 3261 no contempla ese caso, al
> menos lo he estado buscando y no lo he encontrado.
>
> Creo que la respuesta de Victor es lo más lógico: un 200 OK que tiene
> un Contact header field que tiene todos los contactos registrados, es
> decir, cero en tu caso. Contact puede estar vacio, asi que parece lo
> más lógico.

En Twinkle puedo pulsar un botoncito que me genera un REGISTER sin Contact y
obtiene, de OpenSer en este caso, un 200 OK indicando todos los bindings
registrados para ese AoR del To.

Incluso me atrevería a decir (aunque después de las respuestas de Victor y
Miguel no me atrevo) que el RFC3261 contempla la posibilidad de enviar un
REGISTER sin Contact precisamente para el propósito que describo: que un
cliente sepa cuántos bindings tiene registrados su AoR.

Espera que lo busco....

--
Iñaki Baz Castillo

Iñaki Baz Castillo

unread,
Sep 10, 2008, 5:11:23 PM9/10/08
to sip...@googlegroups.com

¡Bingo!:


10.2.3 Fetching Bindings

A success response to any REGISTER request contains the complete list
of existing bindings, regardless of whether the request contained a
Contact header field. If no Contact header field is present in a
REGISTER request, the list of bindings is left unchanged.


Aunque ahora entiendo que la pregunta de Jesús es el caso de que el AoR no
tenga ningún binding registrado. En ese caso, al menos OpenSer devuelve
un "200 OK" sin cabecera Contact. ¿Y por qué no devuelve una cabecera Contact
vacía? sencillamente porque no es válida según la gramática BNF de SIP. Un
Contact tiene que tener uno o más URI's o un sólo asterisco.

En este caso (AoR no registrado) Twinkle interpreta correctamente el 200 OK
sin Contact que devuelve el proxy y muestra un mensaje (no estás registrado).


Saludos.

--
Iñaki Baz Castillo

Iñaki Baz Castillo

unread,
Sep 10, 2008, 5:14:49 PM9/10/08
to sip...@googlegroups.com
El Miércoles, 10 de Septiembre de 2008, Jesus Rodriguez escribió:
> Hola,
>
> Si un proxy/registrar recibe un REGISTER sin Contact y no hay ningún
> binding en ese registrar para ese AOR, ¿el 200OK generado por el proxy
> debería incluir algún Contact?, ¿se debería generar en ese caso un
> 200OK o un mensaje de error?.

Y otra cosa (al margen de mis otras respuestas):

Yo entiendo que no tendría sentido que el proxy devolviese un error, porque
¿cuál sería apropiado? un 404 indica que la dirección de RURI no existe o que
el servidor no sabe nada (esto es falso puesto que es la URI del registrar
que es quien responde).
Yo creo que la respuesta debe ser siempre el listado de bindings registrados
para ese AoR del "To", haya o no haya alguno registrado (y si no hay ninguno
no se envía "Contact" vacío pues sería erróneo).

Yo creo que encaja, ¿no?

--
Iñaki Baz Castillo

Victor Pascual Ávila

unread,
Sep 10, 2008, 5:47:59 PM9/10/08
to sip...@googlegroups.com
2008/9/10 Iñaki Baz Castillo <i...@aliax.net>:

> Incluso me atrevería a decir (aunque después de las respuestas de Victor y
> Miguel no me atrevo) que el RFC3261 contempla la posibilidad de enviar un
> REGISTER sin Contact precisamente para el propósito que describo: que un
> cliente sepa cuántos bindings tiene registrados su AoR.
>
> Espera que lo busco....

2008/9/10 Victor Pascual Ávila <victor.pas...@gmail.com>:
> En el RFC3261, el proceso para hacer un *fetch de un binding* termina con:

Se llama "fetching bindings" :-)
--
Victor Pascual Ávila

Victor Pascual Ávila

unread,
Sep 10, 2008, 6:26:50 PM9/10/08
to sip...@googlegroups.com
2008/9/10 Iñaki Baz Castillo <i...@aliax.net>:
> En ese caso, al menos OpenSer devuelve
> un "200 OK" sin cabecera Contact. ¿Y por qué no devuelve una cabecera Contact
> vacía? sencillamente porque no es válida según la gramática BNF de SIP. Un
> Contact tiene que tener uno o más URI's o un sólo asterisco.

Aquí Openser creo que se está saltando un MUST:

2008/9/10 Victor Pascual Ávila <victor.pas...@gmail.com>:

> The registrar returns a 200 (OK) response. The response MUST contain
> Contact header field values enumerating all current bindings.


¿Estás seguro que un contact no puede ir vacío?

Iñaki Baz Castillo

unread,
Sep 10, 2008, 6:33:33 PM9/10/08
to sip...@googlegroups.com
El Jueves, 11 de Septiembre de 2008, Victor Pascual Ávila escribió:
> 2008/9/10 Iñaki Baz Castillo <i...@aliax.net>:
> > En ese caso, al menos OpenSer devuelve
> > un "200 OK" sin cabecera Contact. ¿Y por qué no devuelve una cabecera
> > Contact vacía? sencillamente porque no es válida según la gramática BNF
> > de SIP. Un Contact tiene que tener uno o más URI's o un sólo asterisco.
>
> Aquí Openser creo que se está saltando un MUST:

> 2008/9/10 Victor Pascual Ávila <victor.pas...@gmail.com>:
> > The registrar returns a 200 (OK) response. The response MUST contain
> > Contact header field values enumerating all current bindings.

Ops, cierto... hay un MUST... pero es incongruente ya que un Contact no puede
estar vacío.


> ¿Estás seguro que un contact no puede ir vacío?

Completamente:

Contact = ( "Contact" / "m" ) HCOLON
( STAR / (contact-param *(COMMA contact-param)))
contact-param = (name-addr / addr-spec) *( SEMI contact-params)

Es más, lo he verificado en el parser que he hecho (que respeta el BNF al
99,9% XD).


PD: Jesús, ¿y si seguimos el hilo en sip-implementators? yo creo que
hay "chicha" ya que si no hay ningún binding registrado el "200 OK" no puede
contener un Contact y sin embargo ese "Must contain Contact" lo desvirtúa
todo...


--
Iñaki Baz Castillo

Victor Pascual Ávila

unread,
Sep 10, 2008, 6:39:00 PM9/10/08
to sip...@googlegroups.com
2008/9/11 Iñaki Baz Castillo <i...@aliax.net>:

>> ¿Estás seguro que un contact no puede ir vacío?
>
> Completamente:
>
> Contact = ( "Contact" / "m" ) HCOLON
> ( STAR / (contact-param *(COMMA contact-param)))
> contact-param = (name-addr / addr-spec) *( SEMI contact-params)
>
> Es más, lo he verificado en el parser que he hecho (que respeta el BNF al
> 99,9% XD).

¿Y si metemos un contact con un hostpart tipo 0.0.0.0?

--
Victor Pascual Ávila

Iñaki Baz Castillo

unread,
Sep 10, 2008, 6:59:12 PM9/10/08
to sip...@googlegroups.com
El Jueves, 11 de Septiembre de 2008, Victor Pascual Ávila escribió:

Hombre, para eso casi prefiero un nuevo:

draft-update-register

XD

--
Iñaki Baz Castillo

Jesus Rodriguez

unread,
Sep 10, 2008, 8:06:03 PM9/10/08
to sip...@googlegroups.com
Hola,

Primero, gracias por todas las respuestas... pregunto poco pero cuando
pregunto... :)


> El Jueves, 11 de Septiembre de 2008, Victor Pascual Ávila escribió:
>> 2008/9/10 Iñaki Baz Castillo <i...@aliax.net>:
>>> En ese caso, al menos OpenSer devuelve
>>> un "200 OK" sin cabecera Contact. ¿Y por qué no devuelve una
>>> cabecera
>>> Contact vacía? sencillamente porque no es válida según la
>>> gramática BNF
>>> de SIP. Un Contact tiene que tener uno o más URI's o un sólo
>>> asterisco.
>>
>> Aquí Openser creo que se está saltando un MUST:
>
>> 2008/9/10 Victor Pascual Ávila <victor.pas...@gmail.com>:
>>> The registrar returns a 200 (OK) response. The response MUST
>>> contain
>>> Contact header field values enumerating all current bindings.
>
> Ops, cierto... hay un MUST... pero es incongruente ya que un Contact
> no puede
> estar vacío.


Tengo un equipo que hace eso, envía el REGISTER sin Contact... pero no
he podido cazar qué responder el proxy cuando no hay ningún binding
(no tengo el equipo a mano hasta el viernes).


> PD: Jesús, ¿y si seguimos el hilo en sip-implementators? yo creo que
> hay "chicha" ya que si no hay ningún binding registrado el "200 OK"
> no puede
> contener un Contact y sin embargo ese "Must contain Contact" lo
> desvirtúa
> todo...


Claro!... ya puedes enviar otro bug de la 3261!! :)


Saludos
JesusR.

------------------------------------
Jesus Rodriguez
VozTelecom Sistemas, S.L.
jes...@voztele.com
http://www.voztele.com
Tel. 902360305
-------------------------------------


Miguel Angel Garcia Martin

unread,
Sep 11, 2008, 2:55:02 AM9/11/08
to sip...@googlegroups.com
2008/9/10 Iñaki Baz Castillo <i...@aliax.net>:
>
>
> Incluso me atrevería a decir (aunque después de las respuestas de Victor y
> Miguel no me atrevo) que el RFC3261 contempla la posibilidad de enviar un
> REGISTER sin Contact precisamente para el propósito que describo: que un
> cliente sepa cuántos bindings tiene registrados su AoR.
>

Es cierto, RFC 3261 permite hacer un "fetch" de los contactos
registrados, y la manera de hacerlo es mandar un REGISTER sin Contact.
La pregunta inicial era: que pasa si ese AOR no tiene ningun contacto
registrado? Se sigue mandando un 200 OK? Con o sin Contact? Lo que
comentabamos era que lo mas logico en ese caso es responder con un 200
OK que contiene un Contact vacio.

/M.A.

Raúl Alexis Betancor Santana

unread,
Sep 11, 2008, 3:08:15 AM9/11/08
to sip...@googlegroups.com

Yo opino, ante la pregunta inicial, que en caso de que el AOR no tenga
bindings, se le debe de responder con un 200 sin Contact, ya que como bien ha
apuntando Iñaki, gramaticalmente un Contact no puede ser nulo.
Al final todo esto lleva a que ese caso concreto (AOR consultando bindings y
respuesta 0 bindings) no está contemplado en el RFC3261, lo que ha hecho que
en el caso concreto de OpenSer se hayan decantado por implementarlo
devolviendo un 200 sin Contact.
El RFC no lo deja claro, pero yo lo veo como una respuesta lógica, el UAC al
recibir el 200 sin Contact deduce que no está registrado (tal como contesta
Twinkle).

--
Raúl Alexis Betancor Santana
Dimensión Virtual S.L.

Iñaki Baz Castillo

unread,
Sep 11, 2008, 4:45:31 AM9/11/08
to sip...@googlegroups.com

Y todo esto nos muestra un bug del RFC3261 como apunta Victor:

The registrar returns a 200 (OK) response. The response MUST contain
Contact header field values enumerating all current bindings.

Ya que en el caso que nos ocupa no hay bindings, por lo que el Contact estaría
vacío (que no es válido según BNF) por lo que ese MUST genera jaleo.

--
Iñaki Baz Castillo

Victor Pascual Ávila

unread,
Sep 11, 2008, 5:17:07 AM9/11/08
to sip...@googlegroups.com
Seguimos con este thread en sip-implementors:

https://lists.cs.columbia.edu/pipermail/sip-implementors/2008-September/020311.html

2008/9/11 Iñaki Baz Castillo <i...@aliax.net>:
>

--
Victor Pascual Ávila

Iñaki Baz Castillo

unread,
Sep 11, 2008, 5:20:45 AM9/11/08
to sip...@googlegroups.com
El Jueves, 11 de Septiembre de 2008, Victor Pascual Ávila escribió:
> Seguimos con este thread en sip-implementors:
>
> https://lists.cs.columbia.edu/pipermail/sip-implementors/2008-September/020
>311.html


Vaya vaya... ¿no tendrías que haber añadido la cabecera "History-Info" en el
nuevo correo que has mandado a sip-implementors?

Miguel Angel Garcia Martin

unread,
Sep 11, 2008, 5:56:16 AM9/11/08
to sip...@googlegroups.com
Creo que hay un error en RFC 3261. Si bien el ABNF de Contact requiere
que al menos haya un valor, el texto en la Seccion 10.2 no dice lo
mismo:

Contact: REGISTER requests MAY contain a Contact header field with
zero or more values containing address bindings.

Independientemente de que el texto se refiera al Contact de un
REGISTER request, y no de un 200. Lo importante es que el Contact
puede contener *zero* valores... asi que estariamos hablando de un
Contact vacio. Con lo cual, el ABNF deberia reflejarlo o el texto
deberia de ser corregido.

/M.A.

2008/9/11 Iñaki Baz Castillo <i...@aliax.net>:
>

Jesus Rodriguez

unread,
Sep 11, 2008, 5:59:21 AM9/11/08
to sip...@googlegroups.com
Hola Miguel Angel,


> Creo que hay un error en RFC 3261. Si bien el ABNF de Contact requiere
> que al menos haya un valor, el texto en la Seccion 10.2 no dice lo
> mismo:
>
> Contact: REGISTER requests MAY contain a Contact header field
> with
> zero or more values containing address bindings.
>
> Independientemente de que el texto se refiera al Contact de un
> REGISTER request, y no de un 200. Lo importante es que el Contact
> puede contener *zero* valores... asi que estariamos hablando de un
> Contact vacio. Con lo cual, el ABNF deberia reflejarlo o el texto
> deberia de ser corregido.


Ahora sí, creo que todos hemos llegado a la misma conclusión :)

Saludos
JesusR.



> 2008/9/11 Iñaki Baz Castillo <i...@aliax.net>:
>>
>> El Jueves, 11 de Septiembre de 2008, Victor Pascual Ávila escribió:
>>> Seguimos con este thread en sip-implementors:
>>>
>>> https://lists.cs.columbia.edu/pipermail/sip-implementors/2008-September/020
>>> 311.html
>>
>>
>> Vaya vaya... ¿no tendrías que haber añadido la cabecera "History-
>> Info" en el
>> nuevo correo que has mandado a sip-implementors?
>> XD
>>
>>
>> --
>> Iñaki Baz Castillo
>>
>>>
>>
>
>
>
> --
> Miguel A. Garcia
> mailto:ea1...@gmail.com
>
> >
>





Iñaki Baz Castillo

unread,
Sep 11, 2008, 5:59:38 AM9/11/08
to sip...@googlegroups.com
El Jueves, 11 de Septiembre de 2008, Miguel Angel Garcia Martin escribió:
> Creo que hay un error en RFC 3261. Si bien el ABNF de Contact requiere
> que al menos haya un valor, el texto en la Seccion 10.2 no dice lo
> mismo:
>
> Contact: REGISTER requests MAY contain a Contact header field with
> zero or more values containing address bindings.
>
> Independientemente de que el texto se refiera al Contact de un
> REGISTER request, y no de un 200. Lo importante es que el Contact
> puede contener *zero* valores... asi que estariamos hablando de un
> Contact vacio. Con lo cual, el ABNF deberia reflejarlo o el texto
> deberia de ser corregido.

¡Qué buen apunte!

Vaya pifia en el RFC 3261, ¿no?

--
Iñaki Baz Castillo

Victor Pascual Ávila

unread,
Sep 11, 2008, 6:11:25 AM9/11/08
to sip...@googlegroups.com
2008/9/11 Miguel Angel Garcia Martin <ea1...@gmail.com>:

> Creo que hay un error en RFC 3261. Si bien el ABNF de Contact requiere
> que al menos haya un valor, el texto en la Seccion 10.2 no dice lo
> mismo:
>
> Contact: REGISTER requests MAY contain a Contact header field with
> zero or more values containing address bindings.
>
> Independientemente de que el texto se refiera al Contact de un
> REGISTER request, y no de un 200. Lo importante es que el Contact
> puede contener *zero* valores... asi que estariamos hablando de un
> Contact vacio. Con lo cual, el ABNF deberia reflejarlo o el texto
> deberia de ser corregido.

Buen catch!

¿Qué tiene más sentido: aceptar un Contact con zero valores o
simplemente no incluirlo?

--
Victor Pascual Ávila

Iñaki Baz Castillo

unread,
Sep 11, 2008, 6:27:45 AM9/11/08
to sip...@googlegroups.com
El Jueves, 11 de Septiembre de 2008, Victor Pascual Ávila escribió:

Yo diría que no incluirlo, ya que de permitir Contact vacío sería la única
cabecera de ese tipo que lo permite (ni From, ni To, ni Route, ni PAI...
permiten vacío).

Además, un cambio en el BNF puede ser terrible a estas alturas ¿no?


--
Iñaki Baz Castillo

Miguel Angel Garcia Martin

unread,
Sep 11, 2008, 6:44:28 AM9/11/08
to sip...@googlegroups.com
Tradicionalmente se han detectado errores en el BNF de SIP. Supongo
que en este caso también estamos tratando de un error, pero supongo
que habria que discutirlo en la lista de SIP del IETF.

/M.A.

2008/9/11 Iñaki Baz Castillo <i...@aliax.net>:
>

Iñaki Baz Castillo

unread,
Sep 11, 2008, 6:46:49 AM9/11/08
to sip...@googlegroups.com
El Jueves, 11 de Septiembre de 2008, Miguel Angel Garcia Martin escribió:
> Tradicionalmente se han detectado errores en el BNF de SIP. Supongo
> que en este caso también estamos tratando de un error, pero supongo
> que habria que discutirlo en la lista de SIP del IETF.

¿nos movemos allí entonces todo el "Spanish-SIP-Death-Team"? :)

--
Iñaki Baz Castillo

Iñaki Baz Castillo

unread,
Sep 11, 2008, 8:17:49 AM9/11/08
to sip...@googlegroups.com

Enviado, vaya jaleo estamos montando:

http://www.ietf.org/mail-archive/web/sip/current/msg24683.html

Iñaki Baz Castillo

unread,
Sep 11, 2008, 10:24:03 AM9/11/08
to sip...@googlegroups.com
El Miércoles, 10 de Septiembre de 2008, Jesus Rodriguez escribió:
> Hola,
>
> Si un proxy/registrar recibe un REGISTER sin Contact y no hay ningún
> binding en ese registrar para ese AOR, ¿el 200OK generado por el proxy
> debería incluir algún Contact?, ¿se debería generar en ese caso un
> 200OK o un mensaje de error?.

Tema iniciado también en s...@ietf.org:

http://www.ietf.org/mail-archive/web/sip/current/msg24683.html

¡A por ellos! XD

--
Iñaki Baz Castillo

villa7

unread,
Oct 27, 2008, 4:50:44 AM10/27/08
to sip-es
Hola. Estaba buscando por internet, y me mando a este grupo. Yo lo que
quiero hacer es saber que usuarios tengo registrados en el servidor de
registro, para eso supuestamente tengo q enviar una peticion register
sin la cabecera contact. ¿pero en las demas cabeceras que pongo?.

Otra cosa, al no poner la cabecera contact, al servidor le llega esto:
"Contact: <sip:anon...@192.168.1.35:5162;transport=udp>" es normal?


On 11 sep, 15:24, Iñaki Baz Castillo <i...@aliax.net> wrote:
> El Miércoles, 10 de Septiembre de 2008, Jesus Rodriguez escribió:
>
> > Hola,
>
> > Si un proxy/registrar recibe un REGISTER sinContacty no hay ningún
> > binding en ese registrar para ese AOR, ¿el 200OK generado por el proxy
> > debería incluir algúnContact?, ¿se debería generar en ese caso un

Iñaki Baz Castillo

unread,
Oct 27, 2008, 5:21:47 AM10/27/08
to sip...@googlegroups.com
El día 27 de octubre de 2008 9:50, villa7 <nerear...@gmail.com> escribió:
>
> Hola. Estaba buscando por internet, y me mando a este grupo. Yo lo que
> quiero hacer es saber que usuarios tengo registrados en el servidor de
> registro, para eso supuestamente tengo q enviar una peticion register
> sin la cabecera contact. ¿pero en las demas cabeceras que pongo?.
>
> Otra cosa, al no poner la cabecera contact, al servidor le llega esto:
> "Contact: <sip:anon...@192.168.1.35:5162;transport=udp>" es normal?

Es obvio que sí que estás poniendo al cabecera Contact puesto que ahí la tienes.


--
Iñaki Baz Castillo
<i...@aliax.net>

villa7

unread,
Oct 27, 2008, 7:04:05 AM10/27/08
to sip-es
Pero no, yo no le pongo la cabecera contact en ese momento. Pero al
servidor si le aparece eso. Yo lo tengo puesto asi::

sc = (SipClientConnection) Connector.open("sip:" +
registro + ":5060;transport=udp");
sc.initRequest("REGISTER", scn);
sc.setHeader("To", "sip:" + registro + ":5060" );
sc.setListener(ProgramaSip.this);
sc.send();

(registro es la direccion del servidor)

Pero luego en contact solo me devuelve lo mismo q sale en el servidor
de anonymus@.....
Entonces no se si es que hay que poner algun otro dato en alguna
cabecera. Si no, sabeis de alguna otra manera para saber quien esta
registrado en el servidor de registro?.

On 27 oct, 10:21, "Iñaki Baz Castillo" <i...@aliax.net> wrote:
> El día 27 de octubre de 2008 9:50, villa7 <nerearcay...@gmail.com> escribió:
>
>
>
> > Hola. Estaba buscando por internet, y me mando a este grupo. Yo lo que
> > quiero hacer es saber que usuarios tengo registrados en el servidor de
> > registro, para eso supuestamente tengo q enviar una peticion register
> > sin la cabecera contact. ¿pero en las demas cabeceras que pongo?.
>
> > Otra cosa, al no poner la cabecera contact, al servidor le llega esto:
> > "Contact: <sip:anonym...@192.168.1.35:5162;transport=udp>" es normal?

Iñaki Baz Castillo

unread,
Oct 27, 2008, 7:12:26 AM10/27/08
to sip...@googlegroups.com
El día 27 de octubre de 2008 12:04, villa7 <nerear...@gmail.com> escribió:
>
> Pero no, yo no le pongo la cabecera contact en ese momento. Pero al
> servidor si le aparece eso. Yo lo tengo puesto asi::
>
> sc = (SipClientConnection) Connector.open("sip:" +
> registro + ":5060;transport=udp");
> sc.initRequest("REGISTER", scn);
> sc.setHeader("To", "sip:" + registro + ":5060" );
> sc.setListener(ProgramaSip.this);
> sc.send();
>
> (registro es la direccion del servidor)

Es muy sencillo, haz una captura SIP de lo que le está llegando al
servidor, una captura del REGISTER que le llega, independientemente de
lo que teóricamente tú le estás diciendo que tenga o no.


> Pero luego en contact solo me devuelve lo mismo q sale en el servidor
> de anonymus@.....
> Entonces no se si es que hay que poner algun otro dato en alguna
> cabecera. Si no, sabeis de alguna otra manera para saber quien esta
> registrado en el servidor de registro?.

Para saber los contacts registrados para un AoR sólo hay que mandar un
REGISTER con dicho AoR en el To y sin cabecera Contact.

Elias Baixas

unread,
Oct 27, 2008, 7:46:14 AM10/27/08
to sip...@googlegroups.com
Recomiendo SipSpy (http://sipspy.sourceforge.net) !

:P

elias

2008/10/27 Iñaki Baz Castillo <i...@aliax.net>

villa7

unread,
Oct 27, 2008, 8:35:56 AM10/27/08
to sip-es
A ver, yo envio un register sin cabecera contact. (o eso creo,
enviarlo sin cabecera contact, que es?. no poner
sc.setHeader("contact",loquesea), no?. Porque yo eso no lo pongo.
Y que es el AoR?. es q soy nueva con sip :) es una direccion, eso lo
tengo claro, pero cual?. con la que yo me registro en el servidor
(usuario@servidorRegristro), la del servidor de registro, o la que
lleva la @miIP.

Es que yo lo envio sin poner la cabecera contact, y mirandolo en el
monitor de red, me sale:

Call-ID 9d934633b4ddaacb...@192.168.1.35
Contact <sip:anon...@192.168.1.35:5161;transport=udp>
CSeq 1 REGISTER
From <sip:anon...@anonymous.invalid>;tag=316553282
Max-Forwards 70
To <sip:usuario@pcmesanf:5060>
Via SIP/2.0/UDP
192.168.1.35:5161;branch=z9hG4bK4dc2121e88d83159f9561c1fd87eb154

y lo que envia de respuesta el servidor, es un 200 OK y tiene estos
datos:

Call-ID 9d934633b4ddaacb...@192.168.1.35
Contact <sip:anon...@192.168.1.35:5161;transport=udp>;expires=3600
Content-Length 0
CSeq 1 REGISTER
From <sip:anon...@anonymous.invalid>;tag=316553282
Max-Forwards 70
To <sip:usuario@pcmesanf:5060>
Via SIP/2.0/UDP
192.168.1.35:5161;branch=z9hG4bK4dc2121e88d83159f9561c1fd87eb154

pero en esto que envia de respuesta en contact, deberian de aparecerme
los usuarios registrados en el servidor,no?.

antes de nada, gracias!

Xavi Milà

unread,
Oct 27, 2008, 8:59:10 AM10/27/08
to sip...@googlegroups.com
On Mon, Oct 27, 2008 at 1:35 PM, villa7 <nerear...@gmail.com> wrote:

A ver, yo envio un register sin cabecera contact. (o eso creo,
enviarlo sin cabecera contact, que es?. no poner
sc.setHeader("contact",loquesea), no?. Porque yo eso no lo pongo.
 
Hola,
Un buen documento para entender las Headers involucradas en el REGISTER y el Session Setup [1] 
Para entender la Contact header, en detalle, puedes echar un vistazo a [2]
 
 
Espero que te sirva :-)
 
Xavi

Iñaki Baz Castillo

unread,
Oct 27, 2008, 9:02:20 AM10/27/08
to sip...@googlegroups.com
2008/10/27 villa7 <nerear...@gmail.com>:

>
> A ver, yo envio un register sin cabecera contact. (o eso creo,
> enviarlo sin cabecera contact, que es?. no poner
> sc.setHeader("contact",loquesea), no?. Porque yo eso no lo pongo.
> Y que es el AoR?. es q soy nueva con sip :) es una direccion, eso lo
> tengo claro, pero cual?. con la que yo me registro en el servidor
> (usuario@servidorRegristro), la del servidor de registro, o la que
> lleva la @miIP.
>
> Es que yo lo envio sin poner la cabecera contact, y mirandolo en el
> monitor de red, me sale:
>
> Call-ID 9d934633b4ddaacb...@192.168.1.35
> Contact <sip:anon...@192.168.1.35:5161;transport=udp>
> CSeq 1 REGISTER
> From <sip:anon...@anonymous.invalid>;tag=316553282
> Max-Forwards 70
> To <sip:usuario@pcmesanf:5060>
> Via SIP/2.0/UDP
> 192.168.1.35:5161;branch=z9hG4bK4dc2121e88d83159f9561c1fd87eb154

La realidad es que te está enviando un Contact así que no obtendrás
como respuesta el listado de usuarios registrados para ese AoR.
AoR es la dirección usuaio@dominio para el que haces la consulta. En
el caso de un REGISTER lo que cuenta es el AoR que figura en el To
(sobre esa dirección es sobre la que haces la consulta).


> pero en esto que envia de respuesta en contact, deberian de aparecerme
> los usuarios registrados en el servidor,no?.

No, porque tu REGISTER *sí* tenía un Contact y no debería tenerlo.

Victor Pascual Ávila

unread,
Oct 27, 2008, 9:10:11 AM10/27/08
to sip...@googlegroups.com
On Mon, Oct 27, 2008 at 1:35 PM, villa7 <nerear...@gmail.com> wrote:
> A ver, yo envio un register sin cabecera contact.

> Es que yo lo envio sin poner la cabecera contact

> Contact <sip:anon...@192.168.1.35:5161;transport=udp>

Esto es una cabecera Contact.

> pero en esto que envia de respuesta en contact, deberian de aparecerme
> los usuarios registrados en el servidor,no?.

Ten en cuenta que vas a obtener los contacts registrados para un
determinado AOR, no para todos.

Saludos,
--
Victor Pascual Ávila

Reply all
Reply to author
Forward
0 new messages