排队配置

进入排队

cti_acd acdname maxwaittime[s] priority

<action application="cti_acd" data="acdnaem 180 1"/>
  • acdname ACD 名称
  • maxwaittime 最大等待时间,单位秒,超过这个时间,没有接通坐席,会强制离开排队。
  • priority 优先级, 默认3个优先级 0低优先级 1中(默认) 2高优先级别。

排队配置

cti_acd@domain [哈希表]

  1. key 名称
  2. value 配置

    {
    "announce": "acd/欢迎.wav",
    "moh": "acd/等待音乐.wav",
    "timeout": {
    "wait_timeout": 10,
    "timeout_key": "1",
    "timeout_time": 5,
    "timeout_sound": "acd/等待超时.wav"
    },
    "wrapup": {
    "wrapup_sound": "acd/满意度调查.wav",
    "wrapup_bad_sound": "acd/无效按键.wav",
    "wrapup_exit_sound": "acd/结束语.wav",
    "wrapup_time": 3,
    "wrapup_key": "[1,2]",
    "wrapup_result": ""
    },
    "beep_time": 0.3,
    "play_employee_id": {
    "after_sound": "acd/工号之后.wav",
    "mode": 0
    },
    "linegroup": "默认组"
    }

acd_template.png

  • announce 进入队列先播放的欢迎语
  • moh 等待时候的背景音乐
  • strategy 分配策略,目前只实现了一个,根据线路组空闲时间分配坐席。
  • linegroup 线路组,就是坐席组,这个队列接听电话的坐席。
  • timeout 等待超时, 原理,超时时间到了播放一个提示音提示音,可通过按键继续等待。
    • wait_timeout 超时时间,单位秒。0:不使用这个功能。
    • timeout_key 继续等待确定按键,如果不配置,按任意键都继续等待。
    • timeout_time 播放超时提示音之后,等待按键的时间。
    • timeout_sound 超时时播放的提示音,单位秒。
  • wrapup 坐席挂机后的处理
    • wrapup_sound 坐席挂机后播放的提示音
    • wrapup_bad_sound 按键不符合要求时候的提示音
    • wrapup_exit_sound 离开队列时播放的声音,比如按键完成之后就会播放。
    • wrapup_time 等待按键的时间,单位秒。
    • wrapup_key 有效的按键,正则表达式,如果不配做可以接受任意按键。
    • wrapup_result 按键结果写入的通道变量名,可以和CDR配合,收集用户按键。
      • beep_time 接通电话后可以和来电对话时,坐席听到的嘟声长度,单位秒,可以是小数。比如100毫秒就设置0.1。
      • play_employee_id 播放工号
      • before_sound 播放工号之前的声音(可选)
      • after_sound 播放工号之后的声音(可选)
      • mode 模式
        • 0 通话开始时播报(双方听到)
        • 1 通话开始时播报(只呼入听到)
        • 2 通话结束时播报(只呼入听到)

配置改变通知

config@domain [通道]

PUBLISH 通知到 config@domain。

{
"type":"config_change",
"table":"cti_acd",
"key":"abc"
}
  • type,config_change:配置改变
  • table,那个表修改了,只需要@前面的。
  • key cti_acd的key

呼叫进度通知

排队中的呼叫转接给座席时,可以配置启用呼叫和应答通知。用于实现来电弹屏等业务。

配置说明

cti.json中配置

{
"acd": {
"notify": {
"variables": ["caller_id_name", "destination_number"],
"redis": {
"channel": "acd",
"list": "acd"
},
"http": {
"url": "http://127.0.0.1/popup"
},
"log": false
}
}
}
  • variable 自定义变量,主叫通道获取变量对应的值。
  • redis
    • channel 通知到redis的channel
    • list 通知写入redis的list
  • http
    • url 通知到http接口的URL地址
  • log 是否打开调试日志

通知数据

注意:呼叫坐席失败会根据配置重呼,这样就可能有多次通知。

通知顺序 正常接通 dialer -> answer -> hangup,呼叫失败 dialer->failure。

  • type 通知类型(dialer:开始呼叫,answer:已经接通,hangup:通话结束,failure:呼叫失败)
  • caller_uuid 来电UUID
  • caller_num 来电号码
  • caller_wait_time 来电排队时间,(单位毫秒)。就是开始排队到座席接听的等待时间。
  • called_uuid 被叫UUID
  • line_number 被叫线路号码
  • line_group 被叫线路组
  • 自定义表里acd.variable里面配置
redis通知格式

json格式

{
"type": "dialer",
"caller_uuid": "bbbd3492-d866-462c-8591-dbb3b0d78c76",
"caller_num": "121",
"caller_wait_time": "69",
"called_uuid": "e7f36dca-d80d-4308-87c3-812c82a24949",
"line_number": "121",
"line_group": "2001",
"caller_id_name": "121",
"destination_number": "8000"
}
http通知格式

url编码

http://127.0.0.1/popup?type=failed&caller_uuid=91b2611d-1692-4af3-b8ee-88faf0db6723&caller_num=123&caller_wait_time=5120&called_uuid=61e22c49-6e14-4bbd-9b61-7a7ce473f10b&line_number=121&line_group=2001&caller_id_name=123&destination_number=8000