summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandr Anikin <may@telecom-service.ru>2010-01-25 21:20:02 +0000
committerAlexandr Anikin <may@telecom-service.ru>2010-01-25 21:20:02 +0000
commit9a980d4822a78405f73ad58f19b4f6184ba55a41 (patch)
tree8310d5039576b20b76e5d6229568bbfa18136378
parent7c61a7105f8b7c1c333c2eb417b9be8b960a7364 (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.c9
-rw-r--r--addons/ooh323c/src/oochannels.c3
-rw-r--r--addons/ooh323c/src/ooh323.c2
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;