Hello, All

Diego, Brett, Paul, thank you for all your opinions!
I decided that the suitable default behavior to the phone in that case is to 
consider itself not registered by the registrar, but the phone should have 
compatibility configuration option for switching it to the second behavior (for 
the compatibility with some strange servers).
In my practice I have encountered not one but two different SIP servers which 
are responding to registration attempts with 200 response without Contact 
header field.
One of them uses such responses as information that it did not accept my 
registration request (why it not uses 403 or similar response for this purpose 
- I don't know).
Second of them uses such responses when it successfully accepts my registration 
request. I think this is just a bug in the server. Unfortunately, my phone 
needs to be compatible with both of them. :-(

--
With best regards, Igor Vanin, St. Petersburg, Russia
mailto:[EMAIL PROTECTED]  http://gpmail.spb.ru

On Thu, 01 Feb 2007 16:58:47 -0500 "Paul Kyzivat" <[EMAIL PROTECTED]> wrote:

PK> I think this behavior is *technically* legal behavior on the part of
PK> the registrar, but practically speaking is aberrant behavior.

PK> It is technically legal because the registrar is permitted to reduce
PK> the requested expiration time, and I can find no prohibition from
PK> reducing it to zero. If it reduced the expiration time to zero, then
PK> you would get the result you are seeing.

PK> Practically this makes no sense. It turns REGISTER into an expensive
PK> noop. If the registrar does this because it finds something wrong
PK> with the registration request, then it ought to be returning an
PK> error.

PK> Given a registrar that operates in this aberrant way, its hard to
PK> imagine what you could do to work around it.

PK> Diego B wrote:
>> Brett Tate wrote:
>>>> Recently I met a strange server, which is responding to the
>>>> REGISTER requests (adding or refreshing a binding) with the
>>>> 200 OK response *without* any Contact header fields.
>>>>
>>> Since it is considered an abnormal situation, the device can act as
>>> it wishes as long as it doesn't continually retry without some
>>> reasonable time delay.
>>>
>> Why do you think this is an abnormal situation?
>> A response without contact can have normal meanings ( i.e. no
>> bindings for the Registered AOR )
>>> There is likely something related to the Contact which makes it
>>> unusable (scheme, transport, malformed, decoding issue, etcetera) or
>>> too low in priority (q too low, too many contacts, etcetera).
>>>
>> For the above situations, the REGISTRAR may response with an
>> apropiate error code, and not just OK with an empty contact list.
>>>
>>>> I understand that such responses are incorrect, but I must
>>>> choose the best way how my softphone should handle them.
>>>> Two opposed variants are:
>>>> 1) interpret 200 w/o contact as signal from the server that
>>>> it did not registered my contact (i.e. handle it the same way
>>>> as 403 response);
>>>> 2) interpret 200 w/o contact as successfull registration of
>>>> the contact which the softphone tried to register.
>>>> Which of these variants is more correct and user-friendly?
>>>>
>>> Both of your variants are acceptable.  It is hard to say which is
>>> best since it really depends upon why the Contact is being lost and
>>> if the phone is really still usable.  If some of the Contacts are
>>> working, option 2 might be better.  If none of the phones contacts
>>> are working, option 1 might be better.
>>>
>> I think the UA may consider itself not registered and retry with
>> an appropriate delay. Option 2 is not acceptable here, since the
>> registrar did not list *any* contact registered for the AOR.


_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to