sip_pvt_unlock(p);
if (owner) {
ast_channel_unlock(owner);
+ ast_channel_unref(owner);
}
- dialog_unref(p, "unref the dialog ptr from sip_reinvite_retry, because it held a dialog ptr");
+ dialog_unref(p, "Schedule waitid complete");
+ return 0;
+}
+
+/* Run by the sched thread. */
+static int __stop_reinvite_retry(const void *data)
+{
+ struct sip_pvt *pvt = (void *) data;
+
+ AST_SCHED_DEL_UNREF(sched, pvt->waitid,
+ dialog_unref(pvt, "Stop scheduled waitid"));
+ dialog_unref(pvt, "Stop reinvite retry action");
return 0;
}