[reSIProcate] Sending CANCEL to Callee has Transaction Error - (TIdnot found)

Scott Godin slgodin at icescape.com
Tue Jan 23 08:28:29 CST 2007


There are many reasons it is dangerous to be re-using your appdialogset
for 2 different dialogsets, one of which it that dum controls the
lifetime of these objects (unless you override AppDialogSet::destroy).
Appdialogsets are only designed to be assigned to one Dialogset.

 

More comments inline...

 

Scott

 

From: resiprocate-devel-bounces at list.resiprocate.org
[mailto:resiprocate-devel-bounces at list.resiprocate.org] On Behalf Of
Pawan N
Sent: Tuesday, January 23, 2007 8:47 AM
To: resiprocate-devel at list.resiprocate.org
Subject: [reSIProcate] Sending CANCEL to Callee has Transaction Error -
(TIdnot found)

 

I've a B2BUA application which receives an Invite (generates
AppDialogSet)
and sends invite to callee (uses same mSampleAppData..)

So both the legs have same AppdialogSet's AppData...

 

Now when caller sends a CANCEL, a new CANCEL is generated using Callee's
INVITE..
But now Transaction for this internal sip message is not found, and a
481 is generated... How is this possible..Is the caller's CANCEL (same
AppData) destroying the callee transaction data..

 

 

[Scott] Despite my warning above - I don't think this is what is
happening here.  The problem is at the stack level.  How do you generate
the cancel?  You should be using AppDialogSet::end() (but this is
clearly hairy given the way you use AppDialogSets ) or
DialogUsageManager::end().

 

Surprisingly it doesn't happen always... Sometimes it happens this way..

Also when I use SendBye() instead of CANCEL, everything works fine...

Can BYE be used anywhere during the call-session.. (I'm asking
specifically before receiving 200 OK)

 

[Scott] You can only send a bye if you have a dialog - ie. have received
a provisional response containing a to tag.  Otherwise you must send a
CANCEL.  CANCEL cancels the entire invite request.  BYE only terminates
one leg of the invite (it might fork).

 

My logs error and  sip messages are as under - 

 

The error in Log says something like -

 

DEBUG | 20070123-162310.763 | b2bua | RESIP:TRANSPORT | 904 |
Transport.cxx:209 | Adding message to tx buffer to: [ V4
180.144.128.1:5060 UDP target domain=unspecified received on: Transport:
[ V4 0.0.0.0:5060 UDP target domain=unspecified connectionId=0 ]
connectionId=0 ]
STACK | 20070123-162310.763 | b2bua | RESIP:TRANSACTION | 904 |
TransactionState.cxx:296 | No matching transaction for SipReq:  CANCEL
b2bua-9011 at 180.144.128.1:5060 tid=104e19061e3a343a cseq=CANCEL / 1
from(tu)
INFO | 20070123-162310.763 | b2bua | RESIP:TRANSACTION | 904 |
TransactionState.cxx:417 | No matching INVITE for incoming (from TU)
CANCEL to uac
DEBUG | 20070123-162310.763 | b2bua | RESIP | 904 | Helper.cxx:302 |
Helper::makeResponse(SipReq:  CANCEL b2bua-9011 at 180.144.128.1:5060
tid=104e19061e3a343a cseq=CANCEL / 1 from(tu) code=481 reason=
DEBUG | 20070123-162310.763 | b2bua | RESIP:TRANSACTION | 904 |
TransactionState.cxx:1721 | Send to TU: TU: DialogUsageManager size=0
SIP/2.0 481 Call/Transaction Does Not ExistVia: SIP/2.0/ 
.
.
.

CALLEE's MSG  = 
msg=INVITE  (trn-id = 104e19061e3a343a)

INVITE sip:b2bua-9011 at 180.144.128.1:5060 SIP/2.0
Via: SIP/2.0/ ;branch=z9hG4bK-d87543-104e19061e3a343a-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:b2bua at 132.186.69.150>
To: <sip:9011 at 180.144.128.1:5060>
From: <sip:8004 at 180.144.128.1:5060>;tag=592d3733
Call-ID: MmMxZTdlMTEzZjU5YmZkZmNlODVkMzg3NWY1NzVmODE.
CSeq: 1 INVITE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, INVITE
Content-Type: application/sdp
Content-Length: 339
sdp......

 

and the 

CANCEL MSG = 

CANCEL sip:b2bua-9011 at 180.144.128.1:5060 SIP/2.0
Via: SIP/2.0/ ;branch=z9hG4bK-d87543-104e19061e3a343a-1--d87543-;rport
To: <sip:9011 at 180.144.128.1:5060>
From: <sip:8004 at 180.144.128.1:5060>;tag=592d3733
Call-ID: MmMxZTdlMTEzZjU5YmZkZmNlODVkMzg3NWY1NzVmODE.
CSeq: 1 CANCEL
Content-Length: 0

 

 

Regards,

 

Pawan...

 

 

________________________________

Everyone is raving about the all-new Yahoo! Mail beta.
<http://us.rd.yahoo.com/evt=45083/*http:/advision.webevents.yahoo.com/ma
ilbeta> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20070123/04d0003c/attachment.htm>


More information about the resiprocate-devel mailing list