diff --git a/src/call.cpp b/src/call.cpp index a0a9942acd28c52c964fef30486d101cfb9853ed..964951ed9878f7c8ce8737721df1eb88d03fdeaf 100644 --- a/src/call.cpp +++ b/src/call.cpp @@ -75,8 +75,12 @@ Call::Call(const CallID& id, Call::CallType type) Call::~Call() { - _debug("CALL::Destructor for this clss is called \n"); - recAudio.closeFile(); + _debug("CALL::~Call(): Destructor for this clss is called \n"); + + if(recAudio.isOpenFile()) { + _debug("CALL::~Call(): A recording file is open, close it \n"); + recAudio.closeFile(); + } } void diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp index 855755218ee646e32ec16f1c7125826bbed74eae..26324a44444059f3aaedfa3906e7aeb23354d4a3 100644 --- a/src/managerimpl.cpp +++ b/src/managerimpl.cpp @@ -636,7 +636,6 @@ 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) { @@ -652,8 +651,6 @@ ManagerImpl::peerHungupCall(const CallID& id) switchCall(""); } - returnValue = getAccountLink(accountid)->hangup(id); - removeWaitingCall(id); removeCallAccount(id); diff --git a/src/plug-in/audiorecorder/audiorecord.cpp b/src/plug-in/audiorecorder/audiorecord.cpp index dab527f0eab710a407a6f1190e039b26a98d6794..b547d06933a5aab43ed1db249b46f6b9b033a617 100644 --- a/src/plug-in/audiorecorder/audiorecord.cpp +++ b/src/plug-in/audiorecorder/audiorecord.cpp @@ -123,6 +123,15 @@ bool AudioRecord::isFileExist() { return false; } +bool AudioRecord::isRecording() { + _debug("AudioRecording::setRecording() \n"); + + if(recordingEnabled_) + return true; + else + return false; +} + bool AudioRecord::setRecording() { _debug("AudioRecord::setRecording()\n"); diff --git a/src/plug-in/audiorecorder/audiorecord.h b/src/plug-in/audiorecorder/audiorecord.h index 45a3875bef42c3f024a0ef33abeb3ed662e485cd..69ed651225517f0539377dc18a2f6c9bc0f66a13 100644 --- a/src/plug-in/audiorecorder/audiorecord.h +++ b/src/plug-in/audiorecorder/audiorecord.h @@ -80,6 +80,11 @@ public: */ bool isFileExist(); + /** + * Check recording state + */ + bool isRecording(); + /** * Set recording flag */ diff --git a/src/sipvoiplink.cpp b/src/sipvoiplink.cpp index 48bb8886f6d8d62ec3627feb870be8eb4ad0c9bf..416f77e60b6c55e348148fed994c303db5014a39 100644 --- a/src/sipvoiplink.cpp +++ b/src/sipvoiplink.cpp @@ -937,7 +937,7 @@ void SIPVoIPLink::SIPCallClosed(SIPCall *call) { - _debug("SIPVoIPLink::SIPCallClosed():: function called when peer hangup"); + _debug("SIPVoIPLink::SIPCallClosed():: function called when peer hangup"); // it was without did before //SIPCall* call = findSIPCallWithCid(event->cid); if (!call) { return; } @@ -951,6 +951,7 @@ SIPVoIPLink::SIPCallClosed(SIPCall *call) } _debug("After close RTP\n"); Manager::instance().peerHungupCall(id); + terminateSIPCall(); removeCall(id); _debug("After remove call ID\n"); }