SIP呼叫流程分析和Wireshark抓包

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•简单的VOIP抓包 •VOIPห้องสมุดไป่ตู้简单分析
Wireshark简单操作介绍
Wireshark简单操作介绍
Wireshark简单操作介绍
Wireshark简单操作介绍
INVITE消息结构
RTP消息结构
THANKS
www.donjin.com
• 重定向服务器(Redirect server):用来接收SIP请求,将其地址映射成零个或 多个新地址,并把结果返回给客户。与代理服务器(Proxy Server)不同,它不 发出自己的SIP请求;与用户助理服务器(User Agent Server)不同,它不接受 呼叫。
• 注册员(Registrar):用来接收 REGISTER 请求消息的服务器,常与代理或重定 向服务器在同一位置,可以提供定位服务。
SIP基本呼叫流程
被叫无应答一
SIPA
Proxy
SIPB
被叫无应答二
SIPA
Proxy
SIPB
INVITE 100Trying
INVITE 100Trying
INVITE 100Trying
INVITE
180Ringing Cancel
200OK
180Ringing
Cancel 200OK
180Ringing
• 用户助理客户(User Agent Client):用来发起SIP请求的客户程序。 • 用户助理服务器(User Agent Server): 收到SIP请求后负责与用户联系并代表
用户回送响应的服务程序。该响应可以表示接受、拒绝或重定向请求消息。
SIP消息类型
• SIP 消息采用文本方式编码,分为两类: 请求消息和响应消息。
SIP呼叫流程介绍
SIP协议简介
SIP协议概念
基本SIP协议功能实体 SIP协议消息类型 Wireshark抓包 SIP消息基本结构
SIP协议概念
SIP(Session Initiation Protocol) 会话初始协议,“是一个 应用层的信令控制协议。用于创建、修改和释放一个或多个参与 者的会话。
• 请求消息:用于客户端为了激活按特定操 作而发给服务器的SIP 消息。
• 响应消息:用于对请求消息进行响应,指 示呼叫的成功或失败状态。
请求消息类型
• 请求消息类型包括: INVITE,ACK,OPTIONS,BYE,CANCEL 和 REGISTER 消息等
• INVITE:用于邀请用户加入一个呼叫。 • ACK:用于对请求消息的响应消息进行确认。 • OPTIONS:用于请求能力信息。 • BYE:用于释放已建立的呼叫。 • CANCEL:用于释放尚未建立的呼叫。 • REGISTER:用于向SIP网络服务器登记用户位置信息。
INVITE 100Trying 180Ringing 200OK
被叫忙的SIP呼叫
SIPA
Proxy
SIPB
INVITE
INVITE
100Trying
100Trying
ACK
通话
Bye Bye
486Busy here
486Busy here
200OK
200OK
ACK
ACK
• SIP是一种类似HTTP的基于请求响应的协议。理想情况下,请求被发出后,应该无任何延迟的传回响应。
Max-Forwards、Via 六个头字段,它们是构建SIP消息 基本单元 • 消息体一般采用SDP(Session Description Protocol) 协议,会话描述协议
SIP基本呼叫流程
正常的SIP呼叫
SIPA
Proxy
SIPB
INVITE 100Trying
180Ringing 200OK
动 • 4xx:客户机错误,表示请求消息中包含语法错误或者SIP服
务器不能完成对该请求消息的处理。 • 5xx:服务器错误,表示SIP服务器故障不能完成对正确消息
的处理 • 6xx:全局故障,表示请求不能在任何SIP服务器上实现。
SIP消息基本结构
• SIP消息一般有起始行、消息头两部分组成。 • 起始行一般包含消息名称、URI、版本。 • 请求消息头至少包括From、To、CSeq、Call-ID、
• 但是这是理想情况,有些时候接收端收到请求后进行处理需要一定的延迟,这个延迟是不一定的,SIP中有一 个超时机制,超过某个时延会重发请求。为防止这种处理请求的延迟造成消息重发,接收端在收到请求后会 立即发送一个临时的响应,1XX都是临时的,告诉发送端我已收到,正在处理,让发送端的计时器停止,不 需要重新发送请求了。
SIP协议功能实体
• 定位服务(Location Service):SIP重定位服务器或代理服务器用来获得被叫位 置的一种服务,可由定位服务器提供,但SIP协议不规定SIP服务器如何请求定位 服务。
• 代理,代理服务器(Proxy、Proxy sever):用于代表其他用户发出请求的中间 程序。它既是客户机也是服务器。用户请求可以直接被代理服务器处理或被转发 给别的代理服务器。代理服务器在转发之前要对消息进行解析 ,必要时还会改写 请求。
• 什么是STUN服务,我是否需要使用STUN服务?
• STUN代表UDP数据包简单地穿过NAT(Simple Traversal of UDP over NAT)。这是一个协议,当一个IP电 话机在NAT后面时,IP电话机可以使用这个协议检测到NAT的存在,并判断NAT的类型。一个IP电话机如果 支持STUN协议,它就可以发送一系列的STUN查询,到公共的因特网上的STUN服务器,这样就可以得到 NAT上映射到话机的公网IP地址和端口。IP电话机就可以智能地修改SIP/SDP消息中的私有IP地址。这样SIP 信令和RTP多媒体数据就可以成功地穿过NAT,而不需要修改NAT的任何配置。
100Trying 180Ringing
408 Request timeout
487Request Canceled
487Request Canceled ACK
408 Request timeout
ACK
ACK
ACK
被叫端抓包
通话实际抓包大概是这样的
主叫端抓包
T38传真抓包是这样的
Wireshark抓包和简单解析包
响应消息类型
响应消息由状态码来区分,状态码包含三位整数,状态码的第一 位用于定义响应类型,另外两位用于进一步对响应进行更加 详细的说明,包括:1xx,2xx,3xx,4xx,5xx,6xx
• 1xx:临时响应,表示已经接收到请求消息,正在对其进行处 理;
• 2xx:成功响应,表示请求已经被接收、处理并被成功接受 • 3xx:重定向响应,表示为完成请求消息需要采取进一步的行
• CALL-ID 字 段用于标识一个特定邀请以及与这个邀请相关的所有后续事务(即标识一个会话)
• CSeq 字段是用来给同一个会话中的 事务进行排序的。可以理解为,会话由CALL-ID来标识,会话中的事务 则由CSeq标识
• 在INVITE请求中,180 Ringing表示电话铃响,200 OK表示对方电话已经被接起,并用200 OK终结事务。 在BYE请求中,200 OK表示对话结束,事务终结。
相关文档
最新文档