SIP协议呼叫流程及协议分析剖析.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SIP协议呼叫流程及协议分析剖析

一、SIP协议介绍: 会话发起协议SIP(Session Initiation Protocol)是一个应用层控制信令协议,用于建立、更改和终止多媒体会话或呼叫。SIP作为一个基础,可以在其上提供很多不同的服务。目前已经定义的媒体类型有音频、视频、应用、数据、控制。 二、SIP呼叫流程: 注册流程: (1)用户首次试呼时,终端代理A 向代理服务器发送REGISTER 注册请求; (2)代理服务器通过后端认证/计费中心获知用户信息不在数据库中,便向终端代理回送401Unauthorized 质询信息,其中包含安全认证所需的令牌; (3)终端代理提示用户输入其标识和密码后,根据安全认证令牌将其加密后,再次用REGISTER 消息报告给代理服务器; (4)代理服务器将REGISTER 消息中的用户信息解密,通过认证/计费中心验证其合法后,将该用户信息登记到数据库中,并向终端代理A 返回成功响应消息200 OK。 呼叫流程: (1) 用户摘机发起一路呼叫,终端代理A 向该区域的代理服务器发起Invite 请求; (2) 代理服务器通过认证/计费中心确认用户认证已通过后,检查请求消息中的Via 头域中是否已包含其地址。若已包含,说明发生环回,返回指示错误的应答;如果没有问题,代理服务器在请求消息的Via 头域插入自身地址,并向Invite 消息的To 域所指示的被叫终端代理B 转送Invite 请求; (3) 代理服务器向终端代理A 送呼叫处理中的应答消息,100 Trying; (4) 终端代理B 向代理服务器送呼叫处理中的应答消息,100 Trying; (5) 终端代理B 指示被叫用户振铃,用户振铃后,向代理服务器发送180 Ringing 振铃信息; (6) 代理服务器向终端代理A 转发被叫用户振铃信息; (7) 被叫用户摘机,终端代理B 向代理服务器返回表示连接成功的应答(200 OK); (8) 代理服务器向终端代理A 转发该成功指示(200 OK); (9) 终端代理A 收到消息后,向代理服务器发ACK 消息进行确认; (10) 代理服务器将ACK 确认消息转发给终端代理B; (11) 主被叫用户之间建立通信连接,开始通话; 结束流程: 用户通话结束后,被叫用户挂机,终端代理B 向代理服务器发送Bye 消息; (3)代理服务器转发Bye 消息至终端代理A,同时向认证/计费中心送用户通话的详细信息,请求计费; (4)主叫用户挂机后,终端代理A 向代理服务器发送确认挂断响应消息200 OK; (5)代理服务器转发响应消息200OK; 注:RFC3621上结束流程为:终端代理B直接发送Bye至终端代理A(未通过代理服务器转发),测试时使用的X-Lite软件Bye消息目的IP为代理服务器。此现象待分析确认。 注销流程: (1) 终端向代理服务器送Register 消息注销,其头中expire 字段置0。 (2) 代理服务器收到后回送200 OK 响应,并将数据库中的用户有关信息注销。 三、SIP报文分析: 注册报文分析 Register报文: Max-Forwards:最大转发次数,就是经过SIP服务器的转发次数,主要是为了防环 Via:SIP版本号2.0、传输类型UDP、呼叫地址 Branch是一种随机码,它被看作传输标识 Via字段中地址是消息发送方或代理转发方设备地址,一般由主机地址和端口号组成 传输类型可以为UDP/TCP/TLS/SCTP Contact:是INVITE消息所必须的,它用来路由到被叫地址设备,也称为用户代理(UA) To:使用用户名888去10.11.58.8登录 From:表示请求消息的发送方和目标方,如果里面有用户名标签,地址要求用尖括号包起来,Tag:随机码 Call-ID:呼叫ID由本地设备生成,全局唯一。每次呼叫该值唯一不变。 本地生成的From tag和Call-ID全局唯一码,被叫方生成To tag全局唯一码。这三个随机码做为整个对话中对话标识在通话双方使用。 CSeq:命令队列,每发送一个新的请求,该数自动加1 Expires:到期时间 回复认证报文: 407:要求代理权 呼叫方回应的认证报文: 代理服务器回应200OK: 呼叫流程: INVITE报文: 0:SDP版本号,目前都是0 O:主叫源地址,类型等 S:呼叫主题 C:连接信息,告诉对端我的连接信息 T:时间戳 M:媒体传输类型,媒体编码,开放端口等 A:媒体属性 (采样率等) 服务器转发后Trying报文: 响铃Ringing报文: 接听电话后回应200OK报文: Content-

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档