[reSIProcate] Rejected ClientInviteSession doesn't destroy DialogSet
Hi,
We've moved our software (SIP PBX) from resiprocate
1.0.2 to 1.3, and I've noticed it doesn't destroy UAC
dialog set if it has been rejected by 4xx response
(f.e. 486). I have found that normal flow is broken in
DialogSet::possiblyDie()
If() condition requires mState != ReceivedProvisional
to destroy DS. But DS is in this state, because it
didn't have any 200 OK by the moment. So, Dialog is
properly removed, but DS remains and that leads to
memory leaks.
What do you suggest? Should it be fixed in
resiprocate, or there's some workaround? May be I've
missed some changes in architecture and now rejected
calls should be processed differently?
Thanks in advance,
Arthur Moroz
Lead developer,
3CX Ltd
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now.
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ