[reSIProcate] SipStack process CANCEL problem!

Byron Campen bcampen at estacado.net
Thu May 31 08:33:04 CDT 2007


	Hmm. I see what you mean. I don't think it would be too hard to  
forge a TransactionTerminated message for the CANCEL. Anyone have  
thoughts on this?

Best regards,
Byron Campen

> resiprocate-devel,你好
>
> When TU send an INVITE to external,then TU send CANCEL to  
> external ,but TransationState not received 1xx,
> the stack process the CANCEL,and return INVITE 487, delete the  
> ClientTransaction,and ;
> The stack don't terminateClientTransaction and create a  
> TransactionTerminated Message to TU!
> Is it a bug ?
>
> The source Code in TransactionState.cxx:
>
>                TransactionState* matchingInvite =  
> controller.mClientTransactionMap.find(sip->getTransactionId());
>                if (matchingInvite == 0)
>                {
>                   InfoLog (<< "No matching INVITE for incoming  
> (from TU) CANCEL to uac");
>                   TransactionState::sendToTU(tu, controller,  
> Helper::makeResponse(*sip,481));
>                   delete sip;
>                }
>                else if (matchingInvite->mState == Calling) //  
> CANCEL before 1xx received
>                {
>                   WarningLog(<< "You can't CANCEL a request until a  
> provisional has been received");
>                   StackLog (<< *matchingInvite);
>                   StackLog (<< *sip);
>
>                   // if no INVITE had been sent out yet. -- i.e.  
> dns result not
>                   // processed yet
>
>                   // The CANCEL was received before the INVITE was  
> sent
>                   // This can happen in odd cases. Too common to  
> assert.
>                   // Be graceful.
>                   TransactionState::sendToTU(tu, controller,  
> Helper::makeResponse(*sip, 200));
>                   matchingInvite->sendToTU(Helper::makeResponse 
> (*matchingInvite->mMsgToRetransmit, 487));
>
>                   delete matchingInvite;
>                   delete sip;
>
>                }
>
>
> fancy_xiao,fancy_xiao at astrocom.cn
> 2007-05-31
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at list.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/20070531/0a18ea48/attachment.bin>


More information about the resiprocate-devel mailing list