diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp
index 2e0934d170be5f9c332214fe6d2acdb8d6a310ca..5fc21e09a700677d936f2996c0ddfda3288727f8 100644
--- a/sflphone-common/src/managerimpl.cpp
+++ b/sflphone-common/src/managerimpl.cpp
@@ -650,13 +650,15 @@ bool ManagerImpl::transferCall (const CallID& call_id, const std::string& to) {
 	AccountID accountid;
 	bool returnValue;
 
+	_info("Manager: Transfer Call\n");
+
 	stopTone();
 
 	CallID current_call_id = getCurrentCallId();
 
 	if (participToConference(call_id)) {
 
-		_debug("Particip to a conference\n");
+		_info("Manager: Particip to a conference\n");
 
 		Conference *conf = getConferenceFromCallID(call_id);
 
@@ -668,8 +670,6 @@ bool ManagerImpl::transferCall (const CallID& call_id, const std::string& to) {
 		}
 	} else {
 
-		_debug("Do not Particip to a conference\n");
-
 		// we are not participating to a conference, current call switched to ""
 		if (!isConference(current_call_id))
 			switchCall("");
@@ -685,7 +685,7 @@ bool ManagerImpl::transferCall (const CallID& call_id, const std::string& to) {
 		accountid = getAccountFromCall(call_id);
 
 		if (accountid == AccountNULL) {
-			_debug ("! Manager Transfer Call: Call doesn't exists");
+			_warn ("Manager: Call doesn't exists");
 			return false;
 		}
 
@@ -696,18 +696,21 @@ bool ManagerImpl::transferCall (const CallID& call_id, const std::string& to) {
 
 	removeWaitingCall(call_id);
 
-	if (_dbus)
-		_dbus->getCallManager()->callStateChanged(call_id, "HUNGUP");
-
 	return returnValue;
 }
 
 void ManagerImpl::transferFailed () {
+
+	_debug("UserAgent: Transfer failed");
+
 	if (_dbus)
 		_dbus->getCallManager()->transferFailed();
 }
 
 void ManagerImpl::transferSucceded () {
+
+	_debug("UserAgent: Transfer succeded");
+
 	if (_dbus)
 		_dbus->getCallManager()->transferSucceded();
 
@@ -1713,7 +1716,7 @@ void ManagerImpl::peerHungupCall (const CallID& call_id) {
 	AccountID account_id;
 	bool returnValue;
 
-	_debug ("ManagerImpl::peerHungupCall(%s)", call_id.c_str());
+	_debug ("Manager: Peer hungup call %s", call_id.c_str());
 
 	// store the current call id
 	CallID current_call_id = getCurrentCallId();
@@ -1745,11 +1748,6 @@ void ManagerImpl::peerHungupCall (const CallID& call_id) {
 
 		account_id = getAccountFromCall(call_id);
 
-		if (account_id == AccountNULL) {
-			_debug ("peerHungupCall: Call doesn't exists");
-			return;
-		}
-
 		returnValue = getAccountLink(account_id)->peerHungup(call_id);
 	}
 
diff --git a/sflphone-common/src/sip/sipvoiplink.cpp b/sflphone-common/src/sip/sipvoiplink.cpp
index 022cdcbe0c2dd16cc5b97e6115570756b9cb7bd6..fa0e1c3cc6c19e1aaf54ed97da216b5c99a9806c 100644
--- a/sflphone-common/src/sip/sipvoiplink.cpp
+++ b/sflphone-common/src/sip/sipvoiplink.cpp
@@ -921,12 +921,12 @@ SIPVoIPLink::peerHungup (const CallID& id)
     pjsip_tx_data *tdata = NULL;
     SIPCall* call;
 
-    _info("SIP: Peer hungup");
+    _info("UserAgent: Peer hungup");
 
     call = getSIPCall (id);
 
     if (call==0) {
-        _debug ("! SIP Error: Call doesn't exist");
+        _warn ("UserAgent: Call doesn't exist");
         return false;
     }
 
@@ -949,7 +949,7 @@ SIPVoIPLink::peerHungup (const CallID& id)
 
     // Release RTP thread
     if (Manager::instance().isCurrentCall (id)) {
-        _debug ("* SIP Info: Stopping AudioRTP for hangup");
+        _debug ("UserAgent: Stopping AudioRTP for hangup");
         call->getAudioRtp()->stop();
     }
 
@@ -1110,7 +1110,7 @@ SIPVoIPLink::transfer (const CallID& id, const std::string& to)
     account = dynamic_cast<SIPAccount *> (Manager::instance().getAccount (account_id));
 
     if (account == NULL) {
-        _debug ("SIPVoIPLink::transfer account is null. Returning.");
+        _warn ("UserAgent: Transfer account is null. Returning.");
         return false;
     }
 
@@ -1128,7 +1128,7 @@ SIPVoIPLink::transfer (const CallID& id, const std::string& to)
         pj_cstr (&pjDest, dest.c_str());
     }
 
-    _debug ("Transfering to %s", dest.c_str());
+    _info ("UserAgent: Transfering to %s", dest.c_str());
 
     /* Create xfer client subscription. */
     pj_bzero (&xfer_cb, sizeof (xfer_cb));
@@ -1137,7 +1137,7 @@ SIPVoIPLink::transfer (const CallID& id, const std::string& to)
     status = pjsip_xfer_create_uac (call->getInvSession()->dlg, &xfer_cb, &sub);
 
     if (status != PJ_SUCCESS) {
-        _debug ("UserAgent: Unable to create xfer -- %d", status);
+        _warn ("UserAgent: Unable to create xfer -- %d", status);
         return false;
     }
 
@@ -1171,7 +1171,13 @@ SIPVoIPLink::transfer (const CallID& id, const std::string& to)
 
 bool SIPVoIPLink::transferStep2 (SIPCall* call)
 {
+	_debug("================= TRansfer Step 2 =============");;
+
+	// Signal client to hangup
+	// DBusManager::instance().getCallManager()->callStateChanged(call->getCallId(), "HUNGUP");
+
     call->getAudioRtp()->stop();
+
     return true;
 }
 
@@ -1492,7 +1498,10 @@ SIPVoIPLink::SIPCallServerFailure (SIPCall *call)
 void
 SIPVoIPLink::SIPCallClosed (SIPCall *call)
 {
+	_info("UserAgent: Closing call");
+
     if (!call) {
+		_warn("UserAgent: Error: CAll pointer is NULL\n");
         return;
     }
 
@@ -1500,16 +1509,14 @@ SIPVoIPLink::SIPCallClosed (SIPCall *call)
 
     if (Manager::instance().isCurrentCall (id)) {
         call->setAudioStart (false);
-        _debug ("* SIP Info: Stopping AudioRTP when closing");
+        _debug ("UserAgent: Stopping AudioRTP when closing");
         call->getAudioRtp()->stop();
     }
 
-    _debug ("After close RTP");
-
     Manager::instance().peerHungupCall (id);
     terminateOneCall (id);
     removeCall (id);
-    _debug ("After remove call ID");
+
 }
 
 void
@@ -1520,7 +1527,7 @@ SIPVoIPLink::SIPCallReleased (SIPCall *call)
     }
 
     // if we are here.. something when wrong before...
-    _debug ("SIP call release");
+    _debug ("UserAgent: SIP call release");
 
     CallID id = call->getCallId();
 
@@ -3315,9 +3322,8 @@ void call_on_forked (pjsip_inv_session *inv, pjsip_event *e)
 
 void call_on_tsx_changed (pjsip_inv_session *inv, pjsip_transaction *tsx, pjsip_event *e)
 {
-    _debug("call_on_tsx_changed to state %s", transactionStateMap[tsx->state]);
+    _debug("UserAgent: Transaction changed to state %s", transactionStateMap[tsx->state]);
 
-    
 
     if (tsx->role==PJSIP_ROLE_UAS && tsx->state==PJSIP_TSX_STATE_TRYING &&
             pjsip_method_cmp (&tsx->method, &pjsip_refer_method) ==0) {
@@ -3337,7 +3343,7 @@ void call_on_tsx_changed (pjsip_inv_session *inv, pjsip_transaction *tsx, pjsip_
 
                 if (request.find (method_name) != (size_t)-1) {
 
-                    _debug ("%s", pjsip_rx_data_get_info (r_data));
+                    _debug ("UserAgent: %s", pjsip_rx_data_get_info (r_data));
 
                     pjsip_dlg_create_response (inv->dlg, r_data, PJSIP_SC_OK, NULL, &t_data);
 
@@ -3817,8 +3823,7 @@ void onCallTransfered (pjsip_inv_session *inv, pjsip_rx_data *rdata)
      * request.
      */
     ref_by_hdr = (pjsip_hdr*)
-                 pjsip_msg_find_hdr_by_name (rdata->msg_info.msg, &str_ref_by,
-                                             NULL);
+    pjsip_msg_find_hdr_by_name (rdata->msg_info.msg, &str_ref_by, NULL);
 
     /* Notify callback */
     code = PJSIP_SC_ACCEPTED;
@@ -4004,7 +4009,6 @@ void xfer_func_cb (pjsip_evsub *sub, pjsip_event *event)
      * When subscription is accepted (got 200/OK to REFER), check if
      * subscription suppressed.
      */
-
     if (pjsip_evsub_get_state (sub) == PJSIP_EVSUB_STATE_ACCEPTED) {
 
         _debug ("Transfer accepted! Waiting for notifications. ");
@@ -4059,23 +4063,15 @@ void xfer_func_cb (pjsip_evsub *sub, pjsip_event *event)
 
             rdata = event->body.tsx_state.src.rdata;
 
-
             /* Check if there's body */
             msg = rdata->msg_info.msg;
             body = msg->body;
 
             if (!body) {
-                // if (call->getCallConfiguration () == Call::IPtoIP) {
-                //   _debug("UserAgent: IptoIp NOTIFY without message body");
-                // }
-                // else{
                 _debug ("UserAgent: Warning! Received NOTIFY without message body");
                 return;
-                // }
             }
 
-
-
             /* Check for appropriate content */
             if (pj_stricmp2 (&body->content_type.type, "message") != 0 ||
                     pj_stricmp2 (&body->content_type.subtype, "sipfrag") != 0) {
@@ -4107,34 +4103,12 @@ void xfer_func_cb (pjsip_evsub *sub, pjsip_event *event)
         }
 
 
-        if (event->body.rx_msg.rdata->msg_info.msg_buf != NULL) {
-            request = event->body.rx_msg.rdata->msg_info.msg_buf;
-
-            if ( (int) request.find (noresource) != -1) {
-                _debug ("UserAgent: NORESOURCE for transfer!");
-                link->transferStep2 (call);
-                pjsip_evsub_terminate (sub, PJ_TRUE);
-
-                Manager::instance().transferFailed();
-                return;
-            }
-
-            if ( (int) request.find (ringing) != -1) {
-                _debug ("UserAgent: transfered call RINGING!");
-                link->transferStep2 (call);
-                pjsip_evsub_terminate (sub, PJ_TRUE);
-
-                Manager::instance().transferSucceded();
-                return;
-            }
-        }
-
-
         /* Notify application */
         is_last = (pjsip_evsub_get_state (sub) ==PJSIP_EVSUB_STATE_TERMINATED);
 
         cont = !is_last;
 
+		_debug("UserAgent: Notification status line: %d", status_line.code);
         if (status_line.code/100 == 2) {
 
             _debug ("UserAgent: Try to stop rtp!");