SIP/VoIP之常见的语音通话问题

这篇具有很好参考价值的文章主要介绍了SIP/VoIP之常见的语音通话问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

分析问题的逻辑:文章来源地址https://www.toymoban.com/news/detail-417641.html

  • 抓取通话过程中双方的网络报文和日志
  • 通过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之常见的语音通话问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决苹果Safari 浏览器下html不能自动播放声音和视频的问题-实时语音通话功能【唯一客服】...

    在实现我的客服系统中,实时语音通话功能的时候,如果想自动播放音视频流,在苹果设备上遇到了问题。 苹果浏览器(Safari)在默认情况下不允许声音在背景里自动播放。这是出于用户体验和隐私方面的考虑,避免在用户没有意识到的情况下自动播放声音。 解决办法是 iOS

    2024年02月12日
    浏览(84)
  • whatsapp 语音通话 音频编码(五)

    客户端通过websocket连接到服务器,客户端发起语音通话请求,并且完成必要的协商之后,就可以直接将语音数据发送给服务器,服务器接收到对方的语音数据之后也会通过websocket将语音数据转发给客户端 XMPP 在发起语音通话请求的时候,需要带上一个秘钥,这个秘钥长32字节

    2024年04月17日
    浏览(16)
  • 煤矿调度IP语音对讲广播模块一键求助对讲矿用调度通信系统SIP语音对讲求助终端

     SV-2101VP /  SV-2103VP 系列网络音频模块,所有外部连接采用端子,电源采用2.0mm的端子,网络采用标准RJ45连接器,其他都是1.25mm的连接器。 端口类型定义 P ———— 电源 AI ———— 模拟输入(在这里是音频输入) AO ———— 模拟输出(在这里是音频输出) I ———— 数

    2024年02月12日
    浏览(29)
  • 智能手表上的音频(四):语音通话

    上篇讲了智能手表上音频文件播放。本篇开始讲语音通话。同音频播放一样有两种case:内置codec和BT。先看这两种case下audio data path,分别如下图:                                         内置codec下的语音通话audio data path                       

    2024年02月03日
    浏览(24)
  • WebSocket+Vue+SpringBoot实现语音通话

    参考文章 整体思路 前端点击开始对话按钮后,将监听麦克风,获取到当前的音频,将其装化为二进制数据,通过websocket发送到webscoket服务端,服务端在接收后,将消息写入给指定客户端,客户端拿到发送过来的二进制音频后再转化播放 注意事项 由于音频转化后的二进制数据

    2024年02月06日
    浏览(32)
  • unity 使用声网(Agora)实现语音通话

    第一步、先申请一个声网账号 [Agora官网链接](https://console.shengwang.cn/) 第二步在官网创建项目 ,选择无证书模式,证书模式需要tokenh和Appld才能通话 第三步 官网下载SDK 然后导入到unity,也可以直接在unity商店里下载,Agora官网下载链接 第四步 运行官方Demo 1、导入后会有这些

    2024年04月25日
    浏览(28)
  • webRCT实时语音视频通话 结合 vue使用

    前言:最近项目遇到了一个推送视频对话的需求,本身项目就用到了websocket推送,所以直接使用webRCT就行 封装了一个socket.js mounted的中调用connection 就可以了

    2024年02月13日
    浏览(24)
  • 【FreeSwitch开发实践】media bug获取通话语音流

    🏠 博客主页:小小马车夫的主页 🍅 所属专栏:FreeSwitch开发实践 🥝 专栏介绍:主要介绍博主在实际项目中使用FreeSwitch开发外呼类项目的一些经验心得,主要涉及FreeSwitch的基本安装编译、基本配置、ESL、WSS、录音、自定义模块、media bug、语音播放、MRCP及对接AI机器人等内

    2024年02月04日
    浏览(29)
  • ICASSP 2023 | 解密实时通话中基于 AI 的一些语音增强技术

    ‍ 动手点关注 干货不迷路 实时音视频通信 RTC 在成为人们生活和工作中不可或缺的基础设施后,其中所涉及的各类技术也在不断演进以应对处理复杂多场景问题,比如音频场景中,如何在多设备、多人、多噪音场景下,为用户提供听得清、听得真的体验。作为 RTC 方案中不可

    2024年02月16日
    浏览(22)
  • web网页端使用webSocket实现语音通话功能(SpringBoot+VUE)

    最近在写一个web项目,需要实现web客户端之间的语音通话,期望能够借助webSocket全双工通信的方式来实现,但是网上没有发现可以正确使用的代码。网上能找到的一个代码使用之后 只能听到“嘀嘀嘀”的杂音 解决方案: 使用Json来传递数据代替原有的二进制输入输出流 技术

    2024年02月02日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包