语音通话是SIP或VoIP应用中最重要的功能,一旦语音方面出现问题,将极大的降低产品的口碑,很容易被市场和用户淘汰。

一、常见的语音通话问题

1.1 语音双向不通

  主叫方听不到被叫方声音,被叫方也听不到主叫方声音,即双方互相听不见

1.2 语音单向通

  其中一方能听见另一方声音

1.3 语音变声(变慢或变快)

  听见对方的声音语调不对,声音拉长(变慢)或缩短(变快)

1.4 语音丢字

  在通话开始或通话过程中,(偶尔)听到对方的声音有缺失,比如对方查数1,2,3,4……过程中,部分数字丢失听不到

1.5 语音卡顿

  在通话开始或通话过程中,(偶尔)听到对方的声音不连续,比如听到对方说1,2,3, 4……,2和3之间停了一会,给人一种短暂卡住的感觉,但声音没有丢失

1.6 语音有毛刺音

  在通话开始或通话过程中,(偶尔)听到对方的声音不完美,比如听到对方说1,感觉1缺失了一点,不圆润,不饱满,带有”毛刺“音

1.7 语音延迟

  在通话过程中,对方说完”你好“后,我方过了200毫秒以上甚至几秒才听到,这就是语音延迟现象

二、语音问题分析方法

  对于SIP语音问题,原因有硬件问题、软件问题和网络问题三种,硬件问题一般指声卡、麦克风、听筒/喇叭(扬声器)相关的问题,软件问题和网络问题有多种。在实际工作中,对于语音问题,基本都是从网络和软件方面开始分析。

分析问题的逻辑:

  • 抓取通话过程中双方的网络报文和日志
  • 通过wireshark分析网络报文,查看有无收发到RTP数据,回放一下声音是否正常
  • 如果网络报文不能直接确认原因,可以看一下终端日志,如果有明显的打开声卡失败问题,一般会有明显的日志
  • 如果接收方没有收到RTP数据或收到的RTP数据回放时声音异常,则需要进一步分析发送端问题
  • 如果接收方收到了RTP数据,则需要进一步分析接收方问题
  • 在进一步分析终端问题时,需要分析终端日志,确认是软件问题还是硬件问题
  • 在分析网络报文时,如果RTP统计数据中有丢包,一般是网络丢包问题
  • 在处理语音单通或双向不通问题时,需要判断媒体RTP的IP地址是否可以互通
  • 终端CPU性能差或软件逻辑错误导致软件运行慢,也会引发声音问题

三、常见问题产生的原因

1.1 语音双向不通

  • 双方的媒体IP网络不能互通
  • 防火墙限制双方使用的RTP端口,比如10000~20000的UDP端口被防火墙禁用
  • 双方的硬件(麦克风/扬声器)损坏

1.2 语音单向通

  • 有一个方向的媒体IP网络不通
  • 防火墙限制某一方使用的RTP端口,比如10000~20000的UDP端口被防火墙禁用
  • 一方的硬件(麦克风/扬声器)损坏

1.3 语音变声(变慢或变快)

  • 一般是双方协商的频率不一致,比如按8kHz播放16kHz的声音或用按16kHz播放8kHz的声音
  • 终端软件运行慢

1.4 语音丢字

  • 网络出现大量连续丢包

1.5 语音卡顿

  • 网络出现抖动,比如网络拥塞时,不能及时收到语音数据,超过jitterBuffer机制的能力

1.6 语音有毛刺音

  • 网络出现少量丢包,导致声音不完整

四、关键说明

  • 文中主要从软件和网络角度分析语音问题,实际应用中也会出现由硬件导致的语音问题
  • 使用wireshark软件分析网络报文(SIP/RTP)是必备技能,熟练使用则可以快速解决大部分语音问题
  • SIP/RTP关于语音的协议定义以及常见的的音频知识(采样率、音频编码、声道等)需要熟练掌握
  • 分析终端问题时,如果问题难定位,也会分模块、分段将声音(pcm声音数据)写入文件,导出通过CoolEditPro软件进行播放分析来确认是哪一个环节出现的问题
  • 声音问题属于实时性强问题,导出的声音文件播放时不一定有问题,比如语音延时问题,存储到文件中时是连续的,再次播放是正常的
  • 有的问题是偶现的,不好分析,可以尝试找到必现的复现流程或提高复现概率。如果需要增加软件日志确认原因,要一次性加更多的有效日志,有助于加快问题分析

SIP/VoIP之常见的语音问题相关推荐

  1. 介绍一个开源的SIP(VOIP)协议库PJSIP

    本文系转载,出处不可考. 假设你对SIP/VoIP技术感兴趣,哪希望你不要错过:),假设你对写出堪称优美的Code感兴趣 ,那么你也不可错过:) 这期间我想分析一下一个实际的协议栈的设计到实现的相关技 ...

  2. 如何分析常见的语音芯片故障?

    OTP语音芯片是指一次性可编程语音芯片,语音只能烧写一次,适合应用在不需要修改语音.语音长度短的场合,从放音的长度上可以分为20秒.40秒.80秒.170秒.340秒.语音芯片的特点是单芯片方案.价格 ...

  3. 几个常见的语音交互平台的简介和比较

    1.概述 最近做了两个与语音识别相关的项目,两个项目的主要任务虽然都是语音识别,或者更确切的说是关键字识别,但开发的平台不同, 一个是windows下的,另一个是android平台的,于是也就选用了不 ...

  4. 景联文科技|浅谈常见的语音标注方法

    语音标注是数据标注行业中一种比较常见的标注类型. 语音标注的主要工作内容是将语音中包含的文字信息.各种声音"提取"出来,再进行转写或合成,标注后的数据主要用于人工智能,应用在机器学 ...

  5. 八种常见的语音标注方法 | 语音标注

    科技冬奥,是前不久刚刚结束的2022年北京冬奥会提出美好愿景.科大讯飞作为冬奥会的"翻译官",为冬奥会提供了自动翻译和相关的多语种语音转换.语音识别以及语音合成等一系列技术,展现出 ...

  6. Android上试用Linphone(Free SIP VOIP Client)

    1. 下载Linphone apk并且安装到两个Android手机上 http://www.linphone.org/eng/download/packages/android.html 2. 申请两 ...

  7. 常见的语音相关的基本特征

    1. 语音的三要素: 音高 Pitch (音调) 由声源振动频率(Frequency)决定.单位:赫兹Hz 音色 Timbre 声音的特性,由声源.声道确定. 音强 Loudness (响度) 人主观 ...

  8. 英语中常见的语音现象

    1.连读 当前一个单词以辅音结尾同时后面一个单词以元音开头时把该辅音和元音连在一起读 2.失去爆破 爆破音 /p/  /b/  /k/  /g/  /d/  /t/ 当前一个单词以爆破音结尾同时后面一 ...

  9. 【RFC6405 IP 电话 (VoIP) SIP 对等互连用例 VoIP SIP Peering Use Cases】(翻译)

    原文 rfc6405 (ietf.org) Voice over IP (VoIP) SIP Peering Use Cases  IP 电话 (VoIP) SIP 对等互连用例 概述 本文档描述了会 ...

最新文章

  1. ubuntu 修改ip
  2. 开源大数据周刊-2018年08月10日 第96期
  3. python爬取内容乱码_【提问】PYTHON 爬取下来的中文数据显示乱码
  4. 表的插入、更新、删除、合并操作_19_通过表关联删除记录
  5. 如何获取Google地图API密钥?(翻译版)
  6. JS在页面限制checkbox最大复选数
  7. eclipse调试debug时出现source not found
  8. 【Java从0到架构师】MyBatis - 查询
  9. 照葫芦画瓢-string(字符)
  10. 【JAVA笔记——术】JAVA LIST DEL遍历方式研究
  11. oracle添加男女约束,Oracle如何给数据库添加约束过程解析
  12. win10快捷键启动屏幕保护程序
  13. 无法远程连接到计算机 凭证,win10系统凭证不工作导致远程桌面连接不了的解决办法...
  14. python代码变成so
  15. 阿里云短信服务 手机验证码
  16. latex大括号 多行公式_怎样在word中快速输入复杂的公式(在线识别数学、物理或化学公式)?...
  17. 横向打印二叉树 java_按树状横向打印二叉树
  18. VC常用控件用法(转载)
  19. 禁用Ctrl+Alt+Del最有效的方法
  20. gdp python 变迁动图_卫星动图看西安12年变迁,满满都是泪!

热门文章

  1. HUAWEI Sound Joy首发体验,独具一格的华为音质究竟如何呢?
  2. 3d Max安装失败(Microsoft Visual C++ 2010 SP1 Redistributable (x86) Failed...
  3. 设计模式分析——迭代器模式(Iterator)
  4. win10重装系统修改信息
  5. OPPOR9plusmA_官方线刷包_救砖包_解账户锁
  6. MS VC6 链接错误处理
  7. 爬虫案例 --- Python 爬取淘宝数据存到数据库
  8. 想瘦身不伤体质,就要学会和脂肪做朋友
  9. 各大门户免费登录入口
  10. oracle中怎么跳出循环,oracle 跳出循环方法