diff --git a/console/commands.c b/console/commands.c
index 949f45060d85c769c143002173cb23f5e216c143..f2b886ecc094585cb81211fcdb3fa86933505c83 100644
--- a/console/commands.c
+++ b/console/commands.c
@@ -677,13 +677,13 @@ lpc_cmd_transfer(LinphoneCore *lc, char *args)
 				linphonec_out("No active call, please specify a call id among the ones listed by 'calls' command.\n");
 				return 0;
 			}
-			linphone_core_transfer_call(lc, call, refer_to);
+			linphone_call_transfer(call, refer_to);
 		}else if (n==2){
 			long id=atoi(arg1);
 			refer_to=args+strlen(arg1)+1;
 			call=linphonec_get_call(id);
 			if (call==NULL) return 0;
-			linphone_core_transfer_call(lc, call, refer_to);
+			linphone_call_transfer(call, refer_to);
 		}else if (n==3){
 			long id=atoi(arg1);
 			call=linphonec_get_call(id);
@@ -693,7 +693,7 @@ lpc_cmd_transfer(LinphoneCore *lc, char *args)
 				return 0;
 			}
 			linphonec_out("Performing attended transfer of call %i to call %i",id,id2);
-			linphone_core_transfer_call_to_another (lc,call,call2);
+			linphone_call_transfer_to_another(call,call2);
 		}else return 0;
 	}else{
 		linphonec_out("Transfer command requires at least one argument\n");
@@ -726,7 +726,7 @@ lpc_cmd_terminate(LinphoneCore *lc, char *args)
 		long id=atoi(args);
 		LinphoneCall *call=linphonec_get_call(id);
 		if (call){
-			if (linphone_core_terminate_call(lc,call)==-1){
+			if (linphone_call_terminate(call)==-1){
 				linphonec_out("Could not stop the call with id %li\n",id);
 			}
 		}else return 0;
@@ -749,7 +749,7 @@ lpc_cmd_redirect(LinphoneCore *lc, char *args){
 		while(elem!=NULL){
 			LinphoneCall *call=(LinphoneCall*)elem->data;
 			if (linphone_call_get_state(call)==LinphoneCallIncomingReceived){
-				if (linphone_core_redirect_call(lc,call,args+4) != 0) {
+				if (linphone_call_redirect(call,args+4) != 0) {
 					linphonec_out("Could not redirect call.\n");
 					elem=elem->next;
 				} else {
@@ -771,7 +771,7 @@ lpc_cmd_redirect(LinphoneCore *lc, char *args){
 			if ( call != NULL ) {
 				if (linphone_call_get_state(call)!=LinphoneCallIncomingReceived) {
 					linphonec_out("The state of the call is not incoming, can't be redirected.\n");
-				} else if (linphone_core_redirect_call(lc,call,args+charRead) != 0) {
+				} else if (linphone_call_redirect(call,args+charRead) != 0) {
 					linphonec_out("Could not redirect call.\n");
 				}
 			}
@@ -802,7 +802,7 @@ lpc_cmd_answer(LinphoneCore *lc, char *args){
 		long id;
 		if (sscanf(args,"%li",&id)==1){
 			LinphoneCall *call=linphonec_get_call (id);
-			if (linphone_core_accept_call (lc,call)==-1){
+			if (linphone_call_accept(call)==-1){
 				linphonec_out("Fail to accept call %i\n",id);
 			}
 		}else return 0;
@@ -1454,7 +1454,7 @@ static int lpc_cmd_pause(LinphoneCore *lc, char *args){
 
 	if(linphone_core_in_call(lc))
 	{
-		linphone_core_pause_call(lc,linphone_core_get_current_call(lc));
+		linphone_call_pause(linphone_core_get_current_call(lc));
 		return 1;
 	}
 	linphonec_out("you can only pause when a call is in process\n");
@@ -1475,7 +1475,7 @@ static int lpc_cmd_resume(LinphoneCore *lc, char *args){
 		if (n == 1){
 			LinphoneCall *call=linphonec_get_call (id);
 			if (call){
-				if(linphone_core_resume_call(lc,call)==-1){
+				if(linphone_call_resume(call)==-1){
 					linphonec_out("There was a problem to resume the call check the remote address you gave %s\n",args);
 				}
 			}
@@ -1488,7 +1488,7 @@ static int lpc_cmd_resume(LinphoneCore *lc, char *args){
 		int nbcalls=(int)bctbx_list_size(calls);
 		if( nbcalls == 1)
 		{
-			if(linphone_core_resume_call(lc,calls->data) < 0)
+			if(linphone_call_resume(calls->data) < 0)
 			{
 				linphonec_out("There was a problem to resume the unique call.\n");
 			}
@@ -2573,7 +2573,7 @@ static int lpc_cmd_camera(LinphoneCore *lc, char *args){
 					/*update the call to add the video stream*/
 					LinphoneCallParams *ncp=linphone_call_params_copy(cp);
 					linphone_call_params_enable_video(ncp,TRUE);
-					linphone_core_update_call(lc,call,ncp);
+					linphone_call_update(call,ncp);
 					linphone_call_params_unref (ncp);
 					linphonec_out("Trying to bring up video stream...\n");
 				}
diff --git a/console/linphonec.c b/console/linphonec.c
index 12276917d609eec587dca30d3a0bebd15828820b..64065f7b21276b2ed3c7cccd5718ff9df7be7edb 100644
--- a/console/linphonec.c
+++ b/console/linphonec.c
@@ -367,7 +367,7 @@ static void linphonec_call_state_changed(LinphoneCore *lc, LinphoneCall *call, L
 				linphonec_out("Sending early media using real hardware\n");
 				linphone_call_params_enable_early_media_sending(callparams, TRUE);
 				if (vcap_enabled) linphone_call_params_enable_video(callparams, TRUE);
-				linphone_core_accept_early_media_with_params(lc, call, callparams);
+				linphone_call_accept_early_media_with_params(call, callparams);
 				linphone_call_params_unref(callparams);
 			}
 		break;
diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c
index 1fbd7490e49f3416e5d517807f651b42222eb957..def15c1e1d2c3233078d1d5dc0cdde2befecd0e1 100644
--- a/coreapi/callbacks.c
+++ b/coreapi/callbacks.c
@@ -663,7 +663,7 @@ static void call_updated_by_remote(LinphoneCore *lc, LinphoneCall *call){
 	linphone_call_set_state(call, LinphoneCallUpdatedByRemote,"Call updated by remote");
 	if (call->defer_update == FALSE){
 		if (call->state == LinphoneCallUpdatedByRemote){
-			linphone_core_accept_call_update(lc,call,NULL);
+			linphone_call_accept_update(call, NULL);
 		}else{
 			/*otherwise it means that the app responded by linphone_core_accept_call_update
 			 * within the callback, so job is already done.*/
@@ -848,7 +848,7 @@ static int resume_call_after_failed_transfer(LinphoneCall *call){
 
 	if (call->was_automatically_paused && call->state==LinphoneCallPaused){
 		if (sal_op_is_idle(call->op)){
-			linphone_core_resume_call(call->core,call);
+			linphone_call_resume(call);
 		}else {
 			ms_message("resume_call_after_failed_transfer(), salop was busy");
 			return BELLE_SIP_CONTINUE;
@@ -1286,7 +1286,6 @@ static bool_t auth_requested(Sal* sal, SalAuthInfo* sai) {
 }
 
 static void notify_refer(SalOp *op, SalReferStatus status){
-	LinphoneCore *lc=(LinphoneCore *)sal_get_user_pointer(sal_op_get_sal(op));
 	LinphoneCall *call=(LinphoneCall*) sal_op_get_user_pointer(op);
 	LinphoneCallState cstate;
 	if (call==NULL) {
@@ -1309,7 +1308,7 @@ static void notify_refer(SalOp *op, SalReferStatus status){
 	linphone_call_set_transfer_state(call, cstate);
 	if (cstate==LinphoneCallConnected){
 		/*automatically terminate the call as the transfer is complete.*/
-		linphone_core_terminate_call(lc,call);
+		linphone_call_terminate(call);
 	}
 }
 
diff --git a/coreapi/conference.cc b/coreapi/conference.cc
index 6f7bc8e7b4e64307f8e966cce4105b2e269df133..3aa30f5d13996ff04eef44033227c9130d9b24b4 100644
--- a/coreapi/conference.cc
+++ b/coreapi/conference.cc
@@ -389,7 +389,7 @@ int LocalConference::addParticipant(LinphoneCall *call) {
 	if (call->state==LinphoneCallPaused){
 		call->params->in_conference=TRUE;
 		call->params->has_video=FALSE;
-		linphone_core_resume_call(m_core,call);
+		linphone_call_resume(call);
 	}else if (call->state==LinphoneCallStreamsRunning){
 		LinphoneCallParams *params=linphone_call_params_copy(linphone_call_get_current_params(call));
 		params->in_conference=TRUE;
@@ -404,7 +404,7 @@ int LocalConference::addParticipant(LinphoneCall *call) {
 		}
 		/*this will trigger a reINVITE that will later redraw the streams */
 		/*FIXME probably a bit too much to just redraw streams !*/
-		linphone_core_update_call(m_core,call,params);
+		linphone_call_update(call,params);
 		linphone_call_params_unref(params);
 		addLocalEndpoint();
 	}else{
@@ -441,7 +441,7 @@ int LocalConference::removeFromConference(LinphoneCall *call, bool_t active){
 			leave();
 		}
 		ms_message("Updating call to actually remove from conference");
-		err=linphone_core_update_call(m_core,call,params);
+		err=linphone_call_update(call,params);
 		linphone_call_params_unref(params);
 	} else{
 		ms_message("Pausing call to actually remove from conference");
@@ -514,7 +514,7 @@ int LocalConference::terminate() {
 		LinphoneCall *call=(LinphoneCall*)calls->data;
 		calls=calls->next;
 		if (call->current_params->in_conference) {
-			linphone_core_terminate_call(m_core, call);
+			linphone_call_terminate(call);
 		}
 	}
 	
@@ -725,7 +725,7 @@ int RemoteConference::terminate() {
 	switch(m_state) {
 		case LinphoneConferenceRunning:
 		case LinphoneConferenceStarting:
-			linphone_core_terminate_call(m_core, m_focusCall);
+			linphone_call_terminate(m_focusCall);
 			break;
 			
 		default: break;
@@ -742,7 +742,7 @@ int RemoteConference::enter() {
 	switch(callState) {
 		case LinphoneCallStreamsRunning: break;
 		case LinphoneCallPaused:
-			linphone_core_resume_call(m_core, m_focusCall);
+			linphone_call_resume(m_focusCall);
 			break;
 		default:
 			ms_error("Could not join the conference: bad focus call state (%s)", linphone_call_state_to_string(callState));
@@ -760,7 +760,7 @@ int RemoteConference::leave() {
 	switch(callState) {
 		case LinphoneCallPaused: break;
 		case LinphoneCallStreamsRunning:
-			linphone_core_pause_call(m_core, m_focusCall);
+			linphone_call_pause(m_focusCall);
 			break;
 		default:
 			ms_error("Could not leave the conference: bad focus call state (%s)", linphone_call_state_to_string(callState));
@@ -783,7 +783,7 @@ bool RemoteConference::focusIsReady() const {
 }
 
 bool RemoteConference::transferToFocus(LinphoneCall *call) {
-	if(linphone_core_transfer_call(m_core, call, m_focusContact) == 0) {
+	if(linphone_call_transfer(call, m_focusContact) == 0) {
 		m_transferingCalls.push_back(call);
 		return true;
 	} else {
@@ -847,7 +847,7 @@ void RemoteConference::onPendingCallStateChanged(LinphoneCall *call, LinphoneCal
 				if(m_state == LinphoneConferenceRunning) {
 					m_pendingCalls.remove(call);
 					m_transferingCalls.push_back(call);
-					linphone_core_transfer_call(m_core, call, m_focusContact);
+					linphone_call_transfer(call, m_focusContact);
 				}
 				break;
 				
diff --git a/coreapi/linphonecall.c b/coreapi/linphonecall.c
index fe71e177439d49e585ca2445bd2123909c807bfd..916d03856109f0a33f259641d4bf57902ad6432d 100644
--- a/coreapi/linphonecall.c
+++ b/coreapi/linphonecall.c
@@ -4326,7 +4326,7 @@ static void linphone_call_lost(LinphoneCall *call){
 	ms_message("LinphoneCall [%p]: %s", call, temp);
 	linphone_core_notify_display_warning(lc, temp);
 	sal_error_info_set(&call->non_op_error, SalReasonIOError, 503, "IO error", NULL);
-	linphone_core_terminate_call(lc, call);
+	linphone_call_terminate(call);
 	linphone_core_play_named_tone(lc, LinphoneToneCallLost);
 	ms_free(temp);
 }
@@ -4360,7 +4360,7 @@ static void handle_ice_events(LinphoneCall *call, OrtpEvent *ev){
 					if (ice_session_role(call->ice_session) == IR_Controlling && current_param->update_call_when_ice_completed ) {
 						LinphoneCallParams *params = linphone_core_create_call_params(call->core, call);
 						params->internal_call_update = TRUE;
-						linphone_core_update_call(call->core, call, params);
+						linphone_call_update(call, params);
 						linphone_call_params_unref(params);
 					}
 					start_dtls_on_all_streams(call);
@@ -4402,7 +4402,7 @@ static void handle_ice_events(LinphoneCall *call, OrtpEvent *ev){
 		}
 	} else if (evt == ORTP_EVENT_ICE_RESTART_NEEDED) {
 		ice_session_restart(call->ice_session, IR_Controlling);
-		linphone_core_update_call(call->core, call, call->current_params);
+		linphone_call_update(call, call->current_params);
 	}
 }
 
@@ -5695,7 +5695,7 @@ void linphone_call_reinvite_to_recover_from_connection_loss(LinphoneCall *call)
 		ice_session_reset(call->ice_session, IR_Controlling);
 	}
 	params = linphone_core_create_call_params(call->core, call);
-	linphone_core_update_call(call->core, call, params);
+	linphone_call_update(call, params);
 	linphone_call_params_unref(params);
 }
 
diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c
index 73647bb6ee0ae64fb82d46f24457d0569377b436..fb552e593173390cf01e447343dc6d600c1b6786 100644
--- a/coreapi/linphonecore.c
+++ b/coreapi/linphonecore.c
@@ -2980,7 +2980,7 @@ void linphone_core_iterate(LinphoneCore *lc){
 				decline_reason = (lc->current_call != call) ? LinphoneReasonBusy : LinphoneReasonDeclined;
 				call->log->status=LinphoneCallMissed;
 				sal_error_info_set(&call->non_op_error,SalReasonRequestTimeout,408,"Not answered",NULL);
-				linphone_core_decline_call(lc,call,decline_reason);
+				linphone_call_decline(call, decline_reason);
 			}
 		}
 		if ( (lc->sip_conf.in_call_timeout > 0)
@@ -2988,7 +2988,7 @@ void linphone_core_iterate(LinphoneCore *lc){
 			 && ((current_real_time - call->log->connected_date_time) > lc->sip_conf.in_call_timeout))
 		{
 			ms_message("in call timeout (%i)",lc->sip_conf.in_call_timeout);
-			linphone_core_terminate_call(lc,call);
+			linphone_call_terminate(call);
 		}
 	}
 
@@ -3429,11 +3429,11 @@ void linphone_core_notify_incoming_call(LinphoneCore *lc, LinphoneCall *call){
 		linphone_call_set_contact_op(call);
 
 		if (propose_early_media){
-			linphone_core_accept_early_media(lc,call);
+			linphone_call_accept_early_media(call);
 		}else sal_call_notify_ringing(call->op,FALSE);
 
 		if (sal_call_get_replaces(call->op)!=NULL && lp_config_get_int(lc->config,"sip","auto_answer_replacing_calls",1)){
-			linphone_core_accept_call(lc,call);
+			linphone_call_accept(call);
 		}
 	}
 	linphone_call_unref(call);
@@ -3505,7 +3505,7 @@ int linphone_core_terminate_all_calls(LinphoneCore *lc){
 	while(calls) {
 		LinphoneCall *c=(LinphoneCall*)calls->data;
 		calls=calls->next;
-		linphone_core_terminate_call(lc,c);
+		linphone_call_terminate(c);
 	}
 	return 0;
 }
@@ -5631,7 +5631,7 @@ static void linphone_core_uninit(LinphoneCore *lc)
 
 	while(lc->calls) {
 		LinphoneCall *the_call = lc->calls->data;
-		linphone_core_terminate_call(lc,the_call);
+		linphone_call_terminate(the_call);
 		linphone_core_iterate(lc);
 		ms_usleep(10000);
 	}
diff --git a/coreapi/misc.c b/coreapi/misc.c
index 03921ed76327d8ddbf885c5bb30ed82e114ae268..3d58237c954563fe887eba6b9c9578d36bf6077f 100644
--- a/coreapi/misc.c
+++ b/coreapi/misc.c
@@ -184,7 +184,7 @@ static int lookup_vbr_typical_bitrate(int maxbw, int clock_rate){
 }
 
 static int get_audio_payload_bandwidth(LinphoneCore *lc, const PayloadType *pt, int maxbw){
-	if (linphone_core_payload_type_is_vbr(lc,pt)){
+	if (linphone_payload_type_is_vbr(pt)){
 		if (pt->flags & PAYLOAD_TYPE_BITRATE_OVERRIDE){
 			ms_debug("PayloadType %s/%i has bitrate override",pt->mime_type,pt->clock_rate);
 			return pt->normal_bitrate/1000;
diff --git a/daemon/commands/answer.cc b/daemon/commands/answer.cc
index f14b9dcbe7127f2b1994b5a2c3ae8cc8a6dcbc27..7ac2f99dfc39e9b9e495bde478244a74a633d988 100644
--- a/daemon/commands/answer.cc
+++ b/daemon/commands/answer.cc
@@ -49,7 +49,7 @@ void AnswerCommand::exec(Daemon *app, const string& args) {
 			call = (LinphoneCall*)elem->data;
 			LinphoneCallState cstate = linphone_call_get_state(call);
 			if (cstate == LinphoneCallIncomingReceived || cstate == LinphoneCallIncomingEarlyMedia) {
-				if (linphone_core_accept_call(lc, call) == 0) {
+				if (linphone_call_accept(call) == 0) {
 					app->sendResponse(Response());
 					return;
 				}
@@ -64,7 +64,7 @@ void AnswerCommand::exec(Daemon *app, const string& args) {
 
 		LinphoneCallState cstate = linphone_call_get_state(call);
 		if (cstate == LinphoneCallIncomingReceived || cstate == LinphoneCallIncomingEarlyMedia) {
-			if (linphone_core_accept_call(lc, call) == 0) {
+			if (linphone_call_accept(call) == 0) {
 				app->sendResponse(Response());
 				return;
 			}
diff --git a/daemon/commands/audio-codec-set.cc b/daemon/commands/audio-codec-set.cc
index dd446a9ac6b92bdc4ad34d1c313e144cbf3ce59a..3d52cd8433c19e2a80267cb1f9c89a6a17523132 100644
--- a/daemon/commands/audio-codec-set.cc
+++ b/daemon/commands/audio-codec-set.cc
@@ -71,7 +71,7 @@ static PayloadType *findPayload(LinphoneCore *lc, int payload_type, int *index){
 	for (const bctbx_list_t *node = linphone_core_get_audio_codecs(lc); node != NULL; node = bctbx_list_next(node)) {
 		PayloadType *payload = reinterpret_cast<PayloadType*>(node->data);
 		if (index) (*index)++;
-		if (payload_type == linphone_core_get_payload_type_number(lc, payload)) {
+		if (payload_type == linphone_payload_type_get_number(payload)) {
 			return payload;
 		}
 	}
@@ -127,7 +127,7 @@ void AudioCodecSetCommand::exec(Daemon *app, const string& args) {
 				if (conflict) {
 					app->sendResponse(Response("New payload type number is already used.", Response::Error));
 				} else {
-					linphone_core_set_payload_type_number(app->getCore(),payload, idx);
+					linphone_payload_type_set_number(payload, idx);
 					app->sendResponse(PayloadTypeResponse(app->getCore(), payload, parser.getPosition()));
 				}
 				return;
diff --git a/daemon/commands/audio-stream-start.cc b/daemon/commands/audio-stream-start.cc
index effbe0b55ad9bce604dcd536046130b514bb0a85..406669b1946a41f9f9ac7a33251387c3de95f7d4 100644
--- a/daemon/commands/audio-stream-start.cc
+++ b/daemon/commands/audio-stream-start.cc
@@ -33,7 +33,7 @@ static PayloadType *getPayloadType(LinphoneCore *lc, const MSList *codecs, int n
 	const MSList *elem;
 	for (elem = codecs; elem != NULL; elem = elem->next) {
 		PayloadType *pt = (PayloadType*)elem->data;
-		if (linphone_core_get_payload_type_number(lc, pt) == number)
+		if (linphone_payload_type_get_number(pt) == number)
 			return pt;
 	}
 	return NULL;
diff --git a/daemon/commands/call-pause.cc b/daemon/commands/call-pause.cc
index d7a0abb3987f850f6bedcf8740d43a9fc502c660..ddc7f777eb3d01de81af7045cc924556a32de87b 100644
--- a/daemon/commands/call-pause.cc
+++ b/daemon/commands/call-pause.cc
@@ -62,7 +62,7 @@ void CallPauseCommand::exec(Daemon* app, const string& args)
 		}
 	}
 
-	if (linphone_core_pause_call(lc, call) == 0) {
+	if (linphone_call_pause(call) == 0) {
 		app->sendResponse(Response(current ? "Current call was paused" : "Call was paused", Response::Ok));
 	} else {
 		app->sendResponse(Response("Error pausing call"));
diff --git a/daemon/commands/call-resume.cc b/daemon/commands/call-resume.cc
index 1e0034c3964e8089b408adf94990a61a5187ca5d..c1138baf19ef1c1768a7fe84b0d763f5d8c77ff2 100644
--- a/daemon/commands/call-resume.cc
+++ b/daemon/commands/call-resume.cc
@@ -60,7 +60,7 @@ void CallResumeCommand::exec(Daemon* app, const string& args)
 		}
 	}
 
-	if (linphone_core_resume_call(lc, call) == 0) {
+	if (linphone_call_resume(call) == 0) {
 		app->sendResponse(Response(current ? "Current call was resumed" : "Call was resumed", Response::Ok));
 	} else {
 		app->sendResponse(Response("Error pausing call"));
diff --git a/daemon/commands/call-transfer.cc b/daemon/commands/call-transfer.cc
index 13170dac8d6a5adfdc54ba6ed1761a0b26bc471b..fbb41042a0f7d770e771f476a3eed4b2f49fed57 100644
--- a/daemon/commands/call-transfer.cc
+++ b/daemon/commands/call-transfer.cc
@@ -43,7 +43,6 @@ CallTransferCommand::CallTransferCommand() :
 
 void CallTransferCommand::exec(Daemon* app, const string& args)
 {
-	LinphoneCore *lc = app->getCore();
 	LinphoneCall *call_to_transfer = NULL;
 	LinphoneCall *call_to_transfer_to = NULL;
 	istringstream ist(args);
@@ -85,7 +84,7 @@ void CallTransferCommand::exec(Daemon* app, const string& args)
 			app->sendResponse(Response("No call with such id."));
 			return;
 		}
-		if (linphone_core_transfer_call_to_another(lc, call_to_transfer, call_to_transfer_to) == 0) {
+		if (linphone_call_transfer_to_another(call_to_transfer, call_to_transfer_to) == 0) {
 			std::ostringstream ostr;
 			ostr << "Call ID: " << call_to_transfer_id << "\n";
 			ostr << "Transfer to: " << call_to_transfer_to_id << "\n";
@@ -93,7 +92,7 @@ void CallTransferCommand::exec(Daemon* app, const string& args)
 			return;
 		}
 	} else {
-		if (linphone_core_transfer_call(lc, call_to_transfer, sip_uri_to_transfer_to.c_str()) == 0) {
+		if (linphone_call_transfer(call_to_transfer, sip_uri_to_transfer_to.c_str()) == 0) {
 			std::ostringstream ostr;
 			ostr << "Call ID: " << call_to_transfer_id << "\n";
 			ostr << "Transfer to: " << sip_uri_to_transfer_to << "\n";
diff --git a/daemon/commands/terminate.cc b/daemon/commands/terminate.cc
index 0165ddc980be304f9779654d7a47968ac9db645f..144230dbe36c995e315658cbade76df6d739c5be 100644
--- a/daemon/commands/terminate.cc
+++ b/daemon/commands/terminate.cc
@@ -56,6 +56,6 @@ void TerminateCommand::exec(Daemon *app, const string& args) {
 		app->sendResponse(Response("No active call."));
 		return;
 	}
-	linphone_core_terminate_call(app->getCore(), call);
+	linphone_call_terminate(call);
 	app->sendResponse(Response());
 }
diff --git a/daemon/commands/video.cc b/daemon/commands/video.cc
index 55d2eb01e36cc56a97856c1e51c4a782c88c3250..2b92a8db80789dc2f6137f8b3831ff51207dc1cc 100644
--- a/daemon/commands/video.cc
+++ b/daemon/commands/video.cc
@@ -71,8 +71,8 @@ void Video::exec(Daemon* app, const string& args)
 		activate = !linphone_call_params_video_enabled(new_params);
 
 		linphone_call_params_enable_video(new_params, activate);
-		linphone_core_update_call(lc, call, new_params);
-		linphone_call_params_destroy(new_params);
+		linphone_call_update(call, new_params);
+		linphone_call_params_unref(new_params);
 
 	} else {
 		app->sendResponse(Response("No streams running: can't [de]activate video"));
diff --git a/daemon/daemon.cc b/daemon/daemon.cc
index 5e284f420ddf8ea17a4c640dfb3e4397f42734dc..6308afe42b69d38d76712ef3e9b046a753f0108b 100644
--- a/daemon/daemon.cc
+++ b/daemon/daemon.cc
@@ -251,7 +251,7 @@ PayloadTypeResponse::PayloadTypeResponse(LinphoneCore *core, const PayloadType *
 	if (payloadType != NULL) {
 		if (index >= 0)
 			ostr << prefix << "Index: " << index << "\n";
-		ostr << prefix << "Payload-type-number: " << linphone_core_get_payload_type_number(core, payloadType) << "\n";
+		ostr << prefix << "Payload-type-number: " << linphone_payload_type_get_number(payloadType) << "\n";
 		ostr << prefix << "Clock-rate: " << payloadType->clock_rate << "\n";
 		ostr << prefix << "Bitrate: " << payloadType->normal_bitrate << "\n";
 		ostr << prefix << "Mime: " << payloadType->mime_type << "\n";
@@ -284,7 +284,7 @@ PayloadTypeParser::PayloadTypeParser(LinphoneCore *core, const string &mime_type
 	}else if (number!=-1){
 		const bctbx_list_t *elem;
 		for(elem=linphone_core_get_audio_codecs(core);elem!=NULL;elem=elem->next){
-			if (number==linphone_core_get_payload_type_number(core,(PayloadType*)elem->data)){
+			if (number==linphone_payload_type_get_number((PayloadType*)elem->data)){
 				mPayloadType=(PayloadType*)elem->data;
 				break;
 			}
diff --git a/gtk/incall_view.c b/gtk/incall_view.c
index 2febb8c4e14f56113b9aca897d5900c93f241850..b3055f238c52b9b4c21bd4ca490b96a322a1e438 100644
--- a/gtk/incall_view.c
+++ b/gtk/incall_view.c
@@ -126,7 +126,7 @@ static void linphone_gtk_in_call_set_animation_spinner(GtkWidget *callview){
 
 static void linphone_gtk_transfer_call(LinphoneCall *dest_call){
 	LinphoneCall *call=linphone_gtk_get_currently_displayed_call(NULL);
-	if (call) linphone_core_transfer_call_to_another(linphone_gtk_get_core(),call,dest_call);
+	if (call) linphone_call_transfer_to_another(call,dest_call);
 }
 
 void transfer_button_clicked(GtkWidget *button, gpointer call_ref){
@@ -464,7 +464,7 @@ static void video_button_clicked(GtkWidget *button, LinphoneCall *call){
 	LinphoneCallParams *params = linphone_core_create_call_params(lc, call);
 	gtk_widget_set_sensitive(button,FALSE);
 	linphone_call_params_enable_video(params, adding);
-	linphone_core_update_call(lc,call,params);
+	linphone_call_update(call,params);
 	linphone_call_params_unref(params);
 }
 
@@ -949,11 +949,11 @@ void linphone_gtk_hold_clicked(GtkButton *button){
 	if (!call) return;
 	if(!active)
 	{
-		linphone_core_pause_call(linphone_gtk_get_core(),call);
+		linphone_call_pause(call);
 	}
 	else
 	{
-		linphone_core_resume_call(linphone_gtk_get_core(),call);
+		linphone_call_resume(call);
 	}
 }
 
diff --git a/gtk/main.c b/gtk/main.c
index b57522906c36e03d1d5de6f7756f8ec35792d0ef..a7b79400e4cc5299d3c8617bfa713d21eb474421 100644
--- a/gtk/main.c
+++ b/gtk/main.c
@@ -942,7 +942,7 @@ static void accept_incoming_call(LinphoneCall *call){
 	LinphoneCallParams *params = linphone_core_create_call_params(lc, call);
 	gchar *record_file=linphone_gtk_get_record_path(linphone_call_get_remote_address(call),FALSE);
 	linphone_call_params_set_record_file(params,record_file);
-	linphone_core_accept_call_with_params(lc,call,params);
+	linphone_call_accept_with_params(call,params);
 	linphone_call_params_unref(params);
 }
 
@@ -992,7 +992,7 @@ void linphone_gtk_terminate_call(GtkWidget *button){
 	gboolean is_conf;
 	LinphoneCall *call=linphone_gtk_get_currently_displayed_call(&is_conf);
 	if (call){
-		linphone_core_terminate_call(linphone_gtk_get_core(),call);
+		linphone_call_terminate(call);
 	}else if (is_conf){
 		linphone_core_terminate_conference(linphone_gtk_get_core());
 	}
@@ -1001,7 +1001,7 @@ void linphone_gtk_terminate_call(GtkWidget *button){
 void linphone_gtk_decline_clicked(GtkWidget *button){
 	LinphoneCall *call=linphone_gtk_get_currently_displayed_call(NULL);
 	if (call)
-		linphone_core_terminate_call(linphone_gtk_get_core(),call);
+		linphone_call_terminate(call);
 }
 
 void linphone_gtk_answer_clicked(GtkWidget *button){
@@ -1333,7 +1333,7 @@ static void on_call_updated_response(GtkWidget *dialog, gint responseid, gpointe
 		LinphoneCore *lc=linphone_call_get_core(call);
 		LinphoneCallParams *params = linphone_core_create_call_params(lc, call);
 		linphone_call_params_enable_video(params,responseid==GTK_RESPONSE_YES);
-		linphone_core_accept_call_update(lc,call,params);
+		linphone_call_accept_update(call,params);
 		linphone_call_params_unref(params);
 	}
 	g_source_remove_by_user_data(dialog);
@@ -1354,7 +1354,7 @@ static void linphone_gtk_call_updated_by_remote(LinphoneCall *call){
 	g_message("Video used=%i, video requested=%i, automatically_accept=%i",
 			  video_used,video_requested,pol->automatically_accept);
 	if (!video_used && video_requested && !pol->automatically_accept){
-		linphone_core_defer_call_update(lc,call);
+		linphone_call_defer_update(call);
 		{
 			const LinphoneAddress *addr=linphone_call_get_remote_address(call);
 			GtkWidget *dialog;
diff --git a/gtk/propertybox.c b/gtk/propertybox.c
index d6818adfcc01b3a5daff8c0a9fefbf02778705cf..a14c34be39ddbf758774c091b16629b807b3e702 100644
--- a/gtk/propertybox.c
+++ b/gtk/propertybox.c
@@ -471,7 +471,7 @@ void linphone_gtk_cam_changed(GtkWidget *w){
 		if (strcmp(sel, linphone_core_get_video_device(lc)) != 0){
 			linphone_core_set_video_device(lc,sel);
 			if ((call = linphone_core_get_current_call(lc)) != NULL) {
-				linphone_core_update_call(lc, call, NULL);
+				linphone_call_update(call, NULL);
 			}
 		}
 	}
diff --git a/gtk/videowindow.c b/gtk/videowindow.c
index 11a90839a26e709a96fbad419d5b422739432237..373304abaa7c121df494a79353486f191d93521a 100644
--- a/gtk/videowindow.c
+++ b/gtk/videowindow.c
@@ -183,7 +183,7 @@ static void on_controls_response(GtkWidget *dialog, int response_id, GtkWidget *
 		case GTK_RESPONSE_REJECT:
 		{
 			LinphoneCall *call=(LinphoneCall*)g_object_get_data(G_OBJECT(video_window),"call");
-			linphone_core_terminate_call(linphone_gtk_get_core(),call);
+			linphone_call_terminate(call);
 		}
 		break;
 		case GTK_RESPONSE_APPLY:
diff --git a/tester/call_multi_tester.c b/tester/call_multi_tester.c
index 06d8af44bd7df98b74ce7379ceadfc07d12c216f..c3e2562e359fe924aece8b325d9f80ce9c8ecd99 100644
--- a/tester/call_multi_tester.c
+++ b/tester/call_multi_tester.c
@@ -77,7 +77,7 @@ static void call_waiting_indication_with_param(bool_t enable_caller_privacy) {
 		if (call != pauline_called_by_marie) {
 			/*fine, this is the call waiting*/
 			pauline_called_by_laure=call;
-			linphone_core_accept_call(pauline->lc,pauline_called_by_laure);
+			linphone_call_accept(pauline_called_by_laure);
 		}
 	}
 
@@ -150,7 +150,7 @@ static void second_call_rejection(bool_t second_without_audio){
 	pauline_call = linphone_core_get_current_call(pauline->lc);
 	BC_ASSERT_PTR_NOT_NULL(pauline_call);
 	if (pauline_call){
-		linphone_core_accept_call(pauline->lc, pauline_call);
+		linphone_call_accept(pauline_call);
 	}
 	BC_ASSERT_TRUE(wait_for(marie->lc
 			,pauline->lc
@@ -195,7 +195,7 @@ static void incoming_call_accepted_when_outgoing_call_in_state(LinphoneCallState
 								,1));
 
 		if (state==LinphoneCallOutgoingEarlyMedia)
-			linphone_core_accept_early_media(pauline->lc,linphone_core_get_current_call(pauline->lc));
+			linphone_call_accept_early_media(linphone_core_get_current_call(pauline->lc));
 
 		BC_ASSERT_EQUAL(marie->stat.number_of_LinphoneCallOutgoingProgress,1, int, "%d");
 		BC_ASSERT_TRUE(wait_for(marie->lc
@@ -288,8 +288,8 @@ static void simple_conference_base(LinphoneCoreManager* marie, LinphoneCoreManag
 			BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallError, initial_marie_stat.number_of_LinphoneCallError+1, 5000));
 			BC_ASSERT_PTR_NULL(linphone_core_get_conference(marie->lc));
 			BC_ASSERT_EQUAL(linphone_core_terminate_conference(marie->lc), -1, int, "%d");
-			linphone_core_terminate_call(marie->lc, marie_call_pauline);
-			linphone_core_terminate_call(marie->lc, marie_call_laure);
+			linphone_call_terminate(marie_call_pauline);
+			linphone_call_terminate(marie_call_laure);
 			BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallEnd, initial_marie_stat.number_of_LinphoneCallEnd+2, 10000));
 			BC_ASSERT_TRUE(wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallEnd, initial_pauline_stat.number_of_LinphoneCallEnd+1, 5000));
 			BC_ASSERT_TRUE(wait_for_list(lcs, &laure->stat.number_of_LinphoneCallEnd, initial_laure_stat.number_of_LinphoneCallEnd+1, 5000));
@@ -431,7 +431,7 @@ static void simple_call_transfer(void) {
 	reset_counters(&laure->stat);
 
 
-	linphone_core_transfer_call(pauline->lc,pauline_called_by_marie,laure_identity);
+	linphone_call_transfer(pauline_called_by_marie,laure_identity);
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallRefered,1,2000));
 	/*marie pausing pauline*/
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallPausing,1,2000));
@@ -446,7 +446,7 @@ static void simple_call_transfer(void) {
 	BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallIncomingReceived,1,2000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallOutgoingRinging,1,2000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneTransferCallOutgoingProgress,1,2000));
-	linphone_core_accept_call(laure->lc,linphone_core_get_current_call(laure->lc));
+	linphone_call_accept(linphone_core_get_current_call(laure->lc));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallConnected,1,2000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallStreamsRunning,1,2000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallConnected,1,2000));
@@ -491,11 +491,11 @@ static void unattended_call_transfer(void) {
 	reset_counters(&pauline->stat);
 	reset_counters(&laure->stat);
 
-	linphone_core_transfer_call(marie->lc,pauline_called_by_marie,laure_identity);
+	linphone_call_transfer(pauline_called_by_marie,laure_identity);
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallRefered,1,2000));
 
 	/*marie ends the call  */
-	linphone_core_terminate_call(marie->lc,pauline_called_by_marie);
+	linphone_call_terminate(pauline_called_by_marie);
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,2000));
 
 	/*Pauline starts the transfer*/
@@ -503,7 +503,7 @@ static void unattended_call_transfer(void) {
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallOutgoingProgress,1,2000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallIncomingReceived,1,2000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallOutgoingRinging,1,2000));
-	linphone_core_accept_call(laure->lc,linphone_core_get_current_call(laure->lc));
+	linphone_call_accept(linphone_core_get_current_call(laure->lc));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallConnected,1,2000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallStreamsRunning,1,2000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallConnected,1,2000));
@@ -535,7 +535,7 @@ static void unattended_call_transfer_with_error(void) {
 		reset_counters(&marie->stat);
 		reset_counters(&pauline->stat);
 
-		linphone_core_transfer_call(marie->lc,pauline_called_by_marie,"unknown_user");
+		linphone_call_transfer(pauline_called_by_marie,"unknown_user");
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallRefered,1,2000));
 
 		/*Pauline starts the transfer*/
@@ -611,7 +611,7 @@ static void call_transfer_existing_call(bool_t outgoing_call) {
 		reset_counters(&laure->stat);
 
 
-		linphone_core_transfer_call_to_another(marie->lc,marie_call_pauline,marie_call_laure);
+		linphone_call_transfer_to_another(marie_call_pauline,marie_call_laure);
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallRefered,1,2000));
 
 		/*pauline pausing marie*/
@@ -629,7 +629,7 @@ static void call_transfer_existing_call(bool_t outgoing_call) {
 			lcall = (LinphoneCall*)calls->data;
 			if (linphone_call_get_state(lcall) == LinphoneCallIncomingReceived) {
 				BC_ASSERT_PTR_EQUAL(linphone_call_get_replaced_call(lcall),laure_called_by_marie);
-				linphone_core_accept_call(laure->lc,lcall);
+				linphone_call_accept(lcall);
 				break;
 			}
 		}
@@ -688,7 +688,7 @@ static void call_transfer_existing_ringing_call(void) {
 		BC_ASSERT_PTR_NOT_NULL((marie_call_laure = linphone_core_invite_address(marie->lc, laure->identity)));
 		if (!marie_call_laure) goto end;
 		BC_ASSERT_TRUE(wait_for(marie->lc, laure->lc, &marie->stat.number_of_LinphoneCallOutgoingRinging, initial_marie_stats.number_of_LinphoneCallOutgoingRinging + 1));
-		linphone_core_transfer_call_to_another(marie->lc, marie_call_pauline, marie_call_laure);
+		linphone_call_transfer_to_another(marie_call_pauline, marie_call_laure);
 		BC_ASSERT_TRUE(wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallRefered, 1, 2000));
 
 		/* pauline pausing marie */
@@ -705,7 +705,7 @@ static void call_transfer_existing_ringing_call(void) {
 		for (calls = linphone_core_get_calls(laure->lc); calls != NULL; calls = calls->next) {
 			lcall = (LinphoneCall*)calls->data;
 			if (linphone_call_get_state(lcall) == LinphoneCallIncomingReceived) {
-				linphone_core_accept_call(laure->lc, lcall);
+				linphone_call_accept(lcall);
 				break;
 			}
 		}
diff --git a/tester/call_multicast_tester.c b/tester/call_multicast_tester.c
index b32576ac954bcb29599d5ed69fc362edc3912d96..8850d565e11b63d9358b816d97d6c1375af38270 100644
--- a/tester/call_multicast_tester.c
+++ b/tester/call_multicast_tester.c
@@ -149,7 +149,7 @@ static void early_media_with_multicast_base(bool_t video) {
 			/*check video path*/
 			linphone_call_set_next_video_frame_decoded_callback(linphone_core_get_current_call(pauline->lc),linphone_call_iframe_decoded_cb,pauline->lc);
 		}
-		linphone_core_accept_early_media(pauline->lc, linphone_core_get_current_call(pauline->lc));
+		linphone_call_accept_early_media(linphone_core_get_current_call(pauline->lc));
 
 		BC_ASSERT_TRUE( wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallIncomingEarlyMedia,1,2000) );
 		BC_ASSERT_TRUE( wait_for_list(lcs, &marie->stat.number_of_LinphoneCallOutgoingEarlyMedia,1,2000) );
@@ -160,7 +160,7 @@ static void early_media_with_multicast_base(bool_t video) {
 					/*check video path*/
 					linphone_call_set_next_video_frame_decoded_callback(linphone_core_get_current_call(pauline2->lc),linphone_call_iframe_decoded_cb,pauline2->lc);
 				}
-				linphone_core_accept_early_media(pauline2->lc, linphone_core_get_current_call(pauline2->lc));
+				linphone_call_accept_early_media(linphone_core_get_current_call(pauline2->lc));
 
 				BC_ASSERT_TRUE( wait_for_list(lcs, &pauline2->stat.number_of_LinphoneCallIncomingEarlyMedia,1,2000) );
 		}
@@ -185,7 +185,7 @@ static void early_media_with_multicast_base(bool_t video) {
 			BC_ASSERT_TRUE( wait_for_list(lcs,&pauline2->stat.number_of_IframeDecoded,1,2000));
 		}
 
-		linphone_core_accept_call(pauline->lc, linphone_core_get_current_call(pauline->lc));
+		linphone_call_accept(linphone_core_get_current_call(pauline->lc));
 
 		BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallConnected, 1,1000));
 		BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallStreamsRunning, 1,1000));
@@ -206,9 +206,7 @@ static void early_media_with_multicast_base(bool_t video) {
 		linphone_core_enable_video_capture(marie->lc, TRUE);
 		linphone_core_enable_video_display(marie->lc, TRUE);
 
-		linphone_core_update_call(	pauline->lc
-									, linphone_core_get_current_call(pauline->lc)
-									, params);
+		linphone_call_update(linphone_core_get_current_call(pauline->lc), params);
 		linphone_call_params_unref(params);
 
 		BC_ASSERT_TRUE(wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallStreamsRunning, 2,1000));
diff --git a/tester/call_single_tester.c b/tester/call_single_tester.c
index 0f12b3a0ff69c410a72ea0359018a1aea6b87941..01c6cec930167e64904fd2acf7ae22556f8c1394 100644
--- a/tester/call_single_tester.c
+++ b/tester/call_single_tester.c
@@ -344,14 +344,14 @@ bool_t call_with_params2(LinphoneCoreManager* caller_mgr
 
 
 	if (callee_params){
-		linphone_core_accept_call_with_params(callee_mgr->lc,callee_call,callee_params);
+		linphone_call_accept_with_params(callee_call,callee_params);
 	}else if (build_callee_params){
 		LinphoneCallParams *default_params=linphone_core_create_call_params(callee_mgr->lc,callee_call);
 		ms_message("Created default call params with video=%i", linphone_call_params_video_enabled(default_params));
-		linphone_core_accept_call_with_params(callee_mgr->lc,callee_call,default_params);
+		linphone_call_accept_with_params(callee_call,default_params);
 		linphone_call_params_unref(default_params);
 	}else{
-		linphone_core_accept_call(callee_mgr->lc,callee_call);
+		linphone_call_accept(callee_call);
 	}
 
 	BC_ASSERT_TRUE(wait_for(callee_mgr->lc,caller_mgr->lc,&callee_mgr->stat.number_of_LinphoneCallConnected,initial_callee.number_of_LinphoneCallConnected+1));
@@ -671,7 +671,7 @@ static void direct_call_over_ipv6(void){
 
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallOutgoingRinging,1));
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallIncomingReceived,1));
-		linphone_core_accept_call(pauline->lc,linphone_core_get_current_call(pauline->lc));
+		linphone_call_accept(linphone_core_get_current_call(pauline->lc));
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,1));
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,1));
 
@@ -800,9 +800,9 @@ static void multiple_answers_call_with_media_relay(void) {
 	call2 = linphone_core_get_current_call(marie2->lc);
 
 	if (BC_ASSERT_PTR_NOT_NULL(call1) && BC_ASSERT_PTR_NOT_NULL(call2)) {
-		BC_ASSERT_EQUAL( linphone_core_accept_call(marie1->lc, call1), 0, int, "%d");
+		BC_ASSERT_EQUAL( linphone_call_accept(call1), 0, int, "%d");
 		ms_sleep(1); /*sleep to make sure that the 200OK of marie1 reaches the server first*/
-		BC_ASSERT_EQUAL( linphone_core_accept_call(marie2->lc, call2), 0, int, "%d");
+		BC_ASSERT_EQUAL( linphone_call_accept(call2), 0, int, "%d");
 
 		BC_ASSERT_TRUE( wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1, 2000) );
 		BC_ASSERT_TRUE( wait_for_list(lcs, &marie1->stat.number_of_LinphoneCallStreamsRunning, 1, 2000) );
@@ -964,7 +964,7 @@ static void simple_call_compatibility_mode(void) {
 	if (linphone_core_get_current_call_remote_address(lc_pauline)) {
 		BC_ASSERT_TRUE(linphone_address_weak_equal(identity,linphone_core_get_current_call_remote_address(lc_pauline)));
 
-		linphone_core_accept_call(lc_pauline,linphone_core_get_current_call(lc_pauline));
+		linphone_call_accept(linphone_core_get_current_call(lc_pauline));
 
 		BC_ASSERT_TRUE(wait_for(lc_pauline,lc_marie,&stat_pauline->number_of_LinphoneCallConnected,1));
 		BC_ASSERT_TRUE(wait_for(lc_pauline,lc_marie,&stat_marie->number_of_LinphoneCallConnected,1));
@@ -987,7 +987,7 @@ static void cancelled_call(void) {
 	linphone_call_ref(out_call);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallOutgoingInit,1));
 
-	linphone_core_terminate_call(pauline->lc,out_call);
+	linphone_call_terminate(out_call);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallEnd,1));
 	//BC_ASSERT_EQUAL(linphone_call_get_reason(out_call),LinphoneReasonCanceled, int, "%d");
 	BC_ASSERT_EQUAL(pauline->stat.number_of_LinphoneCallEnd,1, int, "%d");
@@ -1056,7 +1056,7 @@ static void early_cancelled_call(void) {
 	LinphoneCall* out_call = linphone_core_invite_address(pauline->lc,marie->identity);
 
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallOutgoingInit,1));
-	linphone_core_terminate_call(pauline->lc,out_call);
+	linphone_call_terminate(out_call);
 
 	/*since everything is executed in a row, no response can be received from the server, thus the CANCEL cannot be sent.
 	 It will ring at Marie's side.*/
@@ -1083,7 +1083,7 @@ static void cancelled_ringing_call(void) {
 	linphone_call_ref(out_call);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallIncomingReceived,1));
 
-	linphone_core_terminate_call(pauline->lc,out_call);
+	linphone_call_terminate(out_call);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallReleased,1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallReleased,1));
 	BC_ASSERT_EQUAL(marie->stat.number_of_LinphoneCallEnd,1, int, "%d");
@@ -1146,7 +1146,7 @@ static void call_declined(void) {
 	BC_ASSERT_PTR_NOT_NULL(in_call=linphone_core_get_current_call(marie->lc));
 	if (in_call) {
 		linphone_call_ref(in_call);
-		linphone_core_terminate_call(marie->lc,in_call);
+		linphone_call_terminate(in_call);
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallReleased,1));
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallReleased,1));
 		BC_ASSERT_EQUAL(marie->stat.number_of_LinphoneCallEnd,1, int, "%d");
@@ -1199,7 +1199,7 @@ static void call_with_no_sdp_ack_without_sdp(void){
 	call=linphone_core_get_current_call(pauline->lc);
 	if (call){
 		sal_call_set_sdp_handling(call->op, SalOpSDPSimulateError); /*this will have the effect that the SDP received in the ACK will be ignored*/
-		linphone_core_accept_call(pauline->lc, call);
+		linphone_call_accept(call);
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallError,1));
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallEnd,1));
 	}
@@ -1366,7 +1366,7 @@ static void ice_added_by_reinvite(void){
 
 	c = linphone_core_get_current_call(marie->lc);
 	params = linphone_core_create_call_params(marie->lc, c);
-	linphone_core_update_call(marie->lc, c, params);
+	linphone_call_update(c, params);
 	linphone_call_params_unref(params);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallUpdatedByRemote,1));
 
@@ -1462,7 +1462,7 @@ static void call_with_custom_sdp_attributes_cb(LinphoneCore *lc, LinphoneCall *c
 		linphone_call_params_clear_custom_sdp_attributes(params);
 		linphone_call_params_clear_custom_sdp_media_attributes(params, LinphoneStreamTypeAudio);
 		linphone_call_params_add_custom_sdp_attribute(params, "working", "no");
-		BC_ASSERT_EQUAL(linphone_core_accept_call_update(lc, call, params), 0, int, "%i");
+		BC_ASSERT_EQUAL(linphone_call_accept_update(call, params), 0, int, "%i");
 		linphone_call_params_unref(params);
 	}
 }
@@ -1505,7 +1505,7 @@ static void call_with_custom_sdp_attributes(void) {
 	linphone_call_params_clear_custom_sdp_attributes(pauline_params);
 	linphone_call_params_clear_custom_sdp_media_attributes(pauline_params, LinphoneStreamTypeAudio);
 	linphone_call_params_add_custom_sdp_attribute(pauline_params, "weather", "sunny");
-	linphone_core_update_call(pauline->lc, call_pauline, pauline_params);
+	linphone_call_update(call_pauline, pauline_params);
 	BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneCallUpdatedByRemote, 1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallUpdating, 1));
 	linphone_call_params_unref(pauline_params);
@@ -1541,7 +1541,7 @@ void call_paused_resumed_base(bool_t multicast, bool_t with_losses) {
 	if (with_losses) {
 		sal_set_send_error(marie->lc->sal,1500); /*to trash 200ok without generating error*/
 	}
-	linphone_core_pause_call(pauline->lc,call_pauline);
+	linphone_call_pause(call_pauline);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPausing,1));
 
 	if (with_losses) {
@@ -1556,7 +1556,7 @@ void call_paused_resumed_base(bool_t multicast, bool_t with_losses) {
 	/*stay in pause a little while in order to generate traffic*/
 	wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000);
 
-	linphone_core_resume_call(pauline->lc,call_pauline);
+	linphone_call_resume(call_pauline);
 
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2));
@@ -1571,14 +1571,14 @@ void call_paused_resumed_base(bool_t multicast, bool_t with_losses) {
 
 	if (with_losses) {
 		/* now we want to loose the ack*/
-		linphone_core_pause_call(pauline->lc,call_pauline);
+		linphone_call_pause(call_pauline);
 		sal_set_send_error(pauline->lc->sal,1500); /*to trash ACK without generating error*/
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPausing,2));
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausedByRemote,2));
 		BC_ASSERT_TRUE(wait_for_until(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPaused,2,1000));
 		/*now try to resume, it should be OK*/
 		sal_set_send_error(pauline->lc->sal,0);
-		linphone_core_resume_call(pauline->lc,call_pauline);
+		linphone_call_resume(call_pauline);
 		BC_ASSERT_TRUE(wait_for_until(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,3,2000));
 		BC_ASSERT_TRUE(wait_for_until(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,3,2000));
 	}
@@ -1617,7 +1617,7 @@ static void call_paused_by_both(void) {
 
 	wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000);
 
-	linphone_core_pause_call(pauline->lc,call_pauline);
+	linphone_call_pause(call_pauline);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPausing,1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausedByRemote,1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPaused,1));
@@ -1626,7 +1626,7 @@ static void call_paused_by_both(void) {
 	wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000);
 
 	/*marie pauses the call also*/
-	linphone_core_pause_call(marie->lc, call_marie);
+	linphone_call_pause(call_marie);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausing,1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPaused,1));
 
@@ -1637,7 +1637,7 @@ static void call_paused_by_both(void) {
 	check_media_direction(marie, call_marie, lcs, LinphoneMediaDirectionInactive, LinphoneMediaDirectionInvalid);
 
 	/*now pauline wants to resume*/
-	linphone_core_resume_call(pauline->lc, call_pauline);
+	linphone_call_resume(call_pauline);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallResuming,1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPausedByRemote,1));
 	/*Marie must stay in paused state*/
@@ -1645,7 +1645,7 @@ static void call_paused_by_both(void) {
 	BC_ASSERT_EQUAL(marie->stat.number_of_LinphoneCallPaused, 1, int, "%i");
 
 	/*now marie wants to resume also*/
-	linphone_core_resume_call(marie->lc, call_marie);
+	linphone_call_resume(call_marie);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallResuming,1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
@@ -1695,7 +1695,7 @@ static void call_paused_resumed_with_loss(void) {
 		CHECK_CURRENT_LOSS_RATE();
 
 		/*pause call*/
-		linphone_core_pause_call(pauline->lc,call_pauline);
+		linphone_call_pause(call_pauline);
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPausing,1));
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausedByRemote,1));
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPaused,1));
@@ -1704,7 +1704,7 @@ static void call_paused_resumed_with_loss(void) {
 		CHECK_CURRENT_LOSS_RATE();
 
 		/*resume*/
-		linphone_core_resume_call(pauline->lc,call_pauline);
+		linphone_call_resume(call_pauline);
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2));
 		wait_for_until(pauline->lc, marie->lc, NULL, 5, 10000);
@@ -1722,7 +1722,7 @@ static void call_paused_resumed_with_loss(void) {
 bool_t pause_call_1(LinphoneCoreManager* mgr_1,LinphoneCall* call_1,LinphoneCoreManager* mgr_2,LinphoneCall* call_2) {
 	stats initial_call_stat_1=mgr_1->stat;
 	stats initial_call_stat_2=mgr_2->stat;
-	linphone_core_pause_call(mgr_1->lc,call_1);
+	linphone_call_pause(call_1);
 	BC_ASSERT_TRUE(wait_for(mgr_1->lc,mgr_2->lc,&mgr_1->stat.number_of_LinphoneCallPausing,initial_call_stat_1.number_of_LinphoneCallPausing+1));
 	BC_ASSERT_TRUE(wait_for(mgr_1->lc,mgr_2->lc,&mgr_1->stat.number_of_LinphoneCallPaused,initial_call_stat_1.number_of_LinphoneCallPaused+1));
 	BC_ASSERT_TRUE(wait_for(mgr_1->lc,mgr_2->lc,&mgr_2->stat.number_of_LinphoneCallPausedByRemote,initial_call_stat_2.number_of_LinphoneCallPausedByRemote+1));
@@ -1786,7 +1786,7 @@ static void call_paused_resumed_from_callee(void) {
 	if (!call_ok) goto end;
 	call_marie = linphone_core_get_current_call(marie->lc);
 
-	linphone_core_pause_call(marie->lc,call_marie);
+	linphone_call_pause(call_marie);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausing,1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPausedByRemote,1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPaused,1));
@@ -1794,7 +1794,7 @@ static void call_paused_resumed_from_callee(void) {
 	/*stay in pause a little while in order to generate traffic*/
 	wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000);
 
-	linphone_core_resume_call(marie->lc,call_marie);
+	linphone_call_resume(call_marie);
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
 	/*same here: wait a while for a bit of a traffic, we need to receive a RTCP packet*/
@@ -2052,17 +2052,17 @@ static void call_srtp_paused_and_resumed(void) {
 
 	if (!BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallIncomingReceived,1))) goto end;
 	pauline_call = linphone_core_get_current_call(pauline->lc);
-	linphone_core_accept_call(marie->lc, linphone_core_get_current_call(marie->lc));
+	linphone_call_accept(linphone_core_get_current_call(marie->lc));
 
 	if (!BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,1))) goto end;
 	if (!BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,1))) goto end;
 
-	linphone_core_pause_call(pauline->lc, pauline_call);
+	linphone_call_pause(pauline_call);
 
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPaused,1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausedByRemote,1));
 
-	linphone_core_resume_call(pauline->lc, pauline_call);
+	linphone_call_resume(pauline_call);
 	if (!BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2))) goto end;
 	if (!BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2))) goto end;
 
@@ -2427,7 +2427,7 @@ static void early_media_call_with_ice(void) {
 
 	if (!marie_call) goto end;
 
-	linphone_core_accept_call(marie->lc, marie_call);
+	linphone_call_accept(marie_call);
 	BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallConnected,1,3000));
 	BC_ASSERT_TRUE(wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallConnected,1,3000));
 	BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallStreamsRunning,1,3000));
@@ -2463,10 +2463,9 @@ static void early_media_call_with_ringing_base(bool_t network_change){
 	BC_ASSERT_TRUE(wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallIncomingReceived,1,3000));
 	BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallOutgoingRinging,1,1000));
 
-
 	if (linphone_core_inc_invite_pending(pauline->lc)) {
 		/* send a 183 to initiate the early media */
-		linphone_core_accept_early_media(pauline->lc, linphone_core_get_current_call(pauline->lc));
+		linphone_call_accept_early_media(linphone_core_get_current_call(pauline->lc));
 
 		BC_ASSERT_TRUE( wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallIncomingEarlyMedia,1,2000) );
 		BC_ASSERT_TRUE( wait_for_list(lcs, &marie->stat.number_of_LinphoneCallOutgoingEarlyMedia,1,2000) );
@@ -2480,7 +2479,7 @@ static void early_media_call_with_ringing_base(bool_t network_change){
 			marie_call->localdesc_changed |= SAL_MEDIA_DESCRIPTION_NETWORK_CHANGED;
 		}
 
-		linphone_core_accept_call(pauline->lc, linphone_core_get_current_call(pauline->lc));
+		linphone_call_accept(linphone_core_get_current_call(pauline->lc));
 
 		BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallConnected, 1,1000));
 		connected_time=ms_get_cur_time_ms();
@@ -2536,12 +2535,11 @@ static void early_media_call_with_update_base(bool_t media_change){
 	pauline_call = linphone_core_get_current_call(pauline->lc);
 	if (!pauline_call) goto end;
 	/* send a 183 to initiate the early media */
-	linphone_core_accept_early_media(pauline->lc, pauline_call);
+	linphone_call_accept_early_media(pauline_call);
 	BC_ASSERT_TRUE( wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallIncomingEarlyMedia,1,1000) );
 	BC_ASSERT_TRUE( wait_for_list(lcs, &marie->stat.number_of_LinphoneCallOutgoingEarlyMedia,1,5000) );
 	BC_ASSERT_TRUE(marie_call->all_muted);
 
-
 	pauline_params = linphone_call_params_copy(linphone_call_get_current_params(pauline_call));
 
 	if (media_change) {
@@ -2551,7 +2549,7 @@ static void early_media_call_with_update_base(bool_t media_change){
 	#define UPDATED_SESSION_NAME "nouveau nom de session"
 
 	linphone_call_params_set_session_name(pauline_params,UPDATED_SESSION_NAME);
-	linphone_core_update_call(pauline->lc, pauline_call, pauline_params);
+	linphone_call_update(pauline_call, pauline_params);
 	linphone_call_params_unref(pauline_params);
 	BC_ASSERT_TRUE(wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallEarlyUpdating,1,2000));
 	BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallEarlyUpdatedByRemote,1,2000));
@@ -2565,7 +2563,7 @@ static void early_media_call_with_update_base(bool_t media_change){
 	BC_ASSERT_STRING_EQUAL(	  linphone_call_params_get_session_name(linphone_call_get_remote_params(marie_call))
 							, UPDATED_SESSION_NAME);
 
-	linphone_core_accept_call(pauline->lc, linphone_core_get_current_call(pauline->lc));
+	linphone_call_accept(linphone_core_get_current_call(pauline->lc));
 
 	BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallConnected, 1,1000));
 	BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallStreamsRunning, 1,1000));
@@ -2629,7 +2627,6 @@ static void call_established_with_rejected_info(void) {
 }
 
 static void call_established_with_complex_rejected_operation(void) {
-
 	LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc");
 	LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc");
 	bool_t call_ok=FALSE;
@@ -2653,16 +2650,9 @@ static void call_established_with_complex_rejected_operation(void) {
 		/*to give time for 200ok to arrive*/
 		wait_for_until(marie->lc,pauline->lc,NULL,0,1000);
 
+		linphone_call_update(linphone_core_get_current_call(pauline->lc),linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
 
-
-		linphone_core_update_call(	pauline->lc
-									,linphone_core_get_current_call(pauline->lc)
-									,linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
-
-
-		linphone_core_update_call(	marie->lc
-											,linphone_core_get_current_call(marie->lc)
-											,linphone_call_get_current_params(linphone_core_get_current_call(marie->lc)));
+		linphone_call_update(linphone_core_get_current_call(marie->lc),linphone_call_get_current_params(linphone_core_get_current_call(marie->lc)));
 
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2));
@@ -2673,22 +2663,16 @@ static void call_established_with_complex_rejected_operation(void) {
 		check_call_state(pauline,LinphoneCallStreamsRunning);
 		check_call_state(marie,LinphoneCallStreamsRunning);
 
-		linphone_core_update_call(	pauline->lc
-										,linphone_core_get_current_call(pauline->lc)
-										,linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
-
+		linphone_call_update(linphone_core_get_current_call(pauline->lc),linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
 
 		linphone_call_send_info_message(linphone_core_get_current_call(marie->lc),linphone_core_create_info_message(marie->lc));
 
-
 		params=linphone_core_create_call_params(marie->lc,linphone_core_get_current_call(marie->lc));
 		sal_enable_pending_trans_checking(marie->lc->sal,FALSE); /*to allow // transactions*/
 		linphone_core_enable_payload_type(marie->lc,linphone_core_find_payload_type(marie->lc,"PCMU",8000,1),TRUE);
 		linphone_core_enable_payload_type(marie->lc,linphone_core_find_payload_type(marie->lc,"PCMA",8000,1),FALSE);
 
-		linphone_core_update_call(	marie->lc
-											,linphone_core_get_current_call(marie->lc)
-											,params);
+		linphone_call_update(linphone_core_get_current_call(marie->lc),params);
 
 		linphone_call_params_unref(params);
 
@@ -2706,7 +2690,6 @@ static void call_established_with_complex_rejected_operation(void) {
 }
 
 static void call_established_with_rejected_info_during_reinvite(void) {
-
 	LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc");
 	LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc");
 	bool_t call_ok=FALSE;
@@ -2729,22 +2712,16 @@ static void call_established_with_rejected_info_during_reinvite(void) {
 		/*to give time for 200ok to arrive*/
 		wait_for_until(marie->lc,pauline->lc,NULL,0,1000);
 
-
 		//sal_enable_pending_trans_checking(marie->lc->sal,FALSE); /*to allow // transactions*/
 
 		linphone_call_send_info_message(linphone_core_get_current_call(marie->lc),linphone_core_create_info_message(marie->lc));
 
 		//sal_set_send_error(marie->lc->sal, -1); /*to avoid 491 pending to be sent*/
 
-		linphone_core_update_call(	pauline->lc
-									,linphone_core_get_current_call(pauline->lc)
-									,linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
-
-
+		linphone_call_update(linphone_core_get_current_call(pauline->lc),linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
 
 		wait_for_until(pauline->lc,pauline->lc,NULL,0,2000); /*to avoid 491 pending to be sent to early*/
 
-
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
 		end_call(pauline, marie);
 	}
@@ -2764,11 +2741,7 @@ static void call_established_with_rejected_reinvite(void) {
 		linphone_core_enable_payload_type(pauline->lc,linphone_core_find_payload_type(pauline->lc,"PCMU",8000,1),FALSE); /*disable PCMU*/
 		linphone_core_enable_payload_type(pauline->lc,linphone_core_find_payload_type(pauline->lc,"PCMA",8000,1),TRUE); /*enable PCMA*/
 
-
-		linphone_core_update_call(	pauline->lc
-									,linphone_core_get_current_call(pauline->lc)
-									,linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
-
+		linphone_call_update(linphone_core_get_current_call(pauline->lc),linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
 
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
 
@@ -2799,10 +2772,7 @@ static void call_established_with_rejected_incoming_reinvite(void) {
 		linphone_core_enable_payload_type(pauline->lc,linphone_core_find_payload_type(pauline->lc,"PCMU",8000,1),FALSE); /*disable PCMU*/
 		linphone_core_enable_payload_type(pauline->lc,linphone_core_find_payload_type(pauline->lc,"PCMA",8000,1),TRUE); /*enable PCMA*/
 
-		linphone_core_update_call(marie->lc
-					,linphone_core_get_current_call(marie->lc)
-					,linphone_call_get_current_params(linphone_core_get_current_call(marie->lc)));
-
+		linphone_call_update(linphone_core_get_current_call(marie->lc),linphone_call_get_current_params(linphone_core_get_current_call(marie->lc)));
 
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,1));
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2));
@@ -2840,7 +2810,7 @@ static void call_redirect(void){
 
 	if (linphone_core_get_current_call(pauline->lc)){
 		laure_url = linphone_address_as_string(laure->identity);
-		linphone_core_redirect_call(pauline->lc, linphone_core_get_current_call(pauline->lc), laure_url);
+		linphone_call_redirect(linphone_core_get_current_call(pauline->lc), laure_url);
 		ms_free(laure_url);
 
 		/* laure should be ringing now */
@@ -2850,7 +2820,7 @@ static void call_redirect(void){
 		/* the call should still be ringing on marie's side */
 		BC_ASSERT_EQUAL(marie->stat.number_of_LinphoneCallOutgoingRinging, 1, int, "%i");
 
-		linphone_core_accept_call(laure->lc, linphone_core_get_current_call(laure->lc));
+		linphone_call_accept(linphone_core_get_current_call(laure->lc));
 
 		BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallStreamsRunning, 1,5000));
 		BC_ASSERT_TRUE(wait_for_list(lcs, &laure->stat.number_of_LinphoneCallStreamsRunning, 1,5000));
@@ -2888,9 +2858,7 @@ static void call_established_with_rejected_reinvite_with_error_base(bool_t trans
 		} else
 			sal_enable_unconditional_answer(marie->lc->sal,TRUE);
 
-		result = linphone_core_update_call(	pauline->lc
-						,linphone_core_get_current_call(pauline->lc)
-						,linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
+		result = linphone_call_update(linphone_core_get_current_call(pauline->lc),linphone_call_get_current_params(linphone_core_get_current_call(pauline->lc)));
 
 		if (trans_pending)
 			BC_ASSERT_NOT_EQUAL(result,0, int, "%d");
@@ -3128,7 +3096,7 @@ static void call_with_in_dialog_update(void) {
 	liblinphone_tester_check_rtcp(marie,pauline);
 	params=linphone_core_create_call_params(marie->lc,linphone_core_get_current_call(marie->lc));
 	params->no_user_consent=TRUE;
-	linphone_core_update_call(marie->lc,linphone_core_get_current_call(marie->lc),params);
+	linphone_call_update(linphone_core_get_current_call(marie->lc),params);
 	linphone_call_params_unref(params);
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,1));
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2));
@@ -3156,13 +3124,13 @@ static void call_with_very_early_call_update(void) {
 
 	BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call_remote_address(pauline->lc));
 	if (linphone_core_get_current_call_remote_address(pauline->lc)) {
-		linphone_core_accept_call(pauline->lc,linphone_core_get_current_call(pauline->lc));
+		linphone_call_accept(linphone_core_get_current_call(pauline->lc));
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,1));
 	}
 
 	if(linphone_core_get_current_call(pauline->lc)) {
 		params=linphone_core_create_call_params(pauline->lc,linphone_core_get_current_call(pauline->lc));
-		linphone_core_update_call(pauline->lc,linphone_core_get_current_call(pauline->lc),params);
+		linphone_call_update(linphone_core_get_current_call(pauline->lc),params);
 		linphone_call_params_unref(params);
 	}
 
@@ -3199,7 +3167,7 @@ static void call_with_in_dialog_codec_change_base(bool_t no_sdp) {
 	if (no_sdp) {
 		linphone_core_enable_sdp_200_ack(marie->lc,TRUE);
 	}
-	linphone_core_update_call(marie->lc,linphone_core_get_current_call(marie->lc),params);
+	linphone_call_update(linphone_core_get_current_call(marie->lc),params);
 	linphone_call_params_unref(params);
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,1));
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2));
@@ -3352,7 +3320,7 @@ static void call_with_paused_no_sdp_on_resume(void) {
 	/* the called party pause the call */
 	wait_for_until(pauline->lc, marie->lc, NULL, 5, 3000);
 
-	linphone_core_pause_call(marie->lc,call_marie);
+	linphone_call_pause(call_marie);
 	ms_message("== Call pausing ==");
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausing,1));
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPausedByRemote,1));
@@ -3365,7 +3333,7 @@ static void call_with_paused_no_sdp_on_resume(void) {
 
 	linphone_core_enable_sdp_200_ack(marie->lc,TRUE);
 
-	linphone_core_resume_call(marie->lc,call_marie);
+	linphone_call_resume(call_marie);
 
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2));
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
@@ -3425,7 +3393,7 @@ void early_media_without_sdp_in_200_base( bool_t use_video, bool_t use_ice ){
 		LinphoneCall* pauline_call = linphone_core_get_current_call(pauline->lc);
 
 		/* send a 183 to initiate the early media */
-		linphone_core_accept_early_media(pauline->lc, pauline_call);
+		linphone_call_accept_early_media(pauline_call);
 
 		BC_ASSERT_TRUE( wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallIncomingEarlyMedia,1,2000) );
 		BC_ASSERT_TRUE( wait_for_list(lcs, &marie->stat.number_of_LinphoneCallOutgoingEarlyMedia,1,2000) );
@@ -3434,7 +3402,7 @@ void early_media_without_sdp_in_200_base( bool_t use_video, bool_t use_ice ){
 
 		/* will send the 200OK _without_ SDP. We expect the early-media SDP to be used instead */
 		sal_call_set_sdp_handling(pauline_call->op, SalOpSDPSimulateRemove);
-		linphone_core_accept_call(pauline->lc, pauline_call);
+		linphone_call_accept(pauline_call);
 
 		BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallConnected, 1,1000));
 		connected_time=ms_get_cur_time_ms();
@@ -3702,7 +3670,7 @@ static void call_with_complex_late_offering(void){
 	linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionInactive);
 	linphone_call_params_set_video_direction(params,LinphoneMediaDirectionInactive);
 
-	linphone_core_update_call(marie->lc, call_marie ,params);
+	linphone_call_update(call_marie ,params);
 	linphone_call_params_unref(params);
 
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,1));
@@ -3715,7 +3683,7 @@ static void call_with_complex_late_offering(void){
 	params=linphone_core_create_call_params(marie->lc,call_marie);
 	linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendOnly);
 	linphone_call_params_set_video_direction(params,LinphoneMediaDirectionSendOnly);
-	linphone_core_update_call(marie->lc, call_marie , params);
+	linphone_call_update(call_marie , params);
 	linphone_call_params_unref(params);
 
 	//Pauline OK with sendonly
@@ -3727,7 +3695,7 @@ static void call_with_complex_late_offering(void){
 
 	//Pauline pause Marie
 	ms_message("CONTEXT: Pauline pauses the call");
-	linphone_core_pause_call(pauline->lc,call_pauline);
+	linphone_call_pause(call_pauline);
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallPausing,1));
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallPaused,1));
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallPausedByRemote,1));
@@ -3735,7 +3703,7 @@ static void call_with_complex_late_offering(void){
 	//Pauline resume Marie
 	ms_message("CONTEXT: Pauline resumes the call");
 	wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000);
-	linphone_core_resume_call(pauline->lc,call_pauline);
+	linphone_call_resume(call_pauline);
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,4));
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallResuming,1));
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallPausedByRemote,3));
@@ -3748,7 +3716,7 @@ static void call_with_complex_late_offering(void){
 	linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionInactive);
 	linphone_call_params_set_video_direction(params,LinphoneMediaDirectionInactive);
 
-	linphone_core_update_call(marie->lc, call_marie,params);
+	linphone_call_update(call_marie,params);
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,3));
 	linphone_call_params_unref(params);
 
@@ -3761,7 +3729,7 @@ static void call_with_complex_late_offering(void){
 	params=linphone_core_create_call_params(marie->lc,call_marie);
 	linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendRecv);
 	linphone_call_params_set_video_direction(params,LinphoneMediaDirectionSendRecv);
-	linphone_core_update_call(marie->lc, call_marie,params);
+	linphone_call_update(call_marie,params);
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,3));
 	linphone_call_params_unref(params);
 	BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallUpdatedByRemote,1));
@@ -4115,7 +4083,7 @@ static void custom_rtp_modifier(bool_t pauseResumeTest, bool_t recordTest) {
 		// This only wait for 3 seconds in order to generate traffic for the test
 		wait_for_until(pauline->lc, marie->lc, NULL, 5, 3000);
 
-		linphone_core_pause_call(pauline->lc,call_pauline);
+		linphone_call_pause(call_pauline);
 		BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallPausing, 1));
 		BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneCallPausedByRemote, 1));
 		BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallPaused, 1));
@@ -4123,7 +4091,7 @@ static void custom_rtp_modifier(bool_t pauseResumeTest, bool_t recordTest) {
 		/*stay in pause a little while in order to generate traffic*/
 		wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000);
 
-		linphone_core_resume_call(pauline->lc,call_pauline);
+		linphone_call_resume(call_pauline);
 
 		BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 2));
 		BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 2));
@@ -4260,11 +4228,11 @@ static void recovered_call_on_network_switch_in_early_state(LinphoneCoreManager*
 		const char *replaces_header = linphone_call_params_get_custom_header(remote_params, "Replaces");
 		BC_ASSERT_PTR_NOT_NULL(replaces_header);
 	}
-	linphone_core_accept_call(pauline->lc, incoming_call);
+	linphone_call_accept(incoming_call);
 	BC_ASSERT_TRUE(wait_for(callerMgr->lc, pauline->lc, &callerMgr->stat.number_of_LinphoneCallStreamsRunning, 1));
 	BC_ASSERT_TRUE(wait_for(callerMgr->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1));
 
-	linphone_core_terminate_call(pauline->lc, incoming_call);
+	linphone_call_terminate(incoming_call);
 	BC_ASSERT_TRUE(wait_for(callerMgr->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallEnd, 1));
 	BC_ASSERT_TRUE(wait_for(callerMgr->lc, pauline->lc, &callerMgr->stat.number_of_LinphoneCallReleased, 1));
 	BC_ASSERT_TRUE(wait_for(callerMgr->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallReleased, 1));
@@ -4292,7 +4260,7 @@ static void recovered_call_on_network_switch_in_early_state_2(void) {
 	if (!BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallOutgoingRinging, 1))) goto end;
 
 	incoming_call = linphone_core_get_current_call(pauline->lc);
-	linphone_core_accept_call(pauline->lc, incoming_call);
+	linphone_call_accept(incoming_call);
 	linphone_core_set_network_reachable(marie->lc, FALSE);
 	wait_for(marie->lc, pauline->lc, &marie->stat.number_of_NetworkReachableFalse, 1);
 	linphone_core_set_network_reachable(marie->lc, TRUE);
@@ -4301,7 +4269,7 @@ static void recovered_call_on_network_switch_in_early_state_2(void) {
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1));
 
-	linphone_core_terminate_call(pauline->lc, incoming_call);
+	linphone_call_terminate(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallEnd, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallReleased, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallReleased, 1));
@@ -4326,11 +4294,11 @@ static void recovered_call_on_network_switch_in_early_state_3(void) {
 
 	wait_for_until(marie->lc, pauline->lc, NULL, 1, 2000);
 	incoming_call = linphone_core_get_current_call(pauline->lc);
-	linphone_core_accept_call(pauline->lc, incoming_call);
+	linphone_call_accept(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1));
 
-	linphone_core_terminate_call(pauline->lc, incoming_call);
+	linphone_call_terminate(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallEnd, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallReleased, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallReleased, 1));
@@ -4349,7 +4317,7 @@ static void recovered_call_on_network_switch_in_early_state_4(void) {
 	if (!BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallOutgoingRinging, 1))) goto end;
 
 	incoming_call = linphone_core_get_current_call(pauline->lc);
-	linphone_core_accept_call(pauline->lc, incoming_call);
+	linphone_call_accept(incoming_call);
 	linphone_core_set_network_reachable(pauline->lc, FALSE);
 	wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_NetworkReachableFalse, 1);
 	linphone_core_set_network_reachable(pauline->lc, TRUE);
@@ -4361,7 +4329,7 @@ static void recovered_call_on_network_switch_in_early_state_4(void) {
 	BC_ASSERT_TRUE(sal_call_dialog_request_pending(incoming_call->op));
 	wait_for_until(marie->lc, pauline->lc, NULL, 1, 2000);
 	BC_ASSERT_FALSE(sal_call_dialog_request_pending(incoming_call->op));
-	linphone_core_terminate_call(pauline->lc, incoming_call);
+	linphone_call_terminate(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallEnd, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallReleased, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallReleased, 1));
@@ -4381,19 +4349,19 @@ static void recovered_call_on_network_switch_during_reinvite_1(void) {
 	if (!BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallOutgoingRinging, 1))) goto end;
 
 	incoming_call = linphone_core_get_current_call(pauline->lc);
-	linphone_core_accept_call(pauline->lc, incoming_call);
+	linphone_call_accept(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1));
 
 	outgoing_call = linphone_core_get_current_call(marie->lc);
-	linphone_core_pause_call(marie->lc, outgoing_call);
+	linphone_call_pause(outgoing_call);
 	linphone_core_set_network_reachable(marie->lc, FALSE);
 	wait_for(marie->lc, pauline->lc, &marie->stat.number_of_NetworkReachableFalse, 1);
 	linphone_core_set_network_reachable(marie->lc, TRUE);
 	wait_for(marie->lc, pauline->lc, &marie->stat.number_of_NetworkReachableTrue, 2);
 
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallPaused, 1));
-	linphone_core_terminate_call(pauline->lc, incoming_call);
+	linphone_call_terminate(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallEnd, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallReleased, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallReleased, 1));
@@ -4429,14 +4397,14 @@ static void recovered_call_on_network_switch_during_reinvite_2(void) {
 	if (!BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallOutgoingRinging, 1))) goto end;
 
 	incoming_call = linphone_core_get_current_call(pauline->lc);
-	linphone_core_accept_call(pauline->lc, incoming_call);
+	linphone_call_accept(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1));
 
 	outgoing_call = linphone_core_get_current_call(marie->lc);
 	params = linphone_core_create_call_params(marie->lc, outgoing_call);
 	linphone_call_params_enable_video(params, TRUE);
-	linphone_core_update_call(marie->lc, outgoing_call, params);
+	linphone_call_update(outgoing_call, params);
 	linphone_call_params_unref(params);
 	linphone_core_set_network_reachable(marie->lc, FALSE);
 	wait_for(marie->lc, pauline->lc, &marie->stat.number_of_NetworkReachableFalse, 1);
@@ -4448,13 +4416,13 @@ static void recovered_call_on_network_switch_during_reinvite_2(void) {
 	wait_for_until(marie->lc, pauline->lc, NULL, 1, 2000);
 	params = linphone_core_create_call_params(pauline->lc, incoming_call);
 	linphone_call_params_enable_video(params, TRUE);
-	linphone_core_accept_call_update(pauline->lc, incoming_call, params);
+	linphone_call_accept_update(incoming_call, params);
 	linphone_call_params_unref(params);
 
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 2));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 2));
 	wait_for_until(marie->lc, pauline->lc, NULL, 1, 2000);
-	linphone_core_terminate_call(pauline->lc, incoming_call);
+	linphone_call_terminate(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallEnd, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallReleased, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallReleased, 1));
@@ -4476,14 +4444,14 @@ static void recovered_call_on_network_switch_during_reinvite_3(void) {
 	if (!BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallOutgoingRinging, 1))) goto end;
 
 	incoming_call = linphone_core_get_current_call(pauline->lc);
-	linphone_core_accept_call(pauline->lc, incoming_call);
+	linphone_call_accept(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1));
 
 	outgoing_call = linphone_core_get_current_call(marie->lc);
 	params = linphone_core_create_call_params(marie->lc, outgoing_call);
 	linphone_call_params_enable_video(params, TRUE);
-	linphone_core_update_call(marie->lc, outgoing_call, params);
+	linphone_call_update(outgoing_call, params);
 	linphone_call_params_unref(params);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallUpdatedByRemote, 1));
 
@@ -4498,16 +4466,16 @@ static void recovered_call_on_network_switch_during_reinvite_3(void) {
 
 	params = linphone_core_create_call_params(marie->lc, outgoing_call);
 	linphone_call_params_enable_video(params, TRUE);
-	linphone_core_update_call(marie->lc, outgoing_call, params);
+	linphone_call_update(outgoing_call, params);
 	linphone_call_params_unref(params);
 	wait_for_until(marie->lc, pauline->lc, NULL, 1, 2000);
 	params = linphone_core_create_call_params(pauline->lc, incoming_call);
 	linphone_call_params_enable_video(params, TRUE);
-	linphone_core_accept_call_update(pauline->lc, incoming_call, params);
+	linphone_call_accept_update(incoming_call, params);
 	linphone_call_params_unref(params);
 
 	wait_for_until(marie->lc, pauline->lc, NULL, 1, 2000);
-	linphone_core_terminate_call(pauline->lc, incoming_call);
+	linphone_call_terminate(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallEnd, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallReleased, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallReleased, 1));
@@ -4529,20 +4497,20 @@ static void recovered_call_on_network_switch_during_reinvite_4(void) {
 	if (!BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallOutgoingRinging, 1))) goto end;
 
 	incoming_call = linphone_core_get_current_call(pauline->lc);
-	linphone_core_accept_call(pauline->lc, incoming_call);
+	linphone_call_accept(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1));
 
 	outgoing_call = linphone_core_get_current_call(marie->lc);
 	params = linphone_core_create_call_params(marie->lc, outgoing_call);
 	linphone_call_params_enable_video(params, TRUE);
-	linphone_core_update_call(marie->lc, outgoing_call, params);
+	linphone_call_update(outgoing_call, params);
 	linphone_call_params_unref(params);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallUpdatedByRemote, 1));
 
 	params = linphone_core_create_call_params(pauline->lc, incoming_call);
 	linphone_call_params_enable_video(params, TRUE);
-	linphone_core_accept_call_update(pauline->lc, incoming_call, params);
+	linphone_call_accept_update(incoming_call, params);
 	linphone_call_params_unref(params);
 	linphone_core_set_network_reachable(pauline->lc, FALSE);
 	wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_NetworkReachableFalse, 1);
@@ -4553,7 +4521,7 @@ static void recovered_call_on_network_switch_during_reinvite_4(void) {
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 2));
 
 	wait_for_until(marie->lc, pauline->lc, NULL, 1, 2000);
-	linphone_core_terminate_call(pauline->lc, incoming_call);
+	linphone_call_terminate(incoming_call);
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallEnd, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallReleased, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallReleased, 1));
@@ -4602,12 +4570,12 @@ static void _call_with_network_switch(bool_t use_ice, bool_t with_socket_refresh
 
 	if (caller_pause) {
 		pauline_call = linphone_core_get_current_call(pauline->lc);
-		linphone_core_pause_call(pauline->lc, pauline_call);
+		linphone_call_pause(pauline_call);
 		BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallPausedByRemote, 1));
 		BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallPaused, 1));
 	} else if (callee_pause) {
 		marie_call = linphone_core_get_current_call(marie->lc);
-		linphone_core_pause_call(marie->lc, marie_call);
+		linphone_call_pause(marie_call);
 		BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallPausedByRemote, 1));
 		BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallPaused, 1));
 	}
@@ -4634,14 +4602,14 @@ static void _call_with_network_switch(bool_t use_ice, bool_t with_socket_refresh
 		if (caller_pause) {
 			BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallUpdating, 1));
 			BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallPausedByRemote, 2));
-			linphone_core_resume_call(pauline->lc, pauline_call);
+			linphone_call_resume(pauline_call);
 			BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 2));
 			BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 2));
 		} else if (callee_pause) {
 			BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallUpdatedByRemote, 1));
 			BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallPausedByRemote, 2));
 			BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallPaused, 2));
-			linphone_core_resume_call(marie->lc, marie_call);
+			linphone_call_resume(marie_call);
 			BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 2));
 			BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 2));
 		} else {
@@ -4712,7 +4680,7 @@ static void call_with_network_switch_no_recovery(void){
 	/*marie looses the network and reconnects*/
 	linphone_core_set_network_reachable(marie->lc, FALSE);
 	/*but meanwhile pauline terminates the call.*/
-	linphone_core_terminate_call(pauline->lc, linphone_core_get_current_call(pauline->lc));
+	linphone_call_terminate(linphone_core_get_current_call(pauline->lc));
 	/*
 	 * We have to wait 32 seconds so that the BYE transaction is terminated, and dialog removed.
 	 * This is the condition to receive a 481 when marie sends the reINVITE.*/
@@ -5253,7 +5221,7 @@ static bool_t quick_call(LinphoneCoreManager *m1, LinphoneCoreManager *m2){
 	linphone_core_invite_address(m1->lc, m2->identity);
 	if (!BC_ASSERT_TRUE(wait_for(m1->lc, m2->lc, &m2->stat.number_of_LinphoneCallIncomingReceived, 1)))
 		return FALSE;
-	linphone_core_accept_call(m2->lc, linphone_core_get_current_call(m2->lc));
+	linphone_call_accept(linphone_core_get_current_call(m2->lc));
 	if (!BC_ASSERT_TRUE(wait_for(m1->lc, m2->lc, &m2->stat.number_of_LinphoneCallStreamsRunning, 1)))
 		return FALSE;
 	if (!BC_ASSERT_TRUE(wait_for(m1->lc, m2->lc, &m1->stat.number_of_LinphoneCallStreamsRunning, 1)))
diff --git a/tester/call_video_tester.c b/tester/call_video_tester.c
index cc221e9cd1a5d7459a150d7a1abe27f76f39e80d..a573ee3401a4524a7180acad90521a64cd11d740 100644
--- a/tester/call_video_tester.c
+++ b/tester/call_video_tester.c
@@ -26,7 +26,7 @@ static void call_paused_resumed_with_video_base_call_cb(LinphoneCore *lc, Linpho
 		LinphoneCallParams *params = linphone_core_create_call_params(lc, call);
 		linphone_call_params_enable_video(params, TRUE);
 		ms_message (" New state LinphoneCallUpdatedByRemote on call [%p], accepting with video on",call);
-		BC_ASSERT_NOT_EQUAL(linphone_core_accept_call_update(lc, call, params), 0, int, "%i");
+		BC_ASSERT_NOT_EQUAL(linphone_call_accept_update(call, params), 0, int, "%i");
 		linphone_call_params_unref(params);
 	}
 }
@@ -73,11 +73,11 @@ static void call_paused_resumed_with_video_base(bool_t sdp_200_ack
 		LinphoneCallParams *params = linphone_core_create_call_params(pauline->lc, call_pauline);
 		linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendOnly);
 		linphone_call_params_set_video_direction(params,LinphoneMediaDirectionInactive);
-		linphone_core_update_call(pauline->lc, call_pauline, params);
+		linphone_call_update(call_pauline, params);
 		linphone_call_params_unref(params);
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallUpdating,1));
 	} else {
-		linphone_core_pause_call(pauline->lc,call_pauline);
+		linphone_call_pause(call_pauline);
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPausing,1));
 	}
 	BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausedByRemote,1));
@@ -108,7 +108,7 @@ static void call_paused_resumed_with_video_base(bool_t sdp_200_ack
 		LinphoneCallParams *params = linphone_core_create_call_params(pauline->lc, call_pauline);
 		linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendOnly);
 		linphone_call_params_set_video_direction(params,LinphoneMediaDirectionInactive);
-		linphone_core_update_call(pauline->lc,call_pauline,params);
+		linphone_call_update(call_pauline,params);
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausedByRemote,2));
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallUpdating,1));
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,3));
@@ -117,11 +117,11 @@ static void call_paused_resumed_with_video_base(bool_t sdp_200_ack
 		if (with_call_accept) {
 			linphone_core_add_listener(marie->lc, vtable);
 		}
-		linphone_core_update_call(pauline->lc,call_pauline,params);
+		linphone_call_update(call_pauline,params);
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,4));
 		linphone_call_params_unref(params);
 	} else {
-		linphone_core_resume_call(pauline->lc, call_pauline);
+		linphone_call_resume(call_pauline);
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallResuming,1));
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2));
 	}
@@ -168,7 +168,7 @@ static void call_state_changed_callback_to_accept_video(LinphoneCore *lc, Linpho
 	if (state == LinphoneCallUpdatedByRemote){		
 		LinphoneCallParams *params = linphone_core_create_call_params(lc, call);
 		linphone_call_params_enable_video(params, TRUE);
-		linphone_core_accept_call_update(lc, call, params);
+		linphone_call_accept_update(call, params);
 		linphone_call_params_unref(params);
 	}
 	ms_message("video acceptance listener about to be dropped");
@@ -208,7 +208,7 @@ static LinphoneCall* _request_video(LinphoneCoreManager* caller,LinphoneCoreMana
 		callee_params = linphone_core_create_call_params(callee->lc, call_obj);
 		/*add video*/
 		linphone_call_params_enable_video(callee_params,TRUE);
-		linphone_core_update_call(callee->lc,call_obj,callee_params);
+		linphone_call_update(call_obj,callee_params);
 		linphone_call_params_unref(callee_params);
 	}
 	return call_obj;
@@ -309,7 +309,7 @@ static bool_t remove_video(LinphoneCoreManager *caller, LinphoneCoreManager *cal
 		callee_params = linphone_core_create_call_params(callee->lc, call_obj);
 		/* Remove video. */
 		linphone_call_params_enable_video(callee_params, FALSE);
-		linphone_core_update_call(callee->lc, call_obj, callee_params);
+		linphone_call_update(call_obj, callee_params);
 		linphone_call_params_unref(callee_params);
 
 		BC_ASSERT_TRUE(wait_for(caller->lc, callee->lc, &caller->stat.number_of_LinphoneCallUpdatedByRemote, initial_caller_stat.number_of_LinphoneCallUpdatedByRemote + 1));
@@ -969,7 +969,7 @@ static void _call_with_ice_video(LinphoneVideoPolicy caller_policy, LinphoneVide
 		BC_ASSERT_TRUE(linphone_call_params_video_enabled(marie_remote_params) == caller_policy.automatically_initiate);
 	}
 	
-	linphone_core_accept_call(marie->lc, linphone_core_get_current_call(marie->lc));
+	linphone_call_accept(linphone_core_get_current_call(marie->lc));
 	BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1)
 		&& wait_for(pauline->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 1));
 	
@@ -1179,7 +1179,7 @@ static void video_call_with_early_media_no_matching_audio_codecs(void) {
 	pauline_call = linphone_core_get_current_call(pauline->lc);
 	if (!pauline_call) goto end;
 
-	linphone_core_accept_early_media(pauline->lc, pauline_call);
+	linphone_call_accept_early_media(pauline_call);
 
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallIncomingEarlyMedia, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallOutgoingEarlyMedia, 1));
@@ -1189,7 +1189,7 @@ static void video_call_with_early_media_no_matching_audio_codecs(void) {
 	BC_ASSERT_TRUE(linphone_call_params_video_enabled(linphone_call_get_current_params(out_call)));
 	BC_ASSERT_TRUE(linphone_call_params_video_enabled(linphone_call_get_current_params(pauline_call)));
 
-	linphone_core_accept_call(pauline->lc, pauline_call);
+	linphone_call_accept(pauline_call);
 
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 1));
@@ -1275,7 +1275,7 @@ static void accept_call_in_send_only_base(LinphoneCoreManager* pauline, Linphone
 		params=linphone_core_create_call_params(marie->lc, NULL);
 		linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendOnly);
 		linphone_call_params_set_video_direction(params,LinphoneMediaDirectionSendOnly);
-		linphone_core_accept_call_with_params(marie->lc,call,params);
+		linphone_call_accept_with_params(call,params);
 		linphone_call_params_unref(params);
 
 		BC_ASSERT_TRUE(wait_for_list(lcs, &marie->stat.number_of_LinphoneCallStreamsRunning,1,DEFAULT_WAIT_FOR));
@@ -1426,7 +1426,7 @@ static void multiple_early_media(void) {
 		BC_ASSERT_GREATER(linphone_core_manager_get_mean_audio_down_bw(marie1), 70, int, "%i");
 		BC_ASSERT_GREATER(linphone_core_manager_get_mean_audio_down_bw(marie2), 70, int, "%i");
 
-		linphone_core_accept_call(marie1->lc,linphone_core_get_current_call(marie1->lc));
+		linphone_call_accept(linphone_core_get_current_call(marie1->lc));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie1->stat.number_of_LinphoneCallStreamsRunning,1,3000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallStreamsRunning,1,3000));
 
@@ -1482,7 +1482,7 @@ static void audio_call_with_ice_with_video_policy_enabled(void){
 
 	linphone_core_invite_address(pauline->lc, marie->identity);
 	if (!BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallIncomingReceived, 1))) goto end;
-	linphone_core_accept_call(marie->lc, linphone_core_get_current_call(marie->lc));
+	linphone_call_accept(linphone_core_get_current_call(marie->lc));
 	/*
 	LinphoneCallParams *params;
 	params = linphone_core_create_call_params(marie->lc, linphone_core_get_current_call(marie->lc));
@@ -1494,7 +1494,7 @@ static void audio_call_with_ice_with_video_policy_enabled(void){
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 2));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 2));
 
-	linphone_core_pause_call(marie->lc, linphone_core_get_current_call(marie->lc));
+	linphone_call_pause(linphone_core_get_current_call(marie->lc));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallPausedByRemote, 1));
 	BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallPaused, 1));
 
@@ -1564,7 +1564,7 @@ static void classic_video_entry_phone_setup(void) {
 	early_media_params = linphone_core_create_call_params(callee_mgr->lc, callee_call);
 	linphone_call_params_set_audio_direction(early_media_params, LinphoneMediaDirectionInactive);
 	linphone_call_params_set_video_direction(early_media_params, LinphoneMediaDirectionRecvOnly);
-	linphone_core_accept_early_media_with_params(callee_mgr->lc, callee_call, early_media_params);
+	linphone_call_accept_early_media_with_params(callee_call, early_media_params);
 	linphone_call_params_unref(early_media_params);
 
 	while ((caller_mgr->stat.number_of_LinphoneCallOutgoingEarlyMedia != 1) && (retry++ < 100)) {
@@ -1580,7 +1580,7 @@ static void classic_video_entry_phone_setup(void) {
 	in_call_params = linphone_core_create_call_params(callee_mgr->lc, callee_call);
 	linphone_call_params_set_audio_direction(in_call_params, LinphoneMediaDirectionSendRecv);
 	linphone_call_params_set_video_direction(in_call_params, LinphoneMediaDirectionSendRecv);
-	linphone_core_accept_call_with_params(callee_mgr->lc, callee_call, in_call_params);
+	linphone_call_accept_with_params(callee_call, in_call_params);
 	linphone_call_params_unref(in_call_params);
 
 	BC_ASSERT_TRUE(wait_for(callee_mgr->lc, caller_mgr->lc, &callee_mgr->stat.number_of_LinphoneCallConnected, 1));
@@ -1596,7 +1596,7 @@ static void classic_video_entry_phone_setup(void) {
 	in_call_params = linphone_core_create_call_params(callee_mgr->lc, callee_call);
 	linphone_call_params_set_audio_direction(in_call_params, LinphoneMediaDirectionRecvOnly);
 	linphone_call_params_set_video_direction(in_call_params, LinphoneMediaDirectionSendOnly);
-	linphone_core_update_call(callee_mgr->lc, callee_call, in_call_params);
+	linphone_call_update(callee_call, in_call_params);
 	linphone_call_params_unref(in_call_params);
 
 	ok = wait_for_until(callee_mgr->lc, caller_mgr->lc, &caller_mgr->stat.number_of_LinphoneCallStreamsRunning, 2, 2000)
@@ -1693,7 +1693,7 @@ static void video_call_with_re_invite_inactive_followed_by_re_invite_base(Linpho
 		linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionInactive);
 		linphone_call_params_set_video_direction(params,LinphoneMediaDirectionInactive);
 
-		linphone_core_update_call(marie->lc, linphone_core_get_current_call(marie->lc),params);
+		linphone_call_update(linphone_core_get_current_call(marie->lc),params);
 		linphone_call_params_unref(params);
 
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,1));
@@ -1710,7 +1710,7 @@ static void video_call_with_re_invite_inactive_followed_by_re_invite_base(Linpho
 		params=linphone_core_create_call_params(marie->lc,linphone_core_get_current_call(marie->lc));
 		linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendRecv);
 		linphone_call_params_set_video_direction(params,LinphoneMediaDirectionSendRecv);
-		linphone_core_update_call(marie->lc,linphone_core_get_current_call(marie->lc),params);
+		linphone_call_update(linphone_core_get_current_call(marie->lc),params);
 		linphone_call_params_unref(params);
 
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,3));
diff --git a/tester/complex_sip_case_tester.c b/tester/complex_sip_case_tester.c
index 188f520178be538da338a3648b5f91d116c4faf5..3e2a566affe6f97593057eba054f09bb65db4a60 100644
--- a/tester/complex_sip_case_tester.c
+++ b/tester/complex_sip_case_tester.c
@@ -132,7 +132,7 @@ static void sip_update_within_icoming_reinvite_with_no_sdp(void) {
 
 	if (sipp_out) {
 		BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallIncomingReceived, 1));
-		linphone_core_accept_call(mgr->lc, linphone_core_get_current_call(mgr->lc));
+		linphone_call_accept(linphone_core_get_current_call(mgr->lc));
 		BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallStreamsRunning, 2));
 		BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallEnd, 1));
 		pclose(sipp_out);
@@ -165,7 +165,7 @@ static void call_with_audio_mline_before_video_in_sdp(void) {
 		call = linphone_core_get_current_call(mgr->lc);
 		BC_ASSERT_PTR_NOT_NULL(call);
 		if (call) {
-			linphone_core_accept_call(mgr->lc, call);
+			linphone_call_accept(call);
 			BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallStreamsRunning, 1));
 			BC_ASSERT_EQUAL(call->main_audio_stream_index, 0, int, "%d");
 			BC_ASSERT_EQUAL(call->main_video_stream_index, 1, int, "%d");
@@ -206,7 +206,7 @@ static void call_with_video_mline_before_audio_in_sdp(void) {
 		call = linphone_core_get_current_call(mgr->lc);
 		BC_ASSERT_PTR_NOT_NULL(call);
 		if (call) {
-			linphone_core_accept_call(mgr->lc, call);
+			linphone_call_accept(call);
 			BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallStreamsRunning, 1));
 			BC_ASSERT_EQUAL(call->main_audio_stream_index, 1, int, "%d");
 			BC_ASSERT_EQUAL(call->main_video_stream_index, 0, int, "%d");
@@ -247,7 +247,7 @@ static void call_with_multiple_audio_mline_in_sdp(void) {
 		call = linphone_core_get_current_call(mgr->lc);
 		BC_ASSERT_PTR_NOT_NULL(call);
 		if (call) {
-			linphone_core_accept_call(mgr->lc, call);
+			linphone_call_accept(call);
 			BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallStreamsRunning, 1));
 			BC_ASSERT_EQUAL(call->main_audio_stream_index, 0, int, "%d");
 			BC_ASSERT_EQUAL(call->main_video_stream_index, 2, int, "%d");
@@ -288,7 +288,7 @@ static void call_with_multiple_video_mline_in_sdp(void) {
 		call = linphone_core_get_current_call(mgr->lc);
 		BC_ASSERT_PTR_NOT_NULL(call);
 		if (call) {
-			linphone_core_accept_call(mgr->lc, call);
+			linphone_call_accept(call);
 			BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallStreamsRunning, 1));
 			BC_ASSERT_EQUAL(call->main_audio_stream_index, 0, int, "%d");
 			BC_ASSERT_EQUAL(call->main_video_stream_index, 1, int, "%d");
@@ -335,7 +335,7 @@ static void call_invite_200ok_without_contact_header(void) {
 		BC_ASSERT_FALSE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallConnected, 1));
 		BC_ASSERT_EQUAL(mgr->stat.number_of_LinphoneCallEnd, 0, int, "%d");
 		BC_ASSERT_EQUAL(mgr->stat.number_of_LinphoneCallError, 0, int, "%d");
-		linphone_core_terminate_call(mgr->lc, call);
+		linphone_call_terminate(call);
 		BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallEnd, 1));
 		BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallReleased, 1));
 		pclose(sipp_out);
diff --git a/tester/dtmf_tester.c b/tester/dtmf_tester.c
index abfeef7cb6de9f5ee24df1ac5a9d1f1ab7ec6cd2..65a45f0a63037b13204cdd8c8380f8b811fb2af4 100644
--- a/tester/dtmf_tester.c
+++ b/tester/dtmf_tester.c
@@ -145,7 +145,7 @@ static void send_dtmfs_sequence_call_state_changed(void) {
 		/*very long DTMF(around 4 sec to be sent)*/
 		linphone_call_send_dtmfs(marie_call, "123456789123456789");
 		/*just after, change call state, and expect DTMF to be canceled*/
-		linphone_core_pause_call(marie_call->core,marie_call);
+		linphone_call_pause(marie_call);
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallPausing,1));
 		BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallPaused,1));
 
diff --git a/tester/flexisip_tester.c b/tester/flexisip_tester.c
index ec220d3ed07b1870633f45b8dacbee898b1c7db6..6ce97e998278f72623b2f3c28de198b3dba71d15 100644
--- a/tester/flexisip_tester.c
+++ b/tester/flexisip_tester.c
@@ -221,7 +221,7 @@ static void call_forking(void){
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie3->stat.number_of_LinphoneCallIncomingReceived,1,3000));
 
 	/*marie accepts the call on its first device*/
-	linphone_core_accept_call(marie->lc,linphone_core_get_current_call(marie->lc));
+	linphone_call_accept(linphone_core_get_current_call(marie->lc));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallConnected,1,1000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallStreamsRunning,1,1000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallConnected,1,1000));
@@ -231,7 +231,7 @@ static void call_forking(void){
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie2->stat.number_of_LinphoneCallEnd,1,1000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie3->stat.number_of_LinphoneCallEnd,1,1000));
 
-	linphone_core_terminate_call(pauline->lc,linphone_core_get_current_call(pauline->lc));
+	linphone_call_terminate(linphone_core_get_current_call(pauline->lc));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,1000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallEnd,1,1000));
 
@@ -270,13 +270,13 @@ static void call_forking_with_urgent_reply(void){
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallIncomingReceived,1,1000));
 
 		/*marie accepts the call on its first device*/
-		linphone_core_accept_call(marie->lc,linphone_core_get_current_call(marie->lc));
+		linphone_call_accept(linphone_core_get_current_call(marie->lc));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallConnected,1,1000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallStreamsRunning,1,1000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallConnected,1,1000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallStreamsRunning,1,1000));
 
-		linphone_core_terminate_call(pauline->lc,linphone_core_get_current_call(pauline->lc));
+		linphone_call_terminate(linphone_core_get_current_call(pauline->lc));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,1000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallEnd,1,1000));
 	}
@@ -312,7 +312,7 @@ static void call_forking_cancelled(void){
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie3->stat.number_of_LinphoneCallIncomingReceived,1,1000));
 
 	/*pauline finally cancels the call*/
-	linphone_core_terminate_call(pauline->lc,linphone_core_get_current_call(pauline->lc));
+	linphone_call_terminate(linphone_core_get_current_call(pauline->lc));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,1000));
 
 	/*all devices should stop ringing*/
@@ -352,7 +352,7 @@ static void call_forking_declined(bool_t declined_globaly){
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie3->stat.number_of_LinphoneCallIncomingReceived,1,1000));
 
 	/*marie finally declines the call*/
-	linphone_core_decline_call(marie->lc,linphone_core_get_current_call(marie->lc),
+	linphone_call_decline(linphone_core_get_current_call(marie->lc),
 		declined_globaly ? LinphoneReasonDeclined : LinphoneReasonBusy
 	);
 
@@ -364,13 +364,13 @@ static void call_forking_declined(bool_t declined_globaly){
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie3->stat.number_of_LinphoneCallEnd,1,1000));
 	}else{
 		/*pauline should continue ringing and be able to hear a call taken by marie2 */
-		linphone_core_accept_call(marie2->lc, linphone_core_get_current_call(marie2->lc));
+		linphone_call_accept(linphone_core_get_current_call(marie2->lc));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallStreamsRunning,1,2000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie2->stat.number_of_LinphoneCallStreamsRunning,1,2000));
 		liblinphone_tester_check_rtcp(pauline,marie2);
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallEnd,1,3000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie3->stat.number_of_LinphoneCallEnd,1,3000));
-		linphone_core_terminate_call(marie2->lc,linphone_core_get_current_call(marie2->lc));
+		linphone_call_terminate(linphone_core_get_current_call(marie2->lc));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie2->stat.number_of_LinphoneCallEnd,1,3000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,3000));
 	}
@@ -423,7 +423,7 @@ static void call_forking_with_push_notification_single(void){
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallOutgoingRinging,1,1000));
 
 	/*marie accepts the call*/
-	linphone_core_accept_call(marie->lc,linphone_core_get_current_call(marie->lc));
+	linphone_call_accept(linphone_core_get_current_call(marie->lc));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallConnected,1,5000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallStreamsRunning,1,1000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallConnected,1,1000));
@@ -431,7 +431,7 @@ static void call_forking_with_push_notification_single(void){
 
 	liblinphone_tester_check_rtcp(pauline,marie);
 
-	linphone_core_terminate_call(pauline->lc,linphone_core_get_current_call(pauline->lc));
+	linphone_call_terminate(linphone_core_get_current_call(pauline->lc));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,5000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallEnd,1,5000));
 
@@ -471,7 +471,7 @@ static void call_forking_with_push_notification_multiple(void){
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie2->stat.number_of_LinphoneCallIncomingReceived,1,5000));
 
 	/*marie2 accepts the call*/
-	linphone_core_accept_call(marie2->lc,linphone_core_get_current_call(marie2->lc));
+	linphone_call_accept(linphone_core_get_current_call(marie2->lc));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallConnected,1,1000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallStreamsRunning,1,1000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie2->stat.number_of_LinphoneCallConnected,1,1000));
@@ -482,7 +482,7 @@ static void call_forking_with_push_notification_multiple(void){
 
 	liblinphone_tester_check_rtcp(pauline,marie2);
 
-	linphone_core_terminate_call(pauline->lc,linphone_core_get_current_call(pauline->lc));
+	linphone_call_terminate(linphone_core_get_current_call(pauline->lc));
 
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,1000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie2->stat.number_of_LinphoneCallEnd,1,1000));
@@ -584,7 +584,7 @@ static void early_media_call_forking(void) {
 	BC_ASSERT_GREATER(linphone_core_manager_get_mean_audio_down_bw(marie2), 60, int, "%d");
 	BC_ASSERT_LOWER(linphone_core_manager_get_mean_audio_down_bw(marie2), 99, int, "%d");
 
-	linphone_core_accept_call(marie->lc,linphone_core_get_current_call(marie->lc));
+	linphone_call_accept(linphone_core_get_current_call(marie->lc));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallStreamsRunning,1,3000));
 	BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallStreamsRunning,1,3000));
 
@@ -628,7 +628,7 @@ static void call_with_sips(void){
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline1->stat.number_of_LinphoneCallIncomingReceived,1,1000));
 
 		/*pauline accepts the call */
-		linphone_core_accept_call(pauline1->lc,linphone_core_get_current_call(pauline1->lc));
+		linphone_call_accept(linphone_core_get_current_call(pauline1->lc));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline1->stat.number_of_LinphoneCallConnected,1,1000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline1->stat.number_of_LinphoneCallStreamsRunning,1,1000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallConnected,1,1000));
@@ -637,7 +637,7 @@ static void call_with_sips(void){
 		/*pauline2 should not have ring*/
 		BC_ASSERT_EQUAL(pauline2->stat.number_of_LinphoneCallIncomingReceived, 0, int, "%d");
 
-		linphone_core_terminate_call(pauline1->lc,linphone_core_get_current_call(pauline1->lc));
+		linphone_call_terminate(linphone_core_get_current_call(pauline1->lc));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&pauline1->stat.number_of_LinphoneCallEnd,1,3000));
 		BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallEnd,1,3000));
 
diff --git a/tester/offeranswer_tester.c b/tester/offeranswer_tester.c
index fd0d98a924804c4044f7df0fa1b752ff562ce8d0..0b94a1148648f6621547b480dd54784d47d673d0 100644
--- a/tester/offeranswer_tester.c
+++ b/tester/offeranswer_tester.c
@@ -59,13 +59,13 @@ static void check_payload_type_numbers(LinphoneCall *call1, LinphoneCall *call2,
 	const PayloadType *pt=linphone_call_params_get_used_audio_codec(params);
 	BC_ASSERT_PTR_NOT_NULL(pt);
 	if (pt){
-		BC_ASSERT_EQUAL(linphone_core_get_payload_type_number(linphone_call_get_core(call1),pt),expected_number, int, "%d");
+		BC_ASSERT_EQUAL(linphone_payload_type_get_number(pt),expected_number, int, "%d");
 	}
 	params=linphone_call_get_current_params(call2);
 	pt=linphone_call_params_get_used_audio_codec(params);
 	BC_ASSERT_PTR_NOT_NULL(pt);
 	if (pt){
-		BC_ASSERT_EQUAL(linphone_core_get_payload_type_number(linphone_call_get_core(call1),pt),expected_number, int, "%d");
+		BC_ASSERT_EQUAL(linphone_payload_type_get_number(pt),expected_number, int, "%d");
 	}
 }
 
@@ -81,9 +81,7 @@ static void simple_call_with_different_codec_mappings(void) {
 	disable_all_audio_codecs_except_one(pauline->lc,"pcmu",-1);
 
 	/*marie set a fantasy number to PCMU*/
-	linphone_core_set_payload_type_number(marie->lc,
-		linphone_core_find_payload_type(marie->lc, "PCMU", 8000, -1),
-		104);
+	linphone_payload_type_set_number(linphone_core_find_payload_type(marie->lc, "PCMU", 8000, -1), 104);
 
 	BC_ASSERT_TRUE(call(marie,pauline));
 	pauline_call=linphone_core_get_current_call(pauline->lc);
@@ -92,7 +90,7 @@ static void simple_call_with_different_codec_mappings(void) {
 		LinphoneCallParams *params;
 		check_payload_type_numbers(linphone_core_get_current_call(marie->lc), pauline_call, 104);
 		/*make a reinvite in the other direction*/
-		linphone_core_update_call(pauline->lc, pauline_call,
+		linphone_call_update(pauline_call,
 			params=linphone_core_create_call_params(pauline->lc, pauline_call));
 		linphone_call_params_unref(params);
 		BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallUpdating,1));
diff --git a/tester/quality_reporting_tester.c b/tester/quality_reporting_tester.c
index 4d50214c8a010063b2aada91e5a00afa11cd796c..ef0343f7af3454ec523698bcd089e509dfd536f9 100644
--- a/tester/quality_reporting_tester.c
+++ b/tester/quality_reporting_tester.c
@@ -310,7 +310,7 @@ static void quality_reporting_session_report_if_video_stopped(void) {
 		linphone_call_params_unref(pauline_params);
 		pauline_params=linphone_core_create_call_params(pauline->lc, call_pauline);
 		linphone_call_params_enable_video(pauline_params,FALSE);
-		linphone_core_update_call(pauline->lc,call_pauline,pauline_params);
+		linphone_call_update(call_pauline,pauline_params);
 		linphone_call_params_unref(pauline_params);
 
 		BC_ASSERT_TRUE(wait_for_until(marie->lc,pauline->lc,&marie->stat.number_of_LinphonePublishProgress,1,10000));
diff --git a/tester/tester.c b/tester/tester.c
index c394f7985d8ec96aa2fe0b6ad7d6a01277f68eb2..538e71917a9ab945f3095d4eb0fa2d9a65500cd9 100644
--- a/tester/tester.c
+++ b/tester/tester.c
@@ -819,7 +819,7 @@ static void linphone_conference_server_call_state_changed(LinphoneCore *lc, Linp
 
 	switch(cstate) {
 		case LinphoneCallIncomingReceived:
-			linphone_core_accept_call(lc, call);
+			linphone_call_accept(call);
 			break;
 
 		case LinphoneCallStreamsRunning:
@@ -855,7 +855,7 @@ static void linphone_conference_server_refer_received(LinphoneCore *core, const
 		linphone_address_clean(refer_to_addr);
 		uri = linphone_address_as_string_uri_only(refer_to_addr);
 		call = linphone_core_find_call_from_uri(core, uri);
-		if(call) linphone_core_terminate_call(core, call);
+		if(call) linphone_call_terminate(call);
 		ms_free(uri);
 	}
 	linphone_address_unref(refer_to_addr);
diff --git a/tester/video_tester.c b/tester/video_tester.c
index 843e9e2367852a238fa0eecd23b33744f603640b..f9c6246a467194ae29394d47c6cffe8b307fcb86 100644
--- a/tester/video_tester.c
+++ b/tester/video_tester.c
@@ -133,7 +133,7 @@ static void early_media_video_call_state_changed(LinphoneCore *lc, LinphoneCall
 			linphone_call_params_enable_video(params, TRUE);
 			linphone_call_params_set_audio_direction(params, LinphoneMediaDirectionSendOnly);
 			linphone_call_params_set_video_direction(params, LinphoneMediaDirectionRecvOnly);
-			linphone_core_accept_early_media_with_params(lc, call, params);
+			linphone_call_accept_early_media_with_params(call, params);
 			linphone_call_params_unref(params);
 			break;
 		default:
@@ -151,7 +151,7 @@ static void early_media_video_call_state_changed_with_inactive_audio(LinphoneCor
 			linphone_call_params_enable_video(params, TRUE);
 			linphone_call_params_set_audio_direction(params, LinphoneMediaDirectionInactive);
 			linphone_call_params_set_video_direction(params, LinphoneMediaDirectionRecvOnly);
-			linphone_core_accept_early_media_with_params(lc, call, params);
+			linphone_call_accept_early_media_with_params(call, params);
 			linphone_call_params_unref(params);
 			break;
 		default:
@@ -201,7 +201,7 @@ static bool_t video_call_with_params(LinphoneCoreManager* caller_mgr, LinphoneCo
 	}
 
 	if (automatically_accept == TRUE) {
-		linphone_core_accept_call_with_params(callee_mgr->lc, linphone_core_get_current_call(callee_mgr->lc), callee_params);
+		linphone_call_accept_with_params(linphone_core_get_current_call(callee_mgr->lc), callee_params);
 
 		BC_ASSERT_TRUE(wait_for(callee_mgr->lc, caller_mgr->lc, &callee_mgr->stat.number_of_LinphoneCallConnected, initial_callee.number_of_LinphoneCallConnected + 1));
 		BC_ASSERT_TRUE(wait_for(callee_mgr->lc, caller_mgr->lc, &caller_mgr->stat.number_of_LinphoneCallConnected, initial_callee.number_of_LinphoneCallConnected + 1));
@@ -341,7 +341,7 @@ static void two_incoming_early_media_video_calls_test(void) {
 			LinphoneCallParams *params = linphone_call_params_copy(linphone_call_get_current_params(call));
 			linphone_call_params_set_audio_direction(params, LinphoneMediaDirectionSendRecv);
 			linphone_call_params_set_video_direction(params, LinphoneMediaDirectionSendRecv);
-			linphone_core_accept_call_with_params(marie->lc, call, params);
+			linphone_call_accept_with_params(call, params);
 			linphone_call_params_unref(params);
 
 			/* Wait for 5s. */
@@ -484,7 +484,7 @@ static void forked_outgoing_early_media_video_call_with_inactive_audio_test(void
 		BC_ASSERT_GREATER(marie2->stat.number_of_IframeDecoded, 1, int, "%i");
 
 		linphone_call_params_set_audio_direction(marie1_params, LinphoneMediaDirectionSendRecv);
-		linphone_core_accept_call_with_params(marie1->lc, linphone_core_get_current_call(marie1->lc), marie1_params);
+		linphone_call_accept_with_params(linphone_core_get_current_call(marie1->lc), marie1_params);
 		BC_ASSERT_TRUE(wait_for_list(lcs, &marie1->stat.number_of_LinphoneCallStreamsRunning, 1, 3000));
 		BC_ASSERT_TRUE(wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallStreamsRunning, 1, 3000));
 
@@ -540,7 +540,7 @@ static void enable_disable_camera_after_camera_switches(void) {
 		ms_message("Switching from [%s] to [%s]", currentCamId, newCamId);
 		linphone_core_set_video_device(marie->lc, newCamId);
 		if(call != NULL) {
-			linphone_core_update_call(marie->lc, call, NULL);
+			linphone_call_update(call, NULL);
 		}
 		BC_ASSERT_STRING_EQUAL(newCamId,ms_web_cam_get_string_id(linphone_call_get_video_device(call)));
 		linphone_call_enable_camera(call,FALSE);