diff --git a/sflphone-gtk/src/config/hooks-config.c b/sflphone-gtk/src/config/hooks-config.c
index b627d13f4dd36ae513ba148a8a1a95b338eba92a..67b89cef41b3714c4d9e5996d966cffa8bb6eeb2 100644
--- a/sflphone-gtk/src/config/hooks-config.c
+++ b/sflphone-gtk/src/config/hooks-config.c
@@ -38,11 +38,13 @@ void hooks_load_parameters (URLHook_Config** settings){
         _settings->sip_field = DEFAULT_SIP_URL_FIELD;
         _settings->command = DEFAULT_URL_COMMAND;
         _settings->sip_enabled = "0";
+        _settings->iax2_enabled = "0";
     }
     else {
         _settings->sip_field =  (gchar*)(g_hash_table_lookup (_params, URLHOOK_SIP_FIELD));
         _settings->command =  (gchar*)(g_hash_table_lookup (_params, URLHOOK_COMMAND));
         _settings->sip_enabled =  (gchar*)(g_hash_table_lookup (_params, URLHOOK_SIP_ENABLED));
+        _settings->iax2_enabled =  (gchar*)(g_hash_table_lookup (_params, URLHOOK_IAX2_ENABLED));
     }
  
     *settings = _settings;
@@ -60,6 +62,8 @@ void hooks_save_parameters (void){
                                 g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(command))));
     g_hash_table_replace (params, (gpointer)URLHOOK_SIP_ENABLED, 
                                 (gpointer)g_strdup(_urlhook_config->sip_enabled));
+    g_hash_table_replace (params, (gpointer)URLHOOK_IAX2_ENABLED, 
+                                (gpointer)g_strdup(_urlhook_config->iax2_enabled));
     
     dbus_set_hook_settings (params);
 
@@ -79,6 +83,17 @@ static void sip_enabled_cb (GtkWidget *widget) {
         _urlhook_config->sip_enabled="0";
 }
 
+static void iax2_enabled_cb (GtkWidget *widget) {
+
+    guint check;
+
+    check = (guint) gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget));
+    if (check)
+        _urlhook_config->iax2_enabled="1";
+    else
+        _urlhook_config->iax2_enabled="0";
+}
+
 GtkWidget* create_hooks_settings (){
 
     GtkWidget *ret, *url_frame, *table, *label, *widg;
@@ -112,10 +127,9 @@ GtkWidget* create_hooks_settings (){
     gtk_table_attach ( GTK_TABLE( table ), field, 2, 3, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
 
     widg = gtk_check_button_new_with_mnemonic( _("_IAX2 protocol"));
-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(widg), FALSE); // Not implemented yet
-    //g_signal_connect (G_OBJECT(field) , "clicked" , NULL, NULL);
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(widg), (g_strcasecmp (_urlhook_config->iax2_enabled, "1")==0)?TRUE:FALSE); 
+    g_signal_connect (G_OBJECT(widg) , "clicked" , G_CALLBACK (iax2_enabled_cb), NULL);
     gtk_table_attach ( GTK_TABLE( table ), widg, 0, 3, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
-    gtk_widget_set_sensitive (GTK_WIDGET (widg), FALSE);
 
     label = gtk_label_new_with_mnemonic (_("_Command: "));
     gtk_table_attach ( GTK_TABLE( table ), label, 0, 1, 3, 4, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
diff --git a/sflphone-gtk/src/config/hooks-config.h b/sflphone-gtk/src/config/hooks-config.h
index 41ee59b718cc88938129305efe9b760aef24352a..25e4c77643c47d670ca99d273b5c836e12fcca9a 100644
--- a/sflphone-gtk/src/config/hooks-config.h
+++ b/sflphone-gtk/src/config/hooks-config.h
@@ -32,10 +32,12 @@ G_BEGIN_DECLS
 #define URLHOOK_COMMAND         "URLHOOK_COMMAND"
 #define URLHOOK_SIP_FIELD         "URLHOOK_SIP_FIELD"
 #define URLHOOK_SIP_ENABLED         "URLHOOK_SIP_ENABLED"
+#define URLHOOK_IAX2_ENABLED         "URLHOOK_IAX2_ENABLED"
 
 
 typedef struct _URLHook_Config {
     gchar *sip_enabled;
+    gchar *iax2_enabled;
     gchar *sip_field;
     gchar *command;
 }URLHook_Config;
diff --git a/sflphone-gtk/src/menus.c b/sflphone-gtk/src/menus.c
index 683667cc643eb1822320a4673ea5f4447fd6fc0a..b1fc049c812f270214b9eea8182fd8a8fbf3d28a 100644
--- a/sflphone-gtk/src/menus.c
+++ b/sflphone-gtk/src/menus.c
@@ -1046,7 +1046,7 @@ void show_edit_number (call_t *call) {
     gtk_box_pack_start(GTK_BOX (dialog->vbox), hbox, TRUE, TRUE, 0);
 
     num = gtk_entry_new ();
-    gtk_entry_set_text(GTK_ENTRY(num), "514-384-8557");
+    gtk_entry_set_text(GTK_ENTRY(num), "00000000000");
     gtk_box_pack_start(GTK_BOX (hbox), num, TRUE, TRUE, 0);
     
     ok = gtk_button_new_from_stock (GTK_STOCK_OK);
diff --git a/src/iaxvoiplink.cpp b/src/iaxvoiplink.cpp
index af965c32a460679ae66af53c6e763fbe12b494f3..bb083633b9b036146b1fd74bb32c8f841636e2fc 100644
--- a/src/iaxvoiplink.cpp
+++ b/src/iaxvoiplink.cpp
@@ -63,6 +63,8 @@
 
     spkrDataConverted = new SFLDataFormat[nbSamplesMax];
     spkrDataDecoded = new SFLDataFormat[nbSamplesMax];
+
+    urlhook = new UrlHook ();
 }
 
 
@@ -763,11 +765,14 @@ IAXVoIPLink::iaxHandleCallEvent(iax_event* event, IAXCall* call)
             break;
 
         case IAX_EVENT_URL:
+            if (Manager::instance().getConfigString (HOOKS, URLHOOK_IAX2_ENABLED) == "1") {
+                if (strcmp((char*)event->data, "") != 0) {
+                    _debug ("> IAX_EVENT_URL received: %s\n", event->data);
+                    urlhook->addAction ((char*)event->data, Manager::instance().getConfigString (HOOKS, URLHOOK_COMMAND));
+                }
+            }
             break;
 
-            //    case IAX_EVENT_CNG: ??
-            //    break;
-
         case IAX_EVENT_TIMEOUT:
             break;
 
@@ -1017,3 +1022,4 @@ void IAXVoIPLink::updateAudiolayer( void )
     audiolayer = Manager::instance().getAudioDriver();
     _mutexIAX.leaveMutex();
 }
+
diff --git a/src/iaxvoiplink.h b/src/iaxvoiplink.h
index 4a381da108436b9535016797a7ddec4840c2036d..38aecaed9f0a9204b17477052cc2437d8209d4fa 100644
--- a/src/iaxvoiplink.h
+++ b/src/iaxvoiplink.h
@@ -27,6 +27,7 @@
 
 #include "audio/codecDescriptor.h"
 #include "samplerateconverter.h"
+#include "hooks/urlhook.h"
 
 class EventThread;
 class IAXCall;
@@ -306,6 +307,9 @@ class IAXVoIPLink : public VoIPLink
      
     /** number of sample before conversion (recording) */
     int nbSampleForRec_;
+
+    /* URL hook */
+    UrlHook *urlhook;
 };
 
 #endif
diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp
index 3ac56372458e003a91352599ce61d72b001b9194..23720ef7684e1ff53996d267d555f8dca2983086 100644
--- a/src/managerimpl.cpp
+++ b/src/managerimpl.cpp
@@ -278,8 +278,7 @@ ManagerImpl::answerCall(const CallID& id)
     onHoldCall(getCurrentCallId());
   }
 
-
-  if (!getAccountLink(AccountNULL)->answer(id)) {
+  if (!getAccountLink(accountid)->answer(id)) {
     // error when receiving...
     removeCallAccount(id);
     return false;
@@ -1210,6 +1209,7 @@ ManagerImpl::initConfigFile ( bool load_user_value )
   fill_config_str (URLHOOK_SIP_FIELD, HOOK_DEFAULT_SIP_FIELD);
   fill_config_str (URLHOOK_COMMAND, HOOK_DEFAULT_URL_COMMAND);
   fill_config_str (URLHOOK_SIP_ENABLED, NO_STR);
+  fill_config_str (URLHOOK_IAX2_ENABLED, NO_STR);
 
   // Loads config from ~/.sflphone/sflphonedrc or so..
   if (createSettingsPath() == 1 && load_user_value) {
@@ -2596,6 +2596,7 @@ std::map<std::string, std::string> ManagerImpl::getHookSettings () {
     settings.insert (std::pair<std::string, std::string> ("URLHOOK_SIP_FIELD", getConfigString (HOOKS, URLHOOK_SIP_FIELD)) );
     settings.insert (std::pair<std::string, std::string> ("URLHOOK_COMMAND", getConfigString (HOOKS, URLHOOK_COMMAND)) );
     settings.insert (std::pair<std::string, std::string> ("URLHOOK_SIP_ENABLED", getConfigString (HOOKS, URLHOOK_SIP_ENABLED)) );
+    settings.insert (std::pair<std::string, std::string> ("URLHOOK_IAX2_ENABLED", getConfigString (HOOKS, URLHOOK_IAX2_ENABLED)) );
 
     return settings;
 }
@@ -2605,6 +2606,7 @@ void ManagerImpl::setHookSettings (const std::map<std::string, std::string>& set
     setConfig(HOOKS, URLHOOK_SIP_FIELD, (*settings.find("URLHOOK_SIP_FIELD")).second);
     setConfig(HOOKS, URLHOOK_COMMAND, (*settings.find("URLHOOK_COMMAND")).second);
     setConfig(HOOKS, URLHOOK_SIP_ENABLED, (*settings.find("URLHOOK_SIP_ENABLED")).second);
+    setConfig(HOOKS, URLHOOK_IAX2_ENABLED, (*settings.find("URLHOOK_IAX2_ENABLED")).second);
 
     // Write it to the configuration file
     saveConfig ();
diff --git a/src/user_cfg.h b/src/user_cfg.h
index 058761e8131834cd3087126368a751828120308e..09ffcf60f8565810d58f400830cf93b670eca611 100644
--- a/src/user_cfg.h
+++ b/src/user_cfg.h
@@ -83,6 +83,7 @@
 #define URLHOOK_SIP_FIELD               "Hooks.url_sip_field"
 #define URLHOOK_COMMAND                 "Hooks.url_command"
 #define URLHOOK_SIP_ENABLED                 "Hooks.sip_enabled"
+#define URLHOOK_IAX2_ENABLED                 "Hooks.iax2_enabled"
 
 #define EMPTY_FIELD		""			/** Default value for empty field */
 #define DFT_STUN_SERVER 	"stun.ekiga.net"	/** Default STUN server address */