呼叫中心系统http bridge的设置

简介: 呼叫中心系统http bridge的设置

http bridge 的原理是cti模块实现了一个cti_bridge的FreeSWITCH APP,可以在呼出之前调用HTTP接口获取呼出参数,可用于实现小号业务,隐私号业务等外呼之前动态绑定主叫和被叫号码,也可用于呼入业务由HTTP接口控制呼入转接规则。


配置


<action application="cti_bridge" data="http://ip/binding?number=${destination_number}&callerid={caller_id_number} connect_timeout response_timeout notify_type"/>
复制代码


  • 第一个参数 请求的URL,URL和参数可自定义
  • 第二个参数 connect_timeout 连接超时 单位毫秒,默认3000
  • 第三个参数 response_timeout 等待http接口响应的超时 单位毫秒 默认 3000
  • 第四个参数 notify_type 0:不要呼叫进度通知 1:需要呼叫进度通知,默认1


接口说明


接收到一个呼入后,cti_bridge会把呼叫信息送给接口,接口返回转接信息。以下是返回信息说明

通用用参数说明

variables 可用于设置通道变量,比如主叫号码(origination_caller_id_number),编码(absolute_codec_string)等

number 转接号码(被叫号码)


通过网关呼出 gateway网关名,number被叫号码


{
    "variables": {
        "origination_caller_id_number": "123",
        "absolute_codec_string": "PCMA,PCMU"
    },
    "dial": {
        "type": "gateway",
        "number": "123456",
        "gateway": "gw"
    }
}
复制代码


通过注册分机呼出,一般用于注册方式对接到fs,user注册的分机号


{
    "dial": {
        "type": "user",
        "number": "123456",
        "user": "1000"
    }
}
复制代码


通过IP直接呼出,ip中继|VOS|网关的IP:PORT


{
    "dial": {
        "type": "ip",
        "number": "123456",
        "ip": "网关IP",
        "sofia": "external"
    }
}
复制代码


通过自定义拨号串呼出,


{
    "dial": {
        "type": "dialstring",
        "dialstring": "sofia/external/158@ip:port"
    }
}
复制代码


顺序转接给多个号码,第一个号码呼叫失败,继续转接给第二个号码


{
    "dial": {
        "type": "dialstring",
        "dialstring": "{ignore_early_media=true}sofia/gateway/网关1/号码1,sofia/gateway/网关2/号码2"
    }
}
复制代码


不转接,直接挂断


{
    "dial": {
        "type": "hangup",
        "cause": 16,
        "sipcode": 500
    }
}
  cause和sipcode只需要配置一个,sipcode就是SIP代码·cause 取值说明:
    typedef enum {
    SWITCH_CAUSE_NONE = 0,
    SWITCH_CAUSE_UNALLOCATED_NUMBER = 1,
    SWITCH_CAUSE_NO_ROUTE_TRANSIT_NET = 2,
    SWITCH_CAUSE_NO_ROUTE_DESTINATION = 3,
    SWITCH_CAUSE_CHANNEL_UNACCEPTABLE = 6,
    SWITCH_CAUSE_CALL_AWARDED_DELIVERED = 7,
    SWITCH_CAUSE_NORMAL_CLEARING = 16,
    SWITCH_CAUSE_USER_BUSY = 17,
    SWITCH_CAUSE_NO_USER_RESPONSE = 18,
    SWITCH_CAUSE_NO_ANSWER = 19,
    SWITCH_CAUSE_SUBSCRIBER_ABSENT = 20,
    SWITCH_CAUSE_CALL_REJECTED = 21,
    SWITCH_CAUSE_NUMBER_CHANGED = 22,
    SWITCH_CAUSE_REDIRECTION_TO_NEW_DESTINATION = 23,
    SWITCH_CAUSE_EXCHANGE_ROUTING_ERROR = 25,
    SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER = 27,
    SWITCH_CAUSE_INVALID_NUMBER_FORMAT = 28,
    SWITCH_CAUSE_FACILITY_REJECTED = 29,
    SWITCH_CAUSE_RESPONSE_TO_STATUS_ENQUIRY = 30,
    SWITCH_CAUSE_NORMAL_UNSPECIFIED = 31,
    SWITCH_CAUSE_NORMAL_CIRCUIT_CONGESTION = 34,
    SWITCH_CAUSE_NETWORK_OUT_OF_ORDER = 38,
    SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE = 41,
    SWITCH_CAUSE_SWITCH_CONGESTION = 42,
    SWITCH_CAUSE_ACCESS_INFO_DISCARDED = 43,
    SWITCH_CAUSE_REQUESTED_CHAN_UNAVAIL = 44,
    SWITCH_CAUSE_PRE_EMPTED = 45,
    SWITCH_CAUSE_FACILITY_NOT_SUBSCRIBED = 50,
    SWITCH_CAUSE_OUTGOING_CALL_BARRED = 52,
    SWITCH_CAUSE_INCOMING_CALL_BARRED = 54,
    SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH = 57,
    SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL = 58,
    SWITCH_CAUSE_SERVICE_UNAVAILABLE = 63,
    SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL = 65,
    SWITCH_CAUSE_CHAN_NOT_IMPLEMENTED = 66,
    SWITCH_CAUSE_FACILITY_NOT_IMPLEMENTED = 69,
    SWITCH_CAUSE_SERVICE_NOT_IMPLEMENTED = 79,
    SWITCH_CAUSE_INVALID_CALL_REFERENCE = 81,
    SWITCH_CAUSE_INCOMPATIBLE_DESTINATION = 88,
    SWITCH_CAUSE_INVALID_MSG_UNSPECIFIED = 95,
    SWITCH_CAUSE_MANDATORY_IE_MISSING = 96,
    SWITCH_CAUSE_MESSAGE_TYPE_NONEXIST = 97,
    SWITCH_CAUSE_WRONG_MESSAGE = 98,
    SWITCH_CAUSE_IE_NONEXIST = 99,
    SWITCH_CAUSE_INVALID_IE_CONTENTS = 100,
    SWITCH_CAUSE_WRONG_CALL_STATE = 101,
    SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE = 102,
    SWITCH_CAUSE_MANDATORY_IE_LENGTH_ERROR = 103,
    SWITCH_CAUSE_PROTOCOL_ERROR = 111,
    SWITCH_CAUSE_INTERWORKING = 127,
    SWITCH_CAUSE_SUCCESS = 142,
    SWITCH_CAUSE_ORIGINATOR_CANCEL = 487,
    SWITCH_CAUSE_CRASH = 500,
    SWITCH_CAUSE_SYSTEM_SHUTDOWN = 501,
    SWITCH_CAUSE_LOSE_RACE = 502,
    SWITCH_CAUSE_MANAGER_REQUEST = 503,
    SWITCH_CAUSE_BLIND_TRANSFER = 600,
    SWITCH_CAUSE_ATTENDED_TRANSFER = 601,
    SWITCH_CAUSE_ALLOTTED_TIMEOUT = 602,
    SWITCH_CAUSE_USER_CHALLENGE = 603,
    SWITCH_CAUSE_MEDIA_TIMEOUT = 604,
    SWITCH_CAUSE_PICKED_OFF = 605,
    SWITCH_CAUSE_USER_NOT_REGISTERED = 606,
    SWITCH_CAUSE_PROGRESS_TIMEOUT = 607,
    SWITCH_CAUSE_INVALID_GATEWAY = 608,
    SWITCH_CAUSE_GATEWAY_DOWN = 609,
    SWITCH_CAUSE_INVALID_URL = 610,
    SWITCH_CAUSE_INVALID_PROFILE = 611,
    SWITCH_CAUSE_NO_PICKUP = 612,
    SWITCH_CAUSE_SRTP_READ_ERROR = 613
} switch_call_cause_t;
复制代码


进度通知


  • URL 就是cti_bridge配置的URL
  • action
  • request 请求转接参数
  • hangup 通话挂断
  • ring 收到180
  • progress 收到183
  • answer 通话应答
  • uuid 通话UUID
相关文章
|
1月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
2月前
|
缓存 负载均衡 安全
|
5月前
|
缓存 监控 安全
HTTP代理,什么是HTTP代理?HTTP代理如何设置?HTTP代理的用途?
HTTP代理用于访问封锁网站、加速访问、提升安全,国内常用于网络加速。HTTP代理插件提供隐私保护、解除网站限制、增强安全及定制浏览体验。设置代理通常在操作系统网络设置或浏览器选项中进行,输入代理服务器地址和端口。
|
2月前
|
iOS开发 MacOS Python
【Mac 系统】解决已有清华镜像但出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url
在尝试使用清华镜像创建conda环境时遇到下载超时问题,通过删除原有镜像并添加针对Mac OS的清华镜像解决了该问题。
101 3
|
4月前
|
Linux Windows
Jmeter设置中文语言和配置https
Jmeter设置中文语言和配置https
109 0
Jmeter设置中文语言和配置https
|
3月前
|
JSON 应用服务中间件 开发工具
Ngnix的http块自定义服务日志,access.log和error.log,log_format指定日志输出格式设置
Ngnix的http块自定义服务日志,access.log和error.log,log_format指定日志输出格式设置
|
3月前
|
安全 数据安全/隐私保护
支付系统11 -微信支付11-支付安全-https中的数字证书
支付系统11 -微信支付11-支付安全-https中的数字证书
|
5月前
|
前端开发 安全 JavaScript
HTTP的系统登录页面,如何避免明文传输用户密码?
该文讨论了登录页面中密码安全传输的问题。当使用HTTP时,密码以明文形式传输,存在风险。在示例中,前端使用JavaScript的CryptoJS库和当前时间戳作为动态加密key对密码进行DES加密。后端接收到密文后,利用相同的时间戳解密。为了增强安全性,文章还建议使用RSA等非对称加密算法。
861 7
|
4月前
|
JavaScript
vue : 无法加载文件 D:\module\npm_module\npm_modules\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
vue : 无法加载文件 D:\module\npm_module\npm_modules\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
|
5月前
|
网络协议 应用服务中间件 nginx
nginx 302 301 设置 url 转跳 nginx 资源重定向 nginx tcp 和 http 转发
nginx 代理后端网站,和 网站资源目录重定向到其他连接地址
188 3