SIP呼叫流程分析和Wireshark抓包_第1页
SIP呼叫流程分析和Wireshark抓包_第2页
SIP呼叫流程分析和Wireshark抓包_第3页
SIP呼叫流程分析和Wireshark抓包_第4页
SIP呼叫流程分析和Wireshark抓包_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SIP呼叫流程介绍SIP协议简介

SIP协议概念基本SIP协议功能实体SIP协议消息类型Wireshark抓包SIP消息基本结构SIP协议概念SIP(SessionInitiationProtocol)会话初始协议,“是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。SIP协议功能实体定位服务(LocationService):SIP重定位服务器或代理服务器用来获得被叫位置的一种服务,可由定位服务器提供,但SIP协议不规定SIP服务器如何请求定位服务。代理,代理服务器(Proxy、Proxysever):用于代表其他用户发出请求的中间程序。它既是客户机也是服务器。用户请求可以直接被代理服务器处理或被转发给别的代理服务器。代理服务器在转发之前要对消息进行解析,必要时还会改写请求。重定向服务器(Redirectserver):用来接收SIP请求,将其地址映射成零个或多个新地址,并把结果返回给客户。与代理服务器(ProxyServer)不同,它不发出自己的SIP请求;与用户助理服务器(UserAgentServer)不同,它不接受呼叫。注册员(Registrar):用来接收REGISTER请求消息的服务器,常与代理或重定向服务器在同一位置,可以提供定位服务。用户助理客户(UserAgentClient):用来发起SIP请求的客户程序。用户助理服务器(UserAgentServer):收到SIP请求后负责与用户联系并代表用户回送响应的服务程序。该响应可以表示接受、拒绝或重定向请求消息。SIP消息类型SIP消息采用文本方式编码,分为两类:请求消息和响应消息。请求消息:用于客户端为了激活按特定操作而发给服务器的SIP消息。响应消息:用于对请求消息进行响应,指示呼叫的成功或失败状态。请求消息类型请求消息类型包括:

INVITE,ACK,OPTIONS,BYE,CANCEL和REGISTER消息等INVITE:用于邀请用户加入一个呼叫。ACK:用于对请求消息的响应消息进行确认。OPTIONS:用于请求能力信息。BYE:用于释放已建立的呼叫。CANCEL:用于释放尚未建立的呼叫。REGISTER:用于向SIP网络服务器登记用户位置信息。响应消息类型响应消息由状态码来区分,状态码包含三位整数,状态码的第一位用于定义响应类型,另外两位用于进一步对响应进行更加详细的说明,包括:1xx,2xx,3xx,4xx,5xx,6xx1xx:临时响应,表示已经接收到请求消息,正在对其进行处理;2xx:成功响应,表示请求已经被接收、处理并被成功接受3xx:重定向响应,表示为完成请求消息需要采取进一步的行动4xx:客户机错误,表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理。5xx:服务器错误,表示SIP服务器故障不能完成对正确消息的处理6xx:全局故障,表示请求不能在任何SIP服务器上实现。

SIP消息基本结构SIP消息一般有起始行、消息头两部分组成。起始行一般包含消息名称、URI、版本。请求消息头至少包括From、To、CSeq、Call-ID、Max-Forwards、Via六个头字段,它们是构建SIP消息基本单元消息体一般采用SDP(SessionDescriptionProtocol)协议,会话描述协议SIP基本呼叫流程

INVITE100Trying100Trying180Ringing180Ringing200OK200OKINVITEByeACK通话Bye200OK200OKSIPAProxySIPB正常的SIP呼叫被叫忙的SIP呼叫SIPAProxySIPBINVITEINVITE100Trying100Trying486Busyhere486BusyhereACKACKSIP是一种类似HTTP的基于请求响应的协议。理想情况下,请求被发出后,应该无任何延迟的传回响应。但是这是理想情况,有些时候接收端收到请求后进行处理需要一定的延迟,这个延迟是不一定的,SIP中有一个超时机制,超过某个时延会重发请求。为防止这种处理请求的延迟造成消息重发,接收端在收到请求后会立即发送一个临时的响应,1XX都是临时的,告诉发送端我已收到,正在处理,让发送端的计时器停止,不需要重新发送请求了。CALL-ID字段用于标识一个特定邀请以及与这个邀请相关的所有后续事务(即标识一个会话)CSeq字段是用来给同一个会话中的事务进行排序的。可以理解为,会话由CALL-ID来标识,会话中的事务则由CSeq标识在INVITE请求中,180Ringing表示电话铃响,200OK表示对方电话已经被接起,并用200OK终结事务。

在BYE请求中,200OK表示对话结束,事务终结。什么是STUN服务,我是否需要使用STUN服务?STUN代表UDP数据包简单地穿过NAT(SimpleTraversalofUDPoverNAT)。这是一个协议,当一个IP电话机在NAT后面时,IP电话机可以使用这个协议检测到NAT的存在,并判断NAT的类型。一个IP电话机如果支持STUN协议,它就可以发送一系列的STUN查询,到公共的因特网上的STUN服务器,这样就可以得到NAT上映射到话机的公网IP地址和端口。IP电话机就可以智能地修改SIP/SDP消息中的私有IP地址。这样SIP信令和RTP多媒体数据就可以成功地穿过NAT,而不需要修改NAT的任何配置。SIP基本呼叫流程

INVITE100Trying100Trying180Ringing180Ringing200OK200OKINVITEACKCancelACK487RequestCanceled487RequestCanceledSIPAProxySIPB被叫无应答一被叫无应答二SIPAProxySIPBINVITEINVITE100Trying100Trying180Ringing180RingingACKACKCancel408Requesttimeout408Requesttimeout通话实际抓包大概是这样的被叫端抓包主叫端

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论