> I a bit unclear on how a UA should 
> handle a 300 (Multiple choice) response.  
> Initially, it will handle it exactly like 
> a 302 (i.e. ACK the 300 and then send and 
> INVITE on to the 1st entry in the Contact list).

Both the 300 and 302 can contain multiple
contacts.  The main difference is that
the 300 is used by the UAS to indicate that
the "user" might like to pick among the
multiple contacts.

> However, this is where I am a bit fuzzy.  
> If this INVITE returns a 4xx response (or no 
> response), how is the UA supposed to behave?  

For 300 responses, visibly refreshing the 
list of tried/non-tried contacts is a 
possibility.  Advancing contacts based upon 
order or q-value is also an option when 
the user interaction is not possible.

Unfortunately contact correlation has not
been well standardized for automatic contact
advancing.  

For example a 302 with 4 contacts is
received:
1) <sip:[EMAIL PROTECTED];user=phone>;q=0.5
2) <sip:[EMAIL PROTECTED];user=phone>;q=0.4
3) <sip:[EMAIL PROTECTED];user=phone>;q=0.3
4) <sip:[EMAIL PROTECTED];user=phone>;q=0.2

If a 486 is received for 1, it would be 
nice to skip to 3 instead trying 2.  
Potentially solved by creating an SRV 
entry grouping/prioritizing lowdoller.com 
and highdoller.com.
  
If no response is received for 1, it would 
be nice to try 2.  Potentially solved by 
the above mentioned SRV entry.

If a 600 is received for 1, 
it would be nice to try 3 instead of not 
advancing.  No currently specified 
solution exists unless the 600 is treated 
like a 486.

> Is it mandatory that it should try the 
> next entry in the Contact header?

No redirection is mandatory.  However 
contact advancing would typically be
desired.

Attachment: winmail.dat
Description: application/ms-tnef

Reply via email to