自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

至虛極,守靜篤

合抱之木,生於毫末;九層之臺,起於累土;千里之行,始於足下。

  • 博客(412)
  • 资源 (19)
  • 收藏
  • 关注

原创 把遗憾留在2025,把期待交给明天

如题。

2025-12-31 17:06:45 48

原创 Sipp 读取 WAV 文件格式要求

SIPp 支持两种形式的音频文件:1. **WAV 文件** - 但只是跳过 WAV 文件头,**不进行任何格式转换**2. **裸音频数据文件** (raw samples)关键点:无论是 WAV 还是裸数据,音频数据本身必须已经是编码后的格式。

2025-12-16 17:43:32 288

原创 AI 生成的FreeSWITCH 呼出流程深度分析freeswitch-1.10.12.-release

| |<--200 OK--------| (先应答)|<--ANSWERED----------------------------| (获胜) ||--返回Peer2----------->| | |**文件位置:** `src/mod/applications/mod_commands/mod_commands.c:5080`

2025-12-08 20:00:00 607 1

原创 Ubuntu 上编译安装 SIPp 3.7.5

SIPp 是一个广泛使用的 **SIP 协议压力测试和功能测试工具**,支持 UDP、TCP、SCTP、TLS 等多种协议。本文以 **Ubuntu 系统** 为例,介绍如何从官方源码安装 **SIPp 3.7.5**,并解决常见编译问题。

2025-11-25 16:55:02 368

原创 Cursor 使用记录:C/C++ 开发者

Cursor 不只是一个 AI 编辑器,它是 VS Code 的“强化版助手”。在底层开发中,它能:快速解释复杂 C 逻辑;自动生成注释与声明;辅助调试 ASan 报告;帮助优化内存与性能问题。

2025-11-15 00:00:00 1040 1

原创 Linux C 文件操作系统调用

是最基本的 I/O 接口;提供元信息与控制;结合锁与同步机制,可构建高可靠的文件系统操作。掌握这些系统调用,是深入理解 Linux I/O 模型(如异步 I/O、epoll)的前提。

2025-11-06 06:00:00 671

原创 POSIX 文件锁机制

POSIX 文件锁是 UNIX 系统中最基础的进程同步机制之一。它:灵活可配置;提供区域锁定;但需要各方遵守锁协议。多进程同时访问数据库或索引文件;日志轮转或状态文件更新;与flock不兼容的跨平台程序。分布式文件系统(NFS、CephFS等);线程级同步(应使用 pthread 互斥锁)。

2025-10-28 22:00:00 721

原创 Ceph 简介

Ceph 是一个功能强大的分布式存储系统,具有高可扩展性、高可靠性和多种存储模式。无论是云存储、大数据、虚拟化还是高性能计算,Ceph 都可以提供高效的存储解决方案。虽然它的部署和管理可能会有一定的复杂性,但对于需要处理大规模数据存储的企业和组织,Ceph 仍然是一个值得考虑的优秀选择。

2025-10-23 21:00:00 743

原创 Linux /etc/fstab 文件 —— 文件系统自动挂载的核心配置

优点注意事项启动自动挂载,系统管理更自动化配置错误可能导致系统无法启动统一定义磁盘和网络文件系统建议先用测试支持 UUID/LABEL 提升稳定性使用_netdev处理网络挂载。

2025-10-15 08:00:00 977

原创 天气API

杭州的天气见鬼了,热死在秋天里。如果我们想要获取天气信息,怎么办?可以通过的免费 API 获取并显示一个城市的天气统计数据(温度、湿度、气压、天气状况等)。

2025-10-10 16:45:27 370

原创 使用 C++ 开发 Vim 插件

Vim 的插件开发通常用或者,但有时我们希望利用来完成复杂功能,例如代码分析、语法检查、文本处理等。实现方式一般是:用 C++ 写一个可执行程序;Vim 插件通过system()调用这个程序;捕获结果并展示。这样就能把。

2025-09-25 17:00:02 450

原创 Cursor 编辑器:面向 AI 编程的新一代 IDE

Cursor 是一款内置 AI 能力的代码编辑器,它基于 Visual Studio Code 开发,因此对开发者来说几乎没有学习成本。简单来说,它就是把AI 对话 + 智能补全 + 代码生成无缝集成进了日常开发环境。—— 把 AI 放在核心,而不是外挂。如果说 VS Code 是最通用的代码编辑器,那么 Cursor 正在尝试成为最聪明的代码编辑器。对于希望把 AI 深度融入日常开发的程序员来说,Cursor 值得一试。

2025-09-09 17:54:36 1964 2

原创 C/C++ 与 Lua 互相调用详解

Lua 是一门轻量级、嵌入式的脚本语言,常常与 C/C++ 结合使用。通过嵌入 Lua,可以让应用程序获得灵活的配置、脚本化逻辑和可扩展性。本文将介绍如何在,以及如何让。最后给出一个,可以直接编译运行。

2025-09-05 13:52:53 654 1

原创 GitLab 配置 Pipeline 的过程

build:编译、打包、镜像构建等。test:单元测试、集成测试、代码质量检查等。deploy:部署到测试环境或生产环境。GitLab CI/CD Pipeline 提供了一套强大而灵活的自动化工具,使得开发团队能够快速迭代、自动化测试和安全部署。配置的核心在于 .gitlab-ci.yml文件,通过合理设计阶段、任务和触发规则,就能搭建适合团队需求的流水线。无论是简单的编译与测试,还是复杂的微服务部署,GitLab CI/CD 都能满足需求。

2025-08-28 17:50:49 1124

原创 Linux file 命令

file命令是 Linux 下一个轻量但非常实用的文件分析工具,尤其在:不信任文件扩展名时批量检测文件类型时自动化脚本中过滤文件类型时都能发挥重要作用。

2025-08-15 08:00:00 538

原创 PBX Feature Code(功能码)

自定义拨号规则:在Dialplan中添加自定义功能码,如*400开启录音。权限与分组控制:针对特定用户或用户组开放/禁用某些功能码。功能扩展脚本:通过Lua、Perl、Python等脚本扩展Feature Code的功能逻辑。多语言支持:针对不同语言环境定制Feature Code的语音提示。上述配置实现拨打*400即可开启通话录音。Feature Code作为PBX系统中便捷高效的控制接口,大大简化了用户对复杂呼叫功能的操作流程。

2025-08-05 15:07:37 850

原创 雨中参观浙江受降纪念馆

这一场雨,从细如呢语,到倾盆如诉,仿佛是那段烽火岁月的注脚。走出馆门,我把伞撑开,带着敬意与沉思,在雨中缓步离开。那不是欢腾的胜利,而是沉默中的清算,是数百万同胞生命换来的最终对峙。照片里爆炸的一刻,火光如泪,桥梁断裂,却挺直了不屈的民族脊梁。天色阴沉,细雨如丝,打在伞面上发出轻微的“嗒嗒”声。雨声在寂静街巷中回响,仿佛是从远处历史深处传来的低语,引导着我缓缓走近这座记载民族苦难与抗争的纪念场所。穿过灰色石阶,雨点敲打着透明雨棚,水珠沿伞骨滴落,耳边只有风声与雨声,仿佛脚步都被这沉重的历史压得轻缓。

2025-08-01 16:37:42 184

原创 FreeSWITCH 中的 <macro> 实现机制

macro>FreeSWITCH 的<macro>提供了一种高效、可维护的方式来构建可复用的语音提示逻辑模块。对于构建复杂的语音交互系统,合理设计 macro 结构可以显著提升代码整洁性和复用性,是每一个使用 FreeSWITCH 的开发者都应掌握的重要工具。如果你正在自定义 voicemail 模块、构建 IVR 系统,建议深入学习 FreeSWITCH 的<macro>和<say>用法,并结合调试工具(如和fs_cli)跟踪执行流程,以达到灵活、精细控制语音交互的目的。

2025-07-29 10:01:10 383

原创 Ubuntu 中开放 UDP 端口

Ubuntu 20.04+ 使用。Ubuntu 默认使用 ufw。

2025-07-22 08:00:00 756

原创 Ubuntu系统下编译安装FreeSWITCH 1.10.12

则表示服务已成功启动。命令,查看运行状态。

2025-07-18 16:41:29 1057

原创 多台机器的vscode连接同一个SSH服务器冲突问题

有两台电脑: 笔记本和台式机作为客户端机器,GIT代码存放在服务器上,两台客户端机器同时通过vscode访问服务器上的GIT仓库。先配置的台式机一直工作正常。后配置的笔记本连接后,一直有冲突。

2025-07-18 01:00:00 603

原创 开源 SIP 协议栈介绍

Sofia-SIP 是用 ANSI C 开发的事件驱动型 SIP 协议栈,被广泛用于 FreeSWITCH 等通信系统中。PJSIP 是一套跨平台的 C 语言多媒体通信库,涵盖 SIP、SDP、RTP、ICE 等协议,适用于桌面和移动平台。reSIProcate 是由 SIPfoundry 社区发起的 C++ SIP 协议栈项目,具备较强的可扩展性和功能完整性。Kamailio 是基于 SIP Express Router(SER)的高性能 SIP 服务器项目,支持大规模分布式部署。

2025-07-08 16:13:14 1364 2

原创 _nta_incoming_timer 函数解析

在 Sofia-SIP 协议栈中,是一个核心定时器函数,用于处理。它不仅实现了 SIP RFC 中的多个关键定时器(如 Timer G、H、I、J、P1、P2、N1),还精细地管理了事务状态队列中的生命周期。本文将逐段剖析该函数,帮助你从源码角度全面理解 SIP 入站事务定时处理逻辑。

2025-07-02 11:00:01 815

原创 _nta_outgoing_timer() 函数解析

是 Sofia-SIP 中的定时器控制核心,负责管理出站事务的生命周期,符合 SIP 协议中多个定时器(A~K)的设计规范。理解这个函数有助于:调试 INVITE 重传、状态卡住等问题;分析 TCP 切 UDP 的连接降级行为;理解 FreeSWITCH 等基于 Sofia 的 SIP 实现内部事务状态机的实际运作。

2025-06-25 06:00:00 911

原创 SIP 协议中的定时器

名称默认值描述T1500msRTT 基准单位T24s非 INVITE 重传最大间隔T45s网络层最大响应延迟(用于完成状态)SIP 协议通过定时器机制补偿了 UDP 的不可靠性,同时也控制事务状态机的生命周期。理解这些定时器的定义及作用,对于调试通话建立失败、消息重传、事务挂起等问题具有重要价值。

2025-06-20 10:06:30 1206

原创 RTP MOS计算:语音质量的数字评估

MOS 是一个范围在1(差)到 5(优)MOS 分数感知质量描述5优秀无感知失真4良好稍有失真3可接受明显但可接受2差质量差,难以接受1非常差无法通信MOS 是 VoIP 语音质量评估中的关键指标。通过结合 RTP 参数与 E-model 算法,我们可以实现对语音质量的自动量化评估。在大规模部署或运维场景中,它能够有效发现通话质量问题,并提升用户满意度。

2025-06-12 21:00:00 1179

原创 Vim 设置搜索高亮底色

以适应不同的配色方案或提高可读性。本文将详细介绍如何修改 Vim 的搜索高亮颜色。

2025-06-06 00:00:00 1048

原创 chrome 多关键字搜索插件

MARKhl=zh-CNhl=zh-CN。

2025-05-19 17:42:32 966

原创 使用 AddressSanitizer 检测栈内存越界错误

栈内存越界通常表现为对局部数组或变量的非法访问:写入超出数组边界读取未定义的栈空间这类错误在编译阶段不会报错,运行阶段也可能不会立刻崩溃,因而很难发现。栈内存越界是一种常见的低级错误,极易引发程序崩溃或漏洞。AddressSanitizer 提供了即时、高精度的栈越界检测功能,是定位此类错误的利器。养成使用编译调试程序的习惯,有助于在开发阶段及时发现问题。

2025-05-12 18:30:00 679

原创 使用 AddressSanitizer 检测堆越界错误

堆越界是 C/C++ 中隐蔽而危险的错误类型;ASan可以快速检测并定位这类问题,极大提升程序的安全性;编写 C/C++ 代码时应特别注意内存边界,防止访问越界。

2025-05-06 18:30:00 606

原创 AddressSanitizer(ASan)简介

是一个编译期与运行期结合的检测工具,它通过在程序编译时插入额外的检查代码,并在运行时监控内存访问,帮助开发者发现隐藏的内存问题。ASan 主要应用于C/C++项目,但也支持部分Rust和其他需要手动内存管理的语言。高检测率:可以发现绝大多数常见的内存错误性能开销小:相比传统的工具(如 Valgrind),ASan 速度更快(通常仅慢 2x 左右)易于集成:只需重新编译即可使用,不需要修改源代码。

2025-05-01 05:15:00 887

原创 Git 配置 GPG 提交签名

使用 GPG 对 Git 提交进行签名,可以证明该提交确实是你本人提交的。这在团队协作和代码审核中非常有用,GitHub/GitLab 等平台也会显示 “Verified” 标签。

2025-04-21 08:00:00 997

原创 lws_callback_on_writable 函数解析

它的任务是:检查连接状态;如果还可以写,则注册一个“下次写就绪时回调我”的请求;回调将触发或类似事件,让用户在回调中调用写数据。如果你在写来请求“我想写数据”,框架在下一次poll()中发现可以写时就会回调你。

2025-04-15 06:00:00 849

原创 用pyshark导出WS抓包中的数据流

目的,过滤出websocket流中的binary包,并把data导出到文件中,用于分析流媒体。

2025-04-08 16:55:09 377

原创 丢失的“Edit with IDLE“右键菜单项

昨天晚上,上高一的儿子安装python之后,发现右击.py文件没有"Edit with IDLE"菜单项,和老师课堂的环境有差异,让我帮他找回来。通过上述方法,可高效为Python文件添加右键编辑选项,提升开发体验。为实际Python版本号后,以管理员身份运行脚本)若频繁操作注册表,可创建批处理文件(

2025-04-01 08:47:20 1183

原创 SSML(Speech Synthesis Markup Language)简介

SSML(Speech Synthesis Markup Language,即语音合成标记语言)是一种基于 XML 的标记语言,旨在为文本到语音(TTS,Text-to-Speech)转换提供丰富的控制能力。它允许开发者定义语音合成的各种参数,如语速、音量、音调、停顿、发音等,从而提升语音合成的自然度和可控性。SSML 由 W3C(万维网联盟)定义,是语音合成技术的重要标准,广泛用于智能语音助手、IVR(交互式语音应答)系统、播报系统等应用。

2025-03-26 17:12:01 1207

原创 GDB调试时打印通道变量

在 GDB 中打印链表时,可以通过逐步解开指针并打印每个节点的内容来查看链表的结构。在调试freeswitch时,有时候需要找到某个通道变量的值。怎么办呢?,这通常是一个链表结构,所以你需要逐层访问每个指针并查看它的内容。假设你已经有了channel和variables。

2025-03-18 03:00:00 343

原创 boost::beast websocket 实例

环境:ubuntu。

2025-03-10 13:19:59 1055

原创 freeswitch通过uuid定位session并发送event

在 FreeSWITCH 的 C 代码中,可以通过。将其发送到指定的会话(session)。

2025-03-03 03:30:00 539

原创 RapidJSON 使用说明

(⭐ 14k+)下面是一个使用解析和生成 JSON 的示例代码。

2025-02-25 01:00:00 601

Linux常用的压缩及解压缩命令

Linux常用的压缩及解压缩命令。SHELL编程必备

2011-09-22

SDM(MRCP-SERVER)公共云镜像使用.pdf

阿里云MRCP SERVER作用手册

2021-09-15

RFC4028中文版

RFC 4028的中文翻译版本。SIP keep alive机制的定义。VOIP开发必备的工具文档。

2012-10-22

思科有关七号信令的教程

思科有关七号信令的教程。基础知识。介绍七号信令的基本功能。

2014-04-03

SIP协议精解

SIP协议基础,一些精简的描述,适合初学者的一本书。

2014-04-03

FreeSWITCH clustering with OpenSIPS

Opensis与FreeSwitch集成的框架说明,英文版本。适合部署参考。OpenSIPS Summit 2018 - Giovanni Maruzzelli - FreeSWITCH clustering with OpenSIPS (done well)

2020-04-22

Asterisk: The Definitive Guide, 3rd Edition

Design a complete VoIP or analog PBX with Asterisk, even if you have no previous Asterisk experience and only basic telecommunications knowledge. This bestselling guide makes it easy, with a detailed roadmap to installing, configuring, and integrating this open source software into your existing phone system. Ideal for Linux administrators, developers, and power users, this book shows you how to write a basic dialplan step by step, and quickly brings you up to speed on the latest Asterisk features in version 1.8. Integrate Asterisk with analog, VoIP, and digital telephony systems Build a simple interactive dialplan, and dive into advanced concepts Use Asterisk’s voicemail options—including a standalone voicemail server Build a menuing system and add applications that act on caller input Incorporate a relational database with MySQL and Postgre SQL Connect to external services such as LDAP, calendars, XMPP, and Skype Use Automatic Call Distribution to build a call queuing system Learn how to use Asterisk’s security, call routing, and faxing features

2013-01-25

FreeSWITCH Cookbook

freeswitch官方的第二本书,案例描述,E文的。主要案例: Configure users and phones as well as connections to VoIP providers and even Google Voice Control FreeSWITCH remotely with the powerful event socket interface Route inbound and outbound calls Handle call detail records, which includes inserting CDRs into a database Enable text-to-speech conversion in your voice applications Monitor calls via the FreeSWITCH Web interface

2013-07-01

FreeSWITCH 1.8.pdf

VoIP and WebRTC with FreeSWITCH: The definitive source.

2020-07-21

awk学习笔记

awk工具的使用详解。SHELL编程的必备手册。

2011-09-13

JsSIP demo

JsSIP - 提供的一个兼容WebRTC的JS SIP库,原来托管在github上的一个demo,现在原项目地址似乎不可用了,备份一个。

2013-05-24

VoiceXML基础教程

VoiceXML基础教程针对VoiceXML初学者编写,其由浅入深地介绍VoiceXML的主要内容,包括VoiceXML的历史背景与现状、VoiceXML的脚本设计基础等。

2011-09-22

RPM详细教程

详尽的RPM应用教程,包括使用和制作。linux开发必备工具

2011-09-23

FreeSWITCH 1.0.6

关于freeswitch经典书箱,英文版的。 Install and configure a complete telephony system of your own even if you are using FreeSWITCH for the first time In-depth discussions of important concepts like the dialplan, user directory, and the powerful FreeSWITCH Event Socket The first ever book on FreeSWITCH, packed with real-world examples for Linux/Unix systems, Mac OSX, and Windows, along with useful screenshots and diagrams Best practices and expert tips from the FreeSWITCH experts, including the creator of FreeSWITCH, Anthony Minessale Book Details Language : English Paperback : 320 pages [ 235mm x 191mm ] Release Date : July 2010 ISBN : 1847199968 ISBN 13 : 978-1-847199-96-6 Author(s) : Anthony Minessale, Darren Schreiber, Michael S. Collins Topics and Technologies : All Books, Networking & Telephony, Open Source

2012-04-13

Prentice.Hall.PTR.UNIX.Shells.by.Example.4th.Edition

Shell Example

2008-07-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除