• 大小: 12.04MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-29
  • 语言: 其他
  • 标签: 东进  语音卡  

资源简介

主要实现东进语音卡的拨号功能,可以拨号,接听并对话.最多可以同时进行4个电话拨出

资源截图

代码片段和文件信息

#include “CallMgr.h“
#include 
#include “tce1_32.h“



CallMgr::CallMgr()
{
m_bHaveLoadDriver = false;
m_nTotalTrunk = 0;
m_nTotalUser = 0;
}

CallMgr::~CallMgr()
{

}

bool CallMgr::InitSystem( void )
{
//加载板卡,初始化板卡
int nCardNum = DJSys_EnableCard( ““ “PROMPT.INI“ ); //初始化东进中继语音卡的硬件
if ( nCardNum != 0 )
{
printf(“Load Drive Faile!\n“);
return false;
}

m_nTotalTrunk = DJTrk_GetTotalTrunkNum(); //获取系统内中继通道总数
m_nTotalUser = DJUser_GetTotalUserNum(); //获取用户通道总数

m_pTrunk = new TRUNK_STRUCT[m_nTotalTrunk];
m_pUser = new USER_STRUCT[m_nTotalUser];
if( !m_pTrunk || !m_pUser )
{
DJSys_DisableCard(); //退出系统,释放硬件
printf(“Memory alloc error!\n“);
return false;
}

for(nCardNum = 0; nCardNum < m_nTotalTrunk; ++nCardNum)
{
DJTrk_SetTrunkType(nCardNum Type_Export ); //设置通道类型
m_pTrunk[nCardNum].ConnectUser = -1 ;
m_pTrunk[nCardNum].ConnectTrk = -1 ;
m_pTrunk[nCardNum].State = TRK_FREE ;
m_pTrunk[nCardNum].icount = 0;
}

for(nCardNum = 0; nCardNum < m_nTotalUser; ++nCardNum)
{
int nType = DJUser_CheckChType(nCardNum); //获取模拟通道类型
if ( nType == CHTYPE_USER )
DJUser_SetPowerON(nCardNum); //对用户模块馈电
else
DJUser_SetPowerOFF(nCardNum); //对于用户模块停止馈电
if ( ! DJUser_EnableDialSound(nCardNum) ) //允许用户通道在摘机时自动送拨号音
{
DJSys_DisableCard(); //退出系统,释放硬件
printf(“Init UserBoard Error!\n“);
exit( 2 );
}
m_pUser[nCardNum].ConnectTrk = -1;
m_pUser[nCardNum].ConnectUser = -1;
m_pUser[nCardNum].State = USR_ONHOOK;
}

//VocChannel[VOCBUSYCH] = DJVoc_SearchFreeVoiceChannelForPlay() ;
m_nVocChannel[VOCBUSYCH] = DJVoc_SFVC_ForPlay_New(0 false);//返回一个空闲的用于放音的语音通道(新)
DJVoc_LoopPlayPromptFile( m_nVocChannel[VOCBUSYCH] “BUSY“ ) ;//对给定的语音通道循环播放系统提示音

//VocChannel[VOCRINGCH] = DJVoc_SearchFreeVoiceChannelForPlay() ;
m_nVocChannel[VOCRINGCH] = DJVoc_SFVC_ForPlay_New(0 false);//返回一个空闲的用于放音的语音通道(新)
DJVoc_LoopPlayPromptFile( m_nVocChannel[VOCRINGCH] “RING“ ) ;//对给定的语音通道循环播放系统提示音

//VocChannel[VOCTONECH] = DJVoc_SearchFreeVoiceChannelForPlay() ;
m_nVocChannel[VOCTONECH] = DJVoc_SFVC_ForPlay_New(0 false);
DJVoc_LoopPlayPromptFile( m_nVocChannel[VOCTONECH] “TONE“ ) ;//对给定的语音通道循环播放系统提示音

m_DialData.DialLen=5;
strcpy(m_DialData.CallerNum“99999“);

return true;
}

void CallMgr::ExitSystem( void )
{
DJSys_DisableCard() ;//退出系统,释放硬件
SafeDeleteArray(m_pTrunk);
SafeDeleteArray(m_pUser);
m_bHaveLoadDriver = false;
}

void CallMgr::CallOut( char* code )
{
int tmpval = GetDialTrunkId() ; //get a free trunk for callout
if( tmpval == -1 ) 
{
//cannot find free trunk channel
printf(“找不到空闲的呼出通道\n“);
return;
}
else 
{
DJTrk_StartDial( tmpval code m_DialData.CallerNum ) ;//开始呼出
m_pTrunk[tmpval].State = TRK_CALLOUT ;
}
}

int CallMgr::GetDialTrunkId( void )
{
static int CurrentTrunkNo = 0 ;
int i = 0;
for( i = CurrentTrunkNo ; i < m_nTotalTrunk ; i++ )
{
if( DJTr

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        906  2015-08-15 20:36  TelephoneCall.sln

     文件       1165  2015-08-23 23:03  Debug\Config.conf

     文件       3294  2001-07-10 09:13  Debug\fsk_mix.lib

     文件          4  2015-09-01 19:01  Debug\macrun.dll

     文件     743248  2010-03-18 09:15  Debug\msvcp100d.dll

     文件    1498960  2010-03-18 09:15  Debug\msvcr100d.dll

     文件       4100  2011-12-08 16:10  Debug\NewSig.lib

     文件      70200  2014-09-08 23:06  Debug\tbb.lib

     文件    1461248  2014-09-08 23:06  Debug\tbb.pdb

     文件      40960  2014-09-08 23:06  Debug\tbbmalloc_debug.dll

     文件       2509  2014-09-08 23:06  Debug\tbbmalloc_debug.exp

     文件       4772  2014-09-08 23:06  Debug\tbbmalloc_debug.lib

     文件      41001  2014-09-08 23:06  Debug\tbbmalloc_debug.map

     文件     404480  2014-09-08 23:06  Debug\tbbmalloc_debug.pdb

     文件     218624  2014-09-08 23:06  Debug\tbb_debug.dll

     文件     215811  2014-09-08 23:06  Debug\tbb_debug.map

     文件      74368  2011-12-08 16:10  Debug\Tc08a32.lib

     文件      82048  2001-05-18 14:17  Debug\Tce1_32.lib

     文件    1209856  2015-09-01 19:46  Debug\TelephoneCall.exe

     文件    6338744  2015-09-01 19:46  Debug\TelephoneCall.ilk

     文件   12094464  2015-09-01 19:46  Debug\TelephoneCall.pdb

     文件       3605  2015-08-16 15:32  TelephoneCall\CallMgr.cpp

     文件        876  2015-08-16 07:03  TelephoneCall\CallMgr.h

     文件       1556  2015-08-18 16:33  TelephoneCall\CallStruct.h

     文件          0  2015-08-18 17:05  TelephoneCall\Char.log

     文件       1165  2015-08-23 23:03  TelephoneCall\Config.conf

     文件          0  2015-08-18 17:05  TelephoneCall\DBErrors.log

     文件    2348587  2015-08-19 21:29  TelephoneCall\Debug\AsioServer.obj

     文件    2544546  2015-08-19 21:29  TelephoneCall\Debug\AsioSession.obj

     文件      57281  2015-08-17 17:29  TelephoneCall\Debug\CallMgr.obj

............此处省略691个文件信息

评论

共有 条评论