aboutsummaryrefslogtreecommitdiffstats
path: root/main/asterisk/500-issue18119.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/asterisk/500-issue18119.patch')
-rw-r--r--main/asterisk/500-issue18119.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/main/asterisk/500-issue18119.patch b/main/asterisk/500-issue18119.patch
new file mode 100644
index 0000000000..97ea61b628
--- /dev/null
+++ b/main/asterisk/500-issue18119.patch
@@ -0,0 +1,22 @@
+Index: channels/chan_sip.c
+===================================================================
+--- a/channels/chan_sip.c (Revision 291226)
++++ b/channels/chan_sip.c (Arbeitskopie)
+@@ -18329,8 +18329,6 @@
+ if (r->call)
+ r->call = dialog_unref(r->call, "unsetting registry->call pointer-- case 200");
+ p->registry = registry_unref(p->registry, "unref registry entry p->registry");
+- /* Let this one hang around until we have all the responses */
+- sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
+ /* p->needdestroy = 1; */
+
+ /* set us up for re-registering
+@@ -18374,6 +18372,8 @@
+ expires_ms -= EXPIRY_GUARD_SECS * 1000;
+ if (sipdebug)
+ ast_log(LOG_NOTICE, "Outbound Registration: Expiry for %s is %d sec (Scheduling reregistration in %d s)\n", r->hostname, expires, expires_ms/1000);
++ /* Let this one hang around until we have all the responses */
++ sip_scheddestroy(p, (expires_ms > ((p->timer_t1 != 0) ? p->timer_t1 : global_t1) * 64) ? DEFAULT_TRANS_TIMEOUT : (expires_ms - 1000));
+
+ r->refresh= (int) expires_ms / 1000;
+