[reSIProcate] DialogSetID is not same between onNewSession and onRefer

Byron Campen bcampen at estacado.net
Thu Dec 20 09:10:22 CST 2007


	The INVITE that you get will not have a local-tag (ie; a To-tag) in  
it. This is part of the keying info in the DialogSetId. When you  
respond to the INVITE, DUM will randomly choose a local-tag (the  
remote end needs to choose part of the keying info because of  
forking), and this local-tag will come back in the REFER, making the  
DialogSetId different. Your best bet is to just use CallId + remote- 
tag in this case (hash each, and xor the hashes, since that's what  
DialogSetId does anyway).

Best regards,
Byron Campen

> Hi, I want to use the DialogSetID to identifies a Dialog.
>
> When I received a call, I do it:
>
> void UserAgent::onNewSession(ServerInviteSessionHandle h,  
> InviteSession::OfferAnswerType oat, const SipMessage & msg)
> {
>  DialogSetId inviteID(msg);
>  long callID = (long)inviteID.hash();
> }
>
> After I answered this call, the remote side send a REFER to me:
>
> void UserAgent::onRefer(InviteSessionHandle h,  
> ServerSubscriptionHandle ssh, const SipMessage& msg)
> {
>  DialogSetId inviteID(msg);
>  long callID = (long)inviteID.hash();
> }
>
> but these two callID do not same, the callID of onNewSession !=  
> callID of the onRefer, did I missed something?
>
> thanks
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2423 bytes
Desc: not available
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20071220/780006a8/attachment.bin>


More information about the resiprocate-devel mailing list