[reSIProcate] Leaking transactions
Greg Inglis
Greg.Inglis at TelephoneticsVIP.co.uk
Tue May 8 08:30:55 CDT 2007
Scott, thanks for that. I changed my UAC app to do the following as you suggested and the memory leak has gone away:
MyAppDialogSet::EndSession()
{
if (mMyClientInviteSessionHandle.isValid())
{
if (mMyClientInviteSessionHandle->isEarly())
{
// send CANCEL
AppDialogSet::end();
}
else
{
// send BYE
mMyClientInviteSessionHandle->end();
}
}
}
I forgot to mention, previously in my leaky app (where I was calling ClientInviteSession::end() only), I was still getting the expected AppDialogSet::destroy() call back from the DUM at the end of each session. This is a bit misleading as it implied the session had successfully 'ended' which wasn't the case? This behaviour isn't at all obvious.
Thanks for your help
________________________________
From: resiprocate-devel-bounces at list.resiprocate.org [mailto:resiprocate-devel-bounces at list.resiprocate.org] On Behalf Of Scott Godin
Sent: 03 May 2007 13:46
To: Greg Inglis; resiprocate-devel at list.resiprocate.org
Subject: Re: [reSIProcate] Leaking transactions
Hmm - calling ClientInviteSession::end() will cause a BYE to sent, and the original INVITE transaction should still be active, since the invite was not CANCELED. I would have thought that the transaction state would have been cleaned up after some timeout - but there may currently be a requirement for the application to cancel the transaction completely since you did receive a provisional response.
You could try switching your call to AppDialogSet()->end() or DialogUsageManager::end(), which should send a CANCEL instead to see if the problem goes away.
Scott
From: resiprocate-devel-bounces at list.resiprocate.org [mailto:resiprocate-devel-bounces at list.resiprocate.org] On Behalf Of Greg Inglis
Sent: Thursday, May 03, 2007 8:14 AM
To: resiprocate-devel at list.resiprocate.org
Subject: [reSIProcate] Leaking transactions
Hi there,
I am getting a memory leak in my application when I end my UAC session while the session is in a 'UAC_Early' state
i.e. I've got a '180 Ringing' from the remote UAS endpoint but I haven't received a '200 OK' as yet.
I'm getting the following statistics message from the stack afterwards:
TU summary: 0 TRANSPORT 0 TRANSACTION 0 CLIENTTX 1 SERVERTX 0 TIMERS 0
Transaction summary: reqi 0 reqo 6 rspi 8 rspo 0
Details: INVi 0/S0/F0 INVo 2/S0/F1 ACKi 0 ACKo 1 BYEi 0/S0/F0 BYEo 1/S1/F0 CANi 0/S0/F0 CANo 0/S0/F0 MSGi 0/S0/F0 MSGo 0/S0/F0 OPTi 0/S0/F0 OPTo 0/S0/F0 REGi 0/S0/F0 REGo 2/S1/F1 PUBi 0/S0/F0 PUBo 0/S0/F0 SUBi 0/S0/F0 SUBo 0/S0/F0 NOTi 0/S0/F0 NOTo 0/S0/F0
Retransmissions: INVx 0 BYEx 0 CANx 0 MSGx 0 OPTx 0 REGx 0 finx 0 nonx 0 PUBx 0 SUBx 0 NOTx 0
The 'CLIENTTX 1' in the TU summary doesn't go away no matter how long I wait - I assume this means a transaction has leaked somehow?
I am ending the session by calling ClientInviteSession::end() and subsequently calling process() on the stack and DUM - is there some step I am missing here?
I'm using reSiprocate 1.1 built on VC8 SP1 and my SIP proxy is asterisk.
Any help would be appreciated
Greg Inglis
Software Engineer
Telephonetics VIP Ltd
"making sound
business sense"
Simply dial +44 (0) 1442 242 242 and ask for me by name.
For Technical Support / Fault Logging please use support at telephoneticsvip.co.uk
Emails to my personal address will not be managed in my absence.
www.telephoneticsVIP.co.uk <http://www.telephoneticsvip.co.uk/>
Providing innovative hosted and customer premises speech recognition and voice automation solutions.
Winner of the National Business Awards (SE Region) Business Innovation of the Year 2004 & 2005 and Dacorum Business Of The Year Award 2003 & 2006.
Disclaimer:
The disclaimer available at http://www.telephoneticsVIP.co.uk/telephonetics/emaildisclaimer.jsp or <http://www.telephoneticsvip.co.uk/telephonetics/emaildisclaimer.jsp or> by sending email to <mailto:email-disclaimer at telephoneticsVIP.co.uk <mailto:email-disclaimer at telephoneticsVIP.co.uk> > applies to this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20070508/a2552a85/attachment.htm>
More information about the resiprocate-devel
mailing list