small q931 processing and signalling corrections

don't decode UUIE from Q931StatusMessage
clean call without callIdentifier data
don't start tcs/msd exchange procedure after call proceeding received

(closes issue #16365)
Reported by: benngard2
Tested by: may213, benngard2



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@237098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Alexandr Anikin
2009-12-30 23:51:32 +00:00
parent f93071483f
commit c032901aae
3 changed files with 4 additions and 6 deletions

View File

@@ -215,7 +215,9 @@ int ooEndCall(OOH323CallData *call)
return OO_OK;
}
if(call->callState == OO_CALL_CLEARED)
if (call->callIdentifier.guid.numocts == 0) call->callState = OO_CALL_CLEARED;
if(call->callState == OO_CALL_CLEARED || call->callState == OO_CALL_CLEAR_RELEASESENT)
{
ooCleanCall(call);
call->callState = OO_CALL_REMOVED;

View File

@@ -782,10 +782,6 @@ int ooOnReceivedCallProceeding(OOH323CallData *call, Q931Message *q931Msg)
return OO_FAILED;
}
}
} else if (OO_TESTFLAG (call->flags, OO_M_TUNNELING)) {
ret =ooSendTCSandMSD(call);
if (ret != OO_OK)
return ret;
}
return OO_OK;
}

View File

@@ -237,7 +237,7 @@ EXTERN int ooQ931Decode
/*cisco router sends Q931Notify without UU ie,
we just ignore notify message as of now as handling is optional for
end point*/
if(msg->messageType != Q931NotifyMsg)
if(msg->messageType != Q931NotifyMsg && msg->messageType != Q931StatusMsg)
rv = ooDecodeUUIE(pctxt, msg);
return rv;
}