本文已参与「新人创作礼」活动,一起开启掘金创作之路。 队列呼叫任务 cti_queue_dialer_task@template [哈希表] key任务名字 value 任务配置JSON格式
{ "params": { "enable": true, "line_group": ["外呼使用的线路组"], "limit":100, "start_time": "2020-1-20 12:00", "stop_time": "2020-1-22 12:00", "work_hour": [{ "wday":"-1", "begin": "8:00", "end": "12:00" }, { "wday":"0", "begin": "14:00", "end": "18:00" }], "work_week": [1,2,3,4,5], "holiday": [{ "begin": "2020-1-20 12:00", "end": "2020-1-21 12:00" }, { "begin": "2020-1-21 12:00", "end": "2020-1-22 8:00" }], "number_queue": "号码队列", "destination_extension":"8888", "destination_dialplan":"XML", "destination_context":"default"
},
"variables": {
"origination_caller_id_number": "主叫号码",
"absolute_codec_string": "pcma,pcmu,g729"
}
} params 任务参数 enable [布尔] 是否启用任务 line_group [数组] 外呼使用的线路组,如果配置多个线路组,第一个线路组呼叫失败,会使用第二个继续呼叫。 limit [数字] 任务并发,同时呼叫多少号码。 cps [数字] 呼叫速度,1秒最多呼叫多少号码,如果10秒呼叫1个,可以设置0.1。 start_time [字符串] 任务启动时间 stop_time [字符串] 任务停止时间 work_time [数组] 任务工作时间,可以配置多个时间范围 wday [字符串] 周几,用来支持根据周几来设置不同的工作时间,-1或者不设置是不管星期几都使用这个时间,0代表星期日,1是星期一,6是星期六,如果设置了只有星期几匹配了,才使用这个时间,work_week也是需要设置的。 begin [字符串] 开始时间 end [字符串] 结束时间 work_week [数组] 工作日,参数是星期,就是每个星期的那些天是工作日。比如 星期一到星期五是工作日,0代表星期日。 holiday [数组] 放假时间,参数是具体的放假时间范围。 number_queue 任务关联的号码队列。 destination_extension 应答后转接目的分机 destination_dialplan 应答后转接目的拨号方案类型,比如XML destination_context 应答后转接目的上下文,比如default,public service_line_group 根据空闲座席数量来控制外呼并发 call_multiple 一个空闲座席呼叫多少个并发 queue_limit 排队中的呼叫大于座席总数乘以这个值就停止呼叫(排队中并发【已经接通进入排队的电话】大于 queue_limit【一般设置0.1到1之间】 乘以 座席总数【不是空闲座席是是座席组的总人数】,就停止呼叫。)防止排队中的电话超过座席数。
- variables 任务的通道变量 ,线路配置的通道变量优先级更高
- origination_caller_id_number [字符串类型] 主叫号码
- origination_caller_id_name [字符串类型] 主叫名字
- ignore_early_media=true [字符串类型] 忽略早期媒体
- absolute_codec_string [字符串类型] 声音编码 cti_queue_dialer_task@domain[哈希表] key 任务名字 value 任务配置JSON格式,和 cti_queue_dialer_task@template 含义一样,未配置的会使用 cti_queue_dialer_task@template 模板配置。 号码队列 [列表] 支持文本和JSON 2中格式。如果不需要给单独号码设置通道变量,可以直接用文本格式,直接插入号码文本到list。
{ "params": { "number":"被叫号码" }, "variables": { "origination_caller_id_number": "主叫号码", "absolute_codec_string": "pcma,pcmu,g729", "origination_uuid":"uuid" } }
number 被叫号码 variables 通道变量,优先级 号码配置(本配置) < cti_queue_dialer_task@domain < cti_queue_dialer_task@template < cti_line@domain origination_uuid 可以通过设置号码变量origination_uui来设置呼叫这个号码时候的call id。注意需要使用UUID,来保证唯一性。 定时呼叫 cti_schedule_dialer_config@domain [哈希表] key任务名字 value 任务配置JSON格式 { "params": { "line_group": ["外呼使用的线路组"], "destination_extension":"8888", "destination_dialplan":"XML", "destination_context":"default"
},
"variables": {
"origination_caller_id_number": "主叫号码",
"absolute_codec_string": "pcma,pcmu,g729"
}
} cti_schedule_dialer_number@domain [有序集合] score 计划呼叫的时间戳 string 号码配置json,和号码队列的号码配置一样。
{ "params": { "number":"被叫号码", "expires":0, "config":"cti_schedule_dialer_config@domain里面的任务名字" }, "variables": { "origination_caller_id_number": "被叫号码", "absolute_codec_string": "pcma,pcmu,g729" } } expires 过期时间(unix时间戳,1970年1月1日(UTC/GMT的午夜)开始所经过的秒数),当前时间超过这个时间,就不会呼叫这个号码了,如果值为0,忽略这个参数。如果没可用线路时,重新写回redis,score设置为当前时间+60,如果expires为0,或者超过了expires,就不会写会redis了。 配置改变通知 config@all config@domain [通道] cti_queue_dialer_task@template改变PUBLISH 通知到 config@all,cti_queue_dialer_task@domain改变PUBLISH 通知到 config@domain。
{ "type":"config_change", "table":"cti_queue_dialer_task", "key":"test" }