当前位置:文档之家› SIP协议基本流程学习

SIP协议基本流程学习

INVITE:用于邀请用户加入一个呼叫。 ACK:用于对请求消息的响应消息进行确认。 OPTIONS:用于请求能力信息。 BYE:用于释放已建立的呼叫。 CANCEL:用于释放尚未建立的呼叫。 REGISTER:用于向SIP网络服务器登记用户位置信息。
响应消息由状态码来区分,状态码包含三位整数,状 态码的第一位用于定义响应类型,另外两位用于进一 步对响应进行更加详细的说明,包括: 1xx,2xx,3xx,4xx,5xx,6xx
SIP协议基本流程及抓包分析
注册、注销流程 基本通话流程及测试抓包 呼叫前转流程 补充业务流程
1 注册、注销流程
A Register
401 Unauthorized
Register Server
Register 200 OK
查看注册周期:
REGISTER sip:138.1.0.200 SIP/2.0 From: "3232301"<sip:3232301@138.1.0.200>;tag=111c5888a010084-13c4-40030-6a-45b3662a-6a To: "3232301"<sip:3232301@138.1.0.200> Call-ID: 10a5cd0-8a010084-13c4-40030-6a-f28e7cc-6a CSeq: 1 REGISTER Via: SIP/2.0/UDP 138.1.0.132:5060;branch=z9hG4bK-6a-19e7e25e28b34 Max-Forwards: 70 Supported: replaces User-Agent: Gaoke MG6000 Serial Gateway Contact: "3232301"<sip:3232301@138.1.0.132:5060> Expires: 100 //此值注册周期大小,设备会在这个时间内重新发起注册,一 般在(1/2注册周期)时就会发起注册. 注销包时此值为0 Content-Length: 0
SIP协议基本流程交流学习
公司
徽标
提纲
SIP协议概述 SIP协议基本流程及抓包分析
SIP协议概述

SIP协议概念 基本SIP协议功能实体 SIP协议消息 SIP消息基本结构
1 SIP协议概念
SIP(Session Initiation Protocol) 会话初始协 议,“是一个应用层的信令控制协议。用于创建、 修改和释放一个或多个参与者的会话。这些会话可 以是Internet多媒体会议、IP电话或多媒体分发。 会话的参与者可以通过组播(multicast) 、网状单 播(unicast)或两者的混合体进行通信。”

INVITE sip:567767@138.1.0.13:5060 SIP/2.0 //请求行 From: "89880000"<sip:89880000@138.1.0.13>;tag=111c368-8a010053-13c4-40030-cd-7128334e-cd To: <sip:567767@138.1.0.13:5060> Call-ID: 10d4608-8a010053-13c4-40030-cd-37fe6ab0-cd CSeq: 1 INVITE Via: SIP/2.0/UDP 138.1.0.83:5060;branch=z9hG4bK-cd-32352-af6db88 Max-Forwards: 70 Supported: replaces User-Agent: Gaoke MG6000 Serial Gateway Contact: 89880000<sip:89880000@138.1.0.83:5060> Allow: INVITE,ACK,CANCEL,BYE,OPTIONS,PRACK,UPDATE,SUBSCRIBE,NOTIFY,REFER,INFO Content-Type: application/sdp Content-Length: 278 v=0 o=89880000 1377333347 4616012 IN IP4 138.1.0.83 s=Audio Session i=Audio Session c=IN IP4 138.1.0.83 t=0 0 m=audio 12000 RTP/AVP 8 0 18 97 a=rtpmap:8 PCMA/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:18 G729/8000 a=rtpmap:97 telephone-event/8000 a=fmtp:97 0-16 a=ptime:20
4 SIP消息基本结构 请求消息和响应消息的格式,一般由起始行,若干 个消息头和消息体构成。
SIP一般消息 = 起始行 *消息头 CRLF(空行) [消息体]

起始行 = 请求行/状态行 ( SIP请求消息起始行是请求行 (Request-Line),响应消息起始行是状态行(StatusLine))。 请求消息头至少包括From、To、CSeq、Call-ID、MaxForwards、Via 六个头字段,它们是构建SIP消息基本单元 消息体一般采用SDP(Session Description Protocol)协议, 会话描述协议




注册员(Registrar):用来接收 REGISTER 请求消息的服务器,常与代理或重定 向服务器在同一位置,可以提供定位服务。
用户助理客户(User Agent Client):用来发起SIP请求的客户程序。

用户助理服务器(User Agent Server): 收到SIP请求后负责与用户联系并代表 用户回送响应的服务程序。该响应可以表示接受、拒绝或重定向请求消息。
初始用户注册请求不携带authorization信息
REGISTER sip:138.1.0.200 SIP/2.0 From: "3232301"<sip:3232301@138.1.0.200>;tag=111bfe8-8a01008413c4-40030-1a-379300d6-1a To: "3232301"<sip:3232301@138.1.0.200> Call-ID: 10a5c90-8a010084-13c4-40030-1a-6918b0-1a CSeq: 1 REGISTER Via: SIP/2.0/UDP 138.1.0.132:5060;branch=z9hG4bK-1a-68923122f5a7 Max-Forwards: 70 Supported: replaces User-Agent: Gaoke MG6000 Serial Gateway Contact: "3232301"<sip:3232301@138.1.0.132:5060> Expires: 100 Content-Length: 0
2 基本SIP协议功能实体
定位服务(Location Service):SIP重定位服务器或代理服务器用来获得被叫位 置的一种服务,可由定位服务器提供,但SIP协议不规定SIP服务器如何请求定位服 务。 代理,代理服务器(Proxy、Proxy sever):用于代表其他用户发出请求的中间 程序。它既是客户机也是服务器。用户请求可以直接被代理服务器处理或被转发给 别的代理服务器。代理服务器在转发之前要对消息进行解析 ,必要时还会改写请 求。 重定向服务器(Redirect server):用来接收SIP请求,将其地址映射成零个或 多个新地址,并把结果返回给客户。与代理服务器(Proxy Server)不同,它不发 出自己的SIP请求;与用户助理服务器(User Agent Server)不同,它不接受呼叫。
初始用户注册请求携带authorization信息;如果启用该配 置项,设备在第一次发起注册时就会携带authorization信 息
REGISTER sip:138.1.0.200 SIP/2.0 From: "3232301"<sip:3232301@138.1.0.200>;tag=111c028-8a010084-13c4-400301a-379300d6-1a To: "3232301"<sip:3232301@138.1.0.200> Call-ID: 10a5cd0-8a010084-13c4-40030-1a-6918b0-1a CSeq: 1 REGISTER Via: SIP/2.0/UDP 138.1.0.132:5060;branch=z9hG4bK-1a-6888-3122f5a7 Max-Forwards: 70 Supported: replaces User-Agent: Gaoke MG6000 Serial Gateway Contact: "3232301"<sip:3232301@138.1.0.132:5060> Expires: 100 Authorization: Digest username="3232301",realm="",nonce="",uri="sip:138.1.0.200",response="",algorithm= MD5 Content-Length: 0

SIP/2.0 200 OK //状态行 From: "89880000"<sip:89880000@138.1.0.13>;tag=111c368-8a010053-13c4-40030-cd-7128334e-cd To: <sip:567767@138.1.0.13:5060>;tag=102ceee0-0-13c4-386d5043-2a574e78-386d5043 Call-ID: 10d4608-8a010053-13c4-40030-cd-37fe6ab0-cd CSeq: 2 INVITE Via: SIP/2.0/UDP 138.1.0.13:5060;rport;branch=z9hG4bK7310156c8b657bac.1 Via: SIP/2.0/UDP 138.1.0.83:5060;branch=z9hG4bK-cd-323a2-1fb6192e Supported: replaces,100rel Contact: <sip:567767@138.1.0.43:5061> Record-Route: <sip:138.1.0.13:5060;lr> Content-Type: application/sdp Content-Length: 267 v=0 o=escene 2890844526 8000 IN IP4 138.1.0.43 s=IpPhone CALL c=IN IP4 138.1.0.43 t=0 0 m=audio 10000 RTP/AVP 8 0 18 97 a=rtpmap:8 PCMA/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:18 G729/8000 a=rtpmap:97 telephone-event/8000 a=fmtp:97 0-15 a=ptime:20 a=sendrecv
相关主题