summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--channels/chan_sip.c1
-rw-r--r--channels/sip/dialplan_functions.c5
2 files changed, 4 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 36291d1ac..e80588df2 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -228,6 +228,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include <regex.h>
#include <inttypes.h>
+#define REF_DEBUG 1
#include "asterisk/network.h"
#include "asterisk/paths.h" /* need ast_config_AST_SYSTEM_NAME */
/*
diff --git a/channels/sip/dialplan_functions.c b/channels/sip/dialplan_functions.c
index 0f43685ff..af69dac45 100644
--- a/channels/sip/dialplan_functions.c
+++ b/channels/sip/dialplan_functions.c
@@ -353,7 +353,7 @@ AST_TEST_DEFINE(test_sip_rtpqos_1)
goto done;
}
ast_channel_tech_set(chan, &sip_tech);
- ast_channel_tech_pvt_set(chan, p);
+ ast_channel_tech_pvt_set(chan, dialog_ref(p, "Give the owner channel a reference to the dialog"));
p->owner = chan;
varstr = ast_str_create(16);
@@ -397,8 +397,9 @@ done:
ast_free(varstr);
ast_free(buffer);
- /* This unref will take care of destroying the channel, RTP instance, and SIP pvt */
+ /* This unlink and unref will take care of destroying the channel, RTP instance, and SIP pvt */
if (p) {
+ dialog_unlink_all(p);
dialog_unref(p, "Destroy test object");
}
ast_rtp_engine_unregister(&test_engine);