diff --git a/sflphone-client-gnome/src/dbus/dbus.c b/sflphone-client-gnome/src/dbus/dbus.c index f9e457077c5f34251749f9d4d62d312aee5fd5db..4445af8f17ab2ca66d4a854f2c7abb99a26c19fc 100644 --- a/sflphone-client-gnome/src/dbus/dbus.c +++ b/sflphone-client-gnome/src/dbus/dbus.c @@ -76,6 +76,11 @@ zrtp_negotiation_failed_cb (DBusGProxy *proxy UNUSED, { DEBUG ("Zrtp negotiation failed."); main_window_zrtp_negotiation_failed(callID, reason, severity); + callable_obj_t * c = NULL; + c = calllist_get(current_calls, callID); + if(c) { + notify_zrtp_negotiation_failed(c); + } } static void diff --git a/sflphone-client-gnome/src/sflnotify.c b/sflphone-client-gnome/src/sflnotify.c index 246612f8092ef9f6c1d2a6f7c65f8af973d52a5a..ab1ccabe5a9cbdf9d0e0c373a1c10fc3f48820a8 100644 --- a/sflphone-client-gnome/src/sflnotify.c +++ b/sflphone-client-gnome/src/sflnotify.c @@ -210,6 +210,21 @@ notify_zrtp_not_supported (callable_obj_t* c) &_gnome_notification); } + void +notify_zrtp_negotiation_failed (callable_obj_t* c) +{ + + gchar* callerid; + gchar* title; + title = g_markup_printf_escaped ("ZRTP Error."); + callerid = g_markup_printf_escaped(_("ZRTP negotiation failed with %s") , c->_peer_number); + create_new_gnome_notification (title, + callerid, + NOTIFY_URGENCY_CRITICAL, + (g_strcasecmp(__TIMEOUT_MODE, "default") == 0 )? __TIMEOUT_TIME : NOTIFY_EXPIRES_NEVER, + &_gnome_notification); +} + void notify_secure_off (callable_obj_t* c) { diff --git a/sflphone-client-gnome/src/sflnotify.h b/sflphone-client-gnome/src/sflnotify.h index cf5cc8f57a9345190f752452b5686479fa437806..69d686dd55afcff73cbcd63be20f93b14de034eb 100644 --- a/sflphone-client-gnome/src/sflnotify.h +++ b/sflphone-client-gnome/src/sflnotify.h @@ -90,6 +90,12 @@ void notify_secure_on (callable_obj_t* c); */ void notify_secure_off (callable_obj_t* c); +/** + * Notify that the ZRTP negotiation failed + */ + +void notify_zrtp_negotiation_failed (callable_obj_t* c); + /** * Notify that the RTP session is now more secured */