#include "StdAfx.h" #include "MeetingSession.h" #include "CallSession.h" #include "ProxyShell.h" #include "MC.h" CMeetingSession::CMeetingSession(CCallSession* pParent, long SubId, PendingCallInfo* pInfo) : CSubSession(pParent, SubId, pInfo) { } CMeetingSession::~CMeetingSession(void) { } /***************************************************************** **【函数名称】 _onDialOK **【函数功能】 呼叫成功后续处理 **【参数】 **【返回值】 *****************************************************************/ void CMeetingSession::_onDialOK() { // 主会话转换成会议 if(!m_pParent->trans2Meeting(m_pInfo->nHostLine)) { CProxyShell::GetInstance().onDevChannelEvent(m_pInfo->nHostLine, DEV_CH_EVT_MEETING_RESULT, MEETING_RESULT_FAILED, 0); } else { // 被叫线路职责转换 if(m_pParent->line2Meeting(m_pInfo->nAssoLine, CALL_PARTY_PENDING)) CProxyShell::GetInstance().onDevChannelEvent(m_pInfo->nHostLine, DEV_CH_EVT_MEETING_RESULT, MEETING_RESULT_SUCCESS, 0); else CProxyShell::GetInstance().onDevChannelEvent(m_pInfo->nHostLine, DEV_CH_EVT_MEETING_RESULT, MEETING_RESULT_FAILED, 0); } } /***************************************************************** **【函数名称】 _onDialing **【函数功能】 呼叫进展处理 **【参数】 **【返回值】 *****************************************************************/ void CMeetingSession::_onDialRing() { } /***************************************************************** **【函数名称】 _onDialCancel **【函数功能】 呼叫取消处理 **【参数】 **【返回值】 *****************************************************************/ void CMeetingSession::_onDialCancel(void) { // 主控线路状态修正 if(m_pParent->isExist(m_pInfo->nHostLine, m_HostLineParty)) { CProxyShell::GetInstance().onLineStateUpdated(m_pInfo->nHostLine, m_pParent->id(), SESSION_INVALID_SUB_CALL, (VIRTUAL_LINE_STATE)m_pInfo->nHostLineStatus, m_pInfo->szPreCallerNum, m_pInfo->szPreCalleeNum); } // end if }