diff options
author | Alexandr Anikin <may@telecom-service.ru> | 2010-01-25 21:20:02 +0000 |
---|---|---|
committer | Alexandr Anikin <may@telecom-service.ru> | 2010-01-25 21:20:02 +0000 |
commit | 9a980d4822a78405f73ad58f19b4f6184ba55a41 (patch) | |
tree | 8310d5039576b20b76e5d6229568bbfa18136378 | |
parent | 7c61a7105f8b7c1c333c2eb417b9be8b960a7364 (diff) |
small corrections in call clearing
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@242933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r-- | addons/ooh323c/src/ooCalls.c | 9 | ||||
-rw-r--r-- | addons/ooh323c/src/oochannels.c | 3 | ||||
-rw-r--r-- | addons/ooh323c/src/ooh323.c | 2 |
3 files changed, 9 insertions, 5 deletions
diff --git a/addons/ooh323c/src/ooCalls.c b/addons/ooh323c/src/ooCalls.c index 3984abc50..6648c3fe2 100644 --- a/addons/ooh323c/src/ooCalls.c +++ b/addons/ooh323c/src/ooCalls.c @@ -371,10 +371,11 @@ int ooCleanCall(OOH323CallData *call) } } - pctxt = call->msgctxt; - freeContext(pctxt); - free(pctxt); - call->msgctxt = NULL; + if ((pctxt = call->msgctxt) != NULL) { + freeContext(pctxt); + free(pctxt); + call->msgctxt = NULL; + } /* May !!!! Fix it !! */ /* free(pctxt); */ diff --git a/addons/ooh323c/src/oochannels.c b/addons/ooh323c/src/oochannels.c index 2b2f0b493..7d8c1ab72 100644 --- a/addons/ooh323c/src/oochannels.c +++ b/addons/ooh323c/src/oochannels.c @@ -748,8 +748,9 @@ int ooProcessCallFDSETsAndTimers ast_mutex_lock(&call->Lock); ooEndCall(call); ast_mutex_unlock(&call->Lock); - ooStopMonitorCallChannels(call); } + if(call->callState >= OO_CALL_CLEARED) + ooStopMonitorCallChannels(call); } return OO_OK; diff --git a/addons/ooh323c/src/ooh323.c b/addons/ooh323c/src/ooh323.c index 59b6afdb1..6cd3d8812 100644 --- a/addons/ooh323c/src/ooh323.c +++ b/addons/ooh323c/src/ooh323.c @@ -1595,6 +1595,8 @@ int ooHandleH2250Message(OOH323CallData *call, Q931Message *q931Msg) ret = ooH323CallAdmitted (call); } + call->callState = OO_CALL_CONNECTING; + } /* end ret == OO_OK */ break; |