呼叫系统,电话机器人,呼叫中心中间件-分机配置

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
性能测试 PTS,5000VUM额度
云原生网关 MSE Higress,422元/月
简介: 把分机信息存储到redis,需要验证的时候,从redis读取存储的信息转换成XML格式,让FreeSWITCH完成验证。优点就是redis的读取性能非常快,可以让FreeSWITCH支持大量的分机,并且配置可以实时生效。配置说明cti_exten@domain [哈希表]key 分机名value| ```{ "param": { "allow-empty-password": false, "password": "123", "auth-acl": "", "sip-forbid-register": f

把分机信息存储到redis,需要验证的时候,从redis读取存储的信息转换成XML格式,让FreeSWITCH完成验证。优点就是redis的读取性能非常快,可以让FreeSWITCH支持大量的分机,并且配置可以实时生效。

配置说明

cti_exten@domain [哈希表]

  1. key 分机名
  2. value

| ``` {     "param": {         "allow-empty-password": false,         "password": "123",         "auth-acl": "",         "sip-forbid-register": false     },     "variable": {         "sip-force-contact": "NDLB-connectile-dysfunction-2.0"     },     "attribute": {         "cacheable": "10000",         "number-alias": "myphone"     } }

| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
![exten_template.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/792a4f009ac14085a64a2e438f9f06cd~tplv-k3u1fbpfcp-zoom-1.image)
-   param 参数
    -   password 分机密码
    -   a1-hash md5(username:realm:passwd),如果担心明文密码不安全,可以使用a1-hash。
    -   auth-acl 设置允许注册的IP 。比如 192.168.0.100/255,cidr格式,多个用逗号隔开。
    -   allow-empty-password 是否允许空密码
    -   sip-forbid-register 是否禁止注册。
    -   user-agent-filter 终端的user-agent必须和这个设置匹配才可以注册。这个配置是一个正则表达式。
    -   max-registrations-per-extension 最大允许同时注册的终端数量,就是一个账户可以在多少个地方同时注册。
-   variable 变量,可以通过模板自己添加
    -   sip-force-contact 使用NDLB-connectile-dysfunction-2.0 ,可以解决NAT问题。
-   attribute 属性
    -   cacheable 缓存时间 单位毫秒,如果需要修改配置实时生效,就不能设置缓存,设置true永不过期。
    -   number-alias 别名,比如分机号是的字母,你可以配置一个数字的别名。
## [](http://www.ddrj.com/callcenter/exten.html#%E5%88%86%E6%9C%BA%E6%B3%A8%E5%86%8C%E7%8A%B6%E6%80%81%E8%AE%B0%E5%BD%95%E5%88%B0redis "分机注册状态记录到redis")分机注册状态记录到redis
cti.json\
| ```
"gui": {     /*分机注册信息推送到redis*/     "registration": {         "hash": "registrations", //记录到hash表         "channel": "", //推送到channel         "list": "" //记录到list     } } 
``` |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
如果分机注册会在哈希表registrations添加一个记录,如果分机注销会删除这个记录。\
key:分机号\
value:注册信息\
| ```
{     "Event-Name": "CUSTOM",     "Core-UUID": "7eca4f88-39c1-48c2-bc00-ffe7f11d92f8",     "FreeSWITCH-Hostname": "ai",     "FreeSWITCH-Switchname": "ai",     "FreeSWITCH-IPv4": "192.168.31.57",     "FreeSWITCH-IPv6": "::1",     "Event-Date-Local": "2022-04-07 23:04:50",     "Event-Date-GMT": "Thu, 07 Apr 2022 15:04:50 GMT",     "Event-Date-Timestamp": "1649343890838195",     "Event-Calling-File": "sofia_reg.c",     "Event-Calling-Function": "sofia_reg_handle_register_token",     "Event-Calling-Line-Number": "2079",     "Event-Sequence": "882",     "Event-Subclass": "sofia::register",     "profile-name": "internal",     "from-user": "121",     "from-host": "192.168.31.57",     "presence-hosts": "n/a",     "contact": """ <sip:121@192.168.31.57:55458;ob;fs_nat=yes;fs_path=sip%3A121%40192.168.31.57%3A55458>",     "call-id": "220551059ccc409e9a42606f4e5c52bf",     "rpid": "unknown",     "status": "Registered(AUTO-NAT-2.0)",     "expires": "20",     "to-user": "121",     "to-host": "192.168.31.57",     "network-ip": "192.168.31.57",     "network-port": "55458",     "username": "121",     "realm": "192.168.31.57",     "user-agent": "unknown",     "sip_number_alias": "121",     "sip_auth_username": "121",     "sip_auth_realm": "192.168.31.57",     "number_alias": "121",     "user_name": "121",     "domain_name": "192.168.31.57",     "sip-force-contact": "NDLB-connectile-dysfunction-2.0",     "effective_caller_id_name": "121",     "sip-allow-multiple-registrations": "false",     "sip-force-expires": "20",     "force_ping": "false" } 
``` |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
## [](http://www.ddrj.com/callcenter/exten.html#%E5%88%86%E6%9C%BA%E5%91%BC%E5%8F%AB%E4%BF%A1%E6%81%AF%E8%AE%B0%E5%BD%95%E5%88%B0redis "分机呼叫信息记录到redis")分机呼叫信息记录到redis
cti.json
| ```
 "gui": {     /*分机呼叫信息推送到redis*/     "call": {         /*呼叫信息需要记录的变量*/         "fields": [ "Caller-Destination-Number", "Caller-Caller-ID-Number", "Caller-Callee-ID-Number", "Caller-Profile-Created-Time", "Caller-Profile-Created-Time", "Caller-Channel-Answered-Time" ],         "hash": "calls",         "channel": "",         "list": ""     } } 
``` |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
如果分机呼出或者呼入,哈希表calls添加一个记录,value就是呼叫信息。\
key:分机号\
value:呼叫信息\
| ```
{     "username": "121",     "current": "47768dc2-9856-4dbd-809e-5b559004881f",     "notify": "answer",     "47768dc2-9856-4dbd-809e-5b559004881f": {         "Caller-Destination-Number": "5555",         "Caller-Caller-ID-Number": "121",         "Caller-Callee-ID-Number": "",         "Caller-Profile-Created-Time": "1649344241663800",         "Caller-Channel-Answered-Time": "1649344243343194"     },     "activity": [         "47768dc2-9856-4dbd-809e-5b559004881f"     ] } 
``` |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
current: 最后状态发生变化的uuid\
notify:current指向UUID通道的状态,answer,callin,callout,hangup\
activity: 当前所有的通话\
uuid: 这个通话的通道变量,fields可以配置要记录的通道变量。\
Caller-Profile-Created-Time:通话的发起时间,单位是微妙的时间戳。\
Caller-Channel-Answered-Time: 通话的接通时间,单位是微妙的时间戳。



相关文章
|
9月前
|
开发框架 JavaScript 中间件
配置中间件
【5月更文挑战第19天】
101 4
|
9月前
|
中间件
egg.js 24.17中间件配置
egg.js 24.17中间件配置
76 0
egg.js 24.17中间件配置
|
3月前
|
机器学习/深度学习 人工智能 运维
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
电话机器人源码-智能ai系统-freeswitch-smartivr呼叫中心-crm
155 0
|
4月前
|
网络协议 机器人 C++
KUKA机器人Socket通讯配置方法:技术干货分享
【10月更文挑战第7天】在现代自动化生产线上,KUKA机器人凭借其高效、灵活和精确的特点,成为众多企业的首选。为了实现KUKA机器人与其他设备或系统之间的数据交互,Socket通讯配置显得尤为重要。本文将详细介绍KUKA机器人Socket通讯的配置方法,帮助大家在工作中更好地掌握这一技术。
483 2
|
7月前
|
缓存 监控 中间件
中间件配置和管理问题
【7月更文挑战第14天】
98 1
|
9月前
|
存储 监控 安全
中间件应用优化持久化配置
【5月更文挑战第4天】中间件应用优化持久化配置
111 2
中间件应用优化持久化配置
|
9月前
|
消息中间件 监控 NoSQL
中间件应用合理配置内存
【5月更文挑战第4天】中间件应用合理配置内存
130 2
中间件应用合理配置内存
|
9月前
|
JSON 资源调度 JavaScript
中间件中加载和配置中间件
【5月更文挑战第18天】
99 2
|
9月前
|
数据采集 DataWorks 监控
DataWorks常见问题之监控规则是数据质量配置好钉钉机器人不报警如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
107 5
|
9月前
|
数据采集 监控 中间件
解决HTTP 429错误的Scrapy中间件配置
解决HTTP 429错误的Scrapy中间件配置