1、公司公司徽标徽标SIP协议基本流程交流学习提纲 SIPSIP协议概述协议概述 SIPSIP协议基本流程及抓包分析协议基本流程及抓包分析SIPSIP协议概述协议概述l SIP协议概念l 基本SIP协议功能实体l SIP协议消息l SIP消息基本结构1 SIP协议概念协议概念2 2 基本基本SIPSIP协议功能实体协议功能实体3 SIP协议消息 SIP 消息采用文本方式编码,分为两类:请求消息和响应消息。请求消息:用于客户端为了激活按特定操作而发给服务器的SIP 消息。响应消息:用于对请求消息进行响应,指示呼叫的成功或失败状态。请求消息类型包括:INVITE,ACK,OPTIONS,BYE,CAN
2、CEL 和 REGISTER 消息等 INVITE:用于邀请用户加入一个呼叫。ACK:用于对请求消息的响应消息进行确认。OPTIONS:用于请求能力信息。BYE:用于释放已建立的呼叫。CANCEL:用于释放尚未建立的呼叫。REGISTER:用于向SIP网络服务器登记用户位置信息。u响应消息由状态码来区分,状态码包含三位整数,状态码的第一位用于定义响应类型,另外两位用于进一步对响应进行更加详细的说明,包括:1xx,2xx,3xx,4xx,5xx,6xx 1xx:临时响应,表示已经接收到请求消息,正在对其进行处理;2xx:成功响应,表示请求已经被接收、处理并被成功接受 3xx:重定向响应,表示为完
3、成请求消息需要采取进一步的行动 4xx:客户机错误,表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理。5xx:服务器错误,表示SIP服务器故障不能完成对正确消息的处理 6xx:全局故障,表示请求不能在任何SIP服务器上实现。4 SIP消息基本结构 请求消息和响应消息的格式,一般由起始行,若干个消息头和消息体构成。六个头字段,它们是构建SIP消息基本单元 INVITE sip:567767138.1.0.13:5060 SIP/2.0 /请求行From:89880000;tag=111c368-8a010053-13c4-40030-cd-7128334e-cdTo:Call
4、-ID:10d4608-8a010053-13c4-40030-cd-37fe6ab0-cdCSeq:1 INVITEVia:SIP/2.0/UDP 138.1.0.83:5060;branch=z9hG4bK-cd-32352-af6db88Max-Forwards:70Supported:replacesUser-Agent:Gaoke MG6000 Serial GatewayContact:89880000Allow:INVITE,ACK,CANCEL,BYE,OPTIONS,PRACK,UPDATE,SUBSCRIBE,NOTIFY,REFER,INFOContent-Type:ap
5、plication/sdpContent-Length:278v=0o=89880000 1377333347 4616012 IN IP4 138.1.0.83s=Audio Sessioni=Audio Sessionc=IN IP4 138.1.0.83t=0 0m=audio 12000 RTP/AVP 8 0 18 97a=rtpmap:8 PCMA/8000a=rtpmap:0 PCMU/8000a=rtpmap:18 G729/8000a=rtpmap:97 telephone-event/8000a=fmtp:97 0-16a=ptime:20SIP/2.0 200 OK /状
6、态行From:89880000;tag=111c368-8a010053-13c4-40030-cd-7128334e-cdTo:;tag=102ceee0-0-13c4-386d5043-2a574e78-386d5043Call-ID:10d4608-8a010053-13c4-40030-cd-37fe6ab0-cdCSeq:2 INVITEVia:SIP/2.0/UDP 138.1.0.13:5060;rport;branch=z9hG4bK7310156c8b657bac.1Via:SIP/2.0/UDP 138.1.0.83:5060;branch=z9hG4bK-cd-323a2
7、-1fb6192eSupported:replaces,100relContact:Record-Route:Content-Type:application/sdpContent-Length:267v=0o=escene 2890844526 8000 IN IP4 138.1.0.43s=IpPhone CALLc=IN IP4 138.1.0.43t=0 0m=audio 10000 RTP/AVP 8 0 18 97a=rtpmap:8 PCMA/8000a=rtpmap:0 PCMU/8000a=rtpmap:18 G729/8000a=rtpmap:97 telephone-ev
8、ent/8000a=fmtp:97 0-15a=ptime:20a=sendrecvSIPSIP协议基本流程及抓包分析协议基本流程及抓包分析l 注册、注销流程l 基本通话流程及测试抓包l 呼叫前转流程l 补充业务流程1 注册、注销流程 查看注册周期:REGISTER sip:138.1.0.200 SIP/2.0From:3232301;tag=111c588-8a010084-13c4-40030-6a-45b3662a-6aTo:3232301Call-ID:10a5cd0-8a010084-13c4-40030-6a-f28e7cc-6aCSeq:1 REGISTERVia:SIP/2.
9、0/UDP 138.1.0.132:5060;branch=z9hG4bK-6a-19e7e-25e28b34Max-Forwards:70Supported:replacesUser-Agent:Gaoke MG6000 Serial GatewayContact:3232301Expires:100 /此值注册周期大小,设备会在这个时间内重新发起注册,一般在(1/2注册周期)时就会发起注册.注销包时此值为0Content-Length:0 初始用户注册请求携带authorization信息;如果启用该配置项,设备在第一次发起注册时就会携带authorization信息REGISTER si
10、p:138.1.0.200 SIP/2.0From:3232301;tag=111c028-8a010084-13c4-40030-1a-379300d6-1aTo:3232301Call-ID:10a5cd0-8a010084-13c4-40030-1a-6918b0-1aCSeq:1 REGISTERVia:SIP/2.0/UDP 138.1.0.132:5060;branch=z9hG4bK-1a-6888-3122f5a7Max-Forwards:70Supported:replacesUser-Agent:Gaoke MG6000 Serial GatewayContact:3232
11、301Expires:100Authorization:Digest username=3232301,realm=,nonce=,uri=sip:138.1.0.200,response=,algorithm=MD5Content-Length:0 初始用户注册请求不携带authorization信息REGISTER sip:138.1.0.200 SIP/2.0From:3232301;tag=111bfe8-8a010084-13c4-40030-1a-379300d6-1aTo:3232301Call-ID:10a5c90-8a010084-13c4-40030-1a-6918b0-1
12、aCSeq:1 REGISTERVia:SIP/2.0/UDP 138.1.0.132:5060;branch=z9hG4bK-1a-6892-3122f5a7Max-Forwards:70Supported:replacesUser-Agent:Gaoke MG6000 Serial GatewayContact:3232301Expires:100Content-Length:0 使用完整信息注册:如果启用该配置项,设备每次发起注册,注册服务器或代理服务器都会重新要求认证,否则除第一次注册外,其它每次注册均携带认证信息,注册服务器或代理服务器不会重新要求注册,默认为启用2 基本通话流程查看
13、主叫号码(display info字段)主叫号码显示限制(显示名:anonymous)被叫未摘机主叫挂机 媒体协商 v=0 o=5501 418095289 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 4 0 8 18/算法优先顺序(12000为RTP端口号)a=rtpmap:4 G723/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:18 G729/8000 a=ptime:30 DTMF:INFO消息,RFC2833 INFO消息方式:设备使用SIP INFO消息传送按键信息 RFC2833方式:抓包查看设备是否有 rtpevent包 注意包中字段Payload type:telephone-event(97),此值为在设备上配置的RFC2833 载荷类型值 T.38传真3 呼叫前转流程 无条件转、无应答转、遇忙转 主要注意302包的Contact字段 无条件转优先级最高4 补充业务 盲转 咨询转 呼叫等待 三方会议盲转咨询转呼叫等待三方会议谢谢 谢谢!