aboutsummaryrefslogtreecommitdiffstats
path: root/addons/ooh323c/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/ooh323c/src')
-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;