diff --git a/linphone/NEWS b/linphone/NEWS
index 68202bbd79021f54e1a76c13795f2231aa2404b0..ec9c071b54634302b6ece416ae36333f847ff122 100644
--- a/linphone/NEWS
+++ b/linphone/NEWS
@@ -1,4 +1,10 @@
-linphone-3.1.2 --
+linphone-3.2.0 -- 
+	* new in-call layout
+	* new idle view with two buttons
+	* ability to dial the number from dialpad
+
+
+linphone-3.1.2 -- May 5, 2009
 	* make it work with lastest ffmpeg swscale
 	* improve theora packer
 	* update theora default settings to match performance of 1.0 release.
diff --git a/linphone/coreapi/linphonecore.c b/linphone/coreapi/linphonecore.c
index 8a8c7eee0acd93d41a96f3eecb21dc09084308d7..7a161a03fc91dfcae83453657d6d31941bd2adb2 100644
--- a/linphone/coreapi/linphonecore.c
+++ b/linphone/coreapi/linphonecore.c
@@ -79,6 +79,7 @@ int lc_callback_obj_invoke(LCCallbackObj *obj, LinphoneCore *lc){
 static void  linphone_call_init_common(LinphoneCall *call, char *from, char *to){
 	call->state=LCStateInit;
 	call->start_time=time(NULL);
+	call->media_start_time=0;
 	call->log=linphone_call_log_new(call, from, to);
 	linphone_core_notify_all_friends(call->core,LINPHONE_STATUS_ONTHEPHONE);
 	if (linphone_core_get_firewall_policy(call->core)==LINPHONE_POLICY_USE_STUN) 
@@ -251,7 +252,14 @@ void linphone_call_log_destroy(LinphoneCallLog *cl){
 int linphone_core_get_current_call_duration(const LinphoneCore *lc){
 	LinphoneCall *call=lc->call;
 	if (call==NULL) return 0;
-	return time(NULL)-call->start_time;
+	if (call->media_start_time==0) return 0;
+	return time(NULL)-call->media_start_time;
+}
+
+const char *linphone_core_get_remote_uri(LinphoneCore *lc){
+	LinphoneCall *call=lc->call;
+	if (call==NULL) return 0;
+	return call->dir==LinphoneCallIncoming ? call->log->from : call->log->to;
 }
 
 void _osip_trace_func(char *fi, int li, osip_trace_level_t level, char *chfr, va_list ap){
@@ -1541,6 +1549,9 @@ void linphone_core_start_media_streams(LinphoneCore *lc, LinphoneCall *call){
 	const char *tool="linphone-" LINPHONE_VERSION;
 	/* adjust rtp jitter compensation. It must be at least the latency of the sound card */
 	int jitt_comp=MAX(lc->sound_conf.latency,lc->rtp_conf.audio_jitt_comp);
+
+	if (call->media_start_time==0) call->media_start_time=time(NULL);
+
 	char *cname=ortp_strdup_printf("%s@%s",me->url->username,me->url->host);
 	{
 		StreamParams *audio_params=&call->audio_params;
diff --git a/linphone/coreapi/linphonecore.h b/linphone/coreapi/linphonecore.h
index 71e3bda5cbdb8b18e42821e256804849c1fe46c6..ee7ac5c396d3ddec22a9b58da74bb56611597532 100644
--- a/linphone/coreapi/linphonecore.h
+++ b/linphone/coreapi/linphonecore.h
@@ -186,7 +186,8 @@ typedef struct _LinphoneCall
 	int did; /*dialog id */
 	int tid; /*last transaction id*/
 	struct _sdp_context *sdpctx;
-	time_t start_time;
+	time_t start_time; /*time at which the call was initiated*/
+	time_t media_start_time; /*time at which it was accepted, media streams established*/
 	LCState	state;
 	bool_t auth_pending;	
 } LinphoneCall;
@@ -771,6 +772,7 @@ void linphone_core_set_record_file(LinphoneCore *lc, const char *file);
 
 gstate_t linphone_core_get_state(const LinphoneCore *lc, gstate_group_t group);
 int linphone_core_get_current_call_duration(const LinphoneCore *lc);
+const char *linphone_core_get_remote_uri(LinphoneCore *lc);
 
 int linphone_core_get_mtu(const LinphoneCore *lc);
 void linphone_core_set_mtu(LinphoneCore *lc, int mtu);
diff --git a/linphone/gtk-glade/Makefile.am b/linphone/gtk-glade/Makefile.am
index 884d9ecfb05dd636813cdaf0875443bc7f9bc8e1..4f8f67f80b1a62c092725feb36c392e829cea3c2 100644
--- a/linphone/gtk-glade/Makefile.am
+++ b/linphone/gtk-glade/Makefile.am
@@ -35,6 +35,7 @@ linphone_3_SOURCES=	main.c \
 			buddylookup.c \
 			utils.c \
 			setupwizard.c\
+			incall_view.c \
 			linphone.h
 
 linphone_3_LDADD=$(top_builddir)/oRTP/src/libortp.la \
diff --git a/linphone/gtk-glade/incall_view.c b/linphone/gtk-glade/incall_view.c
new file mode 100644
index 0000000000000000000000000000000000000000..5ec94eba6a703b49b6ab58173f6dfb28142ce548
--- /dev/null
+++ b/linphone/gtk-glade/incall_view.c
@@ -0,0 +1,111 @@
+/*
+*  C Implementation: incall_frame
+*
+* Description: 
+*
+*
+* Author: Simon Morlat <simon.morlat@linphone.org>, (C) 2009
+*
+* Copyright: See COPYING file that comes with this distribution
+*
+*/
+
+#include "linphone.h"
+
+void linphone_gtk_show_in_call_view(void){
+	GtkWidget *main_window=linphone_gtk_get_main_window();
+	GtkWidget *idle_frame=linphone_gtk_get_widget(main_window,"idle_frame");
+	GtkWidget *in_call_frame=linphone_gtk_get_widget(main_window,"in_call_frame");
+	gtk_widget_hide(idle_frame);
+	gtk_widget_show(in_call_frame);
+}
+
+void linphone_gtk_show_idle_view(void){
+	GtkWidget *main_window=linphone_gtk_get_main_window();
+	GtkWidget *idle_frame=linphone_gtk_get_widget(main_window,"idle_frame");
+	GtkWidget *in_call_frame=linphone_gtk_get_widget(main_window,"in_call_frame");
+	gtk_widget_show(idle_frame);
+	gtk_widget_hide(in_call_frame);
+}
+
+void linphone_gtk_in_call_view_set_calling(const char *uri){
+	GtkWidget *main_window=linphone_gtk_get_main_window();
+	GtkWidget *status=linphone_gtk_get_widget(main_window,"in_call_status");
+	GtkWidget *callee=linphone_gtk_get_widget(main_window,"in_call_uri");
+	GtkWidget *duration=linphone_gtk_get_widget(main_window,"in_call_duration");
+	GtkWidget *animation=linphone_gtk_get_widget(main_window,"in_call_animation");
+	GdkPixbufAnimation *pbuf=create_pixbuf_animation("calling_anim.gif");
+	GtkWidget *terminate_button=linphone_gtk_get_widget(main_window,"in_call_terminate");
+	char *uri_label;
+
+	gtk_widget_set_sensitive(terminate_button,TRUE);
+	gtk_label_set_markup(GTK_LABEL(status),_("<b>Calling...</b>"));
+	uri_label=g_markup_printf_escaped("<span size=\"large\"><i>%s</i></span>", uri);
+	gtk_label_set_markup(GTK_LABEL(callee),uri_label);
+	g_free(uri_label);
+	gtk_label_set_text(GTK_LABEL(duration),"00:00:00");
+	if (pbuf!=NULL){
+		gtk_image_set_from_animation(GTK_IMAGE(animation),pbuf);
+		g_object_unref(G_OBJECT(pbuf));
+	}else gtk_image_set_from_stock(GTK_IMAGE(animation),GTK_STOCK_INFO,GTK_ICON_SIZE_DIALOG);
+}
+
+void linphone_gtk_in_call_view_set_in_call(const char *uri){
+	GtkWidget *main_window=linphone_gtk_get_main_window();
+	GtkWidget *status=linphone_gtk_get_widget(main_window,"in_call_status");
+	GtkWidget *callee=linphone_gtk_get_widget(main_window,"in_call_uri");
+	GtkWidget *duration=linphone_gtk_get_widget(main_window,"in_call_duration");
+	char *uri_label;
+	GtkWidget *animation=linphone_gtk_get_widget(main_window,"in_call_animation");
+	GdkPixbufAnimation *pbuf=create_pixbuf_animation("incall_anim.gif");
+	GtkWidget *terminate_button=linphone_gtk_get_widget(main_window,"in_call_terminate");
+
+	gtk_widget_set_sensitive(terminate_button,TRUE);
+	gtk_label_set_markup(GTK_LABEL(status),_("<b>In call with</b>"));
+	uri_label=g_markup_printf_escaped("<span size=\"large\"><i>%s</i></span>", uri);
+	gtk_label_set_markup(GTK_LABEL(callee),uri_label);
+	g_free(uri_label);
+	gtk_label_set_text(GTK_LABEL(duration),_("00::00::00"));
+	if (pbuf!=NULL){
+		gtk_image_set_from_animation(GTK_IMAGE(animation),pbuf);
+		g_object_unref(G_OBJECT(pbuf));
+	}else gtk_image_set_from_stock(GTK_IMAGE(animation),GTK_STOCK_INFO,GTK_ICON_SIZE_DIALOG);
+}
+
+void linphone_gtk_in_call_view_update_duration(int duration){
+	GtkWidget *main_window=linphone_gtk_get_main_window();
+	GtkWidget *duration_label=linphone_gtk_get_widget(main_window,"in_call_duration");
+	char tmp[256]={0};
+	int seconds=duration%60;
+	int minutes=(duration/60)%60;
+	int hours=duration/3600;
+	snprintf(tmp,sizeof(tmp)-1,_("%02i::%02i::%02i"),hours,minutes,seconds);
+	gtk_label_set_text(GTK_LABEL(duration_label),tmp);
+}
+
+static gboolean in_call_view_terminated(){
+	linphone_gtk_show_idle_view();
+	return FALSE;
+}
+
+void linphone_gtk_in_call_view_terminate(const char *error_msg){
+	GtkWidget *main_window=linphone_gtk_get_main_window();
+	GtkWidget *status=linphone_gtk_get_widget(main_window,"in_call_status");
+	GtkWidget *animation=linphone_gtk_get_widget(main_window,"in_call_animation");
+	GtkWidget *terminate_button=linphone_gtk_get_widget(main_window,"in_call_terminate");
+	GdkPixbuf *pbuf=create_pixbuf(linphone_gtk_get_ui_config("stop_call_icon","red.png"));
+
+	gtk_widget_set_sensitive(terminate_button,FALSE);
+	if (error_msg==NULL)
+		gtk_label_set_markup(GTK_LABEL(status),_("<b>Call ended.</b>"));
+	else{
+		char *msg=g_markup_printf_escaped("<span color=\"red\"><b>%s</b></span>",error_msg);
+		gtk_label_set_markup(GTK_LABEL(status),msg);
+		g_free(msg);
+	}
+	if (pbuf!=NULL){
+		gtk_image_set_from_pixbuf(GTK_IMAGE(animation),pbuf);
+		g_object_unref(G_OBJECT(pbuf));
+	}
+	g_timeout_add_seconds(2,(GSourceFunc)in_call_view_terminated,NULL);
+}
diff --git a/linphone/gtk-glade/linphone.h b/linphone/gtk-glade/linphone.h
index 11d2eb6f425195b4774372ec2e4f5208b7ff0235..a10f77dacc99349c7ebd7376d89a0a10eb79060e 100644
--- a/linphone/gtk-glade/linphone.h
+++ b/linphone/gtk-glade/linphone.h
@@ -34,6 +34,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #endif
 
 GdkPixbuf * create_pixbuf(const gchar *filename);
+GdkPixbufAnimation *create_pixbuf_animation(const gchar *filename);
 void add_pixmap_directory(const gchar *directory);
 GtkWidget *linphone_gtk_create_window(const char *window_name);
 GtkWidget *linphone_gtk_get_widget(GtkWidget *window, const char *name);
@@ -41,6 +42,7 @@ LinphoneCore *linphone_gtk_get_core(void);
 GtkWidget *linphone_gtk_get_main_window();
 void linphone_gtk_display_something(GtkMessageType type,const gchar *message);
 void linphone_gtk_start_call(GtkWidget *button);
+void linphone_gtk_call_terminated();
 void linphone_gtk_show_friends(void);
 void linphone_gtk_show_contact(LinphoneFriend *lf);
 void linphone_gtk_set_my_presence(LinphoneOnlineStatus ss);
@@ -63,3 +65,12 @@ void linphone_gtk_set_lang(const char *code);
 SipSetupContext* linphone_gtk_get_default_sip_setup_context(void);
 void linphone_gtk_show_buddy_lookup_window(SipSetupContext *ctx);
 void * linphone_gtk_wait(LinphoneCore *lc, void *ctx, LinphoneWaitingState ws, const char *purpose, float progress);
+gchar *linphone_gtk_get_display_name(const char *sip_uri);
+
+/*functions controlling the in-call view*/
+void linphone_gtk_show_in_call_view(void);
+void linphone_gtk_show_idle_view(void);
+void linphone_gtk_in_call_view_set_calling(const char *uri);
+void linphone_gtk_in_call_view_set_in_call(const char *uri);
+void linphone_gtk_in_call_view_update_duration(int duration);
+void linphone_gtk_in_call_view_terminate(const char *error_msg);
diff --git a/linphone/gtk-glade/main.c b/linphone/gtk-glade/main.c
index 9e490d41c95479cefc8a5bf7b6219fa7d5811db1..5198eca49b444592c5a85d537b3486f8baaaf2f4 100644
--- a/linphone/gtk-glade/main.c
+++ b/linphone/gtk-glade/main.c
@@ -304,8 +304,17 @@ static void set_video_window_decorations(GdkWindow *w){
 	const char *icon_path=linphone_gtk_get_ui_config("icon","linphone2.png");
 	char video_title[256];
 	GdkPixbuf *pbuf=create_pixbuf(icon_path);
-	snprintf(video_title,sizeof(video_title),"%s video",title);
+	if (!linphone_core_in_call(linphone_gtk_get_core())){
+		snprintf(video_title,sizeof(video_title),"%s video",title);	
+	}else{
+		const char *uri=linphone_core_get_remote_uri(linphone_gtk_get_core());
+		gchar *display_name=linphone_gtk_get_display_name(uri);
+		snprintf(video_title,sizeof(video_title),"Call with %s",display_name);
+		g_free(display_name);
+	}
 	gdk_window_set_title(w,video_title);
+	/*gdk_window_set_urgency_hint(w,TRUE);*/
+	gdk_window_raise(w);
 	if (pbuf){
 		GList *l=NULL;
 		l=g_list_append(l,pbuf);
@@ -315,6 +324,11 @@ static void set_video_window_decorations(GdkWindow *w){
 	}
 }
 
+static gboolean video_needs_update=FALSE;
+
+static void update_video_title(){
+	video_needs_update=TRUE;
+}
 
 static gboolean linphone_gtk_iterate(LinphoneCore *lc){
 	unsigned long id;
@@ -326,11 +340,11 @@ static gboolean linphone_gtk_iterate(LinphoneCore *lc){
 	in_iterate=TRUE;
 	linphone_core_iterate(lc);
 	id=linphone_core_get_native_video_window_id(lc);
-	if (id!=previd){
-		ms_message("Updating window decorations");
+	if (id!=previd || video_needs_update){
 		GdkWindow *w;
 		previd=id;
 		if (id!=0){
+			ms_message("Updating window decorations");
 #ifndef WIN32
 			w=gdk_window_foreign_new(id);
 #else
@@ -341,6 +355,7 @@ static gboolean linphone_gtk_iterate(LinphoneCore *lc){
 				g_object_unref(G_OBJECT(w));
 			}
 			else ms_error("gdk_window_foreign_new() failed");
+			if (video_needs_update) video_needs_update=FALSE;
 		}
 	}
 	in_iterate=FALSE;
@@ -419,37 +434,56 @@ static void completion_add_text(GtkEntry *entry, const char *text){
 	save_uri_history();
 }
 
-static void linphone_gtk_call_terminated(GtkWidget *mw){
+void linphone_gtk_call_terminated(const char *error){
+	GtkWidget *mw=linphone_gtk_get_main_window();
 	gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"terminate_call"),FALSE);
 	gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"start_call"),TRUE);
+	gtk_widget_hide(linphone_gtk_get_widget(mw,"go_to_call_view"));
+	linphone_gtk_in_call_view_terminate(error);
+	update_video_title();
 	g_object_set_data(G_OBJECT(mw),"incoming_call",NULL);
+	
 }
 
-gboolean check_call_active(){
-	if (!linphone_core_in_call(linphone_gtk_get_core())){
-		linphone_gtk_call_terminated(linphone_gtk_get_main_window());
-		return FALSE;
+static gboolean in_call_timer(){
+	if (linphone_core_in_call(linphone_gtk_get_core())){
+		linphone_gtk_in_call_view_update_duration(
+			linphone_core_get_current_call_duration(linphone_gtk_get_core()));
+		return TRUE;
 	}
-	return TRUE;
+	return FALSE;
 }
 
 static void linphone_gtk_call_started(GtkWidget *mw){
 	gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"start_call"),FALSE);
 	gtk_widget_set_sensitive(linphone_gtk_get_widget(mw,"terminate_call"),TRUE);
-	g_timeout_add(250,(GSourceFunc)check_call_active,NULL);
+	gtk_widget_show(linphone_gtk_get_widget(mw,"go_to_call_view"));
+	update_video_title();
+	g_timeout_add(250,(GSourceFunc)in_call_timer,NULL);
+}
+
+static gboolean linphone_gtk_start_call_do(GtkWidget *uri_bar){
+	const char *entered=gtk_entry_get_text(GTK_ENTRY(uri_bar));
+	if (linphone_core_invite(linphone_gtk_get_core(),entered)==0) {
+		completion_add_text(GTK_ENTRY(uri_bar),entered);
+	}else{
+	}
+	return FALSE;
 }
 
 void linphone_gtk_start_call(GtkWidget *w){
 	LinphoneCore *lc=linphone_gtk_get_core();
-	if (linphone_core_inc_invite_pending(lc)){
+	if (linphone_core_inc_invite_pending(lc) || linphone_core_in_call(lc)) {
 		/*already in call */
 	}else{
-		GtkWidget *uri_bar=linphone_gtk_get_widget(gtk_widget_get_toplevel(w),"uribar");
+		/*change into in-call mode, then do the work later as it might block a bit */
+		GtkWidget *mw=gtk_widget_get_toplevel(w);
+		GtkWidget *uri_bar=linphone_gtk_get_widget(mw,"uribar");
 		const char *entered=gtk_entry_get_text(GTK_ENTRY(uri_bar));
-		if (linphone_core_invite(lc,entered)==0) {
-			linphone_gtk_call_started(linphone_gtk_get_main_window());
-			completion_add_text(GTK_ENTRY(uri_bar),entered);
-		}
+		linphone_gtk_call_started(mw);
+		linphone_gtk_in_call_view_set_calling(entered);
+		linphone_gtk_show_in_call_view();
+		g_timeout_add(100,(GSourceFunc)linphone_gtk_start_call_do,uri_bar);
 	}
 }
 
@@ -460,20 +494,21 @@ void linphone_gtk_uri_bar_activate(GtkWidget *w){
 
 void linphone_gtk_terminate_call(GtkWidget *button){
 	linphone_core_terminate_call(linphone_gtk_get_core(),NULL);
-	linphone_gtk_call_terminated(gtk_widget_get_toplevel(button));
 }
 
 void linphone_gtk_decline_call(GtkWidget *button){
 	linphone_core_terminate_call(linphone_gtk_get_core(),NULL);
-	linphone_gtk_call_terminated(linphone_gtk_get_main_window());
 	gtk_widget_destroy(gtk_widget_get_toplevel(button));
 }
 
 void linphone_gtk_accept_call(GtkWidget *button){
-	linphone_core_accept_call(linphone_gtk_get_core(),NULL);
+	LinphoneCore *lc=linphone_gtk_get_core();
+	linphone_core_accept_call(lc,NULL);
 	g_object_set_data(G_OBJECT(linphone_gtk_get_main_window()),"incoming_call",NULL);
 	gtk_widget_destroy(gtk_widget_get_toplevel(button));
 	linphone_gtk_call_started(linphone_gtk_get_main_window());
+	linphone_gtk_in_call_view_set_in_call(linphone_core_get_remote_uri(lc));
+	linphone_gtk_show_in_call_view();
 }
 
 void linphone_gtk_set_audio_video(){
@@ -535,7 +570,6 @@ static void linphone_gtk_bye_recv(LinphoneCore *lc, const char *from){
 	if (icw!=NULL){
 		gtk_widget_destroy(icw);
 	}
-	linphone_gtk_call_terminated(linphone_gtk_get_main_window());
 }
 
 static void linphone_gtk_notify_recv(LinphoneCore *lc, LinphoneFriend * fid, const char *url, const char *status, const char *img){
@@ -667,6 +701,20 @@ static void linphone_gtk_call_log_updated(LinphoneCore *lc, LinphoneCallLog *cl)
 }
 
 static void linphone_gtk_general_state(LinphoneCore *lc, LinphoneGeneralState *gstate){
+	switch(gstate->new_state){
+		case GSTATE_CALL_OUT_CONNECTED:
+		case GSTATE_CALL_IN_CONNECTED:
+			linphone_gtk_in_call_view_set_in_call(linphone_core_get_remote_uri(lc));
+		break;
+		case GSTATE_CALL_ERROR:
+			linphone_gtk_call_terminated(gstate->message);
+		break;
+		case GSTATE_CALL_END:
+			linphone_gtk_call_terminated(NULL);
+		break;
+		default:
+		break;
+	}
 }
 
 static void icon_popup_menu(GtkStatusIcon *status_icon, guint button, guint activate_time, gpointer user_data){
@@ -769,7 +817,13 @@ void linphone_gtk_load_identities(void){
 
 static void linphone_gtk_dtmf_clicked(GtkButton *button){
 	const char *label=gtk_button_get_label(button);
-	linphone_core_send_dtmf(linphone_gtk_get_core(),label[0]);
+	if (linphone_core_in_call(linphone_gtk_get_core())){
+		linphone_core_send_dtmf(linphone_gtk_get_core(),label[0]);
+	}else{
+		GtkWidget *uri_bar=linphone_gtk_get_widget(gtk_widget_get_toplevel(GTK_WIDGET(button)),"uribar");
+		int pos=-1;
+		gtk_editable_insert_text(GTK_EDITABLE(uri_bar),label,1,&pos);
+	}
 }
 
 static void linphone_gtk_connect_digits(void){
@@ -863,7 +917,7 @@ void linphone_gtk_close(){
 	/*shutdown call if any*/
 	if (linphone_core_in_call(lc)){
 		linphone_core_terminate_call(lc,NULL);
-		linphone_gtk_call_terminated(the_ui);
+		linphone_gtk_call_terminated(NULL);
 	}
 	linphone_core_enable_video_preview(lc,FALSE);
 }
diff --git a/linphone/gtk-glade/main.glade b/linphone/gtk-glade/main.glade
index 24ba9eeb68f59cb97216cd41ef489441a58a776e..23382c05ad34b2c16f6e326651d3d2aebeb7d730 100644
--- a/linphone/gtk-glade/main.glade
+++ b/linphone/gtk-glade/main.glade
@@ -194,627 +194,884 @@
           </packing>
         </child>
         <child>
-          <widget class="GtkVBox" id="vbox4">
+          <widget class="GtkHBox" id="hbox1">
             <property name="visible">True</property>
-            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
             <child>
-              <widget class="GtkHBox" id="hbox1">
+              <widget class="GtkVBox" id="idle_frame">
                 <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                <property name="orientation">vertical</property>
                 <child>
-                  <widget class="GtkButton" id="start_call">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                    <property name="tooltip" translatable="yes">Start call</property>
-                    <property name="relief">half</property>
-                    <signal name="clicked" handler="linphone_gtk_start_call"/>
-                    <child>
-                      <widget class="GtkHBox" id="hbox4">
-                        <property name="visible">True</property>
-                        <child>
-                          <widget class="GtkImage" id="start_call_icon">
-                            <property name="visible">True</property>
-                            <property name="stock">gtk-apply</property>
-                          </widget>
-                          <packing>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="start_call_label">
-                            <property name="label" translatable="yes">Start call</property>
-                          </widget>
-                          <packing>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </widget>
-                    </child>
-                  </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="padding">10</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkFrame" id="frame4">
+                  <widget class="GtkHBox" id="hbox2">
                     <property name="visible">True</property>
-                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                    <property name="label_xalign">0</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment4">
+                      <widget class="GtkButton" id="start_call">
                         <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="has_tooltip">True</property>
+                        <property name="tooltip" translatable="yes">Start call</property>
+                        <property name="relief">half</property>
+                        <signal name="clicked" handler="linphone_gtk_start_call"/>
                         <child>
-                          <widget class="GtkHBox" id="hbox3">
+                          <widget class="GtkHBox" id="hbox4">
                             <property name="visible">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                             <child>
-                              <widget class="GtkEntry" id="uribar">
+                              <widget class="GtkImage" id="start_call_icon">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="has_focus">True</property>
-                                <property name="tooltip" translatable="yes">Enter username, phone number, or full sip address</property>
-                                <property name="invisible_char">&#x25CF;</property>
-                                <signal name="activate" handler="linphone_gtk_uri_bar_activate"/>
+                                <property name="stock">gtk-apply</property>
                               </widget>
                               <packing>
                                 <property name="position">0</property>
                               </packing>
                             </child>
+                            <child>
+                              <widget class="GtkLabel" id="start_call_label">
+                                <property name="label" translatable="yes">Start call</property>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
                           </widget>
                         </child>
                       </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label9">
-                        <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                        <property name="label" translatable="yes">SIP address or phone number:</property>
-                        <property name="use_markup">True</property>
-                      </widget>
                       <packing>
-                        <property name="type">label_item</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="padding">10</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
-                  </widget>
-                  <packing>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkButton" id="terminate_call">
-                    <property name="visible">True</property>
-                    <property name="sensitive">False</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                    <property name="tooltip" translatable="yes">Terminate call</property>
-                    <property name="relief">half</property>
-                    <signal name="clicked" handler="linphone_gtk_terminate_call"/>
                     <child>
-                      <widget class="GtkHBox" id="hbox21">
+                      <widget class="GtkFrame" id="frame4">
                         <property name="visible">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="label_xalign">0</property>
+                        <child>
+                          <widget class="GtkAlignment" id="alignment4">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <child>
+                              <widget class="GtkHBox" id="hbox3">
+                                <property name="visible">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <child>
+                                  <widget class="GtkEntry" id="uribar">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="tooltip" translatable="yes">Enter username, phone number, or full sip address</property>
+                                    <property name="invisible_char">&#x25CF;</property>
+                                    <signal name="activate" handler="linphone_gtk_uri_bar_activate"/>
+                                  </widget>
+                                  <packing>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                            </child>
+                          </widget>
+                        </child>
                         <child>
-                          <widget class="GtkImage" id="terminate_call_icon">
+                          <widget class="GtkLabel" id="label9">
                             <property name="visible">True</property>
                             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                            <property name="stock">gtk-close</property>
+                            <property name="label" translatable="yes">SIP address or phone number:</property>
+                            <property name="use_markup">True</property>
                           </widget>
                           <packing>
-                            <property name="position">0</property>
+                            <property name="type">label_item</property>
                           </packing>
                         </child>
+                      </widget>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkButton" id="terminate_call">
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="has_tooltip">True</property>
+                        <property name="tooltip" translatable="yes">Terminate call</property>
+                        <property name="relief">half</property>
+                        <signal name="clicked" handler="linphone_gtk_terminate_call"/>
                         <child>
-                          <widget class="GtkLabel" id="terminate_call_label">
+                          <widget class="GtkHBox" id="hbox21">
+                            <property name="visible">True</property>
                             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                            <property name="label" translatable="yes">Terminate call</property>
+                            <child>
+                              <widget class="GtkImage" id="terminate_call_icon">
+                                <property name="visible">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="stock">gtk-close</property>
+                              </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="terminate_call_label">
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" translatable="yes">Terminate call</property>
+                              </widget>
+                              <packing>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
                           </widget>
-                          <packing>
-                            <property name="position">1</property>
-                          </packing>
                         </child>
                       </widget>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="padding">10</property>
+                        <property name="position">2</property>
+                      </packing>
                     </child>
                   </widget>
                   <packing>
                     <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="padding">10</property>
-                    <property name="position">2</property>
+                    <property name="padding">8</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="padding">8</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkHBox" id="hbox2">
-                <property name="visible">True</property>
-                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                 <child>
-                  <widget class="GtkFrame" id="frame6">
+                  <widget class="GtkHBox" id="hbox5">
                     <property name="visible">True</property>
                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                    <property name="label_xalign">0</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment6">
+                      <widget class="GtkFrame" id="frame6">
                         <property name="visible">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                        <property name="left_padding">12</property>
+                        <property name="label_xalign">0</property>
                         <child>
-                          <widget class="GtkVBox" id="vbox5">
+                          <widget class="GtkAlignment" id="alignment6">
                             <property name="visible">True</property>
                             <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="left_padding">12</property>
                             <child>
-                              <widget class="GtkHBox" id="filtering_box">
+                              <widget class="GtkVBox" id="vbox5">
                                 <property name="visible">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="orientation">vertical</property>
                                 <child>
-                                  <widget class="GtkLabel" id="label2">
+                                  <widget class="GtkHBox" id="filtering_box">
                                     <property name="visible">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                    <property name="label" translatable="yes">Lookup:</property>
+                                    <child>
+                                      <widget class="GtkLabel" id="label2">
+                                        <property name="visible">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                        <property name="label" translatable="yes">Lookup:</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="padding">12</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkEntry" id="search_bar">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                        <property name="invisible_char">&#x25CF;</property>
+                                        <signal name="changed" handler="linphone_gtk_show_friends"/>
+                                      </widget>
+                                      <packing>
+                                        <property name="padding">4</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label_in">
+                                        <property name="visible">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                        <property name="label" translatable="yes">in</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="padding">8</property>
+                                        <property name="position">2</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkComboBox" id="show_category">
+                                        <property name="visible">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                        <property name="active">0</property>
+                                        <property name="items" translatable="yes">All users
+Online users</property>
+                                        <signal name="changed" handler="linphone_gtk_show_friends"/>
+                                      </widget>
+                                      <packing>
+                                        <property name="padding">4</property>
+                                        <property name="position">3</property>
+                                      </packing>
+                                    </child>
                                   </widget>
                                   <packing>
-                                    <property name="padding">12</property>
+                                    <property name="expand">False</property>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkEntry" id="search_bar">
+                                  <widget class="GtkScrolledWindow" id="scrolledwindow1">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                    <signal name="changed" handler="linphone_gtk_show_friends"/>
+                                    <property name="hscrollbar_policy">automatic</property>
+                                    <property name="vscrollbar_policy">automatic</property>
+                                    <child>
+                                      <widget class="GtkTreeView" id="contact_list">
+                                        <property name="height_request">120</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                        <signal name="button_press_event" handler="linphone_gtk_contact_list_button_pressed"/>
+                                        <signal name="cursor_changed" handler="linphone_gtk_contact_clicked"/>
+                                        <signal name="row_activated" handler="linphone_gtk_contact_activated"/>
+                                        <signal name="popup_menu" handler="linphone_gtk_popup_contact_menu"/>
+                                      </widget>
+                                    </child>
                                   </widget>
                                   <packing>
-                                    <property name="padding">4</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
-                                <child>
-                                  <widget class="GtkLabel" id="label_in">
-                                    <property name="visible">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                    <property name="label" translatable="yes">in</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="padding">8</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkComboBox" id="show_category">
-                                    <property name="visible">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                    <property name="active">0</property>
-                                    <property name="items" translatable="yes">All users
-Online users</property>
-                                    <signal name="changed" handler="linphone_gtk_show_friends"/>
-                                  </widget>
-                                  <packing>
-                                    <property name="padding">4</property>
-                                    <property name="position">3</property>
-                                  </packing>
-                                </child>
                               </widget>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label12">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label" translatable="yes">&lt;b&gt;Contact list&lt;/b&gt;</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                          <packing>
+                            <property name="type">label_item</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="padding">8</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox6">
+                        <property name="visible">True</property>
+                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <widget class="GtkFrame" id="dialpad">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label_xalign">0</property>
                             <child>
-                              <widget class="GtkScrolledWindow" id="scrolledwindow1">
+                              <widget class="GtkAlignment" id="alignment5">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="hscrollbar_policy">automatic</property>
-                                <property name="vscrollbar_policy">automatic</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                                 <child>
-                                  <widget class="GtkTreeView" id="contact_list">
-                                    <property name="height_request">120</property>
+                                  <widget class="GtkTable" id="dtmf_table">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
                                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                    <signal name="button_press_event" handler="linphone_gtk_contact_list_button_pressed"/>
-                                    <signal name="cursor_changed" handler="linphone_gtk_contact_clicked"/>
-                                    <signal name="row_activated" handler="linphone_gtk_contact_activated"/>
-                                    <signal name="popup_menu" handler="linphone_gtk_popup_contact_menu"/>
+                                    <property name="border_width">4</property>
+                                    <property name="n_rows">4</property>
+                                    <property name="n_columns">4</property>
+                                    <property name="homogeneous">True</property>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_D">
+                                        <property name="label" translatable="yes">D</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">3</property>
+                                        <property name="right_attach">4</property>
+                                        <property name="top_attach">3</property>
+                                        <property name="bottom_attach">4</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_hash">
+                                        <property name="label" translatable="yes">#</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">2</property>
+                                        <property name="right_attach">3</property>
+                                        <property name="top_attach">3</property>
+                                        <property name="bottom_attach">4</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_0">
+                                        <property name="label" translatable="yes">0</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">3</property>
+                                        <property name="bottom_attach">4</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_star">
+                                        <property name="label" translatable="yes">*</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="top_attach">3</property>
+                                        <property name="bottom_attach">4</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_C">
+                                        <property name="label" translatable="yes">C</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">3</property>
+                                        <property name="right_attach">4</property>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_9">
+                                        <property name="label" translatable="yes">9</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">2</property>
+                                        <property name="right_attach">3</property>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_8">
+                                        <property name="label" translatable="yes">8</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_7">
+                                        <property name="label" translatable="yes">7</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_B">
+                                        <property name="label" translatable="yes">B</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">3</property>
+                                        <property name="right_attach">4</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_6">
+                                        <property name="label" translatable="yes">6</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">2</property>
+                                        <property name="right_attach">3</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_5">
+                                        <property name="label" translatable="yes">5</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_4">
+                                        <property name="label" translatable="yes">4</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_A">
+                                        <property name="label" translatable="yes">A</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">3</property>
+                                        <property name="right_attach">4</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_3">
+                                        <property name="label" translatable="yes">3</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">2</property>
+                                        <property name="right_attach">3</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_2">
+                                        <property name="label" translatable="yes">2</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkButton" id="dtmf_1">
+                                        <property name="label" translatable="yes">1</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="x_options"></property>
+                                        <property name="y_options"></property>
+                                      </packing>
+                                    </child>
                                   </widget>
                                 </child>
                               </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label11">
+                                <property name="visible">True</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                <property name="label" translatable="yes">Digits</property>
+                                <property name="use_markup">True</property>
+                              </widget>
                               <packing>
-                                <property name="position">1</property>
+                                <property name="type">label_item</property>
                               </packing>
                             </child>
                           </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
                         </child>
                       </widget>
-                    </child>
-                    <child>
-                      <widget class="GtkLabel" id="label12">
-                        <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                        <property name="label" translatable="yes">&lt;b&gt;Contact list&lt;/b&gt;</property>
-                        <property name="use_markup">True</property>
-                      </widget>
                       <packing>
-                        <property name="type">label_item</property>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                   </widget>
                   <packing>
-                    <property name="padding">8</property>
-                    <property name="position">0</property>
+                    <property name="position">1</property>
                   </packing>
                 </child>
                 <child>
-                  <widget class="GtkVBox" id="vbox6">
+                  <widget class="GtkHBox" id="hbox6">
                     <property name="visible">True</property>
-                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                     <child>
-                      <widget class="GtkFrame" id="dialpad">
+                      <widget class="GtkFrame" id="identity_frame">
                         <property name="visible">True</property>
                         <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                         <property name="label_xalign">0</property>
                         <child>
-                          <widget class="GtkAlignment" id="alignment5">
+                          <widget class="GtkHBox" id="hbox9">
                             <property name="visible">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                             <child>
-                              <widget class="GtkTable" id="dtmf_table">
+                              <widget class="GtkAlignment" id="alignment8">
                                 <property name="visible">True</property>
                                 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                <property name="border_width">4</property>
-                                <property name="n_rows">4</property>
-                                <property name="n_columns">4</property>
-                                <property name="homogeneous">True</property>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_D">
-                                    <property name="label" translatable="yes">D</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">3</property>
-                                    <property name="right_attach">4</property>
-                                    <property name="top_attach">3</property>
-                                    <property name="bottom_attach">4</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_hash">
-                                    <property name="label" translatable="yes">#</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">2</property>
-                                    <property name="right_attach">3</property>
-                                    <property name="top_attach">3</property>
-                                    <property name="bottom_attach">4</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_0">
-                                    <property name="label" translatable="yes">0</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="right_attach">2</property>
-                                    <property name="top_attach">3</property>
-                                    <property name="bottom_attach">4</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_star">
-                                    <property name="label" translatable="yes">*</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="top_attach">3</property>
-                                    <property name="bottom_attach">4</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_C">
-                                    <property name="label" translatable="yes">C</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">3</property>
-                                    <property name="right_attach">4</property>
-                                    <property name="top_attach">2</property>
-                                    <property name="bottom_attach">3</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_9">
-                                    <property name="label" translatable="yes">9</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">2</property>
-                                    <property name="right_attach">3</property>
-                                    <property name="top_attach">2</property>
-                                    <property name="bottom_attach">3</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_8">
-                                    <property name="label" translatable="yes">8</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="right_attach">2</property>
-                                    <property name="top_attach">2</property>
-                                    <property name="bottom_attach">3</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_7">
-                                    <property name="label" translatable="yes">7</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="top_attach">2</property>
-                                    <property name="bottom_attach">3</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_B">
-                                    <property name="label" translatable="yes">B</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">3</property>
-                                    <property name="right_attach">4</property>
-                                    <property name="top_attach">1</property>
-                                    <property name="bottom_attach">2</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_6">
-                                    <property name="label" translatable="yes">6</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">2</property>
-                                    <property name="right_attach">3</property>
-                                    <property name="top_attach">1</property>
-                                    <property name="bottom_attach">2</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_5">
-                                    <property name="label" translatable="yes">5</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="right_attach">2</property>
-                                    <property name="top_attach">1</property>
-                                    <property name="bottom_attach">2</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
+                                <property name="left_padding">12</property>
                                 <child>
-                                  <widget class="GtkButton" id="dtmf_4">
-                                    <property name="label" translatable="yes">4</property>
+                                  <widget class="GtkComboBox" id="identities">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="top_attach">1</property>
-                                    <property name="bottom_attach">2</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_A">
-                                    <property name="label" translatable="yes">A</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                  </widget>
-                                  <packing>
-                                    <property name="left_attach">3</property>
-                                    <property name="right_attach">4</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <widget class="GtkButton" id="dtmf_3">
-                                    <property name="label" translatable="yes">3</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
                                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                    <property name="active">0</property>
+                                    <property name="items" translatable="yes">Default</property>
+                                    <signal name="changed" handler="linphone_gtk_used_identity_changed"/>
                                   </widget>
-                                  <packing>
-                                    <property name="left_attach">2</property>
-                                    <property name="right_attach">3</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
-                                  </packing>
                                 </child>
+                              </widget>
+                              <packing>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkButton" id="presence_button">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
+                                <signal name="clicked" handler="linphone_gtk_my_presence_clicked"/>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                        </child>
+                        <child>
+                          <widget class="GtkLabel" id="label17">
+                            <property name="visible">True</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="label" translatable="yes">My current identity:</property>
+                            <property name="use_markup">True</property>
+                          </widget>
+                          <packing>
+                            <property name="type">label_item</property>
+                          </packing>
+                        </child>
+                      </widget>
+                      <packing>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <widget class="GtkVBox" id="vbox1">
+                        <property name="visible">True</property>
+                        <property name="orientation">vertical</property>
+                        <child>
+                          <widget class="GtkButton" id="go_to_call_view">
+                            <property name="can_focus">True</property>
+                            <property name="receives_default">True</property>
+                            <signal name="clicked" handler="linphone_gtk_show_in_call_view"/>
+                            <child>
+                              <widget class="GtkHBox" id="hbox10">
+                                <property name="visible">True</property>
                                 <child>
-                                  <widget class="GtkButton" id="dtmf_2">
-                                    <property name="label" translatable="yes">2</property>
+                                  <widget class="GtkImage" id="image7">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                    <property name="stock">gtk-jump-to</property>
+                                    <property name="icon-size">1</property>
                                   </widget>
                                   <packing>
-                                    <property name="left_attach">1</property>
-                                    <property name="right_attach">2</property>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
+                                    <property name="position">0</property>
                                   </packing>
                                 </child>
                                 <child>
-                                  <widget class="GtkButton" id="dtmf_1">
-                                    <property name="label" translatable="yes">1</property>
+                                  <widget class="GtkLabel" id="label5">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">True</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                                    <property name="label" translatable="yes">Show current call</property>
                                   </widget>
                                   <packing>
-                                    <property name="x_options"></property>
-                                    <property name="y_options"></property>
+                                    <property name="position">1</property>
                                   </packing>
                                 </child>
                               </widget>
                             </child>
                           </widget>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label11">
-                            <property name="visible">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                            <property name="label" translatable="yes">Digits</property>
-                            <property name="use_markup">True</property>
-                          </widget>
                           <packing>
-                            <property name="type">label_item</property>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="padding">8</property>
+                            <property name="pack_type">end</property>
+                            <property name="position">0</property>
                           </packing>
                         </child>
                       </widget>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
-                        <property name="position">0</property>
+                        <property name="padding">8</property>
+                        <property name="pack_type">end</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                   </widget>
                   <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
               </widget>
               <packing>
-                <property name="position">1</property>
+                <property name="position">0</property>
               </packing>
             </child>
             <child>
-              <widget class="GtkFrame" id="identity_frame">
-                <property name="visible">True</property>
-                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                <property name="label_xalign">0</property>
+              <widget class="GtkFrame" id="in_call_frame">
+                <property name="label_xalign">0.5</property>
                 <child>
-                  <widget class="GtkHBox" id="hbox5">
+                  <widget class="GtkAlignment" id="alignment1">
                     <property name="visible">True</property>
+                    <property name="left_padding">12</property>
                     <child>
-                      <widget class="GtkAlignment" id="alignment8">
+                      <widget class="GtkVBox" id="vbox3">
                         <property name="visible">True</property>
-                        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                        <property name="left_padding">12</property>
+                        <property name="orientation">vertical</property>
                         <child>
-                          <widget class="GtkComboBox" id="identities">
+                          <widget class="GtkImage" id="in_call_animation">
                             <property name="visible">True</property>
-                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                            <property name="active">0</property>
-                            <property name="items" translatable="yes">Default</property>
-                            <signal name="changed" handler="linphone_gtk_used_identity_changed"/>
+                            <property name="stock">gtk-info</property>
+                            <property name="icon-size">5</property>
                           </widget>
+                          <packing>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkFrame" id="frame2">
+                            <property name="visible">True</property>
+                            <property name="label_xalign">0</property>
+                            <child>
+                              <widget class="GtkLabel" id="in_call_uri">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">label</property>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="label3">
+                                <property name="visible">True</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                              <packing>
+                                <property name="type">label_item</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
                         </child>
-                      </widget>
-                      <packing>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkButton" id="presence_button">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">True</property>
-                        <signal name="clicked" handler="linphone_gtk_my_presence_clicked"/>
                         <child>
-                          <placeholder/>
+                          <widget class="GtkFrame" id="frame1">
+                            <property name="visible">True</property>
+                            <property name="label_xalign">0</property>
+                            <child>
+                              <widget class="GtkLabel" id="in_call_duration">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Duration</property>
+                                <property name="justify">center</property>
+                              </widget>
+                            </child>
+                            <child>
+                              <widget class="GtkLabel" id="duration_frame">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">Duration:</property>
+                                <property name="use_markup">True</property>
+                              </widget>
+                              <packing>
+                                <property name="type">label_item</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="position">2</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <widget class="GtkHBox" id="hbox7">
+                            <property name="visible">True</property>
+                            <child>
+                              <widget class="GtkHButtonBox" id="hbuttonbox1">
+                                <property name="visible">True</property>
+                                <property name="layout_style">center</property>
+                                <child>
+                                  <widget class="GtkButton" id="in_call_terminate">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">True</property>
+                                    <signal name="clicked" handler="linphone_gtk_terminate_call"/>
+                                    <child>
+                                      <widget class="GtkHBox" id="hbox8">
+                                        <property name="visible">True</property>
+                                        <child>
+                                          <widget class="GtkImage" id="image5">
+                                            <property name="visible">True</property>
+                                            <property name="stock">gtk-close</property>
+                                            <property name="icon-size">3</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <widget class="GtkLabel" id="label1">
+                                            <property name="visible">True</property>
+                                            <property name="label" translatable="yes">&lt;b&gt;Terminate call&lt;/b&gt;</property>
+                                            <property name="use_markup">True</property>
+                                          </widget>
+                                          <packing>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </widget>
+                                    </child>
+                                  </widget>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="padding">8</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <widget class="GtkButton" id="idle_view_button">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="receives_default">True</property>
+                                <signal name="clicked" handler="linphone_gtk_show_idle_view"/>
+                                <child>
+                                  <widget class="GtkHBox" id="hbox11">
+                                    <property name="visible">True</property>
+                                    <child>
+                                      <widget class="GtkImage" id="image6">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-undo</property>
+                                        <property name="icon-size">1</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <widget class="GtkLabel" id="label4">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">Main view</property>
+                                      </widget>
+                                      <packing>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </widget>
+                                </child>
+                              </widget>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="pack_type">end</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </widget>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="padding">8</property>
+                            <property name="position">3</property>
+                          </packing>
                         </child>
                       </widget>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="position">1</property>
-                      </packing>
                     </child>
                   </widget>
                 </child>
                 <child>
-                  <widget class="GtkLabel" id="label17">
+                  <widget class="GtkLabel" id="in_call_status">
                     <property name="visible">True</property>
-                    <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                    <property name="label" translatable="yes">My current identity:</property>
+                    <property name="label" translatable="yes">In call</property>
                     <property name="use_markup">True</property>
+                    <property name="justify">center</property>
                   </widget>
                   <packing>
                     <property name="type">label_item</property>
@@ -822,9 +1079,7 @@ Online users</property>
                 </child>
               </widget>
               <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
+                <property name="position">1</property>
               </packing>
             </child>
           </widget>
diff --git a/linphone/gtk-glade/support.c b/linphone/gtk-glade/support.c
index 6ed94c8225363bad8a4ba253e938d81e6404bcb6..dc3a8c0c3fdcf2e42ddeaae2bc190e9e9d3586ef 100644
--- a/linphone/gtk-glade/support.c
+++ b/linphone/gtk-glade/support.c
@@ -86,6 +86,36 @@ create_pixbuf                          (const gchar     *filename)
   return pixbuf;
 }
 
+/* This is an internally used function to create animations */
+GdkPixbufAnimation *
+create_pixbuf_animation(const gchar     *filename)
+{
+	gchar *pathname = NULL;
+	GdkPixbufAnimation *pixbuf;
+	GError *error = NULL;
+	
+	if (!filename || !filename[0])
+		return NULL;
+	
+	pathname = find_pixmap_file (filename);
+	
+	if (!pathname){
+		g_warning (_("Couldn't find pixmap file: %s"), filename);
+		return NULL;
+	}
+	
+	pixbuf = gdk_pixbuf_animation_new_from_file (pathname, &error);
+	if (!pixbuf){
+		fprintf (stderr, "Failed to load pixbuf file: %s: %s\n",
+			pathname, error->message);
+		g_error_free (error);
+	}
+	g_free (pathname);
+	return pixbuf;
+}
+
+
+
 /* This is used to set ATK action descriptions. */
 void
 glade_set_atk_action_description       (AtkAction       *action,
@@ -126,6 +156,12 @@ const char *linphone_gtk_get_lang(const char *config_file){
 
 void linphone_gtk_set_lang(const char *code){
 	LpConfig *cfg=linphone_core_get_config(linphone_gtk_get_core());
+	const char *curlang;
+	curlang=getenv("LANG");
+	if (curlang!=NULL && strncmp(curlang,code,2)==0) {
+		/* do not loose the _territory@encoding part*/
+		return;
+	}
 	lp_config_set_string(cfg,"GtkUi","lang",code);
 #ifdef WIN32
 	char tmp[128];
diff --git a/linphone/gtk-glade/utils.c b/linphone/gtk-glade/utils.c
index 72d0001053681cd67195dee53cc7d969bac50e3a..97f263a8d1aca246b83e71df5a3ee820bdcbaa30 100644
--- a/linphone/gtk-glade/utils.c
+++ b/linphone/gtk-glade/utils.c
@@ -75,3 +75,20 @@ void *linphone_gtk_wait(LinphoneCore *lc, void *ctx, LinphoneWaitingState ws, co
 	}
 	return NULL;
 }
+
+gchar *linphone_gtk_get_display_name(const char *sip_uri){
+	osip_from_t *from;
+	gchar *ret=NULL;
+	if (strchr(sip_uri,'@')){
+		osip_from_init(&from);
+		if (osip_from_parse(from,sip_uri)==0){
+			if (from->displayname!=NULL && strlen(from->displayname)>0){
+				ret=g_strdup(from->displayname);
+			}
+		}
+		osip_from_free(from);
+	}
+	if (ret==NULL) ret=g_strdup(sip_uri);
+	return ret;
+}
+
diff --git a/linphone/mediastreamer2/src/videoout.c b/linphone/mediastreamer2/src/videoout.c
index 8d1c572d86f9bddf8a8ff586eb6832106052a5c3..d557497c41d1ac0f054c573f8a4a2944a104dd39 100644
--- a/linphone/mediastreamer2/src/videoout.c
+++ b/linphone/mediastreamer2/src/videoout.c
@@ -100,6 +100,7 @@ static long sdl_get_native_window_id(){
 static void sdl_display_uninit(MSDisplay *obj);
 
 static SDL_Overlay * sdl_create_window(int w, int h){
+	static bool_t once=TRUE;
 	SDL_Overlay *lay;
 	sdl_screen = SDL_SetVideoMode(w,h, 0,SDL_SWSURFACE|SDL_RESIZABLE);
 	if (sdl_screen == NULL ) {
@@ -108,7 +109,10 @@ static SDL_Overlay * sdl_create_window(int w, int h){
 		return NULL;
 	}
 	if (sdl_screen->flags & SDL_HWSURFACE) ms_message("SDL surface created in hardware");
-	SDL_WM_SetCaption("Video window", NULL);
+	if (once) {
+		SDL_WM_SetCaption("Video window", NULL);
+		once=FALSE;
+	}
 	ms_message("Using yuv overlay.");
 	lay=SDL_CreateYUVOverlay(w , h ,SDL_YV12_OVERLAY,sdl_screen);
 	if (lay==NULL){