摘要: 本文更新于2024-04-13。 目录C/C++DockerEMQXFreeSWITCHGitGoJavaScriptLinuxMongoDBMySQLNginxNode.jsRedisSupervisorIDE/编辑器网络网络协议 C/C++ 生成并调用so动态库 Docker Docker学习笔 阅读全文
posted @ 2019-07-24 19:27 garvenc 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2024-03-19,使用debian 11。 Debian官方源更换为阿里云源: sudo sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list 阅读全文
posted @ 2024-04-13 19:27 garvenc 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-12-26,使用VSCode 1.85.1、Go插件v0.40.1。 安装Go插件: 使用Ctrl+Shift+X打开扩展面板,搜索“Go”,安装“Go”插件(Go for Visual Studio Code)。 安装Go插件的依赖工具: 因国内无法访问proxy.golang 阅读全文
posted @ 2024-04-13 19:24 garvenc 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2024-03-22。 官方文档:https://go.dev/doc/devel/release 目录泛型go1.22.0 (2024-02-06)go1.21.0 (2023-08-08)go1.20 (2023-02-01)go1.19 (2022-08-02)go1.18 (202 阅读全文
posted @ 2024-04-13 19:17 garvenc 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-03-01,使用EMQX 4.4.3。 禁止匿名登录 修改/etc/emqx/emqx.conf中相应的行如下:allow_anonymous = false 重启EMQX。emqx start HTTP回调CONNECT身份验证 配置鉴权回调URL。根据实际情况修改/etc/e 阅读全文
posted @ 2023-09-28 09:12 garvenc 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-02-28,使用EMQX 4.4.3。 目录emqxemqx_ctl emqx 官方文档:https://www.emqx.io/docs/zh/v4.4/getting-started/command-line.html emqx console:控制台模式。 emqx res 阅读全文
posted @ 2023-09-27 09:04 garvenc 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-02-27,使用EMQX 4.4.3。 目录acl.confemqx.confplugins/emqx_auth_http.confplugins/emqx_auth_jwt.confplugins/emqx_auth_mongo.confplugins/emqx_coap.co 阅读全文
posted @ 2023-09-26 08:53 garvenc 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-03-01。 目录Docker下运行CentOS 7.5下安装在Windows下安装端口DashboardMQTTX 下载网址:https://www.emqx.com/zh/try?product=broker。更多版本可访问:https://www.emqx.com/zh/d 阅读全文
posted @ 2023-09-22 09:03 garvenc 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2024-02-02。使用MongoDB 6.0.4。 官方文档:https://www.mongodb.com/docs/manual/reference/configuration-options/ Linux下配置文件为/etc/mongod.conf。 #后面的内容作为注释忽略。大 阅读全文
posted @ 2023-05-30 09:11 garvenc 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-02-27,使用Docker 23.0.1,操作系统为Debian 11。 Docker与宿主机共享同一个系统内核,容器是以root用户身份运行的,如果挂载了磁盘卷,则容器往磁盘卷创建文件的时候,宿主机的文件所有者就是root用户。 下文阐述如何通过gosu指定宿主机的用户来运行 阅读全文
posted @ 2023-03-09 09:01 garvenc 阅读(684) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-04-05。 创建.vbs脚本(文件名自定,笔者使用say.vbs),文件内容如下: set spvoice = CreateObject("SAPI.SpVoice") set spfilestream = CreateObject("SAPI.SpFileStream") s 阅读全文
posted @ 2023-01-04 20:48 garvenc 阅读(470) 评论(2) 推荐(1) 编辑
摘要: 本文更新于2022-05-14,使用SIPp v3.5.3。 官网:http://sipp.sourceforge.net/。 中文文档:http://sipp.sourceforge.net/doc/cn-reference.pdf。 安装 其它版本请于官网下载。 wget https://git 阅读全文
posted @ 2023-01-03 20:31 garvenc 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-04-04,使用FreeSWITCH 1.10.7。 以下示例,假定源代码目录为/usr/src/freeswitch,安装目录为/usr/local/freeswitch。 安装中文Say模块(包括zh和zh_CN的Say接口): 进入源代码目录: cd /usr/src/fr 阅读全文
posted @ 2022-12-29 19:48 garvenc 阅读(524) 评论(0) 推荐(1) 编辑
摘要: 本文更新于2022-04-10,使用Debian 10、FreeSWITCH 1.10.7、MySQL 5.7.35。 安装ODBC: sudo apt install unixodbc unixodbc-dev 安装ODBC的MySQL驱动程序: wget https://downloads.my 阅读全文
posted @ 2022-12-28 18:41 garvenc 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-05-03,使用FreeSWITCH 1.10.7。 以下示例,假定源代码目录为/usr/src/freeswitch,安装目录为/usr/local/freeswitch,安装的新模块为mod_say_zh。 如模块未编译,需先编译模块。有两种方式: 第一种: 进入模块的源代码 阅读全文
posted @ 2022-12-27 20:05 garvenc 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-04-23,使用FreeSWITCH 1.10.7。 假设已经在/usr/local/freeswitch安装FreeSWITCH,并在此目录启动一个实例。现需在另一个目录(笔者使用/usr/local/freeswitch2)启动另一个实例。 复制文件。 mkdir /usr/ 阅读全文
posted @ 2022-12-26 00:13 garvenc 阅读(206) 评论(0) 推荐(1) 编辑
摘要: 本文更新于2022-12-20,使用FreeSWITCH 1.10.7。 Event Socket命令最后需带有两个换行符。 api 执行API命令。阻塞。 api API [ARG [ ...]] auth 内连模式下身份验证。需要第一个发送。 auth PASSWORD bgapi 后台执行AP 阅读全文
posted @ 2022-12-24 09:31 garvenc 阅读(661) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-06-03,使用FreeSWITCH 1.10.7。 argv 命令行参数。argv[0]为脚本文件名。 freeswitch.API API = freeswitch.API() API:execute 执行API。 REPLY = API:execute(APINAME [, 阅读全文
posted @ 2022-12-22 20:17 garvenc 阅读(2736) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-12-21,使用FreeSWITCH 1.10.7。 常见日志示例如下。 拨号计划 a5fe78c0-84cd-11ec-9fdf-b7e8785a7986 2022-02-03 16:45:33.074287 96.50% [INFO] mod_dialplan_xml.c:6 阅读全文
posted @ 2022-12-21 22:24 garvenc 阅读(1091) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-11-17,使用FreeSWITCH 1.10.7。 目录加载顺序autoload_configs/autoload_configs/acl.conf.xmlautoload_configs/callcenter.conf.xmlautoload_configs/cdr_csv_ 阅读全文
posted @ 2022-12-20 21:22 garvenc 阅读(2685) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-12-19,使用FreeSWITCH 1.10.7。 官方文档见:https://freeswitch.org/confluence/display/FREESWITCH/Channel+Variables+Catalog。 通道变量与info应用程序输出变量的对应关系见官方文档 阅读全文
posted @ 2022-12-19 22:49 garvenc 阅读(2056) 评论(0) 推荐(1) 编辑
摘要: 本文更新于2022-12-15,使用FreeSWITCH 1.10.7。 官方文档见:https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools 说明:下文中,部分大写为自定义变量,根据实际情况填写。使用[]引起表示内容可选,|表 阅读全文
posted @ 2022-12-15 23:22 garvenc 阅读(1651) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-12-14,使用FreeSWITCH 1.10.7。 官方文档见:https://freeswitch.org/confluence/display/FREESWITCH/mod_commands 说明:下文中,部分大写为自定义变量,根据实际情况填写。使用[]引起表示内容可选,| 阅读全文
posted @ 2022-12-14 22:49 garvenc 阅读(2739) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-12-12,使用FreeSWITCH 1.10.7。 官方文档见:https://freeswitch.org/confluence/display/FREESWITCH/Modules applications 该目录下的模块提供了大部分应用的功能,有的模块因实现了多种Inte 阅读全文
posted @ 2022-12-12 21:57 garvenc 阅读(1846) 评论(0) 推荐(1) 编辑
摘要: 本文更新于2022-12-19,使用FreeSWITCH 1.10.7。 官方帮助文档:https://freeswitch.org/confluence/ 说明:下文中,部分大写为自定义变量,根据实际情况填写。使用[]引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前内容。 目录结构 阅读全文
posted @ 2022-12-09 00:24 garvenc 阅读(1904) 评论(0) 推荐(1) 编辑
摘要: 本文更新于2022-11-08。 版本 FreeSWITCH版本号由3部分构成,以点隔开。第1部分为主版本号,第2部分为次版本号(偶数为稳定版,奇数为开发版),第3部分为补丁及更新的标志。 源代码 在Debian 10下按照官方文档安装的源代码目录为/usr/src/freeswitch。 clie 阅读全文
posted @ 2022-11-08 23:29 garvenc 阅读(3109) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-12-09。 电话交换技术 VoIP(Voice Over IP)即承载于IP网上的语音电话。 PSTN(Public Switched Telephone Network)即公共交换电话网。 交换机(Switch或Exchange)位于电话网的中心,用于连接每个用户。 交换机间 阅读全文
posted @ 2022-10-09 12:07 garvenc 阅读(3804) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-05-03。 基本概念 SIP(Session Initiation Protocol),即会话初始协议,是一个控制发起、修改和终结交互式多媒体会话的信令协议。 SIP是一个基于文本的协议,是一个对等的协议。 用户代理(User Agent,UA)是在SIP网络中发起或响应SIP 阅读全文
posted @ 2022-08-25 17:41 garvenc 阅读(491) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-05-02。 SDP(Session Description Protocol),即会话描述协议。 文档见RFC 4566:https://datatracker.ietf.org/doc/rfc4566。 a(Attributes):属性。用于描述上一个非a字段。 a=inac 阅读全文
posted @ 2022-08-20 16:12 garvenc 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-02-27。 RTP RTP(Real-time Transport Protocol),即实时传输协议。 文档见RFC 3550:https://datatracker.ietf.org/doc/rfc3550。 RTP包的头部格式如下: 0 1 2 3 0 1 2 3 4 5 阅读全文
posted @ 2022-08-06 15:09 garvenc 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-12-11,使用MongoDB 4.4.5。 范式化与反范式化 范式化(normalization)将数据分散到多个集合,不同集合之间相互引用数据。反范式化(denormalization)将每个文档所需数据都嵌入文档内部。 一个集合中包含的对其他集合的引用数量叫基数(cardi 阅读全文
posted @ 2022-02-23 22:41 garvenc 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-01-15,使用MongoDB 4.4.5。 admin 管理员的数据库。 管理员命令只能在此数据库执行。此数据库中的用户为超级用户,可对所有数据库进行操作,并能执行管理员命令。 system.users 用户身份验证信息的集合。 config 分片集群配置的数据库。 chang 阅读全文
posted @ 2022-02-17 21:03 garvenc 阅读(704) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-12-20,使用MongoDB 4.4.5。 目录bsondumpmongomongodmongodumpmongoexportmongofilesmongoimportmongorestoremongosmongoshmongostatmongotop bsondump BSO 阅读全文
posted @ 2022-02-14 19:43 garvenc 阅读(1499) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-01-08,使用MongoDB 4.4.5。 单台服务器下创建分片 确保/data/db目录存在且当前系统用户有读写权限。例如(需根据实际情况设置权限): su root mkdir -p /data/db chmod 0777 /data /data/db 启动shell但不连 阅读全文
posted @ 2022-02-01 23:35 garvenc 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2022-01-08,使用MongoDB 4.4.5。 单台服务器下创建副本集 确保/data/db目录存在且当前系统用户有读写权限。例如(需根据实际情况设置权限): su root mkdir -p /data/db chmod 0777 /data /data/db 启动shell但不 阅读全文
posted @ 2022-01-30 12:51 garvenc 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2024-03-02,使用MongoDB 6.0.4。 目录辅助扩展edithelpitexitshow collectionsshow databasesshow dbsshow tablesshow usersuseBulkWriteResultdbDBDATABASE.COLLECT 阅读全文
posted @ 2022-01-29 11:16 garvenc 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-02-22。 安装社区版(MongoDB Community Server) 各模块可按需下载。如需安装其他版本,请到官网https://www.mongodb.com/try/download/community搜索相应的链接。 安装4.4.5 操作系统为Debian 10.5 阅读全文
posted @ 2022-01-27 20:35 garvenc 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-08-27,使用MongoDB 4.4.5。 目录与关系数据库比较组成数据库集合文档数据类型填充因子写入安全自然排序固定集合循环游标索引典型场景GridFS聚合MapReduce副本集同步心跳驱动程序分片连接身份验证系统分析器诊断日志日记系统BSON线路协议数据文件内存映射存储引 阅读全文
posted @ 2022-01-23 15:16 garvenc 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-11-03,使用Redis 4.0.8,操作系统为CentOS 7.5。 CentOS 7下直接运行redis-trib.rb可能出现如下提示,原因是没有安装Ruby: /usr/bin/env: ruby: No such file or directory 安装Ruby。 y 阅读全文
posted @ 2021-11-03 10:55 garvenc 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2023-06-30,使用Docker 19.03.12,操作系统为Debian 10。 目录dockerd服务目录和文件系统服务配置文件配置文件 说明:下文中,大写为自定义变量,根据实际情况填写。使用[]引起表示内容可选,|表示使用左侧或右侧内容,...表示重复之前内容。 dockerd 阅读全文
posted @ 2021-08-04 21:09 garvenc 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 本文更新于2021-07-05,操作系统为Debian 8.9。 致谢:https://hostloc.com/thread-484625-1-1.html 安装ipset。 sudo apt-get install ipset 将以下脚本保存至文件allcn.sh。 mmode=$1 #下面语句可 阅读全文
posted @ 2021-07-05 18:04 garvenc 阅读(1945) 评论(0) 推荐(0) 编辑