[Devel] SIP To: Header Tags issue

alex at pilosoft.com alex at pilosoft.com
Fri Mar 31 02:08:36 CEST 2006


Hi,

Having somewhat of an interesting issue that appears to result from 
vagueness of SIP RFC.

Issue is that if requester sent a SIP message and there is no ;tag on the 
To: field, the UAS is supposed to add the tag and send it back, and 
requester should use that value in all future references to this call.

Now, this causes problems in the following sequence of events, assuming 
SER is  doing stateful forwarding.


Requester         SER           UAS
INVITE->
         <- 100 trying
                      INVITE->
                      <- 100 trying (with the new tag)
        
Now, note that at this point, the message with the new tag is 'consumed'
by ser, and requester remains oblivious to the new tag. (Yes, once 183
Ringing or OK comes through - requester will get the tag, but, if
requester needs to CANCEL the call, UAS requires the tag to be present - 
and the CANCEL will fail).

So, what is the more appropriate thing to do? 

Options as I see them:

a) I should make SER add a tag to the To: field if it is missing.  
RFC is silent whether a proxy is allowed/required to add a tag to the To
field.

b) I should make SER do a stateless-forwarding of "100 Trying" messages. 
This will result in client getting two acks (one stateful from SER, one 
stateless from UAS), which I'm not sure is a correct thing.

Which one is the "right thing"?




More information about the Devel mailing list