/**************************
6-23日 修改总台来显
*****************************/
extern void Ext_Object(void)
{
for(i=0;i《8;i++)
{
if( EXT_OUTWAY_GRADE[i] == 7) // 闭锁不查询
{
continue;
}
//检测高位状态
switch( EXT_STATE[i] & 0x0f )
{
//空闲 检测有没有摘机
case EXT_IDLE_STATE:
//检测分机被占用 被呼叫
k = EXT_STATE[i] & 0xf0;
if( k ) // 10内线振铃 20人工 30电脑振铃 40群呼
{
if( k == 0x10 ) //内线振铃
EXT_STATE[i] = EXT_RING_EXT ;
else if( k == 0x20 )
EXT_STATE[i] = TRK_MANUALRING_EXT ;//人工值班振铃
else if( k == 0x30 )
EXT_STATE[i] = TRK_AUTORING_EXT ;//电脑值班振铃
else if( k == 0x40 )
EXT_STATE[i] = TRK_GROUP_RING ; //群呼振铃
else if( k == 0x60) // 转接振铃。..。.
EXT_STATE[i] = EXT_SHIFT_RING_STATE;
EXT_RING_SIGN[i] = 0; //标志位复位。..。.
}
//检测分机释放摘机
else if( (EXT_HOOK & TABLE[i]) == 0 ) //判断摘机吗? 为0摘机
{
//分机状态转移
EXT_ACTION[i] = HOOK_ON;
//内线提机 本局的话。。。。
if( EXT_OUTWAY_GRADE[i] ==6 ||(EXT_EXTENSION_CHANGE_TRK_SIGN & TABLE[i]) == 0 &&
((EXT_HOOK_WAY & TABLE[i]) == 0 || (EXT_TRK_CHANGE_EXTENSION_SIGN&TABLE[i]) !=0 ) ) //内线0 分机提机方式
{
for(N=2;N《6;N++) //选择内线绳路
{
if( TRK_STATE[N] == EXTENSION_IDLE_STATE ) // 有不空闲
{
Close_MAIN_EXT(); //判断分机是不是某条外线的总机 是的话就关闭。..。.
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !