[发明专利]一种用于VoIP开发调试的codec解包实现方法及装置有效
申请号: | 201810253696.7 | 申请日: | 2018-03-26 |
公开(公告)号: | CN108632249B | 公开(公告)日: | 2020-12-08 |
发明(设计)人: | 周继续;赖志豪;邓勇军 | 申请(专利权)人: | 厦门亿联网络技术股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫 |
地址: | 361009 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 voip 开发 调试 codec 实现 方法 装置 | ||
本发明一种用于VoIP开发调试的codec解包实现方法及装置,其中,codec解包实现装置包括pcap文件解析模块、codec解码模块、SRTP解密模块,其中,pcap解析模块,用于读取pcap文件,并对pcap文件进行逐层分析,获取解包输入信息;SRTP解密模块,用于根据解包输入信息中的加密密钥对RTP包进行解密;codec解码模块,用于对不同类型的codec进行解码,生成wav文件。本发明在进行codec解码时,会根据解包输入信息中的codec信息查找相应的codec模块,不同类型的codec对应不同的codec模块,从而实现多种语音codec的解析。
技术领域
本发明涉及VoIP话机领域,具体涉及一种VoIP开发调试的codec解包实现方法及装置。
背景技术
在VoIP开发调试中对声音的问题的排查,最直观的是能直接听到声音。但是在开发中,经常只能抓到通话中的数据包,而数据包是经过编码的,有的还有加密。这对开发和测试来说是一个很大问题,无法判定当时的声音质量。
目前,一般通过wireshark对抓到的包进行解析,但其只能解析PCMU、PCMA等简单codec。而目前语音通话很多不只是这些codec。另外,很多抓包文件是经过加密的,而现有的wireshark对此也是无法实现解密的。
发明内容
本发明的目的在于提供一种用于VoIP开发调试的codec解包实现方法及装置,其能够解析多种语音codec。
为实现上述目的,本发明采用的技术方案是:
一种用于VoIP开发调试的codec解包实现方法,其包括以下步骤:
步骤1、抓取pcap文件并进行解析,以获取SDP包,若SDP包获取成功,进入步骤2,若获取SDP包失败,进入步骤3;
步骤2、从SDP包中获取解包输入信息,并判断解包输入信息是否完整,若解包输入信息完整,进入步骤4;若解包输入信息不完整,则从log文件中获取缺失的解包输入信息,以完整解包输入信息,并进入步骤4;
解包输入信息包括通话两端的IP地址、端口、codec信息、是否加密,若加密时,解包输入信息还包括加密密钥;
步骤3、通过识别RTP包的包头获取部分解包输入信息,然后根据log文件中获取缺失的解包输入信息,以完整解包输入信息,然后进入步骤4;
步骤4、当解包输入信息完整时,根据解包输入信息判断RTP包是否加密,若RTP包没有加密,进入步骤5;若RTP包有加密,则根据解包输入信息中的加密密钥对RTP包进行解密,解密完成后进入步骤5;
步骤5、根据解包输入信息中的codec信息查找对应的codec模块,利用该codec模块进行codec解码,生成可播放的wav文件。
本发明还提供了另一技术方案:
一种用于VoIP开发调试的codec解包实现装置,其包括pcap解析模块、SRTP解密模块和codec解码模块,
所述pcap解析模块,用于读取pcap文件,并对pcap文件进行逐层分析,获取SDP包,用于获取解包输入信息;若获取SDP包失败,则通过识别RTP包的包头获取部分解包输入信息,并结合log文件来获取缺失的解包输入信息;
所述SRTP解密模块,用于根据解包输入信息中的加密密钥对RTP包进行解密;
所述codec解码模块,设有两种以上的codec模块;用于根据解包输入信息中的codec信息查找codec解码模块中对应的codec模块,并利用该codec模块进行codec解码,生成wav文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门亿联网络技术股份有限公司,未经厦门亿联网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810253696.7/2.html,转载请声明来源钻瓜专利网。