diff --git a/sflphone-client-gnome/debian/changelog b/sflphone-client-gnome/debian/changelog
index 90d5988947d4b35fefa0f024293cfb0eb2714e23..55d1fd7d23f8a7c4383b1c22ff66fce77650b2f6 100644
--- a/sflphone-client-gnome/debian/changelog
+++ b/sflphone-client-gnome/debian/changelog
@@ -1,63 +1,3 @@
-sflphone-client-gnome (0.9.5-0ubuntu1~4.gbpc11c5a) SYSTEM; urgency=low
-
-  ** SNAPSHOT build @c11c5adbc5d4bbe5ee225dd85d6be59f03feaaeb **
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1~rc1
-
-  [ Emmanuel Milou ]
-  * [#1402] Build the daemon with the local pjsip library (vs the
-    installed one)
-  * [#1402] Add info message after configure
-
-  [ Sflphone Project ]
-
-  [ jerome ]
-  * Bug #1404: Fix strings in preferences panel.
-  * Bug #1405: Fix strings as requested.
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    05-08
-
-  [ Sflphone Project ]
-
-  [ Alexandre Savard ]
-  * [#1314] Add some return values to audio init functions
-  * Add debug messages in debus calls concerning account
-  * [#1314] Refactoring of pulselayer to test conect/disconnect
-  * [#1314] Refactoring pulseaudio stream to test connect disconnect
-  * [#1314] Add mutex to pulse layer audio streams
-  * [#1009] Fix Codec Sampling Rate set to zeros
-  * [#1314] Test pulse audio and audio streams connect and disconnect
-  * Add python dbus test suite
-  * Test client dbus connection to a fixed owner
-  * [#1407] Add a scenario to pick_up action
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    05-09
-
-  [ Alexandre Savard ]
-  * [#1407] Some print info
-  * Add codec debug tests in pysflphone
-  * Dbus with fixed owner does not automatically start the deamon
-  * [#1404] IF the first notification option disable the second
-    notification
-  * [#1404] Gnome -> Preferences -> Address Book
-  * [#1404] Call History
-  * [#1404] Gnome -> Preferences -> Recordings
-
-  [ Sflphone Project ]
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    05-12
-
-  [ Sflphone Project ]
-
- -- Sflphone Project <sflphone@mtl.savoirfairelinux.net>  Wed, 13 May 2009 00:01:59 -0400
-
 sflphone-client-gnome (0.9.5-0ubuntu1~rc1) SYSTEM; urgency=low
 
   [ SFLphone Project ]
@@ -87,145 +27,6 @@ sflphone-client-gnome (0.9.5-0ubuntu1~rc1) SYSTEM; urgency=low
 
  -- Sflphone Project <sflphone@mtl.savoirfairelinux.net>  Tue, 05 May 2009 19:16:13 -0400
 
-sflphone-client-gnome (0.9.5-0ubuntu1~6.gbpdfcd86) SYSTEM; urgency=low
-
-  ** SNAPSHOT build @dfcd86f7fdabcc0462e8e5aef3a21ada929e077b **
-
-  [ Emmanuel Milou ]
-  * [#1220] Add Conflicts: sflphone in debian control files
-  * [#1179] Add liblog4c3 runtime dependency
-  * [#1212] FIx typo error in dependency list for itnrepid
-  * [#1212] FIx .desktop file to point on the right exec
-  * [#1212] Modify changelog replacing tag
-
-  [ Sflphone Project ]
-  * "[#1262] Updated changelogs for version 0.9.5-0ubuntu1~beta"
-
-  [ Emmanuel Milou ]
-  * [#1212] restore changelogs
-
-  [ Sflphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    04-27
-
-  [ Emmanuel Milou ]
-  * [#1212] restore changelogs
-
-  [ Sflphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1~beta
-
-  [ Emmanuel Milou ]
-  * [#1212] restore changelogs
-
-  [ Sflphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1~beta
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    04-28
-
-  [ Emmanuel Milou ]
-  * [#1212] Restore changelogs
-
-  [ Sflphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    04-28
-
-  [ Julien Bonjean ]
-  * [#1262]Introduced dynamic version setting
-
-  [ Sflphone Project ]
-
-  [ Alexandre Savard ]
-  * [#1143] Add celtcodec.cpp
-  * [#1143] add configure and make stuffs
-  * [#1143] add frame size into each codecs
-  * [#1143] Take timestamp's step size from codec
-  * [#1143] RTP thread at 11 ms
-  * [#1143] Dynamic RTP thread sleep parameter
-  * [#1143] Fix dynamic thread sleep time calculation
-
-  [ Emmanuel Milou ]
-  * [#1262] sflphone-client-gnome uses changelog version number
-
-  [ Alexandre Savard ]
-  * [#1143] Some cleanup
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    04-29
-
-  [ Emmanuel Milou ]
-  * [#1262] Update changelogs
-  * [#1262] Update rules
-  * [#1143] Build celt codec only if version >= 0.5.1 is detected
-  * [1143] Restore rules files - do not need to specify --without-celt
-  * [#1336] Change SFLphone logo
-  * [#1331] Fix searchbar problems
-  * [#1332] Fix unexplicit labels
-  * [#1334] Fix unexplicit label
-  * [#1329] Fix recordings config panel
-
-  [ Sflphone Project ]
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    04-30
-
-  [ Emmanuel Milou ]
-  * [#1336] Add new logo
-  * [#1335] Enable/disable address book, change option name
-  * [#1324] Add more insightful status bar message
-  * [#1330] Fix behaviour if no addressbook are active
-
-  [ Sflphone Project ]
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    05-01
-
-  [ Julien Bonjean ]
-  * [#1161] Added build system scripts
-
-  [ Emmanuel Milou ]
-  * [#1215] Redesign current account computing
-  * [#1333] Remove default voicemail number
-  * [#1333] Voicemail icon update if current account has no voicemail
-    number + unit tests
-  * [#1333] Remove default voicemail number in assistant; update status
-    bar message
-  * [#1333] Add voicemail number field in wizard
-  * [#1342] Make config panels more GNOME compliant
-
-  [ Sflphone Project ]
-
-  [ Alexandre Savard ]
-  * [#1143] Fixed auio record after celt refactoring
-  * [#1327] Alsa display unappropriate info
-  * [#1328] Unappropriate label in audio preferences panel
-  * [#1316] Forgot 's' to RFC3969 'sip:' URI when calling in unicast
-    mode
-  * [#1316] #define IP_TO_IP_PATTERN  "sip:"
-  * [#1316] 'sip:' subtitution to 4 char
-  * [#1321] Startup wizard password display is inconsistent
-  * [#1325] Error window in preferences shows formatting error
-  * [#1325] Proposed Implementation
-  * [#1325] Add title to window
-  * [#1343] Moved key stroke signal from call tree to main window
-  * [#1343] Dialing on key strike disabled when either history or
-    contact selected
-  * [#1343] Cannot dial when focus not on white frame
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    05-02
-
-  [ Emmanuel Milou ]
-  * [#1331] Fix clear default message bug
-  * [#936] Remove old codecs from repository
-
-  [ Sflphone Project ]
-
- -- Sflphone Project <sflphone@mtl.savoirfairelinux.net>  Tue, 05 May 2009 00:02:19 -0400
-
 sflphone-client-gnome (0.9.5-0ubuntu1~beta) SYSTEM; urgency=low
 
   [ Julien Bonjean ]
diff --git a/sflphone-client-gnome/src/contacts/calltree.c b/sflphone-client-gnome/src/contacts/calltree.c
index 3d56e847c0483f16566b5077ac6c2177dbc599a3..01d6d6960dceda42824aebb60085a45ebf541662 100644
--- a/sflphone-client-gnome/src/contacts/calltree.c
+++ b/sflphone-client-gnome/src/contacts/calltree.c
@@ -25,6 +25,12 @@
 #include <toolbar.h>
 #include <mainwindow.h>
 
+
+GtkWidget *sw;
+GtkCellRenderer *rend;
+GtkTreeViewColumn *col;
+GtkTreeSelection *sel;
+
 /**
  * Show popup menu
  */
@@ -141,6 +147,7 @@ button_pressed(GtkWidget* widget, GdkEventButton *event, gpointer user_data UNUS
     return FALSE;
 }
 
+
     static gboolean
 on_key_released (GtkWidget   *widget UNUSED,
         GdkEventKey *event,
@@ -175,13 +182,27 @@ calltree_reset (calltab_t* tab)
     gtk_list_store_clear (tab->store);
 }
 
+void
+focus_on_calltree_out(){
+  DEBUG("set_focus_on_calltree_out \n");
+  // gtk_widget_grab_focus(GTK_WIDGET(sw));
+  focus_is_on_calltree = FALSE;
+}
+
+void
+focus_on_calltree_in(){
+  DEBUG("set_focus_on_calltree_in \n");
+  // gtk_widget_grab_focus(GTK_WIDGET(sw));
+  focus_is_on_calltree = TRUE;
+}
+
     void
 calltree_create (calltab_t* tab, gchar* searchbar_type)
 {
-    GtkWidget *sw;
-    GtkCellRenderer *rend;
-    GtkTreeViewColumn *col;
-    GtkTreeSelection *sel;
+    // GtkWidget *sw;
+    // GtkCellRenderer *rend;
+    // GtkTreeViewColumn *col;
+    // GtkTreeSelection *sel;
 
     tab->tree = gtk_vbox_new(FALSE, 10);
 
@@ -207,7 +228,8 @@ calltree_create (calltab_t* tab, gchar* searchbar_type)
             G_CALLBACK (row_activated),
             NULL);
 
-    // GTK_WIDGET_SET_FLAGS (GTK_WIDGET(sw),GTK_CAN_FOCUS);
+    GTK_WIDGET_SET_FLAGS (GTK_WIDGET(sw),GTK_CAN_FOCUS);
+    gtk_widget_grab_focus (GTK_WIDGET(sw));
 
     // Connect the popup menu
     g_signal_connect (G_OBJECT (tab->view), "popup-menu",
@@ -217,9 +239,15 @@ calltree_create (calltab_t* tab, gchar* searchbar_type)
             G_CALLBACK (button_pressed),
             NULL);
 
-    g_signal_connect (G_OBJECT (sw), "key-release-event",
-                    G_CALLBACK (on_key_released), NULL);
+    // g_signal_connect (G_OBJECT (sw), "key-release-event",
+    //                   G_CALLBACK (on_key_released), NULL);
+
+    g_signal_connect_after (G_OBJECT (tab->view), "focus-in-event",
+                      G_CALLBACK (focus_on_calltree_in), NULL);
+    g_signal_connect_after (G_OBJECT (tab->view), "focus-out-event",
+                      G_CALLBACK (focus_on_calltree_out), NULL);
 
+    gtk_widget_grab_focus(GTK_WIDGET(tab->view));
 
     rend = gtk_cell_renderer_pixbuf_new();
     col = gtk_tree_view_column_new_with_attributes ("Icon",
diff --git a/sflphone-client-gnome/src/contacts/calltree.h b/sflphone-client-gnome/src/contacts/calltree.h
index 1dd57d2d282a4b5b48d0d7f6859ed55bf512cff4..09d5ad6887eed8e64af16c9c801ae1c26d9d5538 100644
--- a/sflphone-client-gnome/src/contacts/calltree.h
+++ b/sflphone-client-gnome/src/contacts/calltree.h
@@ -23,7 +23,7 @@
 #include <gtk/gtk.h>
 #include <calltab.h>
 #include <timestamp.h>
-
+#include <mainwindow.h>
 
 /** @file calltree.h
   * @brief The GtkTreeView that list calls in the main window.
diff --git a/sflphone-client-gnome/src/contacts/searchbar.c b/sflphone-client-gnome/src/contacts/searchbar.c
index f83d72381a909a6c2d78837ba42ac3b03f8576d9..4d4a133182b12d0b339c84e89beccc8e8e3ceb11 100644
--- a/sflphone-client-gnome/src/contacts/searchbar.c
+++ b/sflphone-client-gnome/src/contacts/searchbar.c
@@ -26,6 +26,7 @@
 const GdkColor BLACK_COLOR = { 0, 0, 0, 0 };
 const GdkColor GRAY_COLOR = { 0, 30000, 30000, 30000 };
 
+GtkWidget * searchbox;
 
 void searchbar_entry_changed (GtkEntry* entry, gchar* arg1 UNUSED, gpointer data UNUSED) {
     // gtk_widget_grab_focus (GTK_WIDGET(searchbox));
@@ -39,17 +40,40 @@ void searchbar_entry_changed (GtkEntry* entry, gchar* arg1 UNUSED, gpointer data
 
 }
 
+//   static void
+// focus_in_event(GtkWidget *widget, GdkEventFocus *event, gpointer data)
+// {
+    
+// }
+
+
 void searchbar_clear_entry_if_default (GtkWidget* widget, gpointer user_data UNUSED) {
 
+    DEBUG("searchbar_clear_entry_if_default\n");
     gtk_widget_modify_text(widget, GTK_STATE_NORMAL, &BLACK_COLOR); 
     if(g_ascii_strncasecmp(gtk_entry_get_text(GTK_ENTRY(widget)), "Search history", 14) == 0
             || g_ascii_strncasecmp(gtk_entry_get_text(GTK_ENTRY(widget)), "Search contact", 14) == 0 )
         gtk_entry_set_text(GTK_ENTRY(widget), "");
 
-    // gtk_widget_grab_focus (GTK_WIDGET(searchbox));
+    // gtk_widget_grab_focus (GTK_WIDGET(searchbox));1
 
 }
 
+void
+focus_on_searchbar_out(){
+  DEBUG("set_focus_on_searchbar_out \n");
+  // gtk_widget_grab_focus(GTK_WIDGET(sw));
+  focus_is_on_searchbar = FALSE;
+}
+
+void
+focus_on_searchbar_in(){
+  DEBUG("set_focus_on_searchbar_in \n");
+  // gtk_widget_grab_focus(GTK_WIDGET(sw));
+  focus_is_on_searchbar = TRUE;
+}
+
+
 void
 searchbar_init(calltab_t *tab)
 {
@@ -63,7 +87,7 @@ searchbar_init(calltab_t *tab)
 
 GtkWidget* searchbar_new(gchar* searchbar_type) {
 
-  GtkWidget * searchbox;
+  // GtkWidget * searchbox;
   GtkWidget* image;
   GtkWidget* ret = gtk_hbox_new(FALSE, 0);
 
@@ -84,8 +108,13 @@ GtkWidget* searchbar_new(gchar* searchbar_type) {
   gtk_widget_modify_text(searchbox, GTK_STATE_NORMAL, &GRAY_COLOR); 
 
   gtk_entry_set_text(GTK_ENTRY(searchbox), _("Search contact"));
-  g_signal_connect(GTK_ENTRY(searchbox), "changed", G_CALLBACK(searchbar_entry_changed), NULL);
-  g_signal_connect(GTK_ENTRY(searchbox), "grab-focus", G_CALLBACK(searchbar_clear_entry_if_default), NULL);
+  g_signal_connect_after(GTK_ENTRY(searchbox), "changed", G_CALLBACK(searchbar_entry_changed), NULL);
+  g_signal_connect_after(GTK_ENTRY(searchbox), "grab-focus", G_CALLBACK(searchbar_clear_entry_if_default), NULL);
+
+  g_signal_connect_after (G_OBJECT (searchbox), "focus-in-event",
+                      G_CALLBACK (focus_on_searchbar_in), NULL);
+  g_signal_connect_after (G_OBJECT (searchbox), "focus-out-event",
+                      G_CALLBACK (focus_on_searchbar_out), NULL);
 
   gtk_box_pack_start(GTK_BOX(ret), searchbox, TRUE, TRUE, 0);
 
diff --git a/sflphone-client-gnome/src/contacts/searchbar.h b/sflphone-client-gnome/src/contacts/searchbar.h
index aabe3ea4113a06c6ba2ce156af4d09fe5b234fa1..f7ed3035200642cb71612d6322e2ce8793ca436b 100644
--- a/sflphone-client-gnome/src/contacts/searchbar.h
+++ b/sflphone-client-gnome/src/contacts/searchbar.h
@@ -30,6 +30,7 @@
 
 #include <calllist.h>
 #include <gtk/gtk.h>
+#include <mainwindow.h>
 
 // From version 2.16, gtk provides the functionalities libsexy used to provide
 #if GTK_CHECK_VERSION(2,16,0)
diff --git a/sflphone-client-gnome/src/dbus/dbus.c b/sflphone-client-gnome/src/dbus/dbus.c
index 92678547cdeef9af36fcc0917f2b05109eff5abe..6c17fed77ecfbe75640778cb8f1853575bb62ff6 100644
--- a/sflphone-client-gnome/src/dbus/dbus.c
+++ b/sflphone-client-gnome/src/dbus/dbus.c
@@ -237,6 +237,7 @@ dbus_connect ()
 
   DEBUG ("DBus connected to Instance");
   
+  
   callManagerProxy = dbus_g_proxy_new_for_name (connection,
                                      "org.sflphone.SFLphone",
                                      "/org/sflphone/SFLphone/CallManager",
diff --git a/sflphone-client-gnome/src/mainwindow.c b/sflphone-client-gnome/src/mainwindow.c
index c4a28e6d7b3f3c2acbaec6201e21f087885699d5..1db50d7282e3881c999dc9c0207c794428097cda 100644
--- a/sflphone-client-gnome/src/mainwindow.c
+++ b/sflphone-client-gnome/src/mainwindow.c
@@ -98,25 +98,14 @@ main_window_ask_quit(){
 }
 
 
-/*
+
 static gboolean
-on_key_released (GtkWidget   *widget,
-        GdkEventKey *event,
-        gpointer     user_data UNUSED)
+on_key_released (GtkWidget *widget, GdkEventKey *event, gpointer user_data UNUSED)
 {
-  printf("On key released from Main Window : %s\n", gtk_widget_get_name(widget));
+  DEBUG("On key released from Main Window : %s\n", gtk_widget_get_name(widget));
 
-  // if ((active_calltree != contacts) && (active_calltree != history)) {
-  if (gtk_widget_is_focus(window)){
-      printf("Focus is on main window \n");
-  }
 
-  if (!GTK_WIDGET_CAN_FOCUS(widget)){
-       printf("Widget can't focus \n");
-       gtk_widget_grab_focus(GTK_WIDGET(window));
-  }
-
-  if (gtk_widget_is_focus (window)) {
+  if (focus_is_on_searchbar == FALSE) {
         // If a modifier key is pressed, it's a shortcut, pass along
         if(event->state & GDK_CONTROL_MASK ||
                 event->state & GDK_MOD1_MASK    ||
@@ -131,24 +120,34 @@ on_key_released (GtkWidget   *widget,
             return FALSE;
         else
             sflphone_keypad(event->keyval, event->string);
-        }
+        
    }
+
    return TRUE;
 }
 
+void
+focus_on_mainwindow_out(){
+  DEBUG("focus_on_mainwindow_out \n");
+  //  gtk_widget_grab_focus(GTK_WIDGET(window));
+  
+}
 
 void
-set_focus_on_mainwindow(){
-  DEBUG("set_focus_on_mainwindow \n");
-  gtk_widget_grab_focus(GTK_WIDGET(window));
+focus_on_mainwindow_in(){
+  DEBUG("focus_on_mainwindow_in \n");
+  //  gtk_widget_grab_focus(GTK_WIDGET(window));
 }
-*/
+
 
 void
 create_main_window ()
 {
   GtkWidget *widget;
 
+  focus_is_on_calltree = FALSE;
+  focus_is_on_searchbar = FALSE;
+
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_container_set_border_width (GTK_CONTAINER (window), 0);
   gtk_window_set_title (GTK_WINDOW (window), PACKAGE);
@@ -161,17 +160,21 @@ create_main_window ()
   // gtk_widget_grab_focus (GTK_WIDGET(window));
 
   /* Connect the destroy event of the window with our on_destroy function
-    * When the window is about to be destroyed we get a notificaiton and
-    * stop the main GTK loop
-    */
+   * When the window is about to be destroyed we get a notificaiton and
+   * stop the main GTK loop
+   */
   g_signal_connect (G_OBJECT (window), "delete-event",
                     G_CALLBACK (on_delete), NULL);
 
-  // g_signal_connect (G_OBJECT (window), "key-release-event",
-  //                   G_CALLBACK (on_key_released), NULL);
+  g_signal_connect (G_OBJECT (window), "key-release-event",
+                     G_CALLBACK (on_key_released), NULL);
+
+  g_signal_connect_after (G_OBJECT (window), "focus-in-event",
+                    G_CALLBACK (focus_on_mainwindow_in), NULL);
 
-  // g_signal_connect (G_OBJECT (window), "client-event",
-  //                   G_CALLBACK (set_focus_on_mainwindow), NULL);
+  g_signal_connect_after (G_OBJECT (window), "focus-out-event",
+                    G_CALLBACK (focus_on_mainwindow_out), NULL);
+  
 
   gtk_widget_set_name (window, "mainwindow");
 
diff --git a/sflphone-client-gnome/src/mainwindow.h b/sflphone-client-gnome/src/mainwindow.h
index 956f982c0c8549f1c592eee721be1bcac870c334..bdf3c0af125353ceb8ffa9ba4f7894805b004746 100644
--- a/sflphone-client-gnome/src/mainwindow.h
+++ b/sflphone-client-gnome/src/mainwindow.h
@@ -21,6 +21,7 @@
 #define __MAINWINDOW_H__
 
 #include <calllist.h>
+#include <calltree.h>
 
 /** @file mainwindow.h
   * @brief The main window of the client.
@@ -91,5 +92,13 @@ void statusbar_pop_message( guint id );
 
 void main_window_searchbar( gboolean *state );
 
+//static gboolean
+//on_key_released (GtkWidget *widget, GdkEventKey *event,
+//                 gpointer user_data);
 // void set_focus_on_mainwindow();
+
+gboolean focus_is_on_calltree;
+
+gboolean focus_is_on_searchbar;
+
 #endif
diff --git a/sflphone-common/debian/changelog b/sflphone-common/debian/changelog
index 383506dd8a2ca1c7d8ca3ae41d5d09164c3b4e3b..88b8e4367280db0d36866c4595c44f72a0b4d6fb 100644
--- a/sflphone-common/debian/changelog
+++ b/sflphone-common/debian/changelog
@@ -1,63 +1,3 @@
-sflphone-common (0.9.5-0ubuntu1~4.gbpc11c5a) SYSTEM; urgency=low
-
-  ** SNAPSHOT build @c11c5adbc5d4bbe5ee225dd85d6be59f03feaaeb **
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1~rc1
-
-  [ Emmanuel Milou ]
-  * [#1402] Build the daemon with the local pjsip library (vs the
-    installed one)
-  * [#1402] Add info message after configure
-
-  [ Sflphone Project ]
-
-  [ jerome ]
-  * Bug #1404: Fix strings in preferences panel.
-  * Bug #1405: Fix strings as requested.
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    05-08
-
-  [ Sflphone Project ]
-
-  [ Alexandre Savard ]
-  * [#1314] Add some return values to audio init functions
-  * Add debug messages in debus calls concerning account
-  * [#1314] Refactoring of pulselayer to test conect/disconnect
-  * [#1314] Refactoring pulseaudio stream to test connect disconnect
-  * [#1314] Add mutex to pulse layer audio streams
-  * [#1009] Fix Codec Sampling Rate set to zeros
-  * [#1314] Test pulse audio and audio streams connect and disconnect
-  * Add python dbus test suite
-  * Test client dbus connection to a fixed owner
-  * [#1407] Add a scenario to pick_up action
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    05-09
-
-  [ Alexandre Savard ]
-  * [#1407] Some print info
-  * Add codec debug tests in pysflphone
-  * Dbus with fixed owner does not automatically start the deamon
-  * [#1404] IF the first notification option disable the second
-    notification
-  * [#1404] Gnome -> Preferences -> Address Book
-  * [#1404] Call History
-  * [#1404] Gnome -> Preferences -> Recordings
-
-  [ Sflphone Project ]
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    05-12
-
-  [ Sflphone Project ]
-
- -- Sflphone Project <sflphone@mtl.savoirfairelinux.net>  Wed, 13 May 2009 00:01:58 -0400
-
 sflphone-common (0.9.5-0ubuntu1~rc1) SYSTEM; urgency=low
 
   [ SFLphone Project ]
@@ -87,145 +27,6 @@ sflphone-common (0.9.5-0ubuntu1~rc1) SYSTEM; urgency=low
 
  -- Sflphone Project <sflphone@mtl.savoirfairelinux.net>  Tue, 05 May 2009 19:16:09 -0400
 
-sflphone-common (0.9.5-0ubuntu1~6.gbpdfcd86) SYSTEM; urgency=low
-
-  ** SNAPSHOT build @dfcd86f7fdabcc0462e8e5aef3a21ada929e077b **
-
-  [ Emmanuel Milou ]
-  * [#1220] Add Conflicts: sflphone in debian control files
-  * [#1179] Add liblog4c3 runtime dependency
-  * [#1212] FIx typo error in dependency list for itnrepid
-  * [#1212] FIx .desktop file to point on the right exec
-  * [#1212] Modify changelog replacing tag
-
-  [ Sflphone Project ]
-  * "[#1262] Updated changelogs for version 0.9.5-0ubuntu1~beta"
-
-  [ Emmanuel Milou ]
-  * [#1212] restore changelogs
-
-  [ Sflphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    04-27
-
-  [ Emmanuel Milou ]
-  * [#1212] restore changelogs
-
-  [ Sflphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1~beta
-
-  [ Emmanuel Milou ]
-  * [#1212] restore changelogs
-
-  [ Sflphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1~beta
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    04-28
-
-  [ Emmanuel Milou ]
-  * [#1212] Restore changelogs
-
-  [ Sflphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    04-28
-
-  [ Julien Bonjean ]
-  * [#1262]Introduced dynamic version setting
-
-  [ Sflphone Project ]
-
-  [ Alexandre Savard ]
-  * [#1143] Add celtcodec.cpp
-  * [#1143] add configure and make stuffs
-  * [#1143] add frame size into each codecs
-  * [#1143] Take timestamp's step size from codec
-  * [#1143] RTP thread at 11 ms
-  * [#1143] Dynamic RTP thread sleep parameter
-  * [#1143] Fix dynamic thread sleep time calculation
-
-  [ Emmanuel Milou ]
-  * [#1262] sflphone-client-gnome uses changelog version number
-
-  [ Alexandre Savard ]
-  * [#1143] Some cleanup
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    04-29
-
-  [ Emmanuel Milou ]
-  * [#1262] Update changelogs
-  * [#1262] Update rules
-  * [#1143] Build celt codec only if version >= 0.5.1 is detected
-  * [1143] Restore rules files - do not need to specify --without-celt
-  * [#1336] Change SFLphone logo
-  * [#1331] Fix searchbar problems
-  * [#1332] Fix unexplicit labels
-  * [#1334] Fix unexplicit label
-  * [#1329] Fix recordings config panel
-
-  [ Sflphone Project ]
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    04-30
-
-  [ Emmanuel Milou ]
-  * [#1336] Add new logo
-  * [#1335] Enable/disable address book, change option name
-  * [#1324] Add more insightful status bar message
-  * [#1330] Fix behaviour if no addressbook are active
-
-  [ Sflphone Project ]
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    05-01
-
-  [ Julien Bonjean ]
-  * [#1161] Added build system scripts
-
-  [ Emmanuel Milou ]
-  * [#1215] Redesign current account computing
-  * [#1333] Remove default voicemail number
-  * [#1333] Voicemail icon update if current account has no voicemail
-    number + unit tests
-  * [#1333] Remove default voicemail number in assistant; update status
-    bar message
-  * [#1333] Add voicemail number field in wizard
-  * [#1342] Make config panels more GNOME compliant
-
-  [ Sflphone Project ]
-
-  [ Alexandre Savard ]
-  * [#1143] Fixed auio record after celt refactoring
-  * [#1327] Alsa display unappropriate info
-  * [#1328] Unappropriate label in audio preferences panel
-  * [#1316] Forgot 's' to RFC3969 'sip:' URI when calling in unicast
-    mode
-  * [#1316] #define IP_TO_IP_PATTERN  "sip:"
-  * [#1316] 'sip:' subtitution to 4 char
-  * [#1321] Startup wizard password display is inconsistent
-  * [#1325] Error window in preferences shows formatting error
-  * [#1325] Proposed Implementation
-  * [#1325] Add title to window
-  * [#1343] Moved key stroke signal from call tree to main window
-  * [#1343] Dialing on key strike disabled when either history or
-    contact selected
-  * [#1343] Cannot dial when focus not on white frame
-
-  [ SFLphone Project ]
-  * [#1262] Updated changelogs for version 0.9.5-0ubuntu1 Snapshot 2009-
-    05-02
-
-  [ Emmanuel Milou ]
-  * [#1331] Fix clear default message bug
-  * [#936] Remove old codecs from repository
-
-  [ Sflphone Project ]
-
- -- Sflphone Project <sflphone@mtl.savoirfairelinux.net>  Tue, 05 May 2009 00:02:13 -0400
-
 sflphone-common (0.9.5-0ubuntu1~beta) SYSTEM; urgency=low
 
   [ Julien Bonjean ]
diff --git a/tools/pysflphone/sflphonectrlsimple.py b/tools/pysflphone/sflphonectrlsimple.py
index a11a9597672693e8956add6ce8a88db34f510f88..a7d0a5ee2a7bad04adcb6f09b80ff6d4fadae411 100755
--- a/tools/pysflphone/sflphonectrlsimple.py
+++ b/tools/pysflphone/sflphonectrlsimple.py
@@ -100,9 +100,7 @@ class SflPhoneCtrlSimple(object):
 
         except dbus.DBusException, e:
             
-            raise SPdbusError("Unable to bind to sflphoned api, 
-                ask core-dev team to implement getVersion method and 
-                      start to pray.")
+            raise SPdbusError("Unable to bind to sflphoned api, ask core-dev team to implement getVersion method and start to pray.")
 
         try:
             self.instance.Register(os.getpid(), self.name)
@@ -137,374 +135,378 @@ class SflPhoneCtrlSimple(object):
     # Signal handling
     #
 
-	# On incoming call event, add the call to the list of active calls
-	def onIncomingCall(self, account, callid, to):
-		print "Incoming call: " + account + ", " + callid + ", " + to
-		self.activeCalls[callid] = {'Account': account, 'To': to, 'State': '' }
-
-	# On call state changed event, set the values for new calls, or delete the call from the list of active calls
-	def onCallStateChanged(self, callid, state):
-		print "Call state changed: " + callid + ", " + state
-		if state == "HUNGUP":
-			try:
-				del self.activeCalls[callid]
-			except KeyError:
-				print "Call " + callid + " didn't exist. Cannot delete."
-		elif state in [ "RINGING", "CURRENT", "INCOMING", "HOLD" ]:
-			try:
-				self.activeCalls[callid]['State'] = state 
-			except KeyError, e:
-				print "This call didn't exist!: " + callid + ". Adding it to the list."
-				callDetails = self.getCallDetails(callid)
-				self.activeCalls[callid] = {'Account': callDetails['ACCOUNTID'], 'To': callDetails['PEER_NUMBER'], 'State': state }
-		elif state in [ "BUSY", "FAILURE" ]:
-			try:
-				del self.activeCalls[callid]
-			except KeyError, e:
-				print "This call didn't exist!: " + callid
+    # On incoming call event, add the call to the list of active calls
+    def onIncomingCall(self, account, callid, to):
+        print "Incoming call: " + account + ", " + callid + ", " + to
+        self.activeCalls[callid] = {'Account': account, 'To': to, 'State': '' }
+
+    # On call state changed event, set the values for new calls, 
+    # or delete the call from the list of active calls
+    def onCallStateChanged(self, callid, state):
+        print "Call state changed: " + callid + ", " + state
+        if state == "HUNGUP":
+            try:
+                del self.activeCalls[callid]
+            except KeyError:
+                print "Call " + callid + " didn't exist. Cannot delete."
+
+        elif state in [ "RINGING", "CURRENT", "INCOMING", "HOLD" ]:
+            try:
+                self.activeCalls[callid]['State'] = state 
+            except KeyError, e:
+                print "This call didn't exist!: " + callid + ". Adding it to the list."
+                callDetails = self.getCallDetails(callid)
+                self.activeCalls[callid] = {'Account': callDetails['ACCOUNTID'], 'To': callDetails['PEER_NUMBER'], 'State': state }
+        elif state in [ "BUSY", "FAILURE" ]:
+            try:
+                del self.activeCalls[callid]
+            except KeyError, e:
+                print "This call didn't exist!: " + callid
 
 #		elif state == "UNHOLD_CURRENT":
 #			self.activeCalls[callid]['State'] = "UNHOLD_CURRENT"
 
 
-	#
-	# Account management
-	#
-	def getAllAccounts(self):
-		""" Return a list with all accounts"""
-		return self.configurationmanager.getAccountList()
+    #
+    # Account management
+    #
+    def getAllAccounts(self):
+        """ Return a list with all accounts"""
+        return self.configurationmanager.getAccountList()
 
 
-	def getAllEnabledAccounts(self):
-		""" Return a list with all enabled accounts"""
-		accounts = self.getAllAccounts()
-		activeaccounts = []
-		for testedaccount in accounts:
-			if self.isAccountEnable(testedaccount):
-				activeaccounts.append(testedaccount)
-		return activeaccounts
+    def getAllEnabledAccounts(self):
+        """ Return a list with all enabled accounts"""
+        accounts = self.getAllAccounts()
+        activeaccounts = []
+        for testedaccount in accounts:
+            if self.isAccountEnable(testedaccount):
+                activeaccounts.append(testedaccount)
+        return activeaccounts
 
 
-	def getAccountDetails(self, account=None):
-		"""Return a list of string. If no account is provided, active account is used"""
+    def getAccountDetails(self, account=None):
+        """Return a list of string. If no account is provided, active account is used"""
 
-		if account is None:
-			if self.account is None:
-				raise SflPhoneError("No provided or current account !")
-			if checkAccountExists(self.account):
-				return self.configurationmanager.getAccountDetails(self.account)
-		else:
-			if self.checkAccountExists(account):
-				return self.configurationmanager.getAccountDetails(account)
+        if account is None:
+            if self.account is None:
+                raise SflPhoneError("No provided or current account !")
+                if checkAccountExists(self.account):
+                    return self.configurationmanager.getAccountDetails(self.account)
+        else:
+            if self.checkAccountExists(account):
 
+                return self.configurationmanager.getAccountDetails(account)
 
-	def setAccountByAlias(self, alias):
-		"""Define as active the first account who match with the alias"""
 
-		for testedaccount in self.getAllAccounts():
-			details = self.getAccountDetails(testedaccount)
-			if ( details['Account.enable'] == "TRUE" and details['Account.alias'] == alias ):
-				self.account = testedaccount
-				return
-		raise SPaccountError("No enabled account matched with alias")
+    def setAccountByAlias(self, alias):
+        """Define as active the first account who match with the alias"""
 
+        for testedaccount in self.getAllAccounts():
+            details = self.getAccountDetails(testedaccount)
+            if ( details['Account.enable'] == "TRUE" and 
+                              details['Account.alias'] == alias ):
+                self.account = testedaccount
+                return
+        raise SPaccountError("No enabled account matched with alias")
 
-	def getAccountByAlias(self, alias):
-		"""Get account name having its alias"""
 
-		for account in self.getAllAccounts():
-			details = self.getAccountDetails(account)
-			if details['Account.alias'] == alias:
-				return account
-		raise SPaccountError("No account matched with alias")
+    def getAccountByAlias(self, alias):
+        """Get account name having its alias"""
 
-	def setAccount(self, account):
-		"""Define the active account"""
+        for account in self.getAllAccounts():
+            details = self.getAccountDetails(account)
+            if details['Account.alias'] == alias:
+                return account
 
-		if account in self.getAllAccounts():
-			self.account = account
-		else:
-			raise SflPhoneError("Not a valid account")
+        raise SPaccountError("No account matched with alias")
 
-	def setFirstRegisteredAccount(self):
-		"""Find the first enabled account and define it as active"""
+    def setAccount(self, account):
+        """Define the active account"""
 
-		rAccounts = self.getAllRegisteredAccounts()
-		if 0 == len(rAccounts):
-			raise SflPhoneError("No registered account !")
-		self.account = rAccounts[0]
+        if account in self.getAllAccounts():
+            self.account = account
+        else:
+            raise SflPhoneError("Not a valid account")
 
-	def setFirstActiveAccount(self):
-		"""Find the first enabled account and define it as active"""
+    def setFirstRegisteredAccount(self):
+        """Find the first enabled account and define it as active"""
 
-		aAccounts = self.getAllEnabledAccounts()
-		if 0 == len(aAccounts):
-			raise SflPhoneError("No active account !")
-		self.account = aAccounts[0]
+        rAccounts = self.getAllRegisteredAccounts()
+        if 0 == len(rAccounts):
+            raise SflPhoneError("No registered account !")
+        self.account = rAccounts[0]
 
+    def setFirstActiveAccount(self):
+        """Find the first enabled account and define it as active"""
 
-	def getAccount(self):
-		"""Return the active account"""
+        aAccounts = self.getAllEnabledAccounts()
+        if 0 == len(aAccounts):
+            raise SflPhoneError("No active account !")
+        self.account = aAccounts[0]
 
-		return self.account
 
+    def getAccount(self):
+        """Return the active account"""
 
-	def isAccountRegistered(self, account=None):
-		"""Return True if the account is registered. If no account is provided, active account is used"""
+        return self.account
 
-		if account is None:
-			if self.account is None:
-				raise SflPhoneError("No provided or current account !")
-			account = self.account
-		return self.getAccountDetails(account)['Status'] == "REGISTERED"
 
+    def isAccountRegistered(self, account=None):
+        """Return True if the account is registered. If no account is provided, active account is used"""
 
-	def isAccountEnable(self, account=None):
-		"""Return True if the account is enabled. If no account is provided, active account is used"""
+        if account is None:
+                if self.account is None:
+                        raise SflPhoneError("No provided or current account !")
+                account = self.account
+        return self.getAccountDetails(account)['Status'] == "REGISTERED"
 
-		if account is None:
-			if self.account is None:
-				raise SflPhoneError("No provided or current account !")
-			account = self.account
-		return self.getAccountDetails(account)['Account.enable'] == "TRUE"
-
-	def setAccountEnable(self, account=None, enable=False):
-		"""Set account enabled"""
-		if account is None:
-			if self.account is None:
-				raise SflPhoneError("No provided or current account !")
-			account = self.account
 
-		if enable == True:
-			details = self.getAccountDetails(account)
-			details['Account.enable'] = "TRUE"
-			self.configurationmanager.setAccountDetails(account, details)
-		else:
-			details = self.getAccountDetails(account)
-			details['Account.enable'] = "FALSE"
-			self.configurationmanager.setAccountDetails(account, details)
+    def isAccountEnable(self, account=None):
+        """Return True if the account is enabled. If no account is provided, active account is used"""
 
-	def checkAccountExists(self, account=None):
-		""" Checks if the account exists """
-		if account is None:
-			raise SflPhoneError("No provided or current account !")
-		return account in self.getAllAccounts()
-			
-	def getAllRegisteredAccounts(self):
-		"""Return a list of registered accounts"""
+        if account is None:
+	       	if self.account is None:
+		       	raise SflPhoneError("No provided or current account !")
+                account = self.account
+        return self.getAccountDetails(account)['Account.enable'] == "TRUE"
 
-		registeredAccountsList = []
-		for account in self.getAllAccounts():
-			if self.isAccountRegistered(account):
-				registeredAccountsList.append(account)
+    def setAccountEnable(self, account=None, enable=False):
+       	"""Set account enabled"""
+        if account is None:
+	       	if self.account is None:
+		       	raise SflPhoneError("No provided or current account !")
+                account = self.account
+
+       	if enable == True:
+	       	details = self.getAccountDetails(account)
+                details['Account.enable'] = "TRUE"
+                self.configurationmanager.setAccountDetails(account, details)
+        else:
+	       	details = self.getAccountDetails(account)
+                details['Account.enable'] = "FALSE"
+                self.configurationmanager.setAccountDetails(account, details)
+
+    def checkAccountExists(self, account=None):
+        """ Checks if the account exists """
+        if account is None:
+            raise SflPhoneError("No provided or current account !")
+        return account in self.getAllAccounts()
+			
+    def getAllRegisteredAccounts(self):
+        """Return a list of registered accounts"""
 
-		return registeredAccountsList
+        registeredAccountsList = []
+        for account in self.getAllAccounts():
+            if self.isAccountRegistered(account):
+                registeredAccountsList.append(account)
 
-	def getAllEnabledAccounts(self):
-		"""Return a list of enabled accounts"""
+        return registeredAccountsList
 
-		enabledAccountsList = []
-		for accountName in self.getAllAccounts():
-			if  self.getAccountDetails(accountName)['Account.enable'] == "TRUE":
-				enabledAccountsList.append(accountName)
+    def getAllEnabledAccounts(self):
+        """Return a list of enabled accounts"""
 
-		return enabledAccountsList
+        enabledAccountsList = []
+        for accountName in self.getAllAccounts():
+            if self.getAccountDetails(accountName)['Account.enable'] == "TRUE":
+                 enabledAccountsList.append(accountName)
 
-	def getAllSipAccounts(self):
-		"""Return a list of SIP accounts"""
+        return enabledAccountsList
 
-		sipAccountsList = []
-		for accountName in self.getAllAccounts(): 
-			if  self.getAccountDetails(accountName)['Account.type'] == "SIP":
-				sipAccountsList.append(accountName)
+    def getAllSipAccounts(self):
+        """Return a list of SIP accounts"""
 
-		return sipAccountsList
+        sipAccountsList = []
+        for accountName in self.getAllAccounts(): 
+            if  self.getAccountDetails(accountName)['Account.type'] == "SIP":
+                sipAccountsList.append(accountName)
 
-	def getAllIaxAccounts(self):
-		"""Return a list of IAX accounts"""
+        return sipAccountsList
 
-		iaxAccountsList = []
-		for accountName in self.getAllAccounts():
-			if  self.getAccountDetails(accountName)['Account.type'] == "IAX":
-				iaxAccountsList.append(accountName)
+    def getAllIaxAccounts(self):
+        """Return a list of IAX accounts"""
 
-		return iaxAccountsList
+        iaxAccountsList = []
+        for accountName in self.getAllAccounts():
+            if  self.getAccountDetails(accountName)['Account.type'] == "IAX":
+                iaxAccountsList.append(accountName)
 
-	def setAccountRegistered(self, account=None, register=False):
-		""" Tries to register the account """
+        return iaxAccountsList
 
-		if account is None:
-			if self.account is None:
-				raise SflPhoneError("No provided or current account !")
-			account = self.account
+    def setAccountRegistered(self, account=None, register=False):
+       	""" Tries to register the account """
 
-		try:
-			if register:
-				self.configurationmanager.sendRegister(account, int(1))
-				#self.setAccount(account)
-			else:
-				self.configurationmanager.sendRegister(account, int(0))
-				#self.setFirstRegisteredAccount()
+       	if account is None:
+       		if self.account is None:
+       			raise SflPhoneError("No provided or current account !")
+       		account = self.account
 
-		except SflPhoneError, e:
-			print e
+       	try:
+       		if register:
+       			self.configurationmanager.sendRegister(account, int(1))
+       			#self.setAccount(account)
+       		else:
+       			self.configurationmanager.sendRegister(account, int(0))
+       			#self.setFirstRegisteredAccount()
+        except SflPhoneError, e:
+       		print e
 
-        #
-        # Codec manager
-        #
+    #
+    # Codec manager
+    #
                         
-        def getCodecList(self):
-                """ Return the codec list """
-                return self.configurationmanager.getCodecList()
+    def getCodecList(self):
+        """ Return the codec list """
+        return self.configurationmanager.getCodecList()
 
-        def getActiveCodecList(self):
-                """ Return the active codec list """
-                return self.configurationmanager.getActiveCodecList()
+    def getActiveCodecList(self):
+        """ Return the active codec list """
+        return self.configurationmanager.getActiveCodecList()
 
 
 
-	#
-	# Call management
-	#
+    #
+    # Call management
+    #
 
-	def getCurrentCallID(self):
-		"""Return the callID of the current call if any"""
+    def getCurrentCallID(self):
+        """Return the callID of the current call if any"""
 
-		return self.callmanager.getCurrentCallID()
+        return self.callmanager.getCurrentCallID()
 
 
-	def getCurrentCallDetails(self):
-		"""Return informations on the current call if any"""
+    def getCurrentCallDetails(self):
+        """Return informations on the current call if any"""
 
-		return self.callmanager.getCallDetails(self.getCurrentCallID())
+        return self.callmanager.getCallDetails(self.getCurrentCallID())
 
-	def getCallDetails(self, callid):
-		"""Return informations on this call if exists"""
+    def getCallDetails(self, callid):
+        """Return informations on this call if exists"""
 
-		return self.callmanager.getCallDetails(callid)
+        return self.callmanager.getCallDetails(callid)
 
-	def printClientCallList(self):
-		print "Client active call list:"
-		print "------------------------"
-		for call in self.activeCalls:
-			print "\t" + call
+    def printClientCallList(self):
+        print "Client active call list:"
+        print "------------------------"
+        for call in self.activeCalls:
+            print "\t" + call
 
-	#
-	# Action
-	#
-	def Call(self, dest):
-		"""Start a call and return a CallID"""
-		if not self.account:
-			self.setFirstRegisteredAccount()
+    #
+    # Action
+    #
+    def Call(self, dest):
+        """Start a call and return a CallID"""
+        if not self.account:
+            self.setFirstRegisteredAccount()
 
-		if not self.isAccountRegistered():
-			raise SflPhoneError("Can't place a call without a registered account")
+        if not self.isAccountRegistered():
+            raise SflPhoneError("Can't place a call without a registered account")
 
-		if dest is None or dest == "":
-			raise SflPhoneError("Invalid call destination")
+        if dest is None or dest == "":
+            raise SflPhoneError("Invalid call destination")
 
-#		callid = str(random.randrange(2**32-1))
-		t = long( time.time() * 1000 )
-		r = long( random.random()*100000000000000000L )
-		data = str(t) + str(r)
-		callid = md5.md5(data).hexdigest()
+        # callid = str(random.randrange(2**32-1))
+        t = long( time.time() * 1000 )
+        r = long( random.random()*100000000000000000L )
+        data = str(t) + str(r)
+        callid = md5.md5(data).hexdigest()
 
-		# Add the call to the list of active calls and set status to SENT
-		self.activeCalls[callid] = {'Account': self.account, 'To': dest, 'State': 'SENT' }
-		# Send the request to the CallManager
-		self.callmanager.placeCall(self.account, callid, dest)
+        # Add the call to the list of active calls and set status to SENT
+        self.activeCalls[callid] = {'Account': self.account, 'To': dest, 'State': 'SENT' }
+        # Send the request to the CallManager
+        self.callmanager.placeCall(self.account, callid, dest)
 
-		return callid
+        return callid
 
 
-	def HangUp(self, callid):
-		"""End a call identified by a CallID"""
-		if not self.account:
-			self.setFirstRegisteredAccount()
+    def HangUp(self, callid):
+        """End a call identified by a CallID"""
+        if not self.account:
+            self.setFirstRegisteredAccount()
 
-		if not self.isAccountRegistered():
-			raise SflPhoneError("Can't hangup a call without a registered account")
+        if not self.isAccountRegistered():
+            raise SflPhoneError("Can't hangup a call without a registered account")
 
-		if callid is None or callid == "":
-			pass # just to see
-			#raise SflPhoneError("Invalid callID")
+        if callid is None or callid == "":
+            pass # just to see
+            #raise SflPhoneError("Invalid callID")
 
-		self.callmanager.hangUp(callid)
+            self.callmanager.hangUp(callid)
 
 
-	def Transfert(self, callid, to):
-		"""Transfert a call identified by a CallID"""
-		if not self.account:
-			self.setFirstRegisteredAccount()
+    def Transfert(self, callid, to):
+        """Transfert a call identified by a CallID"""
+        if not self.account:
+            self.setFirstRegisteredAccount()
 
-		if not self.isAccountRegistered():
-			raise SflPhoneError("Can't transfert a call without a registered account")
+        if not self.isAccountRegistered():
+            raise SflPhoneError("Can't transfert a call without a registered account")
 
-		if callid is None or callid == "":
-			raise SflPhoneError("Invalid callID")
+        if callid is None or callid == "":
+            raise SflPhoneError("Invalid callID")
 
-		self.callmanager.transfert(callid, to)
+        self.callmanager.transfert(callid, to)
 
 
-	def Refuse(self, callid):
-		"""Refuse an incoming call identified by a CallID"""
-		if not self.account:
-			self.setFirstRegisteredAccount()
+    def Refuse(self, callid):
+        """Refuse an incoming call identified by a CallID"""
+        if not self.account:
+            self.setFirstRegisteredAccount()
 
-		if not self.isAccountRegistered():
-			raise SflPhoneError("Can't refuse a call without a registered account")
+        if not self.isAccountRegistered():
+            raise SflPhoneError("Can't refuse a call without a registered account")
 
-		if callid is None or callid == "":
-			raise SflPhoneError("Invalid callID")
+        if callid is None or callid == "":
+            raise SflPhoneError("Invalid callID")
 
-		self.callmanager.refuse(callid)
+        self.callmanager.refuse(callid)
 
 
-	def Accept(self, callid):
-		"""Accept an incoming call identified by a CallID"""
-		if not self.account:
-			self.setFirstRegisteredAccount()
+    def Accept(self, callid):
+        """Accept an incoming call identified by a CallID"""
+        if not self.account:
+            self.setFirstRegisteredAccount()
 
-		if not self.isAccountRegistered():
-			raise SflPhoneError("Can't accept a call without a registered account")
+       	if not self.isAccountRegistered():
+            raise SflPhoneError("Can't accept a call without a registered account")
 
-		if callid is None or callid == "":
-			raise SflPhoneError("Invalid callID")
+        if callid is None or callid == "":
+            raise SflPhoneError("Invalid callID")
 
-		self.callmanager.accept(callid)
+        self.callmanager.accept(callid)
 
 
-	def Hold(self, callid):
-		"""Hold a call identified by a CallID"""
-		if not self.account:
-			self.setFirstRegisteredAccount()
+    def Hold(self, callid):
+        """Hold a call identified by a CallID"""
+        if not self.account:
+            self.setFirstRegisteredAccount()
 
-		if not self.isAccountRegistered():
-			raise SflPhoneError("Can't hold a call without a registered account")
+        if not self.isAccountRegistered():
+            raise SflPhoneError("Can't hold a call without a registered account")
 
-		if callid is None or callid == "":
-			raise SflPhoneError("Invalid callID")
+        if callid is None or callid == "":
+            raise SflPhoneError("Invalid callID")
 
-		self.callmanager.hold(callid)
+        self.callmanager.hold(callid)
 
 
-	def UnHold(self, callid):
-		"""Unhold an incoming call identified by a CallID"""
-		if not self.account:
-			self.setFirstRegisteredAccount()
+    def UnHold(self, callid):
+        """Unhold an incoming call identified by a CallID"""
+        if not self.account:
+            self.setFirstRegisteredAccount()
 
-		if not self.isAccountRegistered():
-			raise SflPhoneError("Can't unhold a call without a registered account")
+        if not self.isAccountRegistered():
+            raise SflPhoneError("Can't unhold a call without a registered account")
 
-		if callid is None or callid == "":
-			raise SflPhoneError("Invalid callID")
+        if callid is None or callid == "":
+            raise SflPhoneError("Invalid callID")
 
-		self.callmanager.unhold(callid)
+        self.callmanager.unhold(callid)
 
 
-	def Dtmf(self, key):
-		"""Send a DTMF"""
-		self.callmanager.playDTMF(key)
+    def Dtmf(self, key):
+        """Send a DTMF"""
+        self.callmanager.playDTMF(key)