技术专区为您提供行业知识、功能解释、设置常见问题
• 国威3s软件包交换层协议:
该层协议规定集团电话系统和电脑之间数据包的传输协议。每条消息是以一个数据包形式传送。一个数据包由至少两个字节组成,分包头, 包类型和包内容三段。有的数据包仅有包头和包类型,无包内容。以下是集团电话系统(以下简称“系统”)和电脑所采用的包的定义。
国威3s软件包的组成:
• 包头:一个字节,规定为值 0x55 。每一个有效的包必须有此包头,否则为无效包。
• 包类型:一个字节。有以下几种有效的包类型:
• 编程数据
• 话费记录
• 系统监控
• 编程上载
• 请求重发
• 接收成功
• 包内容:由一到多个字节组成。
国威3s软件各类型包的详细构成:
• “编程数据”包:包含国威程控交换机系统编程的部分或全部数据,可由系统向电脑发送(上载系统编程数据)或由电脑向系统发送(更新系统编程数据)。
• 包头: 0x55 。
• 包类型: 0x00 。
• 包内容:
• 编程数据长度:该包所含系统编程数据的长度。两字节,长度低字节在前,高字节在后,范围从 0x0001 到 0Xffff 。
• 编程数据起始地址:该包所含系统编程数据在系统的数据空间的起始地址。两字节,长度低字节在前,高字节在后,范围从 0x0000 到 0Xffff 。
• 编程数据:为系统编程数据,共含“编程数据长度”所表示的数据字节数。每个编程数据字节定义见后面说明。
• “话费记录”包:包含一个话费记录。由系统发送往电脑。
• 包头: 0X55 。
• 包类型: 0X01 。
• 包内容:含 20 字节的话费记录内容 (CE-A100/A40 机型是 23 字节 ) 。每个话费记录中的字节定义见后面说明。
• “系统监控”包:包含一个分机或外线的***状态值。由系统发送往电脑。
• 包头: 0X55 。
• 包类型: 0X02 。
• 包内容:两字节,前一字节为分机端口号(从 0X00 到 0XFF ,表示第 1 分机端口到第 256 分机端口)或外线端口号(从 0X00 到 0X3F ,表示第 1 外线端口到第 64 外线端口),后一字节为分机 / 外线区分标志(第 8 比特位,为 0 表示分机,为 1 表示外线)和状态值(从第 1 到第 7 比特位)。分机或外线的状态值所代表的意义见后面说明。
• “编程上载”包:由电脑发送往系统,要求系统将全部系统编程数据上载到电脑,以便于电脑在此基础上修改部分系统编程数据。
• 包头: 0X55 。
• 包类型: 0X03 。
• 包内容:无
• “请求重发”包:当一方正接收或刚接收完一个包发现错误时(偶校验错),向另一方要求重发刚才的包。
• 包头: 0X55 。
• 包类型: 0X04 。
• 包内容:无
• “接收成功”包:当一方正接收完一个包未发现错误时,告知另一方发送成功。
• 包头: 0X55 。
• 包类型: 0X05 。
• 包内容:无
包交换层协议:
• 包流程控制: 规定在接收包,发送包时出现各种情况的处理办法 , 此规定对于系统和电脑要求是一样的。
• 端口状态: 电脑和系统的串行端口随时应处于以下几种状态之一,
• 休息状态:端口没有发送,但接收开放。
• 发送包状态:发送数据包,接收开放。但在发送“请求重发”包时(因接收出错),应有 100 毫秒的禁止接收时间。在重发一个包时(收到“请求重发”包后),应暂停发送 200 毫秒后再进行发送。
• 接收包状态:接收数据包,没有发送。
• 休息状态:
• 收到包头字节,转到接收包状态。非包头字节,则不理会。
• 需要主动发送一个包,转到发送包状态。
• 接收包状态:
• 发现错误:(接收到一个字节但发现偶校验错)应马上停止接收,转到发送包状态,并立即向对方发送“请求重发”包。 100 毫秒后再开放接收。
• 接收成功:
• 收到“编程数据”包:转到发送包状态,向对方发送“接收成功”包。
• 收到“话费记录”包:(仅适用于电脑方)转到发送包状态,向对方发送“接收成功”包。
• 收到“编程上载”包:(仅适用于系统方)转到发送包状态,向对方发送“编程数据”包。
• 收到“请求重发”包:转到发送包状态,在暂停发送 200 毫秒后,向对方重发刚才的数据包。
• 收到“系统监控”包:(仅适用于电脑方)返回休息状态。
• 收到“接收成功”包或无效包:返回休息状态。
• 接收超时:(一秒内未收到任何字节)返回休息状态。
• 发送包状态:
• 收到包头字节:停止目前的发送,转到接收包状态。
• 收到非包头字节:忽略。
• 发送完毕:
• 发送了一个“接收成功”包,或一个“系统监控”包:返回休息状态。
• 发送了一个其他包:转到接收包状态,以便等侯对方的应答或确认。
• 链路状态维护:
系统方必须在系统与电脑之间的通讯链路处于激活状态时才能主动向电脑发送计费,系统监控方面的信息(主要是为了节省系统 CPU 的处理时间)。该链路不是指实际的物理连接,而是指包交换层的链接,仅对系统方而言,电脑方的发送不受此链路状态的 限制。
当系统刚上电启动时,链路处于休眠状态(不能主动向电脑发送数据包,但开放接收)。当收到来自电脑的一个包时,链路激活。
当链路处于激活状态时,如果系统一分钟内没有从电脑接收到任何字节,则链路转入休眠状态(系统以为电脑可能关机了或退出 了 3S 软件)。因此为保持系统一直处于激活状态并一直向电脑传送话费记录和系统监控信息,电脑需每隔 30 秒向系统方发送一 个“接收成功”包(当没有其他包发送时。)以维持链路状态。
• 系统编程数据交换:
• 系统编程数据上载:
电脑运行 3S 软件后,首先向系统发送一个“编程上载”包要求系统上传全部系统编程数据。如果一秒后电脑还没有收到系统的 任何反应,电脑将重发“编程上载”包。重发三次后电脑放弃尝试(表明系统没有运行)。当然电脑将继续保持与系统的链路连接, 并每隔 30 秒向系统发送一个“接收成功”包,以使链路始终处于激活状态。在此阶段,如果收到系统发来的任何包,表明系统 已运行,这时可重新开始发送“编程上载”包。
当系统收到“编程上载”包时,应马上向电脑发送一个“编程数据”包(内含整个系统编程数据空间)。
电脑在接收该“编程数据”包时,如发现错误,应马上发送“请求重发”包,并停止接收 100 毫秒。
电脑在完成接收“编程数据”包后,应马上发送“接收成功”包。系统收到此包后,回复休息状态。电脑将依据这个***的系统 编程数据版本进行将来的部分程序修改,或做备份文件。
系统在发送完“编程数据”包后,如在一秒钟内没有收到电脑任何回复,则系统自动转入休息状态(不管电脑有无收到。)。
• 更新部分系统编程数据:
当用户运行 3S 软件时,如修改了一个或几个编程项目如更改了一个分机号,或修改了一个分机的服务等级,按存储或更新操作 后,电脑将此部分的系统编程数据用一个“编程数据”包发往系统以便更新系统相应空间的数据。
如果没有收到系统的任何应答,电脑可将这个“编程数据”包重传三次,每次重传后等侯一秒钟。
系统在接收过程中如发现错误(偶校验错误),将立即发送“请求重发”包,并暂停接收 100 毫秒。电脑在收到此“请求重发” 包后应暂停发送 200 毫秒,然后重发。
如系统接收完毕此“编程数据”包,应立即发送一个“接收成功”包。
• 系统编程数据下载:
当系统经历故障,换机,或复位而将原来的系统编程数据丢失时,可利用 3S 软件将以前存储于备份文件中的系统编程数据以一 个“编程数据”包发往系统,从而使系统恢复以前的编程设置状态。
• 电脑计费:
当系统没有编程数据传送时,如系统中产生有新的话单,且系统设置成立即打印串口输出,链路处于激活状态,则系统将发送“话费 记录”包,一个包内含一个话费记录。
每次发送完一个“话费记录”包后,系统将等候一秒钟,以便接收电脑的应答。如果一秒过后仍没有应答,则系统将重发该“话费记 录”包,直到收到“接收成功”包或链路转为休眠状态。
系统在传送过程中,如收到“请求重发”包,则马上暂停 200 毫秒,然后重发。
• 系统状态监控:
当系统没有编程数据传送或话费记录发送时,如有分机或外线状态发生改变,且链路处于激活状态,则发送一个“系统监控”包。发 完后无需等侯电脑的确认,然后又开始发送下一个“系统监控”包(如果同时不只一个分机或外线发生状态改变。)。