aboutsummaryrefslogtreecommitdiffstats
path: root/addons/ooh323c/src/ooh245.c
diff options
context:
space:
mode:
Diffstat (limited to 'addons/ooh323c/src/ooh245.c')
-rw-r--r--addons/ooh323c/src/ooh245.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/addons/ooh323c/src/ooh245.c b/addons/ooh323c/src/ooh245.c
index adbe1842e..d993c9ed2 100644
--- a/addons/ooh323c/src/ooh245.c
+++ b/addons/ooh323c/src/ooh245.c
@@ -2102,10 +2102,20 @@ int ooHandleH245Command(OOH323CallData *call,
int ooOnReceivedTerminalCapabilitySetAck(OOH323CallData* call)
{
+ int ret = OO_OK;
call->localTermCapState = OO_LocalTermCapSetAckRecvd;
if(call->remoteTermCapState != OO_RemoteTermCapSetAckSent)
return OO_OK;
+ if(call->masterSlaveState == OO_MasterSlave_Idle) {
+ ret = ooSendMasterSlaveDetermination(call);
+ if(ret != OO_OK) {
+ OOTRACEERR3("ERROR:Sending Master-slave determination message "
+ "(%s, %s)\n", call->callType, call->callToken);
+ return ret;
+ }
+ }
+
if((call->masterSlaveState == OO_MasterSlave_Master ||
call->masterSlaveState == OO_MasterSlave_Slave) &&
(call->msAckStatus == OO_msAck_remoteReceived))
@@ -3127,6 +3137,16 @@ int ooOnReceivedTerminalCapabilitySet(OOH323CallData *call, H245Message *pmsg)
call->localTermCapState != OO_LocalTermCapSetAckRecvd)
return OO_OK;
+ if(call->masterSlaveState == OO_MasterSlave_Idle) {
+ ret = ooSendMasterSlaveDetermination(call);
+ if(ret != OO_OK) {
+ OOTRACEERR3("ERROR:Sending Master-slave determination message "
+ "(%s, %s)\n", call->callType, call->callToken);
+ return ret;
+ }
+ }
+
+
/* Check MasterSlave procedure has finished */
if(call->masterSlaveState != OO_MasterSlave_Master &&
call->masterSlaveState != OO_MasterSlave_Slave)