From 4e963933b29af5cc2976e5fef05a244d7027711c Mon Sep 17 00:00:00 2001 From: Yun Liu <yun@yun.(none)> Date: Thu, 25 Sep 2008 13:05:40 -0400 Subject: [PATCH] tmp modification --- src/sipmanager.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/sipmanager.cpp b/src/sipmanager.cpp index 33db295664..e5c29a9498 100755 --- a/src/sipmanager.cpp +++ b/src/sipmanager.cpp @@ -960,6 +960,18 @@ void SIPManager::call_on_tsx_changed(pjsip_inv_session *inv, pjsip_transaction * link = dynamic_cast<SIPVoIPLink *> (Manager::instance().getAccountLink(accId)); if (link) link->SIPCallAnswered(call, rdata); + } else if (tsx->status_code / 100 == 5) { + _debug("SIPManager: 5xx error message received\n"); + call = reinterpret_cast<SIPCall *> (inv->mod_data[getInstance()->getModId()]); + if (call == NULL) { + _debug("SIPManager: Call has been removed!\n"); + return; + } + accId = Manager::instance().getAccountFromCall(call->getCallId()); + link = dynamic_cast<SIPVoIPLink *> (Manager::instance().getAccountLink(accId)); + if (link) { + link->SIPCallServerFailure(call); + } } break; case PJSIP_TSX_STATE_PROCEEDING: -- GitLab