资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,SIP,协议基本流程交流学习,SIP协议基本流程交流学习,1,提纲,SIP,协议概述,SIP,协议基本流程及抓包分析,提纲 SIP协议概述,2,SIP,协议概述,SIP,协议概念,基本,SIP,协议功能实体,SIP,协议消息,SIP,消息基本结构,SIP协议概述 SIP协议概念,3,1 SIP,协议概念,SIP,(,Session Initiation Protocol,),会话初始协议,,,“是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是,Internet,多媒体会议、,IP,电话或多媒体分发。会话的参与者可以通过组播,(multicast),、网状单播,(unicast),或两者的混合体进行通信。”,1 SIP协议概念SIP(Session Initiatio,4,2,基本,SIP,协议功能实体,定位服务(,Location Service,),:,SIP,重定位服务器或代理服务器用来获得被叫位置的一种服务,可由定位服务器提供,但,SIP,协议不规定,SIP,服务器如何请求定位服务。,代理,代理服务器(,Proxy,、,Proxy sever,),:用于代表其他用户发出请求的中间程序。它既是客户机也是服务器。用户请求可以直接被代理服务器处理或被转发给别的代理服务器。代理服务器在转发之前要对消息进行解析,必要时还会改写请求。,重定向服务器(,Redirect server,),:用来接收,SIP,请求,将其地址映射成零个或多个新地址,并把结果返回给客户。与代理服务器(,Proxy Server,)不同,它不发出自己的,SIP,请求;与用户助理服务器(,User Agent Server,)不同,它不接受呼叫。,注册员(,Registrar,),:用来接收,REGISTER,请求消息的服务器,常与代理或重定向服务器在同一位置,可以提供定位服务。,用户助理客户(,User Agent Client,),:用来发起,SIP,请求的客户程序。,用户助理服务器(,User Agent Server):,收到,SIP,请求后负责与用户联系并代表用户回送响应的服务程序。该响应可以表示接受、拒绝或重定向请求消息。,2 基本SIP协议功能实体定位服务(Location Ser,5,3 SIP,协议消息,SIP,消息采用文本方式编码,分为两类:,请求消息,和,响应消息,。,请求消息:用于客户端为了激活按特定操作而发给服务器的,SIP,消息。,响应消息:用于对请求消息进行响应,指示呼叫的成功或失败状态。,3 SIP协议消息SIP 消息采用文本方式编码,分为两类:请,6,请求消息类型包括:,INVITE,,,ACK,,,OPTIONS,,,BYE,,,CANCEL,和,REGISTER,消息等,INVITE,:用于邀请用户加入一个呼叫。,ACK,:用于对请求消息的响应消息进行确认。,OPTIONS,:用于请求能力信息。,BYE,:用于释放已建立的呼叫。,CANCEL,:用于释放尚未建立的呼叫。,REGISTER,:用于向,SIP,网络服务器登记用户位置信息。,请求消息类型包括:,7,响应消息由状态码来区分,状态码包含三位整数,状态码的第一位用于定义响应类型,另外两位用于进一步对响应进行更加详细的说明,包括:,1xx,2xx,3xx,4xx,5xx,6xx,1xx,:临时响应,表示已经接收到请求消息,正在对其进行处理;,2xx,:成功响应,表示请求已经被接收、处理并被成功接受,3xx,:重定向响应,表示为完成请求消息需要采取进一步的行动,4xx,:客户机错误,表示请求消息中包含语法错误或者,SIP,服务器不能完成对该请求消息的处理。,5xx,:服务器错误,表示,SIP,服务器故障不能完成对正确消息的处理,6xx,:全局故障,表示请求不能在任何,SIP,服务器上实现。,响应消息由状态码来区分,状态码包含三位整数,状态码的第一位用,8,4 SIP,消息基本结构,请求消息和响应消息的格式,一般由起始行,若干个消息头和消息体构成。,SIP,一般消息 起始行,*消息头,CRLF,(空行),消息体,起始行 请求行,/,状态行(,SIP,请求消息起始行是请求行(,Request-Line,),响应消息起始行是状态行(,Status-Line,)。,请求消息头至少包括,From,、,To,、,CSeq,、,Call-ID,、,Max-Forwards,、,Via,六个头字段,它们是构建,SIP,消息基本单元,消息体一般采用,SDP,(,Session Description Protocol,)协议,会话描述协议,4 SIP消息基本结构请求消息和响应消息的格式,一般由起始行,9,INVITE sip:567767138.1.0.13:5060 SIP/2.0 /,请求行,From:89880000;tag=111c368-8a010053-13c4-40030-cd-7128334e-cd,To:,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,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,INVITE sip:567767138.,10,SIP/2.0 200 OK /,状态行,From:89880000;tag=111c368-8a010053-13c4-40030-cd-7128334e-cd,To:;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:,Record-Route:,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,SIP/2.0 200 OK /状态行,11,SIP,协议基本流程及抓包分析,注册、注销流程,基本通话流程及测试抓包,呼叫前转流程,补充业务流程,SIP协议基本流程及抓包分析 注册、注销流程,12,1,注册、注销流程,1 注册、注销流程,13,查看注册周期,:,REGISTER sip:138.1.0.200 SIP/2.0,From:3232301;tag=111c588-8a010084-13c4-40030-6a-45b3662a-6a,To:3232301,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-19e7e-25e28b34,Max-Forwards:70,Supported:replaces,User-Agent:Gaoke MG6000 Serial Gateway,Contact:3232301,Expires:100,/,此值注册周期大小,设备会在这个时间内重新发起注册,一般在,(1/2,注册周期,),时就会发起注册,.,注销包时此值为,0,Content-Length:0,查看注册周期:,14,初始用户注册请求携带,authorization,信息;如果启用该配置项,设备在第一次发起注册时就会携带,authorization,信息,REGISTER sip:138.1.0.200 SIP/2.0,From:3232301;tag=111c028-8a010084-13c4-40030-1a-379300d6-1a,To:3232301,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,Expires:100,Authorization:Digest username=3232301,realm=,nonce=,uri=sip:138.1.0.200,response=,algorithm=MD5,Content-Length:0,初始用户注册请求携带authorization信息;如果启用,15,初始用户注册请求不携带,authorization,信息,REGISTER sip:138.1.0.200 SIP/2.0,From:3232301;tag=111bfe8-8a010084-13c4-40030-1a-379300d6-1a,To:3232301,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-6892-3122f5a7,Max-Forwards:70,Supported:replaces,User-Agent:Gaoke MG6000 Serial Gateway,Contact:3232301,Expires:100,Content-Length:0,初始用户注册请求不携带authorization信息,16,使用完整信息注册:,如果启用该配置项,设备每次
展开阅读全文