diff --git a/main/autoservice.c b/main/autoservice.c index 98f798b1ae56683e4d60664c968521062e382b52..5293cbab4addf5bfa2b1884d3c19a42c695d3e02 100644 --- a/main/autoservice.c +++ b/main/autoservice.c @@ -131,6 +131,9 @@ static void *autoservice_run(void *ign) callid = ast_channel_callid(chan); ast_callid_threadassoc_change(callid); + if (callid) { + callid = ast_callid_unref(callid); + } f = ast_read(chan); @@ -180,11 +183,6 @@ static void *autoservice_run(void *ign) * If we did, we'd need to ast_frfree(f) if (f). */ } - if (callid) { - ast_callid_threadassoc_remove(); - callid = ast_callid_unref(callid); - } - asthread = AST_PTHREADT_NULL; return NULL;