diff --git a/sflphone-client-gnome/src/callable_obj.c b/sflphone-client-gnome/src/callable_obj.c index be338bef59695ade86f54da3f6b3aa1a19ea8e7d..676ba0676eb71f42b6b615c1b69724a6f4c32ebe 100644 --- a/sflphone-client-gnome/src/callable_obj.c +++ b/sflphone-client-gnome/src/callable_obj.c @@ -51,20 +51,33 @@ gchar* call_get_peer_name (const gchar *format) { gchar *end, *name; - end = g_strrstr (format, "\""); + DEBUG(" callable_obj: %s", format); + + end = g_strrstr (format, "<"); + if (!end) { return g_strndup (format, 0); } else { - name = format +1; + name = format; return g_strndup(name, end - name); } + + + } gchar* call_get_peer_number (const gchar *format) { + DEBUG(" callable_obj: %s", format); + gchar * number = g_strrstr(format, "<") + 1; gchar * end = g_strrstr(format, ">"); - number = g_strndup(number, end - number ); + + if(end && number) + number = g_strndup(number, end - number ); + else + number = g_strdup(format); + return number; } diff --git a/sflphone-client-gnome/src/contacts/calltree.c b/sflphone-client-gnome/src/contacts/calltree.c index 08b015d3a434c1136e6452a66c92912595d95ac1..1135ed7d12eb703a09eed76df9e7269704d3d1a1 100644 --- a/sflphone-client-gnome/src/contacts/calltree.c +++ b/sflphone-client-gnome/src/contacts/calltree.c @@ -576,7 +576,7 @@ calltree_update_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) if(c->_state == CALL_STATE_TRANSFERT) { - description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>Transfert to:%s</i> ", + description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>Transfert to:%s</i> ", c->_peer_number, c->_peer_name, c->_trsft_to); @@ -585,20 +585,20 @@ calltree_update_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) { // c->_zrtp_confirmed == FALSE : Hack explained in callable_obj.h if((c->_sas != NULL) && (display_sas == TRUE) && (c->_srtp_state == SRTP_STATE_SAS_UNCONFIRMED) && (c->_zrtp_confirmed == FALSE)) { - description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>Confirm SAS <b>%s</b> ?</i> ", + description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>Confirm SAS <b>%s</b> ?</i> ", c->_peer_number, c->_peer_name, c->_sas); } else { DEBUG("Updating state code %d %s", c->_state_code, c->_state_code_description); if (c->_state_code) { - description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>%s (%d)</i>", + description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>%s (%d)</i>", c->_peer_number, c->_peer_name, c->_state_code_description, c->_state_code); } else { - description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>", + description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>", c->_peer_number, c->_peer_name ); } @@ -712,14 +712,14 @@ void calltree_add_call (calltab_t* tab, callable_obj_t * c, GtkTreeIter *parent) if(c->_state_code == 0) { - description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>", + description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>", c->_peer_number, c->_peer_name); } else { - description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>%s (%d)</i>", + description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>\n<i>%s (%d)</i>", c->_peer_number, c->_peer_name, c->_state_code_description, @@ -830,7 +830,7 @@ void calltree_add_history_entry (callable_obj_t * c) // New call in the list gchar * description, *date="", *duration=""; - description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>", + description = g_markup_printf_escaped("<b>%s</b> <i>%s</i>", c->_peer_number, c->_peer_name); @@ -968,10 +968,13 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) // Every participant to a conference must be secured, the conference is not secured elsewhere conf->_conference_secured = TRUE; + DEBUG("Determine if conference is secured"); participant = conf->participant; if(participant) { + DEBUG(" determine if at least one participant uses srtp"); + participant = conf->participant; for (pl = participant; *participant; participant++) { @@ -986,15 +989,19 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) } if(g_strcasecmp(srtp_enabled,"true") == 0) { + DEBUG(" srtp enabled for participant %s\n", participant); conf->_conf_srtp_enabled = TRUE; break; + } else { + DEBUG(" srtp is not enabled for participant %s\n", participant); } - } } + DEBUG(" determine if all conference participant are secured"); + if(conf->_conf_srtp_enabled) { participant = conf->participant; @@ -1007,8 +1014,11 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) if(call->_srtp_state == 0) { + DEBUG(" participant %s is not secured", participant); conf->_conference_secured = FALSE; break; + } else { + DEBUG(" participant %s is secured", participant); } } } @@ -1019,10 +1029,12 @@ void calltree_add_conference (calltab_t* tab, conference_obj_t* conf) { if(conf->_conference_secured) { + DEBUG("Conference is secured"); pixbuf_security = gdk_pixbuf_new_from_file(ICONS_DIR "/lock_confirmed.svg", NULL); } else { + DEBUG("Conference is not secured"); pixbuf_security = gdk_pixbuf_new_from_file(ICONS_DIR "/lock_off.svg", NULL); } } diff --git a/sflphone-client-gnome/src/dbus/dbus.c b/sflphone-client-gnome/src/dbus/dbus.c index fd1392e1ea2e27e356289fc85be18249f11bd6d5..033e908e614694224381a742176a5c25b775439d 100644 --- a/sflphone-client-gnome/src/dbus/dbus.c +++ b/sflphone-client-gnome/src/dbus/dbus.c @@ -50,7 +50,8 @@ incoming_call_cb (DBusGProxy *proxy UNUSED, const gchar* from, void * foo UNUSED ) { - DEBUG ("Incoming call! %s",callID); + DEBUG("Incoming call! %s", callID); + DEBUG(" from: %s", from); callable_obj_t * c; gchar *peer_name, *peer_number; @@ -58,6 +59,9 @@ incoming_call_cb (DBusGProxy *proxy UNUSED, peer_name = call_get_peer_name (from); peer_number = call_get_peer_number (from); + DEBUG(" peer name: %s", peer_name); + DEBUG(" peer number: %s", peer_number); + create_new_call (CALL, CALL_STATE_INCOMING, g_strdup(callID), g_strdup(accountID), peer_name, peer_number, &c); #if GTK_CHECK_VERSION(2,10,0) status_tray_icon_blink( TRUE ); diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp index 86e911c6bc3d1751ebd7b66aa5d6bd7ac8cb6719..a4d8110cf47098817e66a08f02dee79a7558d4b3 100644 --- a/sflphone-common/src/managerimpl.cpp +++ b/sflphone-common/src/managerimpl.cpp @@ -1745,7 +1745,7 @@ bool ManagerImpl::incomingCall (Call* call, const AccountID& accountId) { PulseLayer *pulselayer; - std::string from, number, display_name; + std::string from, number, display_name, display; stopTone (true); @@ -1775,11 +1775,11 @@ ManagerImpl::incomingCall (Call* call, const AccountID& accountId) from = call->getPeerName(); - display_name = call->getDisplayName(); - number = call->getPeerNumber(); - _debug( "incomingCall display_name from: %s, number: %s\n"); + display_name = call->getDisplayName(); + + // _debug( "incomingCall from: %s, number: %s, display_name: %s\n", from.c_str(), number.c_str(), display_name.c_str()); if (from != "" && number != "") { from.append (" <"); @@ -1801,8 +1801,16 @@ ManagerImpl::incomingCall (Call* call, const AccountID& accountId) */ /* Broadcast a signal over DBus */ - _debug(" From: %s, Number: %s\n", from.c_str(), number.c_str()); - if (_dbus) _dbus->getCallManager()->incomingCall (accountId, call->getCallId(), from.c_str()); + _debug(" From: %s, Number: %s, DisplayName: %s\n", from.c_str(), number.c_str(), display_name.c_str()); + + display = display_name; + display.append(" "); + display.append(from); + + _debug(" To be displayed: %s\n", display.c_str()); + + + if (_dbus) _dbus->getCallManager()->incomingCall (accountId, call->getCallId(), display.c_str()); //if (_dbus) _dbus->getCallManager()->callStateChanged(call->getCallId(), "INCOMING"); @@ -2511,7 +2519,9 @@ ManagerImpl::getCurrentCodecName (const CallID& id) VoIPLink* link = getAccountLink (accountid); Call* call = link->getCall(id); - + if(!call) + return ""; + if(call->getState() != Call::Active) return ""; else