您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > SIP协议基本流程学习
公司徽标SIP协议基本流程交流学习提纲SIP协议概述SIP协议基本流程及抓包分析SIP协议概述SIP协议概念基本SIP协议功能实体SIP协议消息SIP消息基本结构1SIP协议概念SIP(SessionInitiationProtocol)会话初始协议,“是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。”2基本SIP协议功能实体定位服务(LocationService):SIP重定位服务器或代理服务器用来获得被叫位置的一种服务,可由定位服务器提供,但SIP协议不规定SIP服务器如何请求定位服务。代理,代理服务器(Proxy、Proxysever):用于代表其他用户发出请求的中间程序。它既是客户机也是服务器。用户请求可以直接被代理服务器处理或被转发给别的代理服务器。代理服务器在转发之前要对消息进行解析,必要时还会改写请求。重定向服务器(Redirectserver):用来接收SIP请求,将其地址映射成零个或多个新地址,并把结果返回给客户。与代理服务器(ProxyServer)不同,它不发出自己的SIP请求;与用户助理服务器(UserAgentServer)不同,它不接受呼叫。注册员(Registrar):用来接收REGISTER请求消息的服务器,常与代理或重定向服务器在同一位置,可以提供定位服务。用户助理客户(UserAgentClient):用来发起SIP请求的客户程序。用户助理服务器(UserAgentServer):收到SIP请求后负责与用户联系并代表用户回送响应的服务程序。该响应可以表示接受、拒绝或重定向请求消息。3SIP协议消息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服务器上实现。4SIP消息基本结构请求消息和响应消息的格式,一般由起始行,若干个消息头和消息体构成。SIP一般消息=起始行*消息头CRLF(空行)[消息体]起始行=请求行/状态行(SIP请求消息起始行是请求行(Request-Line),响应消息起始行是状态行(Status-Line))。请求消息头至少包括From、To、CSeq、Call-ID、Max-Forwards、Via六个头字段,它们是构建SIP消息基本单元消息体一般采用SDP(SessionDescriptionProtocol)协议,会话描述协议INVITEsip:567767@138.1.0.13:5060SIP/2.0//请求行From:89880000sip:89880000@138.1.0.13;tag=111c368-8a010053-13c4-40030-cd-7128334e-cdTo:sip:567767@138.1.0.13:5060Call-ID:10d4608-8a010053-13c4-40030-cd-37fe6ab0-cdCSeq:1INVITEVia:SIP/2.0/UDP138.1.0.83:5060;branch=z9hG4bK-cd-32352-af6db88Max-Forwards:70Supported:replacesUser-Agent:GaokeMG6000SerialGatewayContact:89880000sip:89880000@138.1.0.83:5060Allow:INVITE,ACK,CANCEL,BYE,OPTIONS,PRACK,UPDATE,SUBSCRIBE,NOTIFY,REFER,INFOContent-Type:application/sdpContent-Length:278v=0o=8988000013773333474616012INIP4138.1.0.83s=AudioSessioni=AudioSessionc=INIP4138.1.0.83t=00m=audio12000RTP/AVP801897a=rtpmap:8PCMA/8000a=rtpmap:0PCMU/8000a=rtpmap:18G729/8000a=rtpmap:97telephone-event/8000a=fmtp:970-16a=ptime:20SIP/2.0200OK//状态行From:89880000sip:89880000@138.1.0.13;tag=111c368-8a010053-13c4-40030-cd-7128334e-cdTo:sip:567767@138.1.0.13:5060;tag=102ceee0-0-13c4-386d5043-2a574e78-386d5043Call-ID:10d4608-8a010053-13c4-40030-cd-37fe6ab0-cdCSeq:2INVITEVia:SIP/2.0/UDP138.1.0.13:5060;rport;branch=z9hG4bK7310156c8b657bac.1Via:SIP/2.0/UDP138.1.0.83:5060;branch=z9hG4bK-cd-323a2-1fb6192eSupported:replaces,100relContact:sip:567767@138.1.0.43:5061Record-Route:sip:138.1.0.13:5060;lrContent-Type:application/sdpContent-Length:267v=0o=escene28908445268000INIP4138.1.0.43s=IpPhoneCALLc=INIP4138.1.0.43t=00m=audio10000RTP/AVP801897a=rtpmap:8PCMA/8000a=rtpmap:0PCMU/8000a=rtpmap:18G729/8000a=rtpmap:97telephone-event/8000a=fmtp:970-15a=ptime:20a=sendrecvSIP协议基本流程及抓包分析注册、注销流程基本通话流程及测试抓包呼叫前转流程补充业务流程1注册、注销流程ARegisterServerRegister200OK401UnauthorizedRegister查看注册周期:REGISTERsip:138.1.0.200SIP/2.0From:3232301sip:3232301@138.1.0.200;tag=111c588-8a010084-13c4-40030-6a-45b3662a-6aTo:3232301sip:3232301@138.1.0.200Call-ID:10a5cd0-8a010084-13c4-40030-6a-f28e7cc-6aCSeq:1REGISTERVia:SIP/2.0/UDP138.1.0.132:5060;branch=z9hG4bK-6a-19e7e-25e28b34Max-Forwards:70Supported:replacesUser-Agent:GaokeMG6000SerialGatewayContact:3232301sip:3232301@138.1.0.132:5060Expires:100//此值注册周期大小,设备会在这个时间内重新发起注册,一般在(1/2注册周期)时就会发起注册.注销包时此值为0Content-Length:0初始用户注册请求携带authorization信息;如果启用该配置项,设备在第一次发起注册时就会携带authorization信息REGISTERsip:138.1.0.200SIP/2.0From:3232301sip:3232301@138.1.0.200;tag=111c028-8a010084-13c4-40030-1a-379300d6-1aTo:3232301sip:3232301@138.1.0.200Call-ID:10a5cd0-8a010084-13c4-40030-1a-6918b0-1aCSeq:1REGISTERVia:SIP/2.0/UDP138.1.0.132:5060;branch=z9hG4bK-1a-6888-3122f5a7Max-Forwards:70Supported:replacesUser-Agent:GaokeMG6000SerialGatewayContact:3232301sip:3232301@138.1.0.132:5060Expires:100Authorization:Digestusername=3232301,realm=,nonce=,uri=sip:138.1.0.200,response=,algorithm=MD5Content-Length:0初始用户注册请求不携带authorization信息REGISTERsip:138.1.0.200SIP/2.0From:3232301sip:3232301@138.1.0.200;tag=111bfe8-8a010084-13c4-40030-1a-379300d6-1aTo:3232301sip:3232301@138.1.0.200Call-ID:10a5c90-8a010084-13c4-40030-1a-6918b0-1aCSeq:1REGISTERVia:SIP/2.0/UDP138.1.0.132:5060;branch=z9hG4bK-1a-6892-3122f5a7Max-Forwards:70Supported:replacesUser-Agent:GaokeMG6000SerialGatewayContact:3232301sip:3232301@138.1.0.132:5060Expires:100Content-Length:0使用完整信息注册:如果启用该配置项,设备每次发起注册,注册服务器或代理服务器都会重新要求认证,否则除第一次注册外,其它每次注册均携带认证信息,注册服务器或代理服务器不会重新要求注册,默认为启用2基本通话流程查看主叫号码(displayinfo字段)主叫号码显示限制(显示名:anonymous)ASIPServerBINVITE(SDP)100Trying407AuthenticationRequiredINVITE(SDP)ACK100T
本文标题:SIP协议基本流程学习
链接地址:https://www.777doc.com/doc-638261 .html