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"? _______________________________________________ Devel mailing list Devel@openser.org http://openser.org/cgi-bin/mailman/listinfo/devel