呼叫中心的分机要怎样配置?okcc分机

把分机信息存储到redis,需要验证的时候,从redis读取存储的信息转换成XML格式,让FreeSWITCH完成验证。优点就是redis的读取性能非常快,可以让FreeSWITCH支持大量的分机,并且配置可以实时生效。有关系统方面问题请找博主,看他名字可以微他一起技术交流学习。

配置说明

cti_exten@domain [哈希表]

key 分机名

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"

}

}

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 别名,比如分机号是的字母,你可以配置一个数字的别名。

分机注册状态记录到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"

}

分机呼叫信息记录到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: 通话的接通时间,单位是微妙的时间戳。
————————————————
版权声明:本文为CSDN博主「m0_52165567」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_52165567/article/details/129683255

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值