用wireshark分析SIP的小tips

SDP

  1. 在SDP里会包含媒体协议(比如接受什么编码格式、什么端口和地址收发rtp)
    在这里插入图片描述

比如:这例SDP中包含的信息,可以接受这些媒体格式,用7078端口接收发送媒体流,这里的数字是payload type。最后可以看到发回的PT值确实是8,如果发送的rtp PT值和SDP中对方要求的不一样,那可能会造成无声或无画面情况(因为解析不出来)
在这里插入图片描述

在这里插入图片描述

NAT

  1. 如果客户端不知道自己在一个NAT后的私网地址上,可以用STUN的方法或者服务器开启NAT探测,当服务器端检测到它是一个私网地址(RFC1918,如10.x.x.x、 192.168.x.x等)时,即判定该私网地址是不可达的,转而使用其公网地址(因为服务器端收到的包的实际来源是 NAT 设备的公网地址)。

  2. rport开启后,via上会附带客户端地址和端口。
    RFC 规定 ACK 消息要发到 200 OK 消息的 Contact 指定的地址上。
    客户端向服务器注册时,在 Contact 头域中指定自己的联系地址,后续服务器向客户端发送请求都会发送到该联系地址上。

  3. freeswitch服务器端软交换软件具有“学习”功能,它通过一系列的判断发现 Bria 可能位于 NAT 后面(因为它没有收到来自192.168.7.6的包反而收到了来自27.216.184.13的包),转而开始将 RTP 流发往27.216.184.13,以便“穿越”NAT 设备,正常通信。

  4. 如果没有stun服务器,可以在本地路由器上开启UPnP,在UPnP上配置一下本地端口和公网端口映射关系。

RTP

  1. 如果音频不是以 PCMU 或 PCMA 格式编码的,则wireshark不能播放。如果语音编码不是
    PCM 格式的话(如 G729),则音频流只能存成 raw 格式,然后再用其他工具去分析。

  2. 在rtp流那边选择find reverse,可以查找到对应的反向流

README

本文是对杜金房的《voip-freeswitch》一文的学习笔记,有兴趣可以去了解原作

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值