diff options
author | Alexander Anikin <may213@yandex.ru> | 2016-11-03 16:42:20 +0400 |
---|---|---|
committer | Alexander Anikin <may213@yandex.ru> | 2016-11-07 10:01:25 -0500 |
commit | 0a698cd9329bbfe92141fb20eedfdfb30c3c57c6 (patch) | |
tree | bdc07242f30c787f5eb02c8ca0ac2262b7572822 /addons/ooh323c/src/oochannels.c | |
parent | 876c6b0c96ce67221ecdbbc31c67c3f4a344061d (diff) |
chan_ooh323: Fixes to work right with Cisco devices
Changed output packets queue processing algo to one read-one write
instead of all read-all send
Remove h.245 tunneling parameter from ReleaseComplete packet
ASTERISK-24400 #close
Reported by: Dmitry Melekhov
Tested by: Dmitry Melekhov
Change-Id: I0b31933b062a21011dbac9a82b8bcfe345f406f6
Diffstat (limited to 'addons/ooh323c/src/oochannels.c')
-rw-r--r-- | addons/ooh323c/src/oochannels.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/addons/ooh323c/src/oochannels.c b/addons/ooh323c/src/oochannels.c index a09470db1..0501882a9 100644 --- a/addons/ooh323c/src/oochannels.c +++ b/addons/ooh323c/src/oochannels.c @@ -679,9 +679,9 @@ int ooProcessCallFDSETsAndTimers if (0 != call->pH245Channel && 0 != call->pH245Channel->sock) { if(ooPDWrite(pfds, nfds, call->pH245Channel->sock)) { - while (call->pH245Channel->outQueue.count>0) { + if (call->pH245Channel->outQueue.count>0) { if (ooSendMsg(call, OOH245MSG) != OO_OK) - break; + OOTRACEERR1("Error in sending h245 message\n"); } } } @@ -699,26 +699,24 @@ int ooProcessCallFDSETsAndTimers { if(ooPDWrite(pfds, nfds, call->pH225Channel->sock)) { - while (call->pH225Channel->outQueue.count>0) + if (call->pH225Channel->outQueue.count>0) { OOTRACEDBGC3("Sending H225 message (%s, %s)\n", call->callType, call->callToken); if (ooSendMsg(call, OOQ931MSG) != OO_OK) - break; + OOTRACEERR1("Error in sending h225 message\n"); } if(call->pH245Channel && call->pH245Channel->outQueue.count>0 && OO_TESTFLAG (call->flags, OO_M_TUNNELING)) { - while (call->pH245Channel->outQueue.count>0) { OOTRACEDBGC3("H245 message needs to be tunneled. " "(%s, %s)\n", call->callType, call->callToken); if (ooSendMsg(call, OOH245MSG) != OO_OK) - break; + OOTRACEERR1("Error in sending h245 message\n"); } - } - } - } + } + } if(ooTimerNextTimeout(&call->timerList, &toNext)) { |