什么是 RTS
RTS is a Derivative work of FreeSWITCH, Not a Fork。
RTS 是一个 FreeSWITCH 衍生品,不是一个 Fork。
RTS 旨在解决但不限于以下问题:
RTS 期待:
- 更多的用户
- 更多的贡献者
RTS 新特性
与原来的 FreeSWITCH 相比,RTS 有很多独特的新特性。当然,随时时间发展,这里描述的特性也可能会合并回 FreeSWITCH 里去。
默认编译模块调整
调整了部分默认编译的模块。参见Commit 。
默认配置文件中禁用Stun功能
很多场景下无法连接默认的Stun服务器,因此,在默认的配置文件中禁用。解决了很多问题。
增加rts
和rtss
符号链接
为与FreeSWITCH兼容,暂时未修改路径及可执行程序名称。RTS以符号链接形式呈现:
rts -> fs_cli
rtss -> freeswitch
会议模块增加vid-watching-member
子命令
单独看某一个与会成员。如:
conference 3000 vid-watching-member 1 2
增加两个RTP相关的函数
switch_core_session_get_rtp_pt
switch_core_session_get_rtp_session
支持WebRTC Media Bundle
为mod_srs
装备。
增加 mod_srs
模块
增加 HTTP 相关函数
增加了:
xswitch_http_get
xswitch_http_post
xswitch_http_request
从 XSwitch 移植过来。
默认禁用自动NAT
FreeSWITCH默认会自动开启NAT检测,启动慢。可以在启动时使用-nonat
关闭。RTS默认关闭该功能,加了个参数-nat
可以打开。
解决一个Windows编译问题
解决time_expires
在Windows上编译问题。
支持修改录音文件的默认权限
可以使用RECORD_DIR_PERMS
修改默认录音文件的权限。如:
<action application="set" data="RECORD_DIR_PERMS=0644"/>
mod_httapi
支持长文件名及URL
mod_logfile
优化多行日志写入性能
增加switch_split_cheap
函数
与switch_split
类似,但更“廉价”。不会破坏现有内存。仅适用不需要进行变量替换的场景。
如何向 RTS 文档仓库中添加文档?
RTS 文档源文件在 Github 上,首先你要有个 Github 账号,然后 Fork 并 Clone RTS 文档仓库:GitHub - rts-cn/docs: RTS Docs
Clone 后向 docs/rts/
目录中添加文档。扩展名使用.mdx
,使用 Markdown 语法,参见小樱桃的 Markdown 规范 。
向索引页 howto/index.mdx
上添加指向新文件的链接,如 [如何向RTS文件中添加文档](add-docs/),注意,内部链接最后要有个
/`。
然后提交 Pull Request。参见:
另外,可以参考 add howto · rts-cn/docs@59d57e0 · GitHub 这个添加文档的例子。
如果需要在本地预览或编译,需要安装 Node.JS 环境。执行yarn
安装依赖,执行yarn start
可以启动一个本地的 Server,然后可以根据提示信息打开 http://localhost:3000
预览。
本文档系统使用 Build optimized websites quickly, focus on your content | Docusaurus 构建,更多信息参见 GitHub - rts-cn/docs: RTS Docs 上的 README,以及 docusaurus 中文文档。
如何在国内访问 GitHub?
前言
登录 GitHub 开拓 RTS 社区是必不可少的一项工作,但有时候由于网络限制或其他原因,我们可能无法直接访问 GitHub。在这篇文档中,将为您提供一种不使用代理的方法来访问 GitHub 网站。
方法集锦
使用 hosts 文件
修改系统的 hosts 文件,绕过国内 DNS 解析,直接访问 GitHub 的 CDN 节点,从而达到加速访问 GitHub 的目的。不需要海外的服务器辅助。其原理是在浏览器中输入 GitHub 的网址时,会向 DNS 服务器发送一个请求,获取到 GitHub 网站所在的服务器 IP 地址,从而进行访问。就像你是一名快递员,在送快递前要先找中间人询问收件人的地址。而 DNS 就是这个告诉你目标地址的中间人,如果 DNS 告诉了你错误的地址,或者请求被拦截,再或者 DNS 挂了,都会导致你无法访问网站。
因此,想要访问 GitHub,我们可以先通过 IP 查询工具来获取当前 GitHub 网站的真实地址,再修改本地 hosts 文件,将该地址和 GitHub 网址关联。
首先,打开 https://www.ipaddress.com/,查询以下4个链接的DNS解析地址,哪个能ping上选择哪个。
- github.com
- assets-cdn.github.com
- github.global.ssl.fastly.net
- raw.githubusercontent.com
然后,打开操作系统的文件管理器,找到 hosts 文件的位置,不同操作系统,hosts 文件的存储位置也不同:
- Windows 系统:C:\Windows\System32\drivers\etc\hosts
- Linux 系统:/etc/hosts
- Mac(苹果电脑)系统:/etc/hosts
- Android(安卓)系统:/system/etc/hosts
- iPhone(iOS)系统:/etc/hosts
打开 "hosts" 的文件,并用文本编辑器打开它(以管理员身份运行编辑器)。在 hosts 文件的末尾添加一行,xx.xx.xx.xx www.github.com
将xx
替换为你查询到的解析地址,保存并关闭 hosts 文件。
访问 GitHub
现在,您应该能够通过浏览器直接访问 GitHub 网站了,而无需使用代理。尝试在浏览器中输入 "github.com" 或 "www.github.com",然后按 Enter 键进行访问。
请注意,这种方法仅适用于绕过某些网络限制或 DNS 解析问题。如果您仍然无法访问 GitHub,请确保您的网络连接正常,并检查是否存在其他网络层面的限制。
希望这个方法能够帮助您成功访问 GitHub 网站。
GitHub 仓库快速导入 Gitee 及同步更新
将 GitHub 上的内容 Fork 到 Gitee 仓库是一种将代码或项目从一个代码托管平台迁移到另一个平台的常见操作。
Fork GitHub 仓库到 Gitee
先创建 Gitee 账号,打开 Gitee 网站,点击 "注册" 或 "Sign Up",填写必要的信息并创建一个 Gitee 账号。再登录 Gitee 账号,点击右上角的 "+" 号,点击从 "GitHub 导入仓库",Fork GitHub 仓库到 Gitee。具体操作如下:
打开 GitHub 网站。导航到您想要 Fork 的仓库页面。在仓库页面的右上角,点击 "Fork" 按钮。在弹出的对话框中,选择您的 Gitee 账号作为 Fork 的目标。等待一段时间,GitHub 会将仓库的副本复制到您的 Gitee 账号下。
同步更新
在 Gitee 上打开 Fork 后的仓库页面。点击页面右上角的 "设置" 按钮。在设置页面的左侧导航栏中,选择 "仓库管理" -> "同步管理"。在 "远程仓库地址" 中输入原始 GitHub 仓库的 URL。点击 "同步" 按钮,Gitee 将会尝试将原始仓库的更新同步到您的 Gitee 仓库中。
现在,您已经成功将 GitHub 上的内容 Fork 到 Gitee 仓库中了。您可以在 Gitee 上继续管理和开发这个仓库,而无需直接访问 GitHub。请注意,由于两个平台的差异,一些功能和操作可能会有所不同,您可能需要适应 Gitee 平台的界面和工具。
希望这个方法能够帮助您成功将 GitHub 上的内容迁移到 Gitee 仓库。
RTS Modules
RTS支持第三方模块。
mod_rustit
mod_rustit是一个用 Rust 语言写的模块。
mod_shine
一个MP3录音模块。
mod_vnc
与VNC交互的模块。
mod_x11
与X11交互的模块。
mod_aac
AAC编解码模块。
由于 FreeSWITCH 原始英文文档中有一些 Markdown 语法不规范,且经过很多次 Wiki 平台迁移和格式转换,翻译过程中一些专业的术语也难免出错,因此结果也不是尽善尽美。接下来需要持续改进。欢迎加入我们一起玩。
- 英文文档:FreeSWITCH Documentation
- 中文文档:RTS 文档