=配置流程= # client终端会把自己需要配置的按钮信息传送到主机上面 # 主机根据client段传送过来的信息,显示给客户,让客户进行自动配置. # 配置完成之后,主机会把配置好的按键信息发送会client保存. # client端会根据配置来响应触发 ==优点== 在不用升级软件的情况下,对新类型的终端进行配置. ===client终端的信息=== 对于每一个终端,我们都会给定一个列表,列表就记录了所有需要配置的按键信息.列表详细如下(yaml):
name: ITC T6703 # 终端名称信息
type: one button # 终端类型
buttons: #终端需要配置的按钮
- text: Call # 按钮上面的显示的text.
events: click # 需要被配置的事件类型. 有: click/long_down 等等. 可以多选,用','隔开.
raw_val: 0x11 # driver下面的raw value值. C处理需要,perhaps.
hex_val: 0xa1 # 标记出来在C里面收到的translated value. 按键换成的acsii类型值. C处理需要.
uuid: 1 # 对应的uuid. 配置保存的时候,只需要对应这个值.
set: true # 表示是否需要配置. 值是true/false. 默认是true.
- #第二个按钮开始.
事件类型指的是C这边可以处理的触发机制,包括:
# click: 单击
# long_down: 长时间按下按钮
[[Client machine definition | refer]] to full detail
===主机配置方式===
主机会根据每一个按钮和他的event的不同类型来生成配置界面.目前我们只支持直接拨打号码.
# click事件:需要支持两种情况下触发,
## 空闲的时候: 可以选择的动作是:
##* 无响应 (默认)
##* 拨打电话
##*: 可以让用户输入一个号码 dial_no
##* 执行job(目前不做) invoke_job
## 繁忙状态下: 可以选择的动作有:
##* 无响应 (默认)
##* 挂断当前'''播出'''会话 : 必须是自己拨出去的,并且处于活跃状态 hangup_call
##* 停止当前会话 : 用户的优先级必须大于会话优先级(除掉广播/监听) invalid_session
##* 拨打新的号码且暂停当前会话(最好只限定于报警等使用). dial_new_no_and_pause_session
## 繁忙且有新会话进来:
##* 无响应(默认) no_response
##* 挂断当前,接听
##* 暂停当前,接听
# long_down事件: 首先需要输入一个按下按钮多少时间(s),默认是5秒.
## 空闲的时候: 可以选择的动作和click空闲相同
## 繁忙的时候: 可以选择的和click事件繁忙相同
## 繁忙且有新会话进来: 可以选择的和click事件繁忙且有新会话进相同