呼叫模块

队列呼叫任务

cti_queue_dialer_task@template [哈希表]

  1. key任务名字
  2. 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": [{
    "begin": "8:00",
    "end": "12:00"
    }, {
    "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 [数字] 任务并发,同时呼叫多少号码。
      • start_time [字符串] 任务启动时间
      • stop_time [字符串] 任务停止时间
      • work_time [数组] 任务工作时间,可以配置多个时间范围
        • begin [字符串] 开始时间
        • end [字符串] 结束时间
      • work_week [数组] 工作日,参数是星期,就是每个星期的那些天是工作日。比如 星期一到星期五是工作日,0代表星期日。
      • holiday [数组] 放假时间,参数是具体的放假时间范围。
      • number_queue 任务关联的号码队列。
      • destination_extension 应答后转接目的分机
      • destination_dialplan 应答后转接目的拨号方案类型,比如XML
      • destination_context 应答后转接目的上下文,比如default,public
    • variables 任务的通道变量 ,线路配置的通道变量优先级更高
      • origination_caller_id_number [字符串类型] 主叫号码
        • origination_caller_id_name [字符串类型] 主叫名字
        • ignore_early_media=true [字符串类型] 忽略早期媒体
        • absolute_codec_string [字符串类型] 编码持续

cti_queue_dialer_task@host [哈希表]

  1. key 任务名字
  2. 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"
}
}
  • number 被叫号码
  • variables 通道变量,优先级 号码配置(本配置) < cti_queue_dialer_task@host < cti_queue_dialer_task@template < cti_line@domain

定时呼叫

cti_schedule_dialer_config@domain [哈希表]

  1. key任务名字
  2. 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 [有序集合]

  1. score 计划呼叫的时间戳
  2. 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@host [通道]

cti_queue_dialer_task@template改变PUBLISH 通知到 config@all,cti_queue_dialer_task@host改变PUBLISH 通知到 config@host。

{
"type":"config_change",
"table":"cti_queue_dialer_task",
"key":"test"
}
  • type,config_change:配置改变
  • table,那个表修改了,只需要@前面的。
  • key table的主键,比如任务表名字。