![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VOIP
文章平均质量分 55
云梦谭
这个作者很懒,什么都没留下…
展开
-
利用audacity和ffmpeg制作测试音频文件
大部分地方使用的都是小端字节序,如果需要的是小端,那么可以直接用audacity,而不需要再用ffmpeg转换。具体导出方法如下所示,导出格式选择:其它无压缩音频文件,采样率16000,Header选择RAW,Encoding选择Signed 16-bit PCM。最近要用SIPP测试一个场景,需要发送双声道/16K采样率/16bit量化的PCM流,但是下载的素材往往不能满足参数要求。-acodec pcm_s16be: 输出pcm格式,采用signed 16格式,大端字节序(小端的话使用le)原创 2024-05-27 17:48:15 · 588 阅读 · 0 评论 -
从WEBM文件中提取音频
要从WEBM文件中提取音频,可以使用ffmpeg这个强大的多媒体处理工具。-q:a 4:设置音频压缩质量为中等(范围从0(无损)到51(最低质量),高质量通常需要更高的值)。-c:a libmp3lame:指定输出音频编码器为MP3(使用libmp3lame)。-i input.webm:指定输入文件。output.mp3:输出文件的名称。原创 2024-05-17 14:36:08 · 238 阅读 · 0 评论 -
呼叫中心的ACD
ACD(Automatic Call Distribution)即自动呼叫分配设备。是把接入的呼叫按特定的转接规则和分配策略转接到正确的座席。其性能的优劣直接影响到呼叫中心的效率和顾客的满意度,是呼叫中心有别于一般的热线电话系统、自动应答系统、电话录音系统或其它类似号称呼叫中心但是其实不是真正呼叫中心的重要标志。原创 2024-03-01 16:46:58 · 376 阅读 · 0 评论 -
几种常用电话信号音的含义
几种常用电话信号音的含义原创 2023-02-23 10:15:14 · 1196 阅读 · 0 评论 -
libmp3lame的接口使用
libmp3lame接口笔记原创 2022-08-17 17:34:32 · 446 阅读 · 0 评论 -
编译支持mp3的sox
sox编译支持MP3。原创 2022-06-18 07:59:01 · 983 阅读 · 0 评论 -
WebRTC VAD流程解析
WebRTC VAD流程解析_非典型废言的博客-CSDN博客转载 2022-05-20 09:36:19 · 412 阅读 · 0 评论 -
Whireshark导出L16格式的媒体流
whireshark版本:V3.6.2分析RTP流:选择菜单:Telephony==>RTP==>RTP Streams:选择流,点layStreams按键:导出payload(文件格式raw):用Audacity导入文件分析:根据自己的文件配置属性:...原创 2022-03-18 16:42:03 · 382 阅读 · 0 评论 -
音频codec技术标准
针对音频压缩不同标准组织和公司有很多不同技术和标准可用,下表列举常用的codec: Name Standardized Modulate Bit rate (kb/s) Sample rate (kHz) Frame size (ms) 压缩延迟 平均主观评分(MOS) Remarks (ADPCM) DVI ...原创 2022-03-15 11:10:44 · 1038 阅读 · 0 评论 -
软交换的分类
什么是软交换? 软交换是一种以软件为基础的设备,在VoIP网络里管理媒体流量,并且对呼叫进行路由控制。在电信领域中,四类交换在指的是在呼叫运营商之间的路由控制,而五类交换指的是真正连接终端Client或用户的设备,是真正处理呼叫的交换机。什么是四类软交换? 在VoIP领域里,四类软交换通常处理大量的长途呼叫。对于需要连接长途VoIP服务的企业来说,通常用一个四类软交换机在不同运营商间选择IP网络和传递流量。 四类软交换的重要特性指标...原创 2021-03-29 16:23:59 · 594 阅读 · 0 评论 -
SIP URI
统一资源标识符(URI) USI指的是统一资源标识符。SIP使用多种URI。下表列出了常用的URI。 URI 方案 用法 规范 sip SIP RFC 326 sips Secure SIP RFC 3261 tel Te....原创 2020-10-15 08:55:39 · 1965 阅读 · 2 评论 -
SIP网关
SIP网关是一种应用程序或设备,它是SIP网络和其它信令网络的接口。在SIP协议的术语中,网关只是一种特殊类型的UA,只不过这时它代理的是另一种协议而不是人。网关既可以是信令路径的终点,也可以是媒体路径的终点,尽管事实并非总是如此。比如说,SIP到H.323的网关,它是SIP信令路径的终点,并把信令转换为H.323信令,但是,SIP UA和H.323端点之间可以直接交换RTP媒体信息,没必要经过网关中转。 SIP到公共交换电话网(PSTN)的网关既是信令路径的终点,也是媒体...原创 2020-09-01 09:54:24 · 3924 阅读 · 4 评论 -
扩展Backus-Naur范式简介
扩展Backus-Naur范式是一种计算机科学的元语法,用于定义许多互联网协议,包括SIP。它在RFC 822中有原始定义,说明如何解析文本消息。最新定义版本是RFC 5234。ABNF使用一个7位的ASCII字符集,并定义了字符串的匹配规则。例如:Message = Request / Response 上面表达式定义了一条名为Message的规则,它是根据其它两条规则Request和Response推导定义的。其中的斜杠“/”表示一种选择,表示message既可...原创 2020-07-15 09:46:22 · 524 阅读 · 0 评论 -
Call Legs是什么鬼
如果你接触过Voip,那么你会经常碰到这些术语:Channel、Call、Call Leg(A leg及B Leg),还有Bridged Call。是不是感觉晕乎乎的,不知所云?这里解释一下这些术语。1. Call legs 当你拿起电话,接通一个号码时,从电话交换机的视角来看,这路呼叫是分成两部分的:首先,在你拨号时,你的话机设备向交换机发起一条连接,并通知交换机你要呼叫的号码 然后,交换机查找拨号规则,处理被叫号码,然后向被叫终端发起一条连...原创 2020-06-19 13:23:21 · 1187 阅读 · 0 评论 -
RTCP协议简介
RTP控制协议(RTCP)是RTP协议的关联协议,它同样在RFC 3550中定义。RTCP允许RTP会话中的参与方彼此发送质量报告和统计信息,并交换一些基础的身份信息。下表,列出了RTCP的报文类型。 SR Sender report RR Receiver report SDES ...原创 2020-04-01 15:45:05 · 2323 阅读 · 0 评论 -
RTP协议的报头
RTP协议的报头是二进制编码的,具体格式如下:各个字段的具体含义如下:• Version (V): 占2bit的字段,描述RTP的版本号,当前设置为2.• Padding (P):如果这个bit设置了标识,那么说明在数据包的末尾有填充字节,其目的是让包具有固定长度。在加密媒体流中,经常使用这个选项。• Extension (X):如果这个bit设置了标识,那么在标准头域之后还有...原创 2020-03-27 11:32:39 · 727 阅读 · 0 评论 -
用shell生成直观的Elastix DialPlan方便调试asterisk故障
http://bbs.voip88.com/thread-23844-1-1.html 看到的帖子 最近在学习Elastix的DialPlan,还有经常去客户那里解决电话呼入呼出故障,不可避免的要打开asterisk的CLI,查看呼叫的时候asterisk的控制台输出,以便排错。有时候客户用的都是基于Elastix的freePBX生成的DialPlan,实在是过于复杂,转载 2012-07-20 09:51:11 · 1936 阅读 · 0 评论 -
FreeSwitch录音模块研究
注: 本文的源码基于freeswitch V1.6.20。 FreeSwitch中,录音相关的App是由mod_dptools模块提供的。大部分实现代码都在mod_dptools.c中。 App的定义通过宏SWITCH_ADD_APP添加的。在mod_dptools.c的第6345行: SWITCH_ADD_APP(app_interface, "...原创 2018-08-15 20:25:29 · 6158 阅读 · 0 评论 -
Kamailio负载均分配置
根据不同的目的,Kamailio提供了不同的模块完成各种消息分发策略。比如LCR模块,dispatcher模块。本文描述怎样利用dispatcher模块实现SIP消息的负载均分。 假设kamailio安装在/usr/local/kamailio/目录下。添加dispatcher.list在/usr/local/kamailio/etc/kama...原创 2019-03-21 09:36:00 · 3366 阅读 · 5 评论 -
CentOS 7 安装FreeSwitch 1.8.5
这两天因为需要,在CentOS上安装FS V1.8.5,期间碰到些问题,记录下安装过程。操作系统:CentOS 7 64位(本文所述方法不适用于32位的安装)准备工作依赖包安装yum install-y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-releaseyum insta...原创 2019-03-18 16:18:09 · 3813 阅读 · 2 评论 -
kamailio通过rtpproxy实现穿透
本文描述通过路由器映射到内网时,怎么通过rtpproxy实现NAT。下载rtpproxy源码# cd /usr/local/src# git clone git://sippy.git.sourceforge.net/gitroot/sippy/rtpproxy# cdrtpproxy修改源码修改源码,添加一个参数,用于设置路由器的映射地址。编辑main.c...原创 2019-04-02 17:20:57 · 3157 阅读 · 7 评论 -
FreeSwitch配置ODBC
环境:CentOS7FS版本:V1.8.5安装unixODBCyum install -y unixODBC unixODBC-devel mysql-connector-odbc配置数据源数据源编辑/etc/odbc.ini[freeswitch]Driver = MySQLSERVER = localhostPORT = 3306DATABA...原创 2019-05-07 17:26:28 · 2924 阅读 · 1 评论 -
第三章 测试驱动演示配置
缺省安装完成后,开箱即用,你会发现FreeSWTCH已经能够完成许多令人惊讶的事情了!我们花费很多精力在编写演示模板,缺省情况下,安装完成后,FreeSWITCH就已经配置为一个强大的演示原型。当我们添加一个新的特性时,编写一个新的模块时,或者有人提出一个新颖的用法时,我们都会把它们添加到演示配置实例中。请注意,稍后我们会再重复强调,演示配置实例并不打算用于生产系统!在其中,...翻译 2019-07-30 14:02:17 · 1768 阅读 · 0 评论 -
第二章 构建与安装
FreeSWITCH是一个开源软件。因此,您 总是能够自由地获取它的源代码。此外,它还是一种特别的开源代码:您可以修改它(或者雇佣一些顾问根据您的规格修改),在上面构建您的产品,并进行销售,不需要发布您的修改或支付任何版税(它包含在类似BSD的许可中)。事实上,无论修改与否,从源码开始构建并安装FreeSWITCH是很简单的。这一章我们将探讨这一主题。 FreeS...翻译 2019-07-26 17:43:29 · 1240 阅读 · 0 评论 -
第一章 FreeSWITCH 的架构
FreeSWITCH 的架构 欢迎来到FreeSWITCH的世界!如果您正在阅读本书,那么您可能对这些事务感兴趣:实时通信、WebRTC、电信、VoIP。Freeswitch是一个完整的应用服务器和一个灵活的工具集,在全球范围内用于构建先进的和未来可靠的通信应用程序。在研究这个功能强大的软件的架构之前,让我们先回顾一下电信的世界。这将有助于您把FreeSWITCH纳入视野。...翻译 2019-07-22 11:03:42 · 6938 阅读 · 2 评论 -
SIP协议简史
SIP协议最初由IETF多方多媒体会话控制工作组(MMUSIC)开发。其1.0版本于1997年作为互联网草案提交。后来该协议产生了非常重大的变化,直接促使2.0版本的发布,新版本于1998年提交为互联网草案。该协议于1999年三月达到拟议标准的状态,并于1999年4月发布为RFC2543。1999年9月,为了满足对该协议日益增长的兴趣需求,IETF成立了SIP工作组(目前已经解散)...原创 2019-08-28 11:30:00 · 990 阅读 · 0 评论 -
移植WebRTC中的VAD
源文出处:https://blog.csdn.net/z2066411585/article/details/80246163WebRTCWebRTC是(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的技术. 它实现了基于网页的音视频通话。源码下载根据官网介绍,可以使用gclient下载webrtc的代码了,根据官网的方式下载会出现很...转载 2018-07-13 10:38:32 · 2876 阅读 · 0 评论 -
WebRTC之VAD算法
源文出处:https://blog.csdn.net/shichaog/article/details/52399354语音增强和语音识别系列博文VAD(Voice Activity Detection)算法的作用是检测语音,在远场语音交互场景中,VAD面临着两个难题:1. 可以成功检测到最低能量的语音(灵敏度)。2. 如何在多噪环境下成功检测(漏检率和虚检率)。漏检反应的是原本是语音...转载 2018-07-13 10:26:23 · 2295 阅读 · 0 评论 -
什么是FEC/NACK/RTX
FEC (Forward Error Correction) 中文叫前向纠错 前向纠错技术(Forward Error Correction)在确保信号的长距可靠传输方面也起着非常重要的作用,逐渐成为必不可少的主流技术。这里借用光通讯的图来描述FEC的基本原理。图1 FEC在光通信中的位置 FEC技术是一种广泛应用于通信系统中的编码技术。以典型的分组码为例,其基本原理是:在发送端,通过将k bi...转载 2018-07-13 10:21:00 · 1428 阅读 · 0 评论 -
CentOS7 Kamailio 安装指南
Kamailio(前身为OpenSER)是一个开源的SIP服务器项目,基于GPL授权。它以处理性能见长,每秒钟能处理上千个并发呼叫。其官方主页为http://www.kamailio.org。本文描述Kamailio的安装配置过程。安装环境为CentOS7,kamailio版本V5.2.2。安装MariaDB服务器Kamailio服务器安装前,必须先确保系统上已...原创 2012-10-24 14:37:18 · 15607 阅读 · 8 评论 -
asterisk架构
从架构的角度看来,Asterisk是由许多不同的模块组成的。在设计基于Asterisk的系统时,这种模块化的特性,提供了几乎无限的灵活必。作为Asterisk系统管理员,你拥有选择加载模块的权利。你所加载的每一个模块,都提供了不同的系统功能。比如说,有的模块能够让你的Asterisk与模拟电话线路通信,有的模块则提供话务报告的功能。后续,我们还将讨论到各种模块的功能和类别。 Asteris翻译 2012-04-28 16:08:54 · 4743 阅读 · 1 评论 -
Asterisk通道锁和引用
<!--@font-face {font-family:宋体}@font-face {font-family:宋体}@font-face {font-family:Calibri}@font-face {font-family:"\@宋体"}@font-face {font-family:"Segoe UI"}p.MsoNormal, li.MsoNor原创 2012-06-01 14:55:44 · 1153 阅读 · 1 评论 -
CentOS安装wireshark
CentOS的发行光盘里本身是有wireshark的rpm的,如果安装系统时组件没选上,那么可以从安装光盘里找。如能连网,那么用yum是最简单的: # yum install wireshark # yum install wireshark-gnome 注意wireshark包本身只包含文本工具,这样并无法使用wireshark和图形界面。但提供了抓包基原创 2012-11-01 14:37:15 · 19048 阅读 · 3 评论 -
Asterisk 代码架构概述
<!--@font-face {font-family:Wingdings}@font-face {font-family:宋体}@font-face {font-family:宋体}@font-face {font-family:Calibri}@font-face {font-family:"Segoe UI"}@font-face {font-翻译 2012-05-23 14:04:13 · 6032 阅读 · 3 评论 -
通过AMI接口远程控制Asterisk
Manager API简介Asterisk管理接口(AMI)允许外部客户端程连接到Asterisk实例,并且可以通过TCP/IP流发送命令和读取事件。在试图跟踪Asterisk内部电话状态进,它就显得特别有用。在服务端和客户端之间,用的是一种简单的"key: value"格式的协议。消息中,以CR/LF为换行符,以空行(两个CR/LF)为数据包终结符。AMI协议l 向Asteris原创 2012-07-16 17:42:56 · 9693 阅读 · 1 评论 -
wireshark抓取环回接口
linux环境下,用tcpdump,可以用-i lo参数抓取环回接口的包。如果服务端和客户端安装在同一台机器上,调试时是很方便的。linux版的wireshark,选取网卡的菜单里也有lo选项,也很方便。在windows环境下,似乎找不到这个选项。其实可以通过路由配置解决这个问题。打开命令行终端,执行下面命令: route add 192.168.122.29 mask 255.原创 2012-10-23 09:38:55 · 6559 阅读 · 0 评论 -
pthread_create线程创建的过程剖析
概述在Linux环境下,pthread库提供的pthread_create()API函数,用于创建一个线程。线程创建失败时,它可能会返回ENOMEM或EAGAIN。这篇文章主要讨论线程创建过程中碰到的一些问题和解决方法。创建线程首先,本文用的实例代码example.c:/* example.c*/#include #include #includ原创 2012-06-18 16:56:13 · 31533 阅读 · 1 评论 -
基于ICE方式SIP信令穿透Symmetric NAT技术研究
基于ICE方式SIP信令穿透Symmetric NAT技术研究 曾立 吴平 高万林 武文娟(中国农业大学 计算机科学与技术系,北京 100083) 2(中国人民大学信息学院,北京 100872) 摘 要 基于IP的语音、数据、视频等业务在NGN网络中所面临...转载 2011-10-27 09:40:01 · 10376 阅读 · 1 评论 -
SIP穿越NAT&FireWall解决方案
SIP穿越NAT&FireWall解决方案 SIP从私网到公网会遇到什么样的问题呢?1. 包的地址转换。2. SIP消息里面的SIP地址转换。3. SIP消息里面的SDP中的RTP地址转换。网络现存结构复杂,SIP服务提供商并不一定是NETWORK提供转载 2011-10-17 15:39:01 · 1977 阅读 · 0 评论 -
Asterisk Chan_sip模块的SST支持
SST(SIP Session-Timers,RFC4028)是SIP协议的一个扩展机制,它允许终端和代理周期性地刷新SIP会话。按协商好的时间间隔,周期性地发送re-INVITE或UPDATE请求,以此来保证会话的kept alive。如果会话刷新失败,所有支持SST的实体,必须清除其内部的会话状态。此外,UA还需要发出一个BYE请求,以便代理和对端UA同时清除相关会话的状态(这样做,对网络路径原创 2012-06-01 08:54:52 · 1797 阅读 · 0 评论