Bug fix: don't terminate a transaction until an ACK is received which matches the sent HANGUP frame.

git-svn-id: http://yate.null.ro/svn/yate/trunk@5195 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
oana 2012-07-13 13:52:40 +00:00
parent e1941d32f9
commit 0ebbdbd97f
1 changed files with 1 additions and 1 deletions

View File

@ -1084,7 +1084,7 @@ IAXEvent* IAXTransaction::getEventResponse(IAXFrameOut* frame, bool& delFrame)
if (findInFrameAck(frame)) {
frame->setAck();
// Terminating frame sent
if (m_state == Terminating)
if (m_state == Terminating && frame->type() == IAXFrame::IAX && frame->subclass() == IAXControl::Hangup)
return terminate(IAXEvent::Terminated,true);
// Frame only need ACK
if (frame->ackOnly())