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;