diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp
index 8eabaedd69e2bd64d95c5d2f78793d1375d18b03..de54ca7dfb88d3eb315ccffc0ccfe915f53d8cfb 100644
--- a/sflphone-common/src/managerimpl.cpp
+++ b/sflphone-common/src/managerimpl.cpp
@@ -3687,8 +3687,6 @@ CallID ManagerImpl::getNewCallID ()
         random_id << (unsigned) rand();
     }
 
-    _lastCallID = random_id.str();
-
     return random_id.str();
 }
 
diff --git a/sflphone-common/src/managerimpl.h b/sflphone-common/src/managerimpl.h
index d6a122fc8e712cec3f4aaeb1e080592f5b1d1900..84390acb395f5bfb794913be8c048f49b38a916a 100644
--- a/sflphone-common/src/managerimpl.h
+++ b/sflphone-common/src/managerimpl.h
@@ -1426,8 +1426,6 @@ class ManagerImpl
         Conf::YamlParser *parser;
         Conf::YamlEmitter *emitter;
 
-	std::string _lastCallID;
-
 #ifdef TEST
         bool testCallAccountMap();
         bool testAccountMap();
diff --git a/sflphone-common/src/sip/sipvoiplink.h b/sflphone-common/src/sip/sipvoiplink.h
index 8513725bf6bd01b7002621b4e578bfb232db067e..a65d9a9f80329effbf359d524074834f64e37230 100644
--- a/sflphone-common/src/sip/sipvoiplink.h
+++ b/sflphone-common/src/sip/sipvoiplink.h
@@ -521,6 +521,9 @@ class SIPVoIPLink : public VoIPLink
          * @return int The extern (public) port
          */
         int findLocalPortFromUri (const std::string& uri, pjsip_transport *transport);
+
+
+	friend class SIPTest;
 };
 
 
diff --git a/sflphone-common/test/siptest.cpp b/sflphone-common/test/siptest.cpp
index 3293f039462243953fbc6ec96305bbcac428c2a1..aec455bdfcabac763b76affd0942c6898f5e3f09 100644
--- a/sflphone-common/test/siptest.cpp
+++ b/sflphone-common/test/siptest.cpp
@@ -38,6 +38,7 @@
 
 #include "siptest.h"
 #include "manager.h" 
+#include "sip/sipvoiplink.h"
 
 using std::cout;
 using std::endl;
@@ -158,15 +159,15 @@ void SIPTest::testSimpleIncomingIpCall ()
     // the incoming invite.
     sleep(2);
 
-    // CallList should not be used if receiving only one call
-    CPPUNIT_ASSERT(Manager::instance().getCallList().size() == 0);
-    // CPPUNIT_ASSERT(Manager::instance()._callAccountMap.size() == 1); 
+    SIPVoIPLink *siplink = SIPVoIPLink::instance (""); 
+
+    CPPUNIT_ASSERT(siplink->_callMap.size() == 1);
+    CallMap::iterator iterCallId = siplink->_callMap.begin();
 
-    // TODO: hmmm, need to find a better way to retreive the call id
-    // std::map<std::string, std::string>::iterator iterCallId = Manager::instance()._callAccountMap.begin();
-    // CPPUNIT_ASSERT(iterCallId != Manager::instance()._callAccountMap.end());    
+    // TODO: hmmm, should IP2IP call be stored in call list....
+    CPPUNIT_ASSERT(Manager::instance().getCallList().size() == 0);
 
-    std::string testcallid = Manager::instance()._lastCallID;
+    std::string testcallid = iterCallId->first;
 
     CPPUNIT_ASSERT(Manager::instance().answerCall(testcallid));