ENDPT_410_ProcessVrgEndptDestroy

state = GetEndptState( vrgEndptState->lineId );		//获取ENDPT对象

//向心跳模块注销拖管病号
hbUnregisterPatient( state->cnxSignalHBId );
hbUnregisterPatient( state->signalHBId );
hbUnregisterPatient( state->signalCallerIdHBId );
hbUnregisterPatient( state->signalOnOffHBId );
hbUnregisterPatient( state->hookStateHBId );

//清除ENDPT的资源连接
for(i = 0; i < VRG_ENDPT_CFG_MAX_CNX_PER_ENDPT; i++)
	if ( state->cnx[i] != NULL )
		state->cnx[i]->cnxId = CNX_UNUSED;
		state->cnx[i] = NULL;

//CAS控制复位
casCtlEndptDeinit(state->casCtlHandle)
   casState.service[handle].inUse = VRG_FALSE;
   casState.service[handle].localmem.channelinfo.casCallback = NULL;
   casState.service[handle].localmem.channelinfo.earlyOffState = 0;
   casState.service[handle].localmem.channelinfo.earlyOnState = 0;
   casState.service[handle].localmem.channelinfo.delayOffState = 0;
   casState.service[handle].localmem.channelinfo.delayOnState = 0;

state->isLineUsed = VRG_FALSE;

if ( state->lineVhdHdl != 0xffff )
	//如果是FXO口,并且PSTN线路VHD为有效值
	if( state->endptType == EPTYPE_PSTN && state->pstnVhdHdl != 0xFF )
		//如果来显检测为DTMF方式,则释放之前的资源
		Provision( state->endptArchive, EPPROV_CIDSigProtocol, &clidType );
		if ( clidType == EPCLIDTYPE_DTMF )
			pstnCtlDTMFClidRxDestroy( state->pstnVhdHdl );
	
	//关闭DSP之前打开的通道
	hdspVhdClose( state->lineVhdHdl, state->dspNum )


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值