From d05c4c2e904b871af8f8a0d6385b9a2d5e80ac62 Mon Sep 17 00:00:00 2001
From: Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
Date: Fri, 18 Feb 2022 10:21:50 +0100
Subject: [PATCH] Fix contact uri in Referred-by header used in REFER

---
 channels/chan_pjsip.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/channels/chan_pjsip.c b/channels/chan_pjsip.c
index 0210669b99..241c96c5ee 100644
--- a/channels/chan_pjsip.c
+++ b/channels/chan_pjsip.c
@@ -2125,7 +2125,7 @@ static void transfer_refer(struct ast_sip_session *session, const char *target)
 	pj_str_t tmp;
 	pjsip_tx_data *packet;
 	const char *ref_by_val;
-	char local_info[pj_strlen(&session->inv_session->dlg->local.info_str) + 1];
+	char local_info[256];
 	struct pjsip_evsub_user xfer_cb;
 	struct ast_channel *chan = session->channel;
 	char *chan_name;
@@ -2170,7 +2170,7 @@ static void transfer_refer(struct ast_sip_session *session, const char *target)
 	if (!ast_strlen_zero(ref_by_val)) {
 		ast_sip_add_header(packet, "Referred-By", ref_by_val);
 	} else {
-		ast_copy_pj_str(local_info, &session->inv_session->dlg->local.info_str, sizeof(local_info));
+		snprintf(local_info, sizeof(local_info), "%s@%s", session->endpoint->contact_user, session->endpoint->fromdomain);
 		ast_sip_add_header(packet, "Referred-By", local_info);
 	}
 
-- 
GitLab