=配置流程= # 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事件繁忙且有新会话进相同