SIP协议基本流程学习
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
初始用户注册请求携带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
1xx:临时响应,表示已经接收到请求消息,正在对其进行 处理; 2xx:成功响应,表示请求已经被接收、处理并被成功接受 3xx:重定向响应,表示为完成请求消息需要采取进一步的 行动 4xx:客户机错误,表示请求消息中包含语法错误或者SIP服 务器不能完成对该请求消息的处理。 5xx:服务器错误,表示SIP服务器故障不能完成对正确消息 的处理 6xx:全局故障,表示请求不能在任何SIP服务器上实现。
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
SIP协议基本流程交流学习
公司
徽标
提纲
SIP协议概述 SIP协议基本流程及抓包分析
SIP协议概述
百度文库
SIP协议概念 基本SIP协议功能实体 SIP协议消息 SIP消息基本结构
1 SIP协议概念
SIP(Session Initiation Protocol) 会话初始协 议,“是一个应用层的信令控制协议。用于创建、 修改和释放一个或多个参与者的会话。这些会话可 以是Internet多媒体会议、IP电话或多媒体分发。 会话的参与者可以通过组播(multicast) 、网状单 播(unicast)或两者的混合体进行通信。”
2 基本SIP协议功能实体
定位服务(Location Service):SIP重定位服务器或代理服务器用来获得被叫位 置的一种服务,可由定位服务器提供,但SIP协议不规定SIP服务器如何请求定位服 务。 代理,代理服务器(Proxy、Proxy sever):用于代表其他用户发出请求的中间 程序。它既是客户机也是服务器。用户请求可以直接被代理服务器处理或被转发给 别的代理服务器。代理服务器在转发之前要对消息进行解析 ,必要时还会改写请 求。 重定向服务器(Redirect server):用来接收SIP请求,将其地址映射成零个或 多个新地址,并把结果返回给客户。与代理服务器(Proxy Server)不同,它不发 出自己的SIP请求;与用户助理服务器(User Agent Server)不同,它不接受呼叫。
初始用户注册请求不携带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
INVITE:用于邀请用户加入一个呼叫。 ACK:用于对请求消息的响应消息进行确认。 OPTIONS:用于请求能力信息。 BYE:用于释放已建立的呼叫。 CANCEL:用于释放尚未建立的呼叫。 REGISTER:用于向SIP网络服务器登记用户位置信息。
响应消息由状态码来区分,状态码包含三位整数,状 态码的第一位用于定义响应类型,另外两位用于进一 步对响应进行更加详细的说明,包括: 1xx,2xx,3xx,4xx,5xx,6xx
注册员(Registrar):用来接收 REGISTER 请求消息的服务器,常与代理或重定 向服务器在同一位置,可以提供定位服务。
用户助理客户(User Agent Client):用来发起SIP请求的客户程序。
用户助理服务器(User Agent Server): 收到SIP请求后负责与用户联系并代表 用户回送响应的服务程序。该响应可以表示接受、拒绝或重定向请求消息。
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
3 SIP协议消息
SIP 消息采用文本方式编码,分为两类:请 求消息和响应消息。 请求消息:用于客户端为了激活按特定操 作而发给服务器的SIP 消息。 响应消息:用于对请求消息进行响应,指 示呼叫的成功或失败状态。
请求消息类型包括: INVITE,ACK,OPTIONS,BYE,CANCEL 和 REGISTER 消息等
4 SIP消息基本结构 请求消息和响应消息的格式,一般由起始行,若干 个消息头和消息体构成。
SIP一般消息 = 起始行 *消息头 CRLF(空行) [消息体]
起始行 = 请求行/状态行 ( SIP请求消息起始行是请求行 (Request-Line),响应消息起始行是状态行(StatusLine))。 请求消息头至少包括From、To、CSeq、Call-ID、MaxForwards、Via 六个头字段,它们是构建SIP消息基本单元 消息体一般采用SDP(Session Description Protocol)协议, 会话描述协议
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