diff --git a/sflphone-client-gnome/src/actions.c b/sflphone-client-gnome/src/actions.c index 1cad4d868eef52b2b48a03a51545f747cf7535c8..d89d4c89895c48014550940f31364e0f0dd7099f 100644 --- a/sflphone-client-gnome/src/actions.c +++ b/sflphone-client-gnome/src/actions.c @@ -248,12 +248,8 @@ sflphone_fill_account_list(gboolean toolbarInitialized) a->protocol_state_description = g_hash_table_lookup(details, REGISTRATION_STATE_DESCRIPTION); } - // Reset the current account message number + // Set the current account message number current_account_set_message_number (count); - - // Prevent update being called when toolbar is not yet initialized - if(toolbarInitialized) - update_actions (); } gboolean sflphone_init() diff --git a/sflphone-client-gnome/src/actions.h b/sflphone-client-gnome/src/actions.h index 2365243748bf9792fe31051dd71f68446d897160..41e3ab2ef244812b2e8e044dde175b56ac0849ce 100644 --- a/sflphone-client-gnome/src/actions.h +++ b/sflphone-client-gnome/src/actions.h @@ -164,7 +164,7 @@ void sflphone_get_ip2ip_properties (GHashTable **properties); /** * Initialize the accounts data structure */ -void sflphone_fill_account_list(gboolean toolbarInitialized); +void sflphone_fill_account_list (); void sflphone_fill_call_list (void); diff --git a/sflphone-client-gnome/src/dbus/dbus.c b/sflphone-client-gnome/src/dbus/dbus.c index ed2e4b140d04b6537f97490ecd280f88b4410e4d..4cd91db08037968747aeca10ebe74c9a0ae971f1 100644 --- a/sflphone-client-gnome/src/dbus/dbus.c +++ b/sflphone-client-gnome/src/dbus/dbus.c @@ -320,7 +320,7 @@ accounts_changed_cb (DBusGProxy *proxy UNUSED, void * foo UNUSED ) { DEBUG ("Accounts changed"); - sflphone_fill_account_list(TRUE); + sflphone_fill_account_list (); sflphone_fill_ip2ip_profile(); account_list_config_dialog_fill(); diff --git a/sflphone-client-gnome/src/main.c b/sflphone-client-gnome/src/main.c index f7a8cecd8e219e25fa532817aab25ce1c02de275..2a8b7ca5a9af5e5f43a1392be2a37def3dbfec23 100644 --- a/sflphone-client-gnome/src/main.c +++ b/sflphone-client-gnome/src/main.c @@ -116,6 +116,9 @@ There is NO WARRANTY, to the extent permitted by law.\n\n"); // Get the active calls and conferences at startup sflphone_fill_call_list (); sflphone_fill_conference_list(); + + // Update the GUI + update_actions (); /* start the main loop */ gtk_main(); diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/string.h b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/string.h index 198fbe98509b59bc742fbbc707d7a96d012ae786..e0ceb53f894b2c6eaad6e52dfe51e45524fe382c 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/compat/string.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/compat/string.h @@ -52,8 +52,8 @@ # define wcsicmp _wcsicmp # define wcsnicmp _wcsnicmp #else -# define stricmp strcasecmp -# define strnicmp strncasecmp +// # define stricmp strcasecmp +// # define strnicmp strncasecmp # if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 # error "Implement Unicode string functions" diff --git a/sflphone-common/src/audio/codecs/speexcodec_nb.cpp b/sflphone-common/src/audio/codecs/speexcodec_nb.cpp index fc3784eb9caae24bf4d727a3ef3885252f272a63..a2603fc8271e1430ca664edce67d07e3205b3ad4 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_nb.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_nb.cpp @@ -111,7 +111,7 @@ class Speex : public AudioCodec virtual int codecDecode (short *dst, unsigned char *src, unsigned int size) { - int ratio = 320 / _speex_frame_size; + // int ratio = 320 / _speex_frame_size; speex_bits_read_from (&_speex_dec_bits, (char*) src, size); speex_decode_int (_speex_dec_state, &_speex_dec_bits, dst); diff --git a/sflphone-common/src/audio/codecs/speexcodec_wb.cpp b/sflphone-common/src/audio/codecs/speexcodec_wb.cpp index 688ad6cf753bf21bbae345828844534cfd1b9eac..9d3b618674d016fdd939b08e30e833aa70d47bf0 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_wb.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_wb.cpp @@ -109,7 +109,7 @@ class Speex : public AudioCodec virtual int codecDecode (short *dst, unsigned char *src, unsigned int size) { - int ratio = 320 / _speex_frame_size; + // int ratio = 320 / _speex_frame_size; speex_bits_read_from (&_speex_dec_bits, (char*) src, size); speex_decode_int (_speex_dec_state, &_speex_dec_bits, dst); diff --git a/sflphone-common/src/sip/sipvoiplink.cpp b/sflphone-common/src/sip/sipvoiplink.cpp index e49b33cf07c660e5dc8ff5df29d102fa0ce103e0..bedcb5b6fe2506e2abeeaf2ac98a3b85b1148d6b 100644 --- a/sflphone-common/src/sip/sipvoiplink.cpp +++ b/sflphone-common/src/sip/sipvoiplink.cpp @@ -397,8 +397,6 @@ int SIPVoIPLink::sendRegister (AccountID id) pjsip_generic_string_hdr *h; pjsip_hdr hdr_list; - _debug ("SIPVoIPLink::sendRegister()\n"); - account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (id)); if (account == NULL) { @@ -586,10 +584,10 @@ int SIPVoIPLink::sendRegister (AccountID id) return false; } - // pjsip_tpselector *tp; + pjsip_tpselector *tp; - // init_transport_selector (account->getAccountTransport (), &tp); - // status = pjsip_regc_set_transport (regc, tp); + init_transport_selector (account->getAccountTransport (), &tp); + status = pjsip_regc_set_transport (regc, tp); if (status != PJ_SUCCESS) { _debug ("UserAgent: Unable to set transport.\n"); @@ -1320,9 +1318,9 @@ SIPVoIPLink::SIPStartCall (SIPCall* call, const std::string& subject UNUSED) call->setInvSession (inv); // Set the appropriate transport - // pjsip_tpselector *tp; - // init_transport_selector (account->getAccountTransport (), &tp); - // status = pjsip_dlg_set_transport (dialog, tp); + pjsip_tpselector *tp; + init_transport_selector (account->getAccountTransport (), &tp); + status = pjsip_dlg_set_transport (dialog, tp); status = pjsip_inv_send_msg (inv, tdata); @@ -1968,7 +1966,7 @@ int SIPVoIPLink::createUDPServer (AccountID id) pjsip_tpmgr_dump_transports (tpmgr); if (status != PJ_SUCCESS) { - _debug ("UserAgent: (%d) Unable to start UDP transport!\n", status); + _debug ("UserAgent: (%d) Unable to start UDP transport on %s:%d\n", status, listeningAddress.data(), listeningPort); // Try to acquire an existing one // pjsip_tpmgr_acquire_transport () return status; @@ -2212,6 +2210,8 @@ pj_status_t SIPVoIPLink::createAlternateUdpTransport (AccountID id) pj_uint16_t stunPort; pj_sockaddr_in pub_addr; pj_sock_t sock; + std::string listeningAddress = ""; + int listeningPort; /* * Retrieve the account information @@ -2272,15 +2272,12 @@ pj_status_t SIPVoIPLink::createAlternateUdpTransport (AccountID id) a_name.host = pj_str (pj_inet_ntoa (pub_addr.sin_addr)); a_name.port = pj_ntohs (pub_addr.sin_port); - _localExternAddress = std::string (a_name.host.ptr); - _localExternPort = (int) a_name.port; + listeningAddress = std::string (a_name.host.ptr); + listeningPort = (int) a_name.port; // Set the address to be used in SDP - account->setSessionAddress (_localExternAddress); - account->setSessionPort (_localExternPort); - - //account->setStunServerName (a_name.host); - //account->setStunPort (a_name.port); + account->setPublishedAddress (listeningAddress); + account->setPublishedPort (listeningPort); // Create the UDP transport pjsip_transport *transport; @@ -2288,8 +2285,10 @@ pj_status_t SIPVoIPLink::createAlternateUdpTransport (AccountID id) if (status != PJ_SUCCESS) { _debug ("Error creating alternate SIP UDP listener (%d)\n", status); + return status; } + _debug ("UDP Transport successfully created on %s:%i\n", listeningAddress.c_str (), listeningPort); account->setAccountTransport (transport); return PJ_SUCCESS;