summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pjsip/src/pjsua-lib/pjsua_call.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_call.c b/pjsip/src/pjsua-lib/pjsua_call.c
index 72fc6c55..a1f2a3a1 100644
--- a/pjsip/src/pjsua-lib/pjsua_call.c
+++ b/pjsip/src/pjsua-lib/pjsua_call.c
@@ -255,14 +255,18 @@ static pjsua_call_id alloc_call_id(void)
cid<(int)pjsua_var.ua_cfg.max_calls;
++cid)
{
- if (pjsua_var.calls[cid].inv == NULL) {
+ if (pjsua_var.calls[cid].inv == NULL &&
+ pjsua_var.calls[cid].async_call.dlg == NULL)
+ {
++pjsua_var.next_call_id;
return cid;
}
}
for (cid=0; cid < pjsua_var.next_call_id; ++cid) {
- if (pjsua_var.calls[cid].inv == NULL) {
+ if (pjsua_var.calls[cid].inv == NULL &&
+ pjsua_var.calls[cid].async_call.dlg == NULL)
+ {
++pjsua_var.next_call_id;
return cid;
}