Index: addons/ooh323c/src/ooh245.c =================================================================== --- addons/ooh323c/src/ooh245.c (revision 303154) +++ addons/ooh323c/src/ooh245.c (working copy) @@ -2060,14 +2060,12 @@ int ooHandleH245Command(OOH323CallData *call, } } ooCloseH245Connection(call); + if (call->callState < OO_CALL_CLEAR) + call->callState = OO_CALL_CLEAR; } else{ call->h245SessionState = OO_H245SESSION_ENDRECVD; -#if 0 - if(call->callState < OO_CALL_CLEAR) - call->callState = OO_CALL_CLEAR; -#else if(call->logicalChans) { OOTRACEINFO3("In response to received EndSessionCommand - " @@ -2076,7 +2074,6 @@ int ooHandleH245Command(OOH323CallData *call, ooClearAllLogicalChannels(call); } ooSendEndSessionCommand(call); -#endif } Index: addons/ooh323c/src/oochannels.c =================================================================== --- addons/ooh323c/src/oochannels.c (revision 303154) +++ addons/ooh323c/src/oochannels.c (working copy) @@ -475,13 +475,13 @@ int ooAcceptH245Connection(OOH323CallData *call) /* Start terminal capability exchange and master slave determination */ - ret = ooSendTermCapMsg(call); + /* ret = ooSendTermCapMsg(call); if(ret != OO_OK) { OOTRACEERR3("ERROR:Sending Terminal capability message (%s, %s)\n", call->callType, call->callToken); return ret; - } + } */ return OO_OK; } @@ -1835,6 +1835,8 @@ int ooOnSendMsg } else{ ooCloseH245Connection(call); + if(call->callState < OO_CALL_CLEAR) + call->callState = OO_CALL_CLEAR; } break; case OOCloseLogicalChannel: Index: addons/ooh323c/src/ooq931.c =================================================================== --- addons/ooh323c/src/ooq931.c (revision 303154) +++ addons/ooh323c/src/ooq931.c (working copy) @@ -1451,7 +1451,7 @@ int ooSendAlerting(OOH323CallData *call) OOTRACEERR3("Error: Failed to enqueue Alerting message to outbound queue. (%s, %s)\n", call->callType, call->callToken); } - ooSendTCSandMSD(call); + /* ooSendTCSandMSD(call); */ memReset (call->msgctxt); return ret; @@ -1588,7 +1588,7 @@ int ooSendProgress(OOH323CallData *call) if (!OO_TESTFLAG(call->flags, OO_M_TUNNELING) && call->h245listener) ooSendStartH245Facility(call); - ooSendTCSandMSD(call); + /* ooSendTCSandMSD(call); */ memReset (call->msgctxt); return ret; @@ -1962,7 +1962,8 @@ int ooAcceptCall(OOH323CallData *call) if (/* (!OO_TESTFLAG(call->flags, OO_M_FASTSTART) || call->remoteFastStartOLCs.count == 0) && */ !OO_TESTFLAG (call->flags, OO_M_TUNNELING) && - !call->h245listener && ooCreateH245Listener(call) == OO_OK) + ( (!call->h245listener && ooCreateH245Listener(call) == OO_OK) || + !call->pH245Channel)) { connect->m.h245AddressPresent = TRUE; connect->h245Address.t = T_H225TransportAddress_ipAddress;