From 3f7577a6abf02a2c55c72732272c5bd0c2c0d36b Mon Sep 17 00:00:00 2001
From: Simon Morlat <simon.morlat@linphone.org>
Date: Wed, 26 Aug 2015 14:46:22 +0200
Subject: [PATCH] fix potential bug because internal_call_update flag was never
 reset.

---
 coreapi/TunnelManager.hh | 2 +-
 coreapi/callbacks.c      | 7 ++++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/coreapi/TunnelManager.hh b/coreapi/TunnelManager.hh
index fdda28beb7..f8002ee5d6 100644
--- a/coreapi/TunnelManager.hh
+++ b/coreapi/TunnelManager.hh
@@ -56,7 +56,7 @@ namespace belledonnecomm {
 		 * @param ip tunnel server ip address
 		 * @param port tunnel server tls port, recommended value is 443
 		 * @param udpMirrorPort remote port on the tunnel server side  used to test udp reachability
-		 * @param delay udp packet round trip delay in ms considered as acceptable. recommanded value is 1000 ms.
+		 * @param delay udp packet round trip delay in ms considered as acceptable. recommended value is 1000 ms.
 		 */
 		void addServer(const char *ip, int port,unsigned int udpMirrorPort,unsigned int delay);
 		/**
diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c
index 041f36d5b3..03611b2cf4 100644
--- a/coreapi/callbacks.c
+++ b/coreapi/callbacks.c
@@ -495,13 +495,16 @@ static void call_accepted(SalOp *op){
 	SalMediaDescription *md, *rmd;
 	bool_t update_state=TRUE;
 
-	if (call==NULL){
+	if (call == NULL){
 		ms_warning("No call to accept.");
 		return ;
 	}
 	rmd=sal_call_get_remote_media_description(op);
 	/*set privacy*/
 	call->current_params->privacy=(LinphonePrivacyMask)sal_op_get_privacy(call->op);
+	/*reset the internal call update flag, so it doesn't risk to be copied and used in further re-INVITEs*/
+	if (call->params->internal_call_update)
+		call->params->internal_call_update = FALSE;
 
 	/* Handle remote ICE attributes if any. */
 	if (call->ice_session != NULL && rmd) {
@@ -580,8 +583,6 @@ static void call_accepted(SalOp *op){
 				}
 			}
 			linphone_core_update_streams(lc,call,md);
-			/*also reflect the change if the "wished" params, in order to avoid to propose SAVP or video again
-			* further in the call, for example during pause,resume, conferencing reINVITEs*/
 			linphone_call_fix_call_parameters(call);
 			if (!call->current_params->in_conference)
 				lc->current_call=call;
-- 
GitLab