From 9d0963cfb88ebd46cc1a2ff8593ce09f72db3527 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?=
 <francois.grisez@belledonne-communications.com>
Date: Wed, 31 Jan 2018 14:23:39 +0100
Subject: [PATCH] linphone-daemon: fixes bad 'From' address in
 'call-state-changed' events while doing outgoing calls

---
 daemon/daemon.cc | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/daemon/daemon.cc b/daemon/daemon.cc
index 57dbe3b4ec..634fa95d3c 100644
--- a/daemon/daemon.cc
+++ b/daemon/daemon.cc
@@ -122,13 +122,18 @@ void *Daemon::iterateThread(void *arg) {
 }
 
 EventResponse::EventResponse(Daemon *daemon, LinphoneCall *call, LinphoneCallState state) {
+	LinphoneCallLog *callLog = linphone_call_get_call_log(call);
+	LinphoneAddress *fromAddr = linphone_call_log_get_from_address(callLog);
+	char *fromStr = linphone_address_as_string(fromAddr);
+
 	ostringstream ostr;
-	char *remote = linphone_call_get_remote_address_as_string(call);
-	ostr << "Event-type: call-state-changed\nEvent: " << linphone_call_state_to_string(state) << "\n";
-	ostr << "From: " << remote << "\n";
+	ostr << "Event-type: call-state-changed" << "\n";
+	ostr << "Event: " << linphone_call_state_to_string(state) << "\n";
+	ostr << "From: " << fromStr << "\n";
 	ostr << "Id: " << daemon->updateCallId(call) << "\n";
 	setBody(ostr.str().c_str());
-	ms_free(remote);
+
+	bctbx_free(fromStr);
 }
 
 DtmfResponse::DtmfResponse(Daemon *daemon, LinphoneCall *call, int dtmf) {
-- 
GitLab