Re: Response overrides local tag?
"Jeroen van Bemmel" <[email protected]>
| Newsgroups | gmane.comp.voip.nist-sip |
|---|---|
| Message-ID | <003a01c69a1c$689b2e40$31713b51@BEMBUSTER> |
Kalman, Ranga, I made some changes to the code in CVS which I believe will help your case. Please update and see if it works for you Regards, Jeroen ----- Original Message ----- From: "M. Ranganathan" <[email protected]> To: "Kalman Lau" <[email protected]> Cc: <[email protected]> Sent: Tuesday, June 27, 2006 6:45 AM Subject: Re: [nist-sip] Response overrides local tag? > Kalman, > > What you are doing seems to be appropriate. You should let the stack > assign the To tag for the Refer. The REFER should be created after the ACK > is received (or after the OK is sent at any rate). The From and To tag > of the Refer should match the From and To of the OK/ACK. If you let the > stack manage your tag assignments, this will be the case. If this is the > case, the 202 Accepted should have the same From/To tags as the ACK and > you should not have any problems. > > Perhaps the REFER is being created before the OK is sent out when the > Dialog is still in the early state or perhaps you are using message > factory to create the Request? Can you check on that? However, I agree > that the stack should do more to help with tag management here. Are you > using Dialog.sendRequest(transaction) to actually send the request out? If > so, I can assign the Refer To tags when the Refer is actually sent out > rather than rely upon the applicatoin to do the right thing prior to > sending the request(i.e. I can override whatever tag the application > assigns in this case). I will make this change and commit to the > repository soon. > > Regards, > > Ranga > > > Kalman Lau wrote: > >> For the following sequence... >> >> Caller App >> ------ --- >> | | >> | INVITE | >> +----------->| >> | | >> | Trying | >> |<-----------+ >> | Ringing | >> |<-----------+ >> | OK | >> |<-----------+ >> | | >> | ACK | >> +----------->| >> | | >> | REFER | >> |<-----------+ >> | | >> | Accepted | >> +----------->| >> | NOTIFY | >> +----------->| >> | | >> >> I used the Dialog generated from the initial INVITE to send the REFER >> request. Was this appropriate? If so, I am having the following >> problem... >> >> The SIPClientTransaction was woken up to process the 202-Accepted >> response, it proceeds to trigger the SIPDialog to update its local tag as >> follows: >> >> +-> UDPMessageChannel.run() line: 452 >> +-> SIPClientTransaction.processResponse(SIPResponse, MessageChannel) >> line: 1252 >> +-> SIPClientTransaction.processResponse(SIPResponse, MessageChannel, >> SIPDialog) line: 521 >> +-> SIPDialog.setLastResponse(SIPTransaction, SIPResponse) line: >> 2244 >> +-> SIPDialog.setLocalTag(String) line: 1302 >> >> (Note: line numbers from JAIN_SIP_1_2 as of last week...) >> >> But being a server dialog, SIPDialog.setLastResponse() sets the local tag >> using the response's TO header tag, thus overriding what appears to be >> its original, valid local tag. >> >> Subsequently, when the app attempts to respond to the NOTIFY with a >> 200-OK ( using the NOTIFY request's transaction), >> SIPServerTransaction.sendResponse(Response) line 1252 throws a >> SipException with message "Response tags dont match with Dialog tags". >> >> Is the noted issue about the local tag a bug? Or am I misusing something >> else? >> >> Kalman >> >>------------------------------------------------------------------------ >> >>_______________________________________________ >>nist-sip mailing list >>[email protected] >>http://www-x.antd.nist.gov/mailman/listinfo/nist-sip >> > > > -- > M. Ranganathan > Advanced Networking Technologies Division, > National Institute of Standards and Technology (NIST), > 100 Bureau Drive, Stop 8920, Gaithersburg, MD 20899. tel:301 975 3664 , > fax:301 590 0932 http://w3.antd.nist.gov/ > Advanced Networking Technologies For the People! > > _______________________________________________ > nist-sip mailing list > [email protected] > http://www-x.antd.nist.gov/mailman/listinfo/nist-sip