diff options
author | Alexandr Anikin <may@telecom-service.ru> | 2010-03-27 23:51:13 +0000 |
---|---|---|
committer | Alexandr Anikin <may@telecom-service.ru> | 2010-03-27 23:51:13 +0000 |
commit | 89e4c15783ba99d59a365755db0ae3e2dca736bd (patch) | |
tree | 6d5fbaf4fe24aa97ede5aff7268ecf73b879286a /addons/ooh323c/src/ooCalls.c | |
parent | b8aeb50b7b8e5c321100b7f4a85db07d059736db (diff) |
corrections in gk interface, small fixes in call clearing.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@255199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'addons/ooh323c/src/ooCalls.c')
-rw-r--r-- | addons/ooh323c/src/ooCalls.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/addons/ooh323c/src/ooCalls.c b/addons/ooh323c/src/ooCalls.c index 71d63092d..f92464852 100644 --- a/addons/ooh323c/src/ooCalls.c +++ b/addons/ooh323c/src/ooCalls.c @@ -217,6 +217,11 @@ int ooEndCall(OOH323CallData *call) if (call->callIdentifier.guid.numocts == 0) call->callState = OO_CALL_CLEARED; + if(!call->pH225Channel || call->pH225Channel->sock ==0) + { + call->callState = OO_CALL_CLEARED; + } + if(call->callState == OO_CALL_CLEARED || call->callState == OO_CALL_CLEAR_RELEASESENT) { ooCleanCall(call); @@ -242,20 +247,14 @@ int ooEndCall(OOH323CallData *call) } - if(!call->pH225Channel || call->pH225Channel->sock ==0) + if(!OO_TESTFLAG(call->flags, OO_M_RELEASE_BUILT)) { - call->callState = OO_CALL_CLEARED; - } - else{ - if(!OO_TESTFLAG(call->flags, OO_M_RELEASE_BUILT)) - { - if(call->callState == OO_CALL_CLEAR || - call->callState == OO_CALL_CLEAR_RELEASERECVD) - { - ooSendReleaseComplete(call); - OO_SETFLAG(call->flags, OO_M_RELEASE_BUILT); - } - } + if(call->callState == OO_CALL_CLEAR || + call->callState == OO_CALL_CLEAR_RELEASERECVD) + { + ooSendReleaseComplete(call); + OO_SETFLAG(call->flags, OO_M_RELEASE_BUILT); + } } return OO_OK; |