From 300783be254a103b24eece4f4b9cbc4a86d6fa40 Mon Sep 17 00:00:00 2001 From: yanmorin <yanmorin> Date: Fri, 14 Oct 2005 15:33:34 +0000 Subject: [PATCH] Call "establish" message Add url to tonezone web site --- src/audio/audiortp.cpp | 6 +++++- src/audio/tonegenerator.cpp | 14 ++++++++++---- src/gui/server/guiserverimpl.cpp | 2 +- src/managerimpl.cpp | 5 +++-- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/audio/audiortp.cpp b/src/audio/audiortp.cpp index b85805c167..03e1e7607a 100644 --- a/src/audio/audiortp.cpp +++ b/src/audio/audiortp.cpp @@ -118,7 +118,11 @@ AudioRtpRTX::AudioRtpRTX (SipCall *sipcall, } AudioRtpRTX::~AudioRtpRTX () { - terminate(); + try { + terminate(); + } catch (...) { + _debug("AudioRtpRTX: try to terminate, but catch an exception...\n"); + } _debug("Thread: AudioRtpRTX stop session\n"); if (!_sym) { delete _sessionRecv; _sessionRecv = NULL; diff --git a/src/audio/tonegenerator.cpp b/src/audio/tonegenerator.cpp index 18508b92d7..c7b1488e4a 100644 --- a/src/audio/tonegenerator.cpp +++ b/src/audio/tonegenerator.cpp @@ -45,7 +45,11 @@ ToneThread::ToneThread (int16 *buf, int size) : ost::Thread () { } ToneThread::~ToneThread (void) { - terminate(); + try { + terminate(); + } catch (...) { + _debug("ToneThread: try to terminate, but catch an exception...\n"); + } delete[] buf_ctrl_vol; buf_ctrl_vol=NULL; } @@ -109,12 +113,13 @@ ToneGenerator::~ToneGenerator (void) { /** * Initialisation of ring tone for supported zone + * http://nemesis.lonestar.org/reference/telecom/signaling/busy.html */ void ToneGenerator::initTone (void) { toneZone[ID_NORTH_AMERICA][ZT_TONE_DIALTONE] = "350+440"; toneZone[ID_NORTH_AMERICA][ZT_TONE_BUSY] = "480+620/500,0/500"; - toneZone[ID_NORTH_AMERICA][ZT_TONE_RINGTONE] = "440+480/2000,0/2000"; + toneZone[ID_NORTH_AMERICA][ZT_TONE_RINGTONE] = "440+480/2000,0/4000"; toneZone[ID_NORTH_AMERICA][ZT_TONE_CONGESTION] = "480+620/250,0/250"; toneZone[ID_FRANCE][ZT_TONE_DIALTONE] = "440"; @@ -326,9 +331,10 @@ void ToneGenerator::stopTone() { _currentTone = ZT_TONE_NULL; - // we end the last thread - _debug("Thread: stop tonethread\n"); + _debug("Thread: delete tonethread\n"); delete tonethread; tonethread = NULL; + // we end the last thread + _debug("Thread: tonethread deleted\n"); } /** diff --git a/src/gui/server/guiserverimpl.cpp b/src/gui/server/guiserverimpl.cpp index 171e9e5a2f..edb94b6c9e 100644 --- a/src/gui/server/guiserverimpl.cpp +++ b/src/gui/server/guiserverimpl.cpp @@ -317,7 +317,7 @@ GUIServerImpl::peerAnsweredCall (CALLID id) { CallMap::iterator iter = _callMap.find(id); if ( iter != _callMap.end() ) { - _requestManager.sendResponse(ResponseMessage("200", iter->second.sequenceId(), "OK")); + _requestManager.sendResponse(ResponseMessage("200", iter->second.sequenceId(), "Established")); } } diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp index ada5d845ee..1844cf0cd1 100644 --- a/src/managerimpl.cpp +++ b/src/managerimpl.cpp @@ -809,12 +809,13 @@ ManagerImpl::playATone(unsigned int tone) { void ManagerImpl::stopTone() { if (isDriverLoaded()) { - ost::MutexLock m(_toneMutex); + _toneMutex.enterMutex(); if ( _toneType != ZT_TONE_NULL ) { _toneType = ZT_TONE_NULL; _tone->stopTone(); - getAudioDriver()->stopStream(); } + _toneMutex.leaveMutex(); + getAudioDriver()->stopStream(); } } -- GitLab