[Pkg-voip-commits] [linphone] 06/07: Import Debian patch 3.6.1-2.5

Bernhard Schmidt berni at moszumanska.debian.org
Wed Nov 16 07:15:58 UTC 2016


This is an automated email from the git hooks/post-receive script.

berni pushed a commit to branch jessie
in repository linphone.

commit a47d2b526ff5390acd474063b3d0321cbcef914d
Author: Mattia Rizzolo <mattia at debian.org>
Date:   Mon Jan 18 11:48:25 2016 +0000

    Import Debian patch 3.6.1-2.5
---
 debian/changelog                      |  14 ++
 debian/control                        |   2 +-
 debian/linphone.menu                  |   3 -
 debian/patches/ffmpeg_2.9.patch       | 287 ++++++++++++++++++++++++++++++++++
 debian/patches/port-to-exosip-4.patch | 245 +++++++++++++++--------------
 debian/patches/series                 |   1 +
 6 files changed, 429 insertions(+), 123 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 4eb148f..a2e690c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+linphone (3.6.1-2.5) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Upload to superseed an arch:all binNMU done by accident.  Closes: #809970
+  * Bump Standards-Version to 3.9.6, no changes needed.
+  * Remove menu file, as per CTTE decision on #741573.
+  * Update patch for port-to-exosip-4 to cope with another function deprecation.
+    Thanks to Michael Stapelberg <stapelberg at debian.org> for the patch.
+    Closes: #810679
+  * Add patch from Andreas Cadhalpun <andreas.cadhalpun at googlemail.com> to have
+    linphone build with ffmpeg 2.9.  Closes: #803838
+
+ -- Mattia Rizzolo <mattia at debian.org>  Mon, 18 Jan 2016 11:48:25 +0000
+
 linphone (3.6.1-2.4) unstable; urgency=medium
 
   * Non-maintainer upload.
diff --git a/debian/control b/debian/control
index 6ae0c17..e903b83 100644
--- a/debian/control
+++ b/debian/control
@@ -30,7 +30,7 @@ Build-Depends: debhelper (>= 9),
 #
 # OpenSSL requires upstream licence update
 # libssl-dev,
-Standards-Version: 3.9.4
+Standards-Version: 3.9.6
 Homepage: http://www.linphone.org/
 Vcs-Svn: svn://svn.debian.org/pkg-voip/linphone/trunk/
 Vcs-Browser: http://anonscm.debian.org/viewvc/pkg-voip/linphone/trunk/
diff --git a/debian/linphone.menu b/debian/linphone.menu
deleted file mode 100644
index e4917d6..0000000
--- a/debian/linphone.menu
+++ /dev/null
@@ -1,3 +0,0 @@
-?package(linphone):needs="X11" section="Applications/Network/Communication" \
-  title="Linphone" command="/usr/bin/linphone" hints="Telephony"\
-  icon="/usr/share/pixmaps/linphone/linphone2.xpm"
diff --git a/debian/patches/ffmpeg_2.9.patch b/debian/patches/ffmpeg_2.9.patch
new file mode 100644
index 0000000..88cc4e5
--- /dev/null
+++ b/debian/patches/ffmpeg_2.9.patch
@@ -0,0 +1,287 @@
+Description: Replace deprecated FFmpeg API
+Author: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+Last-Update: 2015-11-02
+
+--- linphone-3.6.1.orig/mediastreamer2/src/videofilters/h264dec.c
++++ linphone-3.6.1/mediastreamer2/src/videofilters/h264dec.c
+@@ -119,7 +119,7 @@ static mblk_t *get_as_yuvmsg(MSFilter *f
+ 		s->outbuf.w=ctx->width;
+ 		s->outbuf.h=ctx->height;
+ 		s->sws_ctx=sws_getContext(ctx->width,ctx->height,ctx->pix_fmt,
+-			ctx->width,ctx->height,PIX_FMT_YUV420P,SWS_FAST_BILINEAR,
++			ctx->width,ctx->height,AV_PIX_FMT_YUV420P,SWS_FAST_BILINEAR,
+                 	NULL, NULL, NULL);
+ 	}
+ #if LIBSWSCALE_VERSION_INT >= AV_VERSION_INT(0,9,0)	
+@@ -245,7 +245,7 @@ static void dec_process(MSFilter *f){
+ 	DecData *d=(DecData*)f->data;
+ 	mblk_t *im;
+ 	MSQueue nalus;
+-	AVFrame orig;
++	AVFrame *orig = av_frame_alloc();
+ 	ms_queue_init(&nalus);
+ 	while((im=ms_queue_get(f->inputs[0]))!=NULL){
+ 		/*push the sps/pps given in sprop-parameter-sets if any*/
+@@ -272,11 +272,11 @@ static void dec_process(MSFilter *f){
+ 				int len;
+ 				int got_picture=0;
+ 				AVPacket pkt;
+-				avcodec_get_frame_defaults(&orig);
++				av_frame_unref(orig);
+ 				av_init_packet(&pkt);
+ 				pkt.data = p;
+ 				pkt.size = end-p;
+-				len=avcodec_decode_video2(&d->av_context,&orig,&got_picture,&pkt);
++				len=avcodec_decode_video2(&d->av_context,orig,&got_picture,&pkt);
+ 				if (len<=0) {
+ 					ms_warning("ms_AVdecoder_process: error %i.",len);
+ 					if ((f->ticker->time - d->last_error_reported_time)>5000 || d->last_error_reported_time==0) {
+@@ -286,7 +286,7 @@ static void dec_process(MSFilter *f){
+ 					break;
+ 				}
+ 				if (got_picture) {
+-					ms_queue_put(f->outputs[0],get_as_yuvmsg(f,d,&orig));
++					ms_queue_put(f->outputs[0],get_as_yuvmsg(f,d,orig));
+ 					if (!d->first_image_decoded) {
+ 						ms_filter_notify_no_arg(f,MS_VIDEO_DECODER_FIRST_IMAGE_DECODED);
+ 						d->first_image_decoded = TRUE;
+@@ -297,6 +297,7 @@ static void dec_process(MSFilter *f){
+ 		}
+ 		d->packet_num++;
+ 	}
++	av_frame_free(&orig);
+ }
+ 
+ static int dec_add_fmtp(MSFilter *f, void *arg){
+--- linphone-3.6.1.orig/mediastreamer2/src/videofilters/jpegwriter.c
++++ linphone-3.6.1/mediastreamer2/src/videofilters/jpegwriter.c
+@@ -84,7 +84,7 @@ static void jpg_process(MSFilter *f){
+ 		mblk_t *m=ms_queue_peek_last(f->inputs[0]);
+ 		if (ms_yuv_buf_init_from_mblk(&yuvbuf,m)==0){
+ 			int error, got_output;
+-			AVFrame pict;
++			AVFrame *pict = av_frame_alloc();
+ 			AVPacket pkt = { 0 };
+ 			mblk_t *jpegm;
+ 			struct SwsContext *sws_ctx;
+@@ -95,20 +95,22 @@ static void jpg_process(MSFilter *f){
+ 			avctx->height=yuvbuf.h;
+ 			avctx->time_base.num = 1;
+ 			avctx->time_base.den =1;
+-			avctx->pix_fmt=PIX_FMT_YUVJ420P;
++			avctx->pix_fmt=AV_PIX_FMT_YUVJ420P;
+ 
+ 			error=avcodec_open(avctx,s->codec);
+ 			if (error!=0) {
+ 				ms_error("avcodec_open() failed: %i",error);
+ 				cleanup(s,NULL);
+ 				av_free(avctx);
++				av_frame_free(&pict);
+ 				return;
+ 			}
+-			sws_ctx=sws_getContext(avctx->width,avctx->height,PIX_FMT_YUV420P,
++			sws_ctx=sws_getContext(avctx->width,avctx->height,AV_PIX_FMT_YUV420P,
+ 				avctx->width,avctx->height,avctx->pix_fmt,SWS_FAST_BILINEAR,NULL, NULL, NULL);
+ 			if (sws_ctx==NULL) {
+ 				ms_error(" sws_getContext() failed.");
+ 				cleanup(s,avctx);
++				av_frame_free(&pict);
+ 				goto end;
+ 			}
+ 			jpegm=ms_yuv_buf_alloc (&yuvjpeg,avctx->width, avctx->height);
+@@ -121,13 +123,14 @@ static void jpg_process(MSFilter *f){
+ 				sws_freeContext(sws_ctx);
+ 				cleanup(s,avctx);
+ 				freemsg(jpegm);
++				av_frame_free(&pict);
+ 				goto end;
+ 			}
+ 			sws_freeContext(sws_ctx);
+ 			
+-			avcodec_get_frame_defaults(&pict);
+-			avpicture_fill((AVPicture*)&pict,(uint8_t*)jpegm->b_rptr,avctx->pix_fmt,avctx->width,avctx->height);
+-			error=avcodec_encode_video2(avctx, &pkt, &pict, &got_output);
++			av_frame_unref(pict);
++			avpicture_fill((AVPicture*)pict,(uint8_t*)jpegm->b_rptr,avctx->pix_fmt,avctx->width,avctx->height);
++			error=avcodec_encode_video2(avctx, &pkt, pict, &got_output);
+ 			if (error<0){
+ 				ms_error("Could not encode jpeg picture.");
+ 			}else if (got_output) {
+@@ -140,6 +143,7 @@ static void jpg_process(MSFilter *f){
+ 			av_packet_unref(&pkt);
+ 			cleanup(s,avctx);
+ 			freemsg(jpegm);
++			av_frame_free(&pict);
+ 		}
+ 		goto end;
+ 	}
+--- linphone-3.6.1.orig/mediastreamer2/src/videofilters/nowebcam.c
++++ linphone-3.6.1/mediastreamer2/src/videofilters/nowebcam.c
+@@ -82,7 +82,7 @@ static mblk_t *jpeg2yuv(uint8_t *jpgbuf,
+ 	pkt.data=jpgbuf;
+ 	pkt.size=bufsize;
+ 
+-	if (avcodec_decode_video2(&av_context,&orig,&got_picture,&pkt) < 0) {
++	if (avcodec_decode_video2(&av_context,orig,&got_picture,&pkt) < 0) {
+ 		ms_error("jpeg2yuv: avcodec_decode_video failed");
+ 		av_frame_free(&orig);
+ 		avcodec_close(&av_context);
+@@ -90,9 +90,9 @@ static mblk_t *jpeg2yuv(uint8_t *jpgbuf,
+ 	}
+ 	ret=ms_yuv_buf_alloc(&dest, reqsize->width,reqsize->height);
+ 	/* not using SWS_FAST_BILINEAR because it doesn't play well with
+-	 * av_context.pix_fmt set to PIX_FMT_YUVJ420P by jpeg decoder */
++	 * av_context.pix_fmt set to AV_PIX_FMT_YUVJ420P by jpeg decoder */
+ 	sws_ctx=sws_getContext(av_context.width,av_context.height,av_context.pix_fmt,
+-		reqsize->width,reqsize->height,PIX_FMT_YUV420P,SWS_BILINEAR,
++		reqsize->width,reqsize->height,AV_PIX_FMT_YUV420P,SWS_BILINEAR,
+                 NULL, NULL, NULL);
+ 	if (sws_ctx==NULL) {
+ 		ms_error("jpeg2yuv: ms_sws_getContext() failed.");
+--- linphone-3.6.1.orig/mediastreamer2/src/videofilters/videodec.c
++++ linphone-3.6.1/mediastreamer2/src/videofilters/videodec.c
+@@ -40,7 +40,7 @@ typedef struct DecState{
+ 	YuvBuf outbuf;
+ 	mblk_t *yuv_msg;
+ 	struct SwsContext *sws_ctx;
+-	enum PixelFormat output_pix_fmt;
++	enum AVPixelFormat output_pix_fmt;
+ 	uint8_t dci[512];
+ 	int dci_size;
+ 	uint64_t last_error_reported_time;
+@@ -57,7 +57,7 @@ static void dec_init(MSFilter *f, enum C
+ 	s->codec=cid;
+ 	s->input=NULL;
+ 	s->yuv_msg=NULL;
+-	s->output_pix_fmt=PIX_FMT_YUV420P;
++	s->output_pix_fmt=AV_PIX_FMT_YUV420P;
+ 	s->outbuf.w=0;
+ 	s->outbuf.h=0;
+ 	s->sws_ctx=NULL;
+--- linphone-3.6.1.orig/mediastreamer2/src/videofilters/videoenc.c
++++ linphone-3.6.1/mediastreamer2/src/videofilters/videoenc.c
+@@ -247,7 +247,7 @@ static void prepare(EncState *s){
+ 		c->time_base.num = 1;
+ 		c->time_base.den = (int)s->fps;
+ 		c->gop_size=(int)s->fps*5; /*emit I frame every 5 seconds*/
+-		c->pix_fmt=PIX_FMT_YUVJ420P;
++		c->pix_fmt=AV_PIX_FMT_YUVJ420P;
+ 		s->comp_buf=allocb(c->bit_rate*2,0);
+ 		return;
+ 	}
+@@ -280,7 +280,7 @@ static void prepare(EncState *s){
+ 	c->time_base.num = 1;
+ 	c->time_base.den = (int)s->fps;
+ 	c->gop_size=(int)s->fps*10; /*emit I frame every 10 seconds*/
+-	c->pix_fmt=PIX_FMT_YUV420P;
++	c->pix_fmt=AV_PIX_FMT_YUV420P;
+ 	s->comp_buf=allocb(c->bit_rate*2,0);
+ 	
+ 	ms_message("Codec size set to w=%i/h=%i",c->width, c->height);
+@@ -755,7 +755,7 @@ static void split_and_send(MSFilter *f,
+ 
+ static void process_frame(MSFilter *f, mblk_t *inm){
+ 	EncState *s=(EncState*)f->data;
+-	AVFrame pict;
++	AVFrame *pict = av_frame_alloc();
+ 	AVPacket pkt;
+ 	AVCodecContext *c=&s->av_context;
+ 	int error, got_output;
+@@ -765,25 +765,25 @@ static void process_frame(MSFilter *f, m
+ 
+ 	ms_yuv_buf_init_from_mblk(&yuv, inm);
+ 	/* convert image if necessary */
+-	avcodec_get_frame_defaults(&pict);
+-	avpicture_fill((AVPicture*)&pict,yuv.planes[0],c->pix_fmt,c->width,c->height);
++	av_frame_unref(pict);
++	avpicture_fill((AVPicture*)pict,yuv.planes[0],c->pix_fmt,c->width,c->height);
+ 	
+ 	/* timestamp used by ffmpeg, unset here */
+-	pict.pts=AV_NOPTS_VALUE;
++	pict->pts=AV_NOPTS_VALUE;
+ 		
+ 	if (video_starter_need_i_frame (&s->starter,f->ticker->time)){
+ 		/*sends an I frame at 2 seconds and 4 seconds after the beginning of the call*/
+ 		s->req_vfu=TRUE;
+ 	}
+ 	if (s->req_vfu){
+-		pict.pict_type=FF_I_TYPE;
++		pict->pict_type=FF_I_TYPE;
+ 		s->req_vfu=FALSE;
+ 	}
+ 	comp_buf->b_rptr=comp_buf->b_wptr=comp_buf->b_datap->db_base;
+ 
+ 	pkt.data = (uint8_t *)comp_buf->b_wptr;
+ 	pkt.size = comp_buf_sz;
+-	error=avcodec_encode_video2(c, &pkt, &pict, &got_output);
++	error=avcodec_encode_video2(c, &pkt, pict, &got_output);
+ 
+ 	if (error<0) ms_warning("ms_AVencoder_process: error %i.",error);
+ 	else if (got_output) {
+@@ -798,6 +798,7 @@ static void process_frame(MSFilter *f, m
+ 		split_and_send(f,s,comp_buf);
+ 	}
+ 	freemsg(inm);
++	av_frame_free(&pict);
+ }
+ 
+ static void enc_process(MSFilter *f){
+--- linphone-3.6.1.orig/mediastreamer2/src/voip/msvideo.c
++++ linphone-3.6.1/mediastreamer2/src/voip/msvideo.c
+@@ -349,21 +349,21 @@ void ms_rgb_to_yuv(const uint8_t rgb[3],
+ int ms_pix_fmt_to_ffmpeg(MSPixFmt fmt){
+ 	switch(fmt){
+ 		case MS_RGBA32:
+-			return PIX_FMT_RGBA;
++			return AV_PIX_FMT_RGBA;
+ 		case MS_RGB24:
+-			return PIX_FMT_RGB24;
++			return AV_PIX_FMT_RGB24;
+ 		case MS_RGB24_REV:
+-			return PIX_FMT_BGR24;
++			return AV_PIX_FMT_BGR24;
+ 		case MS_YUV420P:
+-			return PIX_FMT_YUV420P;
++			return AV_PIX_FMT_YUV420P;
+ 		case MS_YUYV:
+-			return PIX_FMT_YUYV422;
++			return AV_PIX_FMT_YUYV422;
+ 		case MS_UYVY:
+-			return PIX_FMT_UYVY422;
++			return AV_PIX_FMT_UYVY422;
+ 		case MS_YUY2:
+-			return PIX_FMT_YUYV422;   /* <- same as MS_YUYV */
++			return AV_PIX_FMT_YUYV422;   /* <- same as MS_YUYV */
+ 		case MS_RGB565:
+-			return PIX_FMT_RGB565;
++			return AV_PIX_FMT_RGB565;
+ 		default:
+ 			ms_fatal("format not supported.");
+ 			return -1;
+@@ -373,19 +373,19 @@ int ms_pix_fmt_to_ffmpeg(MSPixFmt fmt){
+ 
+ MSPixFmt ffmpeg_pix_fmt_to_ms(int fmt){
+ 	switch(fmt){
+-		case PIX_FMT_RGB24:
++		case AV_PIX_FMT_RGB24:
+ 			return MS_RGB24;
+-		case PIX_FMT_BGR24:
++		case AV_PIX_FMT_BGR24:
+ 			return MS_RGB24_REV;
+-		case PIX_FMT_YUV420P:
++		case AV_PIX_FMT_YUV420P:
+ 			return MS_YUV420P;
+-		case PIX_FMT_YUYV422:
++		case AV_PIX_FMT_YUYV422:
+ 			return MS_YUYV;     /* same as MS_YUY2 */
+-		case PIX_FMT_UYVY422:
++		case AV_PIX_FMT_UYVY422:
+ 			return MS_UYVY;
+-		case PIX_FMT_RGBA:
++		case AV_PIX_FMT_RGBA:
+ 			return MS_RGBA32;
+-		case PIX_FMT_RGB565:
++		case AV_PIX_FMT_RGB565:
+ 			return MS_RGB565;
+ 		default:
+ 			ms_fatal("format not supported.");
diff --git a/debian/patches/port-to-exosip-4.patch b/debian/patches/port-to-exosip-4.patch
index 4c0814d..71053af 100644
--- a/debian/patches/port-to-exosip-4.patch
+++ b/debian/patches/port-to-exosip-4.patch
@@ -12,7 +12,7 @@ Only in linphone-3.6.1: configure
 Only in linphone-3.6.1/console: Makefile.in
 --- a/coreapi/authentication.c
 +++ b/coreapi/authentication.c
-@@ -308,7 +308,7 @@ void linphone_core_add_auth_info(Linphon
+@@ -308,7 +308,7 @@
  			sai.userid=ai->userid;
  			sai.realm=ai->realm;
  			sai.password=ai->passwd;
@@ -23,7 +23,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	}
 --- a/coreapi/callbacks.c
 +++ b/coreapi/callbacks.c
-@@ -224,19 +224,19 @@ static void call_received(SalOp *h){
+@@ -224,19 +224,19 @@
  	    lc->presence_mode==LinphoneStatusDoNotDisturb ||
  	    lc->presence_mode==LinphoneStatusMoved){
  		if (lc->presence_mode==LinphoneStatusBusy )
@@ -50,7 +50,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		return;
  	}
  	from=sal_op_get_from(h);
-@@ -246,8 +246,8 @@ static void call_received(SalOp *h){
+@@ -246,8 +246,8 @@
  
  	if ((already_a_call_with_remote_address(lc,from_addr) && prevent_colliding_calls) || already_a_call_pending(lc)){
  		ms_warning("Receiving another call while one is ringing or initiated, refusing this one with busy message.");
@@ -61,7 +61,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		linphone_address_destroy(from_addr);
  		linphone_address_destroy(to_addr);
  		return;
-@@ -449,7 +449,7 @@ static void call_accept_update(LinphoneC
+@@ -449,7 +449,7 @@
  	}
  #endif //BUILD_UPNP
  	linphone_call_update_remote_session_id_and_ver(call);
@@ -70,7 +70,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	md=sal_call_get_final_media_description(call->op);
  	if (md && !sal_media_description_empty(md))
  		linphone_core_update_streams(lc,call,md);
-@@ -701,7 +701,7 @@ static void auth_requested(SalOp *h, con
+@@ -701,7 +701,7 @@
  		sai.realm=ai->realm;
  		sai.password=ai->passwd;
  		ms_message("auth_requested(): authenticating realm=%s, username=%s",realm,username);
@@ -79,7 +79,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		ai->usecount++;
  		ai->last_use_time=ms_time(NULL);
  	}else{
-@@ -936,6 +936,7 @@ static int op_equals(LinphoneCall *a, Sa
+@@ -936,6 +936,7 @@
  	return a->op !=b; /*return 0 if equals*/
  }
  static void text_delivery_update(SalOp *op, SalTextDeliveryStatus status){
@@ -87,7 +87,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	LinphoneChatMessage *chat_msg=(LinphoneChatMessage* )sal_op_get_user_pointer(op);
  	const MSList* calls = linphone_core_get_calls(chat_msg->chat_room->lc);
  	
-@@ -950,7 +951,7 @@ static void text_delivery_update(SalOp *
+@@ -950,7 +951,7 @@
  	
  	if (!ms_list_find_custom((MSList*)calls, (MSCompareFunc) op_equals, op)) {
  		/*op was only create for messaging purpose, destroying*/
@@ -98,7 +98,7 @@ Only in linphone-3.6.1/console: Makefile.in
  
 --- a/coreapi/chat.c
 +++ b/coreapi/chat.c
-@@ -98,10 +98,10 @@ static void _linphone_chat_room_send_mes
+@@ -98,10 +98,10 @@
  	}
  	if (msg->external_body_url) {
  		content_type=ms_strdup_printf("message/external-body; access-type=URL; URL=\"%s\"",msg->external_body_url);
@@ -113,7 +113,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	msg->from=linphone_address_new(identity);
 --- a/coreapi/friend.c
 +++ b/coreapi/friend.c
-@@ -131,13 +131,13 @@ void __linphone_friend_do_subscribe(Linp
+@@ -131,13 +131,13 @@
  			fr->lc->vtable.notify_recv(fr->lc,(LinphoneFriend*)fr);
  		 */
  	}else{
@@ -129,7 +129,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	fr->subscribe_active=TRUE;
  	ms_free(friend);
  }
-@@ -278,13 +278,13 @@ void linphone_friend_notify(LinphoneFrie
+@@ -278,13 +278,13 @@
  	ms_message("Want to notify %s, insub=%p",addr,lf->insub);
  	ms_free(addr);
  	if (lf->insub!=NULL){
@@ -145,7 +145,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		lf->subscribe_active=FALSE;
  	}
  }
-@@ -292,18 +292,18 @@ static void linphone_friend_unsubscribe(
+@@ -292,18 +292,18 @@
  void linphone_friend_close_subscriptions(LinphoneFriend *lf){
  	linphone_friend_unsubscribe(lf);
  	if (lf->insub){
@@ -169,7 +169,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (lf->uri!=NULL) linphone_address_destroy(lf->uri);
 --- a/coreapi/linphonecall.c
 +++ b/coreapi/linphonecall.c
-@@ -526,7 +526,7 @@ LinphoneCall * linphone_call_new_incomin
+@@ -526,7 +526,7 @@
  			from_str=linphone_address_as_string_uri_only(from);
  			sal_op_set_route(call->ping_op,sal_op_get_network_origin(op));
  			sal_op_set_user_pointer(call->ping_op,call);
@@ -178,7 +178,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			ms_free(from_str);
  		}
  	}
-@@ -714,7 +714,7 @@ void linphone_call_set_state(LinphoneCal
+@@ -714,7 +714,7 @@
  			if (call->op!=NULL) {
  				/* so that we cannot have anymore upcalls for SAL
  				 concerning this call*/
@@ -187,7 +187,7 @@ Only in linphone-3.6.1/console: Makefile.in
  				call->op=NULL;
  			}
  			linphone_call_unref(call);
-@@ -729,7 +729,7 @@ static void linphone_call_destroy(Linpho
+@@ -729,7 +729,7 @@
  #endif //BUILD_UPNP
  	linphone_call_delete_ice_session(obj);
  	if (obj->op!=NULL) {
@@ -196,7 +196,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		obj->op=NULL;
  	}
  	if (obj->resultdesc!=NULL) {
-@@ -741,7 +741,7 @@ static void linphone_call_destroy(Linpho
+@@ -741,7 +741,7 @@
  		obj->localdesc=NULL;
  	}
  	if (obj->ping_op) {
@@ -205,7 +205,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	}
  	if (obj->refer_to){
  		ms_free(obj->refer_to);
-@@ -956,7 +956,7 @@ int linphone_call_get_duration(const Lin
+@@ -956,7 +956,7 @@
   * This function allows the application to know whether a new incoming call is a one that replaces another one.
  **/
  LinphoneCall *linphone_call_get_replaced_call(LinphoneCall *call){
@@ -214,7 +214,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (op){
  		return (LinphoneCall*)sal_op_get_user_pointer(op);
  	}
-@@ -987,7 +987,7 @@ void linphone_call_enable_camera (Linpho
+@@ -987,7 +987,7 @@
  void linphone_call_send_vfu_request(LinphoneCall *call)
  {
  	if (LinphoneCallStreamsRunning == linphone_call_get_state(call))
@@ -225,7 +225,7 @@ Only in linphone-3.6.1/console: Makefile.in
  
 --- a/coreapi/linphonecore.c
 +++ b/coreapi/linphonecore.c
-@@ -27,6 +27,11 @@ Foundation, Inc., 59 Temple Place - Suit
+@@ -27,6 +27,11 @@
  #include <math.h>
  #include <ortp/telephonyevents.h>
  #include <ortp/zrtp.h>
@@ -237,7 +237,7 @@ Only in linphone-3.6.1/console: Makefile.in
  #include "mediastreamer2/mediastream.h"
  #include "mediastreamer2/mseventqueue.h"
  #include "mediastreamer2/msvolume.h"
-@@ -1773,10 +1778,6 @@ int linphone_core_get_sip_port(LinphoneC
+@@ -1773,10 +1778,6 @@
  static char _ua_name[64]="Linphone";
  static char _ua_version[64]=LINPHONE_VERSION;
  
@@ -248,7 +248,7 @@ Only in linphone-3.6.1/console: Makefile.in
  static void apply_user_agent(LinphoneCore *lc){
  	char ua_string[256];
  	snprintf(ua_string,sizeof(ua_string)-1,"%s/%s (eXosip2/%s)",_ua_name,_ua_version,
-@@ -2302,7 +2303,7 @@ void linphone_core_start_refered_call(Li
+@@ -2302,7 +2303,7 @@
  
  void linphone_core_notify_refer_state(LinphoneCore *lc, LinphoneCall *referer, LinphoneCall *newcall){
  	if (referer->op!=NULL){
@@ -257,7 +257,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	}
  }
  
-@@ -2445,7 +2446,7 @@ int linphone_core_start_invite(LinphoneC
+@@ -2445,7 +2446,7 @@
  	}
  	real_url=linphone_address_as_string(call->log->to);
  	from=linphone_address_as_string(call->log->from);
@@ -266,7 +266,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	call->log->call_id=ms_strdup(sal_op_get_call_id(call->op)); /*must be known at that time*/
  
  	if (lc->sip_conf.sdp_200_ack){
-@@ -2642,7 +2643,7 @@ LinphoneCall * linphone_core_invite_addr
+@@ -2642,7 +2643,7 @@
  			/*defer the start of the call after the OPTIONS ping*/
  			call->ping_replied=FALSE;
  			call->ping_op=sal_op_new(lc->sal);
@@ -275,7 +275,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			sal_op_set_user_pointer(call->ping_op,call);
  			call->start_time=time(NULL);
  			defer = TRUE;
-@@ -2677,7 +2678,7 @@ int linphone_core_transfer_call(Linphone
+@@ -2677,7 +2678,7 @@
  	}
  	//lc->call=NULL; //Do not do that you will lose the call afterward . . .
  	real_url=linphone_address_as_string (real_parsed_url);
@@ -284,7 +284,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	ms_free(real_url);
  	linphone_address_destroy(real_parsed_url);
  	linphone_call_set_transfer_state(call, LinphoneCallOutgoingInit);
-@@ -2699,7 +2700,7 @@ int linphone_core_transfer_call(Linphone
+@@ -2699,7 +2700,7 @@
   * close the call with us (the 'dest' call).
  **/
  int linphone_core_transfer_call_to_another(LinphoneCore *lc, LinphoneCall *call, LinphoneCall *dest){
@@ -293,7 +293,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	linphone_call_set_transfer_state(call, LinphoneCallOutgoingInit);
  	return result;
  }
-@@ -2741,7 +2742,7 @@ void linphone_core_notify_incoming_call(
+@@ -2741,7 +2742,7 @@
  	md=sal_call_get_final_media_description(call->op);
  	if (md){
  		if (sal_media_description_empty(md) || linphone_core_incompatible_security(lc,md)){
@@ -302,7 +302,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			linphone_call_unref(call);
  			return;
  		}
-@@ -2785,14 +2786,14 @@ void linphone_core_notify_incoming_call(
+@@ -2785,14 +2786,14 @@
  	linphone_call_set_state(call,LinphoneCallIncomingReceived,"Incoming call");
  
  	if (call->state==LinphoneCallIncomingReceived){
@@ -319,7 +319,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			linphone_core_accept_call(lc,call);
  		}
  	}
-@@ -2821,7 +2822,7 @@ int linphone_core_start_update_call(Linp
+@@ -2821,7 +2822,7 @@
  	if (lc->vtable.display_status)
  		lc->vtable.display_status(lc,_("Modifying call parameters..."));
  	sal_call_set_local_media_description (call->op,call->localdesc);
@@ -328,7 +328,7 @@ Only in linphone-3.6.1/console: Makefile.in
  }
  
  /**
-@@ -2950,7 +2951,7 @@ int linphone_core_start_accept_call_upda
+@@ -2950,7 +2951,7 @@
  #endif //BUILD_UPNP
  	linphone_call_update_remote_session_id_and_ver(call);
  	sal_call_set_local_media_description(call->op,call->localdesc);
@@ -337,7 +337,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	md=sal_call_get_final_media_description(call->op);
  	if (md && !sal_media_description_empty(md))
  		linphone_core_update_streams (lc,call,md);
-@@ -2993,7 +2994,7 @@ int linphone_core_accept_call_update(Lin
+@@ -2993,7 +2994,7 @@
  	if (keep_sdp_version &&(remote_desc->session_id == call->remote_session_id) && (remote_desc->session_ver == call->remote_session_ver)) {
  		/* Remote has sent an INVITE with the same SDP as before, so send a 200 OK with the same SDP as before. */
  		ms_warning("SDP version has not changed, send same SDP as before.");
@@ -346,7 +346,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		linphone_call_set_state(call,LinphoneCallStreamsRunning,"Connected (streams running)");
  		return 0;
  	}
-@@ -3101,7 +3102,7 @@ int linphone_core_accept_call_with_param
+@@ -3101,7 +3102,7 @@
  	}
  
  	/* check if this call is supposed to replace an already running one*/
@@ -355,7 +355,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (replaced){
  		LinphoneCall *rc=(LinphoneCall*)sal_op_get_user_pointer (replaced);
  		if (rc){
-@@ -3159,7 +3160,7 @@ int linphone_core_accept_call_with_param
+@@ -3159,7 +3160,7 @@
  	}
  
  	linphone_call_update_remote_session_id_and_ver(call);
@@ -364,7 +364,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (lc->vtable.display_status!=NULL)
  		lc->vtable.display_status(lc,_("Connected."));
  	lc->current_call=call;
-@@ -3175,7 +3176,7 @@ int linphone_core_accept_call_with_param
+@@ -3175,7 +3176,7 @@
  }
  
  int linphone_core_abort_call(LinphoneCore *lc, LinphoneCall *call, const char *error){
@@ -373,7 +373,7 @@ Only in linphone-3.6.1/console: Makefile.in
  
  	/*stop ringing*/
  	if (lc->ringstream!=NULL) {
-@@ -3218,7 +3219,7 @@ static void terminate_call(LinphoneCore
+@@ -3218,7 +3219,7 @@
  
  int linphone_core_redirect_call(LinphoneCore *lc, LinphoneCall *call, const char *redirect_uri){
  	if (call->state==LinphoneCallIncomingReceived){
@@ -382,7 +382,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		call->reason=LinphoneReasonDeclined;
  		terminate_call(lc,call);
  	}else{
-@@ -3252,7 +3253,7 @@ int linphone_core_terminate_call(Linphon
+@@ -3252,7 +3253,7 @@
  	{
  		call = the_call;
  	}
@@ -391,7 +391,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	terminate_call(lc,call);
  	return 0;
  }
-@@ -3284,7 +3285,7 @@ int linphone_core_decline_call(LinphoneC
+@@ -3284,7 +3285,7 @@
  			return -1;
  		break;
  	}
@@ -400,7 +400,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	terminate_call(lc,call);
  	return 0;
  }
-@@ -3378,7 +3379,7 @@ int _linphone_core_pause_call(LinphoneCo
+@@ -3378,7 +3379,7 @@
  		return -1;
  	}
  	sal_call_set_local_media_description(call->op,call->localdesc);
@@ -409,7 +409,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		if (lc->vtable.display_warning)
  			lc->vtable.display_warning(lc,_("Could not pause the call"));
  	}
-@@ -3461,7 +3462,7 @@ int linphone_core_resume_call(LinphoneCo
+@@ -3461,7 +3462,7 @@
  	sal_call_set_local_media_description(call->op,call->localdesc);
  	sal_media_description_set_dir(call->localdesc,SalStreamSendRecv);
  	if (call->params.in_conference && !call->current_params.in_conference) subject="Conference";
@@ -418,7 +418,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		return -1;
  	}
  	linphone_call_set_state (call,LinphoneCallResuming,"Resuming");
-@@ -4177,7 +4178,7 @@ void linphone_core_send_dtmf(LinphoneCor
+@@ -4177,7 +4178,7 @@
  	}
  	if (linphone_core_get_use_info_for_dtmf(lc)!=0){
  		/* Out of Band DTMF (use INFO method) */
@@ -429,7 +429,7 @@ Only in linphone-3.6.1/console: Makefile.in
  
 --- a/coreapi/presence.c
 +++ b/coreapi/presence.c
-@@ -79,21 +79,21 @@ void linphone_subscription_new(LinphoneC
+@@ -79,21 +79,21 @@
  	if (linphone_find_friend(lc->friends,uri,&lf)!=NULL){
  		lf->insub=op;
  		lf->inc_subscribe_pending=TRUE;
@@ -454,7 +454,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			linphone_core_add_subscriber(lc,tmp,op);
  		}
  	}
-@@ -150,7 +150,7 @@ void linphone_notify_recv(LinphoneCore *
+@@ -150,7 +150,7 @@
  		ms_message("But this person is not part of our friend list, so we don't care.");
  	}
  	if (ss==SalSubscribeTerminated){
@@ -463,7 +463,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		if (lf){
  			lf->outsub=NULL;
  			lf->subscribe_active=FALSE;
-@@ -161,7 +161,7 @@ void linphone_notify_recv(LinphoneCore *
+@@ -161,7 +161,7 @@
  void linphone_subscription_closed(LinphoneCore *lc, SalOp *op){
  	LinphoneFriend *lf;
  	lf=linphone_find_friend_by_inc_subscribe(lc->friends,op);
@@ -474,7 +474,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	}else{
 --- a/coreapi/proxy.c
 +++ b/coreapi/proxy.c
-@@ -84,8 +84,8 @@ void linphone_proxy_config_destroy(Linph
+@@ -84,8 +84,8 @@
  	if (obj->realm!=NULL) ms_free(obj->realm);
  	if (obj->type!=NULL) ms_free(obj->type);
  	if (obj->dial_prefix!=NULL) ms_free(obj->dial_prefix);
@@ -485,7 +485,7 @@ Only in linphone-3.6.1/console: Makefile.in
  }
  
  /**
-@@ -245,7 +245,7 @@ void linphone_proxy_config_edit(Linphone
+@@ -245,7 +245,7 @@
  	if (obj->reg_sendregister){
  		/* unregister */
  		if (obj->state != LinphoneRegistrationNone && obj->state != LinphoneRegistrationCleared) {
@@ -494,7 +494,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		}
  	}
  }
-@@ -312,13 +312,13 @@ static void linphone_proxy_config_regist
+@@ -312,13 +312,13 @@
  	if (obj->reg_sendregister){
  		char *contact;
  		if (obj->op)
@@ -510,7 +510,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			linphone_proxy_config_set_state(obj,LinphoneRegistrationProgress,"Registration in progress");
  		} else {
  			linphone_proxy_config_set_state(obj,LinphoneRegistrationFailed,"Registration failed");
-@@ -332,7 +332,7 @@ static void linphone_proxy_config_regist
+@@ -332,7 +332,7 @@
  **/
  void linphone_proxy_config_refresh_register(LinphoneProxyConfig *obj){
  	if (obj->reg_sendregister && obj->op){
@@ -519,7 +519,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			linphone_proxy_config_set_state(obj,LinphoneRegistrationProgress, "Refresh registration");
  		}
  	}
-@@ -793,10 +793,10 @@ int linphone_proxy_config_send_publish(L
+@@ -793,10 +793,10 @@
  	int err;
  	SalOp *op=sal_op_new(proxy->lc->sal);
  	sal_op_set_route(op,proxy->reg_proxy);
@@ -534,7 +534,7 @@ Only in linphone-3.6.1/console: Makefile.in
  }
 --- a/coreapi/sal_eXosip2.c
 +++ b/coreapi/sal_eXosip2.c
-@@ -46,7 +46,11 @@ void _osip_list_set_empty(osip_list_t *l
+@@ -46,7 +46,11 @@
  }
  
  void sal_get_default_local_ip(Sal *sal, int address_family,char *ip, size_t iplen){
@@ -546,7 +546,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		/*default to something */
  		strncpy(ip,address_family==AF_INET6 ? "::1" : "127.0.0.1",iplen);
  		ms_error("Could not find default routable ip address !");
-@@ -185,14 +189,14 @@ bool_t sal_call_autoanswer_asked(SalOp *
+@@ -185,14 +189,14 @@
  	return op->auto_answer_asked;
  }
  
@@ -563,7 +563,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	}
  	if (op->cid!=-1){
  		ms_message("Cleaning cid %i",op->cid);
-@@ -273,8 +277,14 @@ Sal * sal_init(){
+@@ -273,8 +277,14 @@
  		osip_trace_initialize_func (OSIP_INFO4,&_osip_trace_func);
  		firsttime=FALSE;
  	}
@@ -579,7 +579,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	sal->keepalive_period=30;
  	sal->double_reg=TRUE;
  	sal->use_rports=TRUE;
-@@ -290,7 +300,12 @@ Sal * sal_init(){
+@@ -290,7 +300,12 @@
  }
  
  void sal_uninit(Sal* sal){
@@ -592,7 +592,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (sal->rootCa)
  		ms_free(sal->rootCa);
  	ms_free(sal);
-@@ -348,8 +363,16 @@ void sal_set_callbacks(Sal *ctx, const S
+@@ -348,8 +363,16 @@
  
  int sal_unlisten_ports(Sal *ctx){
  	if (ctx->running){
@@ -609,7 +609,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		ctx->running=FALSE;
  	}
  	return 0;
-@@ -359,13 +382,17 @@ int sal_reset_transports(Sal *ctx){
+@@ -359,13 +382,17 @@
  #ifdef HAVE_EXOSIP_RESET_TRANSPORTS
  	if (ctx->running){
  		ms_message("Exosip transports reset.");
@@ -629,7 +629,7 @@ Only in linphone-3.6.1/console: Makefile.in
  }
  
  
-@@ -374,9 +401,16 @@ static void set_tls_options(Sal *ctx){
+@@ -374,9 +401,16 @@
  		eXosip_tls_ctx_t tlsCtx;
  		memset(&tlsCtx, 0, sizeof(tlsCtx));
  		snprintf(tlsCtx.root_ca_cert, sizeof(tlsCtx.client.cert), "%s", ctx->rootCa);
@@ -648,7 +648,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	eXosip_tls_verify_certificate(ctx->verify_server_certs);
  #endif
  #ifdef HAVE_EXOSIP_TLS_VERIFY_CN
-@@ -386,10 +420,15 @@ static void set_tls_options(Sal *ctx){
+@@ -386,10 +420,15 @@
  
  void sal_set_dscp(Sal *ctx, int dscp){
  	ctx->dscp=dscp;
@@ -666,7 +666,7 @@ Only in linphone-3.6.1/console: Makefile.in
  }
  
  int sal_listen_port(Sal *ctx, const char *addr, int port, SalTransport tr, int is_secure){
-@@ -402,13 +441,21 @@ int sal_listen_port(Sal *ctx, const char
+@@ -402,13 +441,21 @@
  	switch (tr) {
  	case SalTransportUDP:
  		proto=IPPROTO_UDP;
@@ -688,7 +688,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		set_tls_options(ctx);
  		break;
  	default:
-@@ -416,9 +463,15 @@ int sal_listen_port(Sal *ctx, const char
+@@ -416,20 +463,34 @@
  	}
  	/*see if it looks like an IPv6 address*/
  	int use_rports = ctx->use_rports; // Copy char to int to avoid bad alignment
@@ -704,7 +704,14 @@ Only in linphone-3.6.1/console: Makefile.in
  	sal_set_dscp(ctx,ctx->dscp);
  	sal_use_dates(ctx,ctx->add_dates);
  
-@@ -429,7 +482,11 @@ int sal_listen_port(Sal *ctx, const char
+ 	ipv6=strchr(addr,':')!=NULL;
++#ifdef HAVE_STRUCT_EXOSIP_T
++	eXosip_set_option(ctx->excontext, EXOSIP_OPT_ENABLE_IPV6, &ipv6);
++#else
+ 	eXosip_enable_ipv6(ipv6);
++#endif
+ 
+ 	if (is_secure && tr == SalTransportUDP){
  		ms_fatal("SIP over DTLS is not supported yet.");
  		return -1;
  	}
@@ -716,7 +723,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	ctx->running=TRUE;
  	return err;
  }
-@@ -444,7 +501,11 @@ ortp_socket_t sal_get_socket(Sal *ctx){
+@@ -444,7 +505,11 @@
  }
  
  void sal_set_user_agent(Sal *ctx, const char *user_agent){
@@ -728,7 +735,7 @@ Only in linphone-3.6.1/console: Makefile.in
  }
  
  void sal_use_session_timers(Sal *ctx, int expires){
-@@ -472,11 +533,15 @@ void sal_use_dates(Sal *ctx, bool_t enab
+@@ -472,11 +537,15 @@
  #ifdef EXOSIP_OPT_REGISTER_WITH_DATE
  	{
  		int tmp=enabled;
@@ -746,7 +753,7 @@ Only in linphone-3.6.1/console: Makefile.in
  }
  
  void sal_use_rport(Sal *ctx, bool_t use_rports){
-@@ -499,7 +564,9 @@ const char *sal_get_root_ca(Sal* ctx) {
+@@ -499,7 +568,9 @@
  
  void sal_verify_server_certificates(Sal *ctx, bool_t verify){
  	ctx->verify_server_certs=verify;
@@ -757,7 +764,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	eXosip_tls_verify_certificate(verify);
  #endif
  }
-@@ -626,7 +693,7 @@ int sal_call_set_local_media_description
+@@ -626,7 +697,7 @@
  	return 0;
  }
  
@@ -766,7 +773,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	int err;
  	const char *route;
  	osip_message_t *invite=NULL;
-@@ -638,7 +705,11 @@ int sal_call(SalOp *h, const char *from,
+@@ -638,7 +709,11 @@
  	h->terminated = FALSE;
  
  	route = sal_op_get_route(h);
@@ -778,7 +785,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (err!=0){
  		ms_error("Could not create call. Error %d (from=%s to=%s route=%s)",
  				err, from, to, route);
-@@ -664,9 +735,21 @@ int sal_call(SalOp *h, const char *from,
+@@ -664,9 +739,21 @@
  			osip_message_set_header(invite,"Referred-By",h->referred_by);
  	}
  	
@@ -800,7 +807,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	h->cid=err;
  	if (err<0){
  		ms_error("Fail to send invite ! Error code %d", err);
-@@ -682,14 +765,22 @@ int sal_call(SalOp *h, const char *from,
+@@ -682,14 +769,22 @@
  	return 0;
  }
  
@@ -824,7 +831,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		if (msg){
  			sdp_process(h);
  			if (h->sdp_answer){
-@@ -697,22 +788,46 @@ int sal_call_notify_ringing(SalOp *h, bo
+@@ -697,22 +792,46 @@
  				sdp_message_free(h->sdp_answer);
  				h->sdp_answer=NULL;
  			}
@@ -872,7 +879,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (err<0 || msg==NULL){
  		ms_error("Fail to build answer for call: err=%i",err);
  		return -1;
-@@ -741,39 +856,107 @@ int sal_call_accept(SalOp * h){
+@@ -741,39 +860,107 @@
  	}else{
  		ms_error("You are accepting a call but not defined any media capabilities !");
  	}
@@ -982,7 +989,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	return 0;
  }
  
-@@ -796,39 +979,59 @@ int sal_call_set_referer(SalOp *h, SalOp
+@@ -796,39 +983,59 @@
  	return 0;
  }
  
@@ -1047,7 +1054,7 @@ Only in linphone-3.6.1/console: Makefile.in
  					/* we need previous notify transaction to complete, so buffer the request for later*/
  					h->sipfrag_pending="SIP/2.0 200 Ok\r\n";
  				}
-@@ -838,61 +1041,126 @@ int sal_call_notify_refer_state(SalOp *h
+@@ -838,61 +1045,126 @@
  	return 0;
  }
  
@@ -1180,7 +1187,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		if (cid>0){
  			SalOp *ret=sal_find_call(h->base.root,cid);
  			return ret;
-@@ -901,48 +1169,81 @@ SalOp *sal_call_get_replaces(SalOp *h){
+@@ -901,48 +1173,81 @@
  	return NULL;
  }
  
@@ -1269,7 +1276,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (err!=0){
  		ms_warning("Exosip could not terminate the call: cid=%i did=%i", h->cid,h->did);
  	}
-@@ -950,7 +1251,7 @@ int sal_call_terminate(SalOp *h){
+@@ -950,7 +1255,7 @@
  	return 0;
  }
  
@@ -1278,7 +1285,7 @@ Only in linphone-3.6.1/console: Makefile.in
         bool_t terminating=FALSE;
         if (h->pending_auth && strcmp(h->pending_auth->request->sip_method,"BYE")==0) {
                 terminating=TRUE;
-@@ -958,7 +1259,7 @@ void sal_op_authenticate(SalOp *h, const
+@@ -958,7 +1263,7 @@
         if (h->terminated && !terminating) return;
  
         if (h->pending_auth){
@@ -1287,7 +1294,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		
          /*FIXME exosip does not take into account this update register message*/
  	/*
-@@ -967,11 +1268,23 @@ void sal_op_authenticate(SalOp *h, const
+@@ -967,11 +1272,23 @@
          };
  	*/
  		update_contact_from_response(h,h->pending_auth->response);
@@ -1312,7 +1319,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		
  		if (h->auth_info) sal_auth_info_delete(h->auth_info); /*if already exist*/
  		h->auth_info=sal_auth_info_clone(info); /*store auth info for subsequent request*/
-@@ -1210,9 +1523,21 @@ static int call_proceeding(Sal *sal, eXo
+@@ -1210,9 +1527,21 @@
  
  	if (op==NULL || op->terminated==TRUE) {
  		ms_warning("This call has been canceled.");
@@ -1334,7 +1341,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		return -1;
  	}
  	if (ev->did>0)
-@@ -1249,9 +1574,21 @@ static void call_accepted(Sal *sal, eXos
+@@ -1249,9 +1578,21 @@
  	
  	if (op==NULL || op->terminated==TRUE) {
  		ms_warning("This call has been already terminated.");
@@ -1356,7 +1363,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		return ;
  	}
  
-@@ -1266,12 +1603,28 @@ static void call_accepted(Sal *sal, eXos
+@@ -1266,12 +1607,28 @@
  		sdp_message_free(sdp);
  		if (op->base.local_media) sdp_process(op);
  	}
@@ -1385,7 +1392,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		return ;
  	}
  	contact=sal_op_get_contact(op);
-@@ -1284,7 +1637,11 @@ static void call_accepted(Sal *sal, eXos
+@@ -1284,7 +1641,11 @@
  		sdp_message_free(op->sdp_answer);
  		op->sdp_answer=NULL;
  	}
@@ -1397,7 +1404,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	sal->callbacks.call_accepted(op);
  }
  
-@@ -1458,7 +1815,11 @@ static bool_t call_failure(Sal *sal, eXo
+@@ -1458,7 +1819,11 @@
  			sr=SalReasonMedia;
  		break;
  		case 422:
@@ -1409,7 +1416,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			return TRUE;
  		break;
  		case 480:
-@@ -1494,7 +1855,7 @@ static bool_t call_failure(Sal *sal, eXo
+@@ -1494,7 +1859,7 @@
  }
  
  /* Request remote side to send us VFU */
@@ -1418,7 +1425,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	osip_message_t *msg=NULL;
  	char info_body[] =
  			"<?xml version=\"1.0\" encoding=\"utf-8\" ?>"
-@@ -1508,17 +1869,33 @@ void sal_call_send_vfu_request(SalOp *h)
+@@ -1508,17 +1873,33 @@
  
  	char clen[10];
  
@@ -1452,7 +1459,7 @@ Only in linphone-3.6.1/console: Makefile.in
  }
  
  static void process_media_control_xml(Sal *sal, eXosip_event_t *ev){
-@@ -1537,20 +1914,45 @@ static void process_media_control_xml(Sa
+@@ -1537,20 +1918,45 @@
  		ms_message("Receiving VFU request !");
  		if (sal->callbacks.vfu_request){
  			sal->callbacks.vfu_request(op);
@@ -1499,7 +1506,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	}
  }
  
-@@ -1579,11 +1981,28 @@ static void process_dtmf_relay(Sal *sal,
+@@ -1579,11 +1985,28 @@
  					sal->callbacks.dtmf_received(op, tmp[0]);
  			}
  		}
@@ -1529,7 +1536,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	}
  }
  
-@@ -1628,11 +2047,28 @@ static void process_refer(Sal *sal, SalO
+@@ -1628,11 +2051,28 @@
  			osip_free(tmp);
  			osip_from_free(from);
  		}
@@ -1559,7 +1566,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	}
  	else
  	{
-@@ -1677,11 +2113,28 @@ static void process_notify(Sal *sal, eXo
+@@ -1677,11 +2117,28 @@
  		}
  	}
  	/*answer that we received the notify*/
@@ -1589,7 +1596,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	osip_free(from);
  }
  
-@@ -1699,28 +2152,79 @@ static void call_message_new(Sal *sal, e
+@@ -1699,28 +2156,79 @@
  				else {
  					ms_message("Unhandled SIP INFO.");
  					/*send an "Not implemented" answer*/
@@ -1672,7 +1679,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		}else if(MSG_IS_REFER(ev->request)){
  			SalOp *op=find_op(sal,ev);
  			
-@@ -1729,13 +2233,29 @@ static void call_message_new(Sal *sal, e
+@@ -1729,13 +2237,29 @@
  		}else if(MSG_IS_NOTIFY(ev->request)){
  			process_notify(sal,ev);
  		}else if (MSG_IS_OPTIONS(ev->request)){
@@ -1702,7 +1709,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		}
  	}else ms_warning("call_message_new: No request ?");
  }
-@@ -1743,11 +2263,28 @@ static void call_message_new(Sal *sal, e
+@@ -1743,11 +2267,28 @@
  static void inc_update(Sal *sal, eXosip_event_t *ev){
  	osip_message_t *msg=NULL;
  	ms_message("Processing incoming UPDATE");
@@ -1732,7 +1739,7 @@ Only in linphone-3.6.1/console: Makefile.in
  }
  
  static bool_t comes_from_local_if(osip_message_t *msg){
-@@ -1865,7 +2402,7 @@ static void text_received(Sal *sal, eXos
+@@ -1865,7 +2406,7 @@
  	salmsg.message_id=message_id;
  	salmsg.time=date!=NULL ? mktime_utc(&ret) : time(NULL);
  	sal->callbacks.text_received(op,&salmsg);
@@ -1741,7 +1748,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	osip_free(from);
  }
  
-@@ -1874,12 +2411,24 @@ static void other_request(Sal *sal, eXos
+@@ -1874,12 +2415,24 @@
  	if (ev->request==NULL) return;
  	if (strcmp(ev->request->sip_method,"MESSAGE")==0){
  		text_received(sal,ev);
@@ -1766,7 +1773,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	}else if (strncmp(ev->request->sip_method, "REFER", 5) == 0){
  		ms_message("Receiving REFER request !");
  		if (comes_from_local_if(ev->request)) {
-@@ -1896,7 +2445,11 @@ static void other_request(Sal *sal, eXos
+@@ -1896,7 +2449,11 @@
  			osip_free(tmp);
  		}
  		/*answer with a 501 Not implemented*/
@@ -1778,7 +1785,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	}
  }
  
-@@ -1959,7 +2512,7 @@ static bool_t fix_message_contact(SalOp
+@@ -1959,7 +2516,7 @@
  	return TRUE;    
  }
  
@@ -1787,7 +1794,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	osip_contact_t *ctt=NULL;
  	SalAddress* ori_contact_address=NULL;
  	const char *received;
-@@ -2007,25 +2560,53 @@ static bool_t register_again_with_update
+@@ -2007,25 +2564,53 @@
  		ms_message("Contact do not match, resending register.");
  	else return FALSE;
  
@@ -1841,7 +1848,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	return FALSE;
  }
  
-@@ -2040,7 +2621,7 @@ static void registration_success(Sal *sa
+@@ -2040,7 +2625,7 @@
  	osip_message_get_expires(ev->request,0,&h);
  	if (h!=NULL && atoi(h->hvalue)!=0){
  		registered=TRUE;
@@ -1850,7 +1857,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			sal->callbacks.register_success(op,registered);
  		}
  	}else {
-@@ -2078,10 +2659,26 @@ static bool_t registration_failure(Sal *
+@@ -2078,10 +2663,26 @@
  					if (val>op->expires)
  						op->expires=val;
  				}else op->expires*=2;
@@ -1877,7 +1884,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			}
  		break;
  		case 606: /*Not acceptable, workaround for proxies that don't like private addresses
-@@ -2092,7 +2689,7 @@ static bool_t registration_failure(Sal *
+@@ -2092,7 +2693,7 @@
  		default:
  			/* if contact is up to date, process the failure, otherwise resend a new register with
  				updated contact first, just in case the faillure is due to incorrect contact */
@@ -1886,7 +1893,7 @@ Only in linphone-3.6.1/console: Makefile.in
  				return TRUE; /*we are retrying with an updated contact*/
  			if (status_code==403){
  				se=SalErrorFailure;
-@@ -2136,7 +2733,7 @@ static void process_in_call_reply(Sal *s
+@@ -2136,7 +2737,7 @@
  	if (ev->response){
  		if (ev->request && strcmp(osip_message_get_method(ev->request),"NOTIFY")==0){
  			if (op->sipfrag_pending){
@@ -1895,7 +1902,7 @@ Only in linphone-3.6.1/console: Makefile.in
  				op->sipfrag_pending=NULL;
  			}
  		}
-@@ -2156,7 +2753,9 @@ static bool_t process_event(Sal *sal, eX
+@@ -2156,7 +2757,9 @@
  			ms_message("CALL_CLOSED or CANCELLED\n");
  			call_terminated(sal,ev);
  			break;
@@ -1905,7 +1912,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		case EXOSIP_CALL_NOANSWER:
  			ms_message("CALL_TIMEOUT or NOANSWER\n");
  			return call_failure(sal,ev);
-@@ -2184,7 +2783,11 @@ static bool_t process_event(Sal *sal, eX
+@@ -2184,7 +2787,11 @@
  			break;
  		case EXOSIP_CALL_REDIRECTED:
  			ms_message("CALL_REDIRECTED");
@@ -1917,7 +1924,7 @@ Only in linphone-3.6.1/console: Makefile.in
  			break;
  		case EXOSIP_CALL_PROCEEDING:
  			ms_message("CALL_PROCEEDING");
-@@ -2213,13 +2816,17 @@ static bool_t process_event(Sal *sal, eX
+@@ -2213,13 +2820,17 @@
  			ms_message("CALL_IN_SUBSCRIPTION_NEW ");
  			sal_exosip_subscription_recv(sal,ev);
  			break;
@@ -1935,7 +1942,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		case EXOSIP_SUBSCRIPTION_NOTIFY:
  			ms_message("CALL_SUBSCRIPTION_NOTIFY");
  			sal_exosip_notify_recv(sal,ev);
-@@ -2228,10 +2835,12 @@ static bool_t process_event(Sal *sal, eX
+@@ -2228,10 +2839,12 @@
  			ms_message("EXOSIP_SUBSCRIPTION_ANSWERED, ev->sid=%i, ev->did=%i\n",ev->sid,ev->did);
  			sal_exosip_subscription_answered(sal,ev);
  			break;
@@ -1948,7 +1955,7 @@ Only in linphone-3.6.1/console: Makefile.in
  		case EXOSIP_SUBSCRIPTION_REQUESTFAILURE:   /**< announce a request failure      */
  			if (ev->response && (ev->response->status_code == 407 || ev->response->status_code == 401)){
  				return process_authentication(sal,ev);
-@@ -2266,7 +2875,11 @@ static bool_t process_event(Sal *sal, eX
+@@ -2266,7 +2879,11 @@
  					case 401:
  						return process_authentication(sal,ev);
  					case 412: {
@@ -1960,7 +1967,7 @@ Only in linphone-3.6.1/console: Makefile.in
  						return 1;
  					}
  				}
-@@ -2282,22 +2895,50 @@ static bool_t process_event(Sal *sal, eX
+@@ -2282,22 +2899,50 @@
  
  int sal_iterate(Sal *sal){
  	eXosip_event_t *ev;
@@ -2011,7 +2018,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	return 0;
  }
  
-@@ -2337,7 +2978,7 @@ void sal_message_add_route(osip_message_
+@@ -2337,7 +2982,7 @@
  }
  
  
@@ -2020,7 +2027,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	osip_message_t *msg;
  	const char *contact=sal_op_get_contact(h);
  
-@@ -2361,31 +3002,60 @@ int sal_register(SalOp *h, const char *p
+@@ -2361,31 +3006,60 @@
  		}
  		if (uri) ms_free(uri);
  		sal_address_destroy(from_parsed);
@@ -2082,7 +2089,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	osip_message_t *msg=NULL;
  	const char *contact=sal_op_get_contact(op);
  	
-@@ -2408,27 +3078,58 @@ int sal_register_refresh(SalOp *op, int
+@@ -2408,27 +3082,58 @@
  			}
  		}
  	}
@@ -2144,7 +2151,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	return 0;
  }
  
-@@ -2598,8 +3299,13 @@ void sal_set_keepalive_period(Sal *ctx,u
+@@ -2598,8 +3303,13 @@
  		default:
  			break;
  	}
@@ -2158,7 +2165,7 @@ Only in linphone-3.6.1/console: Makefile.in
  unsigned int sal_get_keepalive_period(Sal *ctx) {
  	return ctx->keepalive_period;
  }
-@@ -2632,16 +3338,32 @@ void sal_address_set_transport(SalAddres
+@@ -2632,16 +3342,32 @@
  }
  
  /* sends a reinvite. Local media description may have changed by application since call establishment*/
@@ -2192,7 +2199,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	osip_message_set_subject(reinvite,subject);
  	osip_message_set_allow(reinvite, "INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO");
  	if (h->base.contact){
-@@ -2656,9 +3378,21 @@ int sal_call_update(SalOp *h, const char
+@@ -2656,9 +3382,21 @@
  		h->sdp_offering=TRUE;
  		set_sdp_from_desc(reinvite,h->base.local_media);
  	}else h->sdp_offering=FALSE;
@@ -2216,7 +2223,7 @@ Only in linphone-3.6.1/console: Makefile.in
  
 --- a/coreapi/sal_eXosip2.h
 +++ b/coreapi/sal_eXosip2.h
-@@ -53,6 +53,9 @@ struct Sal{
+@@ -53,6 +53,9 @@
  	bool_t expire_old_contact;
  	bool_t add_dates;
  	bool_t tcp_tls_keepalive;
@@ -2228,7 +2235,7 @@ Only in linphone-3.6.1/console: Makefile.in
  struct SalOp{
 --- a/coreapi/sal_eXosip2_presence.c
 +++ b/coreapi/sal_eXosip2_presence.c
-@@ -17,6 +17,9 @@ along with this program; if not, write t
+@@ -17,6 +17,9 @@
  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
  
@@ -2238,7 +2245,7 @@ Only in linphone-3.6.1/console: Makefile.in
  
  #include "sal_eXosip2.h"
  
-@@ -101,7 +104,7 @@ static void msg_add_current_date(osip_me
+@@ -101,7 +104,7 @@
  }
  
  
@@ -2247,7 +2254,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	osip_message_t *sip=NULL;
  
  	if(op->cid == -1)
-@@ -113,68 +116,126 @@ int sal_message_send(SalOp *op, const ch
+@@ -113,68 +116,126 @@
  			sal_op_set_to(op,to);
  
  		sal_exosip_fix_route(op);
@@ -2377,7 +2384,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (op->sid==-1){
  		osip_message_free(msg);
  		return -1;
-@@ -183,45 +244,93 @@ int sal_subscribe_presence(SalOp *op, co
+@@ -183,45 +244,93 @@
  	return 0;
  }
  
@@ -2474,7 +2481,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	return 0;
  }
  
-@@ -595,45 +704,82 @@ static void add_presence_body(osip_messa
+@@ -595,45 +704,82 @@
  }
  
  
@@ -2560,7 +2567,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	osip_message_t *pub;
  	int i;
  	char buf[1024];
-@@ -641,8 +787,13 @@ int sal_publish(SalOp *op, const char *f
+@@ -641,8 +787,13 @@
  
  	mk_presence_body (presence_mode, from, buf, sizeof (buf), presence_style);
  
@@ -2574,7 +2581,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (i<0){
  		ms_warning("Failed to build publish request.");
  		return -1;
-@@ -650,10 +801,23 @@ int sal_publish(SalOp *op, const char *f
+@@ -650,10 +801,23 @@
  	if (route)
  		sal_message_add_route(pub,route);
  	
@@ -2598,7 +2605,7 @@ Only in linphone-3.6.1/console: Makefile.in
  	if (i<0){
  		ms_message("Failed to send publish request.");
  		return -1;
-@@ -693,10 +857,26 @@ void sal_exosip_subscription_recv(Sal *s
+@@ -693,10 +857,26 @@
  		}else {
  			osip_message_t *msg=NULL;
  			ms_warning("Probably a refresh subscribe");
@@ -2627,7 +2634,7 @@ Only in linphone-3.6.1/console: Makefile.in
  }
 --- a/coreapi/sal.h
 +++ b/coreapi/sal.h
-@@ -382,8 +382,8 @@ void sal_op_set_contact(SalOp *op, const
+@@ -382,8 +382,8 @@
  void sal_op_set_route(SalOp *op, const char *route);
  void sal_op_set_from(SalOp *op, const char *from);
  void sal_op_set_to(SalOp *op, const char *to);
@@ -2638,7 +2645,7 @@ Only in linphone-3.6.1/console: Makefile.in
  void sal_op_cancel_authentication(SalOp *h);
  void sal_op_set_user_pointer(SalOp *h, void *up);
  int sal_op_get_auth_requested(SalOp *h, const char **realm, const char **username);
-@@ -402,51 +402,51 @@ const char* sal_op_get_call_id(const Sal
+@@ -402,51 +402,51 @@
  
  /*Call API*/
  int sal_call_set_local_media_description(SalOp *h, SalMediaDescription *desc);
@@ -2717,7 +2724,7 @@ Only in linphone-3.6.1/console: Makefile.in
  
 --- a/m4/exosip.m4
 +++ b/m4/exosip.m4
-@@ -13,64 +13,30 @@ case $host_alias in
+@@ -13,64 +13,30 @@
  	;;
  esac
  
diff --git a/debian/patches/series b/debian/patches/series
index 5a38ef5..2df0079 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,3 +7,4 @@ libav9.patch
 #kfreebsd.patch
 libav10.patch
 libav11.patch
+ffmpeg_2.9.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-voip/linphone.git



More information about the Pkg-voip-commits mailing list