[asterisk-addons-commits] may: branch 1.6.2 r1139 - /branches/1.6.2/channels/ooh323c/src/
SVN commits to the Asterisk addons project
asterisk-addons-commits at lists.digium.com
Sat Dec 25 16:31:46 UTC 2010
Author: may
Date: Sat Dec 25 10:31:42 2010
New Revision: 1139
URL: http://svnview.digium.com/svn/asterisk-addons?view=rev&rev=1139
Log:
Change order of sending TCS and MSD packets
Change order of sending Terminal Capability Set and MasterSlave
Determination packets, MSD send when TCS exchange procedure is done
(we send tcs ack to remote and we have remote tcs ack already
or we receive tcs ack from remote and we have send our tcs ack to
remote already). Some endpoints can work in this sequence only,
i suggest they can't work with both (tcs and msd) exchange procedures
simultaneously.
Also changed StartH245 facility message sending. It send on
incoming calls only due to some endpoints can't proccess properly
this facility messages on their incoming calls.
(issue #18433)
Reported by: MrHanMan
Patches:
tcs-msd-h245-3.patch uploaded by may213 (license 454)
Tested by: MrHanMan, may213
Modified:
branches/1.6.2/channels/ooh323c/src/oochannels.c
branches/1.6.2/channels/ooh323c/src/ooh245.c
branches/1.6.2/channels/ooh323c/src/ooh323.c
Modified: branches/1.6.2/channels/ooh323c/src/oochannels.c
URL: http://svnview.digium.com/svn/asterisk-addons/branches/1.6.2/channels/ooh323c/src/oochannels.c?view=diff&rev=1139&r1=1138&r2=1139
==============================================================================
--- branches/1.6.2/channels/ooh323c/src/oochannels.c (original)
+++ branches/1.6.2/channels/ooh323c/src/oochannels.c Sat Dec 25 10:31:42 2010
@@ -127,13 +127,6 @@
{
OOTRACEERR3("ERROR:Sending Terminal capability message (%s, %s)\n",
call->callType, call->callToken);
- return ret;
- }
- ret = ooSendMasterSlaveDetermination(call);
- if(ret != OO_OK)
- {
- OOTRACEERR3("ERROR:Sending Master-slave determination message "
- "(%s, %s)\n", call->callType, call->callToken);
return ret;
}
}
@@ -464,13 +457,6 @@
call->callType, call->callToken);
return ret;
}
- ret = ooSendMasterSlaveDetermination(call);
- if(ret != OO_OK)
- {
- OOTRACEERR3("ERROR:Sending Master-slave determination message "
- "(%s, %s)\n", call->callType, call->callToken);
- return ret;
- }
return OO_OK;
}
Modified: branches/1.6.2/channels/ooh323c/src/ooh245.c
URL: http://svnview.digium.com/svn/asterisk-addons/branches/1.6.2/channels/ooh323c/src/ooh245.c?view=diff&rev=1139&r1=1138&r2=1139
==============================================================================
--- branches/1.6.2/channels/ooh323c/src/ooh245.c (original)
+++ branches/1.6.2/channels/ooh323c/src/ooh245.c Sat Dec 25 10:31:42 2010
@@ -1674,7 +1674,16 @@
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)
{
@@ -2548,6 +2557,16 @@
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)
Modified: branches/1.6.2/channels/ooh323c/src/ooh323.c
URL: http://svnview.digium.com/svn/asterisk-addons/branches/1.6.2/channels/ooh323c/src/ooh323.c?view=diff&rev=1139&r1=1138&r2=1139
==============================================================================
--- branches/1.6.2/channels/ooh323c/src/ooh323.c (original)
+++ branches/1.6.2/channels/ooh323c/src/ooh323.c Sat Dec 25 10:31:42 2010
@@ -1034,16 +1034,6 @@
return ret;
}
}
- 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;
- }
- }
}
return OO_OK;
@@ -1382,14 +1372,20 @@
OO_CLRFLAG (call->flags, OO_M_TUNNELING);
/*Establish an H.245 connection */
- ret = ooCreateH245Connection(call);
- if(ret != OO_OK)
- {
+ if (!call->pH245Channel) {
+ ret = ooCreateH245Connection(call);
+ if(ret != OO_OK)
+ {
OOTRACEERR3("ERROR: Failed to establish an H.245 connection with remote"
" endpoint (%s, %s)\n", call->callType, call->callToken);
return ret;
- }
- return OO_OK;
+ }
+ } else {
+ OOTRACEINFO3("INFO: H.245 connection already established with remote"
+ " endpoint (%s, %s)\n", call->callType, call->callToken);
+ }
+
+ return OO_OK;
}
int ooHandleTunneledH245Messages
More information about the asterisk-addons-commits
mailing list