aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormay <may@f38db490-d61c-443f-a65b-d21fe96a405b>2010-01-25 21:20:02 +0000
committermay <may@f38db490-d61c-443f-a65b-d21fe96a405b>2010-01-25 21:20:02 +0000
commit95e975dbf9e7a032e6c426835166a3fbd226674b (patch)
tree8310d5039576b20b76e5d6229568bbfa18136378
parent52cccf60848ec3357459db9b06c14a5b2d6c7fd1 (diff)
small corrections in call clearing
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@242933 f38db490-d61c-443f-a65b-d21fe96a405b
-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;