FAQ

XSwitch 常见问题解答

XSwitch的定位是什么?

XSwitch定位是一个高度可定制的综合实时音视频通信平台,基于模块化、高度可定制化的设计、提供丰富的二次开发接口。

XSwitch支持IPPBX吗?

是的,XSwitch最精减的版本就是一个IPPBX。

XSwitch支持呼叫中心功能吗?

是的,XSwitch支持基于的呼叫中心功能和强大的呼叫中心排队(ACD)功能。

能简单说一下XSwitch与其他类似商业产品的区别吗?

我们也在向他们学习。不过,说到区别,那就是——其他通信厂商只提供他们设计好的功能,XSwitch致力于提供你真正想要的功能。其它厂商建生态希望把你圈到他们的圈子里;我们也做生态,致力于全方位的互联互通

XSwitch与开源的FreeSWITCH有什么关系?

XSwitch底层是基于FreeSWITCH开发的,扩展了很多功能,包括Web UI界面和很多可扩展模块。兼容所有的FreeSWITCH原生API。

XSwitch可以在国产操作系统和CPU上安装吗?

是的,我们有一些国产操作系统和CPU的认证证书。

XSwitch提供测试吗?

是的。我们有XSwitch Cloud可以直接在云上测试,也提供本地化的安装测试版本,参见下载和安装

如何安装XSwitch?

参见下载和安装

XSwitch相关的代码和示例都是放到你们自己的Git服务器上,为什么不放到Github或国内的Git托管平台上?

我们喜欢Github,但是Github在国内访问不流畅。国内的Git托管平台也很好,我们也尝试过相关的镜像,但到目前为止我们还没有打算迁移到这些平台上。使用私有的Git服务器使我们更容易管理我们公司同事的账号。我们的Git服务器也对外开放注册,欢迎您注册账号给我们提工单和PR。但我们不是一个Git托管平台,所有账号仅用于跟我们更好地协作。

我可以向XSwitch贡献代码吗?

欢迎。我们有一个开源版本的仓库

XSwitch针对FreeSWITCH有什么RoadMap吗?

我们持续在开发,目前主要专注于全方位的互联互通、人工智能、音视频优化、集群、大并发、弹性伸缩、工程化、商业化相关的功能和优化。我们有一个产品更新路线图

我如何使用某某功能?

请参阅我们的用户手册以及How-To文档

如何与你们联系?

您使用官方网站的联系方式,也可以给我们在线反馈

XSwitch都支持哪些数据库?

XSwitch原生可以支持SQLite、PostgreSQL、MySQL及OceanBase,通过ODBC可以支持更多支持ODBC的数据库,如MSSQL、Oracle、达梦等。但是XSwitch本身的数据库(XUI相关的部分)仅支持PostgreSQL。详见在XSwitch中连接外部数据库

你们为什么选择了PostgreSQL而不是MySQL?

PostgreSQL是一个有30多年历史的关系型数据库,FreeSWITCH对它支持最好。我们也喜欢PostgreSQL对存储过程及JSON数据的支持,最终选了它。MySQL也是很优秀的数据库,但是后来被Oracle收购后前景有些不明,衍生版变成了MariaDB。虽然我们核心数据库没有适配,但是你仍然可以在XSwitch中查询MySQL数据库中的数据。

XSwitch支持国产数据库吗?

支持。已测试过XSwitch可以连接OceanBase,可以存话单等。我们还没有把核心数据放到OceanBase中。我们也尝试过达梦之类的国产数据库,但是安装和使用起来比开源数据库要麻烦一些。

XSwitch可以双机热备吗?

是的,参见HA

XSwitch支持集群部署吗?

是的,我们支持通过Kamailio和XSwitch配合做集群,参见集群部署

XSwitch初次安装登录密码是多少?

关注小樱桃科技微信公众号,输入admin即可。

XSwitch可以看演示吗?

可以,关注小樱桃科技微信公众号,输入demo即可。

XSwitch部署在公网,需要开放哪些端口呢?

一般来说,XSwitch需要以下端口:

: XSwitch端口列表

端口号类型协议说明
5060SIPTCP,UDPdefault Profile,开公网,如果前面有Kamailio可以不开公网
5061SIPTLS开公网,如果前面有Kamailio可以不开公网
5080SIPTCP,UDPpublic Profile,开公网,如果前面有Kamailio可以不开公网
8081SIPTCP,HTTP,WS开公网,如果前面有Nginx可以不开公网
8082SIPTCP,HTTP,WSS开公网,如果前面有Nginx可以不开公网
10000~20000RTPUDP开公网,如果有rtpengine可以不开公网
8021ESLTCP一般只开内网权限
5432PGTCPPostgreSQL数据库端口,一般只开内网访问即可
5000BFCPTCP,UDPBFCP端口,如果使用BFCP需要开公网

具体开放的端口以.env内实际配置的端口号为准,开放端口类型为TCP和UDP,.env文件内参数说明参见安装部署

如何使用VoLTE或5GNR打入系统,然后播放视频,XSwitch如何配置?

取决于你的运营商和线路。XSwitch支持各运营商的IMS线路接入,但需要做一些设置和适配,也需要相应的脚本完成IVR的功能。

该功能需要商业版的才可以支持,请联系我们,获取演示Demo和相关技术文档。

是否可以提供视频演示平台,了解系统

是的,请联系我们。

是否有推荐使用的软电话可以直接对接系统?

每个人都有自己喜欢的SIP客户端,我们没有偏向性,我们常用的有Telephone、BareSIP、Linphone等,其实其他的也经常用。更多请参见我用过的那些SIP客户端

社区版如何添加网关进行外呼

参见用户手册相关内容

首次下载安装后启动后,Web页

参见调试与排错

一台服务器上运行多个XSwitch有什么好的解决方案吗?端口冲突或者不够咋办?

XSwitch是以Docker容器方式启动的,只需要在配置端口时将不同XSwitch的端口分开就行,具体端口可以参见.env里的配置。

呼入到IVR后转接到指定手机号码,能显示原主叫号码吗?

在技术上是没有限制的,但是运营商的线路通常有限制,不允许你改变主叫号码。

在PRI和SIP协议里都有源主叫号码相关的。如果你的运营商线路支持,可以在SIP消息中增加相应的头域把原始主叫透传过去。跟线路有关,一般要检查如下头域:

Division
P-Asserted-Identity
Remote-Party-ID

可以直接在XSwitch中添加一个Application设置相关头域,如:

set sip_h_Division=<+8612345678900@xswitch.cn>

另请参考主叫号码的秘密

如果你是商业版用户,请联系我们的技术支持工程师。

上次想买商业版付个系统费,结果有些社区版不收费的功能,商业版还要收费

社区版是为了大家方便测试系统,我们不推荐将社区版用于生产系统(虽然我们没有限制)。商业版就是要收费的,如果您对我们的收费策略有任何好的想法和建议都欢迎联系我们给我们反馈。

XSwitch是否支持WebRTC?

当然,XSwitch从第一天起就支持WebRTC。而且XSwitch支持Verto、SIP over WebSocket、WHIP、WHAP、WHXP等多种协议。详见如何在XSwitch中使用WebRTC

关于点击拨号的功能:我们公司想在前端开发自己的拨号界面,后端调XSwitch接口,是不是前后端都得集成XSwitch?

不是。你可以纯后端集成,也可以纯前端集成,也可以前后端都集成,我们的接口提供了任意定制的能力,你可以根据你的需要进行集成。详见XSwitch集成指南

Java 有没有XSwitch Rest API的demo?

没有,不是不做而是不需要。我们的REST API接口文档都使用curl描述的。不仅是Java,任何语言都可以很轻松的调用REST API,相信你比我们更了解你们自己使用的语言。

XSwitch项目可以在Window中运行吗?有没有具体的操作手册?

可以。我们分发的是Docker镜像,可以在Windows、macOS、Linux上运行,支持AMD64及ARM64架构。详见XSwitch下载安装,以及Docker