diff --git a/src/audio/audiortp.cpp b/src/audio/audiortp.cpp index e9de9be9ab9aa7f5b6786f22b4300f08f23613ef..deb7b8adcb2c4cdd891634c878cee880802aabcd 100644 --- a/src/audio/audiortp.cpp +++ b/src/audio/audiortp.cpp @@ -142,7 +142,7 @@ AudioRtpRTX::~AudioRtpRTX () { _debugException("! ARTP: Thread destructor didn't terminate correctly"); throw; } - _debug("terminate audiortprtx ended...\n"); + _debug("AudioRtpRTX::~AudioRtpRTX() :: terminate audiortprtx ended...\n"); _ca = 0; if (!_sym) { delete _sessionRecv; _sessionRecv = NULL; @@ -161,8 +161,6 @@ AudioRtpRTX::~AudioRtpRTX () { delete time; time = NULL; delete converter; converter = NULL; - - _debug("AudioRtpRTX::~AudioRtpRTX () : Deleting the call instance \n"); } diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp index 8fc7afd964c134cddc537426f7d5ceb117e483d8..855755218ee646e32ec16f1c7125826bbed74eae 100644 --- a/src/managerimpl.cpp +++ b/src/managerimpl.cpp @@ -249,6 +249,7 @@ ManagerImpl::answerCall(const CallID& id) bool ManagerImpl::hangupCall(const CallID& id) { + _debug("ManagerImpl::hangupCall(): This function is called when user hangup \n"); PulseLayer *pulselayer; AccountID accountid; bool returnValue; @@ -370,6 +371,7 @@ ManagerImpl::transferCall(const CallID& id, const std::string& to) bool ManagerImpl::refuseCall (const CallID& id) { + _debug("ManagerImpl::refuseCall(): method called"); stopTone(true); AccountID accountid = getAccountFromCall( id ); if (accountid == AccountNULL) { @@ -631,8 +633,10 @@ ManagerImpl::peerRingingCall(const CallID& id) void ManagerImpl::peerHungupCall(const CallID& id) { + _debug("ManagerImpl::peerHungupCall():this function is called when peer hangup \n"); PulseLayer *pulselayer; AccountID accountid; + bool returnValue; accountid = getAccountFromCall( id ); if (accountid == AccountNULL) { @@ -648,6 +652,8 @@ ManagerImpl::peerHungupCall(const CallID& id) switchCall(""); } + returnValue = getAccountLink(accountid)->hangup(id); + removeWaitingCall(id); removeCallAccount(id); diff --git a/src/sipvoiplink.cpp b/src/sipvoiplink.cpp index b7b2365aa3bba3274f694f05689f76de751dd952..48bb8886f6d8d62ec3627feb870be8eb4ad0c9bf 100644 --- a/src/sipvoiplink.cpp +++ b/src/sipvoiplink.cpp @@ -149,6 +149,8 @@ SIPVoIPLink* SIPVoIPLink::_instance = NULL; , _useStun(false) , _clients(0) { + _debug("SIPVoIPLink::~SIPVoIPLink(): sipvoiplink constructor called \n"); + // to get random number for RANDOM_PORT srand (time(NULL)); @@ -161,6 +163,7 @@ SIPVoIPLink* SIPVoIPLink::_instance = NULL; SIPVoIPLink::~SIPVoIPLink() { + _debug("SIPVoIPLink::~SIPVoIPLink(): sipvoiplink destructor called \n"); terminate(); } @@ -210,7 +213,7 @@ SIPVoIPLink::terminate() void SIPVoIPLink::terminateSIPCall() { - _debug("SIPVoIPLink::terminateSIPCall(): function called"); + _debug("SIPVoIPLink::terminateSIPCall(): function called \n"); ost::MutexLock m(_callMapMutex); CallMap::iterator iter = _callMap.begin(); SIPCall *call; @@ -218,7 +221,7 @@ SIPVoIPLink::terminateSIPCall() call = dynamic_cast<SIPCall*>(iter->second); if (call) { // terminate the sip call - _debug("SIPVOIP::the call is deleted, should close recording file \n"); + _debug("SIPVoIPLink::terminateSIPCall()::the call is deleted, should close recording file \n"); delete call; call = 0; } iter++; @@ -485,6 +488,8 @@ SIPVoIPLink::hangup(const CallID& id) _debug("* SIP Info: Stopping AudioRTP for hangup\n"); _audiortp->closeRtpSession(); } + + terminateSIPCall(); removeCall(id); @@ -686,7 +691,7 @@ SIPVoIPLink::refuse (const CallID& id) pj_status_t status; pjsip_tx_data *tdata; - + _debug("SIPVoIPLink::refuse() : teh call is refused \n"); call = getSIPCall(id); if (call==0) { @@ -710,6 +715,8 @@ SIPVoIPLink::refuse (const CallID& id) return false; call->getInvSession()->mod_data[getModId()] = NULL; + + terminateSIPCall(); return true; } @@ -929,6 +936,8 @@ SIPVoIPLink::SIPCallServerFailure(SIPCall *call) void SIPVoIPLink::SIPCallClosed(SIPCall *call) { + + _debug("SIPVoIPLink::SIPCallClosed():: function called when peer hangup"); // it was without did before //SIPCall* call = findSIPCallWithCid(event->cid); if (!call) { return; }