V4

XSwitch v4.0.8 版发布

更新和 Bug 修复

XSwitch 更新内容:

  • 使用 1.10.8-dev git 947986d 2022-11-02 03:17:47Z 64bit 版本;
  • 修复 opus 崩溃问题;
  • 修复 agora 模块;
  • 调整解析带宽字符串;

XUI 更新:

  • 使用 xui-lua-3.0.8-20221104085436 版本;
  • 修复 m_dialstring 带空格的呼叫字符串错误;
  • 【高级】-【扩展功能】-【媒体文件】增加“定期删除”功能;
  • 【话单】-【话单】修复话单显示 Bug;
  • 【高级】-【AI】-【百度】增加 ASR-WS 配置;
  • 【用户】-【用户】下的所属分机增加默认分机;

升级建议

可以按照部署文档重新从头搭建。

如果系统中使用的4.0.7版本,需要修改镜像名称和版本号以及更新数据库,具体操作如下:

Linux 修改docker-compose.yml文件,Mac 修改docker-compose-mac.yml文件,将文件中servicexswitchimage一行的版本号由4.0.7改为4.0.8

ccr.ccs.tencentyun.com/free/xswitch-lua-js-free:4.0.7

修改为

ccr.ccs.tencentyun.com/free/xswitch-lua-js-free:4.0.8

如果用 Nginx,还需要按照上边把servicexswitch-nginx-xuiimage一行的镜像名称和版本号也修改为4.0.8

更新数据库操作,首先登录数据库。

docker exec -it xswitch-pg bash
psql -U xui

导入数据库语句,从版本3.0.10升级到3.0.12

ALTER TABLE extensions ADD default_extn_disabled INTEGER DEFAULT 0;
UPDATE dicts SET v = '3.0.11' WHERE realm = 'XUI' and k = 'DBVER';
INSERT INTO logs (resource, action, user_id, user_name, summary, message)
	VALUES('XUI', 'UPDATE', 0, 'SYSTEM', '3.0.11', '{"DEVER": "3.0.11"}');

INSERT INTO params (realm, k, v) VALUES ('REALMS', 'BAIDU-ASR-WS', 'Baidu Asr Ws');
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'asr-url', 'ws://vop.baidu.com/realtime_asr', 0, 0);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'segment-recording-prefix', '/usr/local/freeswitch/recordings/', 0, 1);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'asr-result-fire-switch-event', 'true', 0, 1);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'asr-mid-result-fire', 'true', 0, 1);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'app-id', 'id', 0, 0);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'api-key', 'key', 0, 0);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'secret-key', 'secret', 0, 0);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'dev-pid', '15372', 0, 0);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'lm-id', '700', 0, 0);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'cuid', '3c:15:c2:da:da:dc', 0, 0);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'format', 'pcm', 0, 0);
INSERT INTO params (realm, k, v, ref_id, disabled) VALUES ('BAIDU-ASR-WS', 'sample', '16000', 0, 0);

INSERT INTO dicts (realm, k, v, d) VALUES ('REALMS', 'DATE_TYPE', 'Date Type', '日期类型');
INSERT INTO dicts (realm, k, v, o) VALUES ('DATE_TYPE', 'Month', '1', '1');
INSERT INTO dicts (realm, k, v, o) VALUES ('DATE_TYPE', 'Month1', '3', '2');
INSERT INTO dicts (realm, k, v, o) VALUES ('DATE_TYPE', 'Month2', '6', '3');
INSERT INTO dicts (realm, k, v, o) VALUES ('DATE_TYPE', 'Month3', '9', '4');
INSERT INTO dicts (realm, k, v, o) VALUES ('DATE_TYPE', 'Year', '1', '5');
INSERT INTO dicts (realm, k, v, o) VALUES ('DATE_TYPE', 'Year1', '2', '6');
INSERT INTO dicts (realm, k, v, o) VALUES ('DATE_TYPE', 'Year2', '3', '7');

CREATE TABLE grades (
	id SERIAL PRIMARY KEY,
	grade_level VARCHAR,
	uuid VARCHAR,
	caller_id_number VARCHAR,
	destination_number VARCHAR,
	agent VARCHAR,
	queue VARCHAR,

	created_at TIMESTAMP(0) DEFAULT now(),
	updated_at TIMESTAMP(0) DEFAULT now(),
	deleted_at TIMESTAMP(0)
);
INSERT INTO params (realm, k, v) VALUES ('GLOBAL', 'odbc_cdr_ignore_transfer', 'true');

UPDATE dicts SET v = '3.0.12' WHERE realm = 'XUI' and k = 'DBVER';
INSERT INTO logs (resource, action, user_id, user_name, summary, message)
	VALUES('XUI', 'UPDATE', 0, 'SYSTEM', '3.0.12', '{"DEVER": "3.0.12"}');

修改后,执行make down关闭服务。

再执行make up重新启动服务,如果想用 nginx 则执行make up-nginx

结语

如果您刚接触 XSwitch,可以先阅读XSwitch 快速入门

如果大家在使用过程中遇到什么问题,可以参考https://xswitch.cn/pages/howto/trouble-shoot/

如果大家对我们的产品有好的意见或建议,欢迎给我们反馈。感谢您使用 XSwitch。

4.0.9