- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于SIP协议的forking功能的研究和实现
SIP协议是用于建立、更改和终止呼叫的应用层协议,在IMS系统 中使用非常广泛。而Fork是SIP中一个非常实用非常重要的功能, 木文阐述了在Fork功能的基本原理,并在已有的SIP架构上,分析 了此功能的实现方法和具体的流程。
SIP(会话初始协议,RFC3261)是IETF定义的通过IP网络建立和 管理多媒体会话的协议,它采用的是众所周知的客户机服务器模 式,它借鉴了 SMTP(简单邮件传送协议,RFC2821)以及(超文木传送 协议,RFC2616)的原理,而这两个协议是因特网上最成功的协议, 同时,SIP是一个基于文本的协议,这意味着它更易于扩展、纠错 和构建各种业务。因此,在IMS (IP多媒体子系统)中,选择SIP作 为其会话控制协议,更易于建立具有更大承载能力的业务。
根据协议标准定义及实际研制经验,协议平台的SIP协议分析划 分为以下几部分内容:SIP事务用户层(TU, Transaction User), 事务层(TR, TRansaction),传输层(TP, TransPort),编解码模块 (SIP PARSER/SDPPARSER, SIP协议编解码及SDP编解码),信令压 缩模块(SIGP)几个协议主体部分。除了这几个协议主体以外,SIP 还需要实现和上层业务、数据库以及底层承载之间的接口,方便进 行数据以及消息的交互。
SIP协议的TU层是SIP协议主体的重要组成部分,它的功能包含 几个方而:(1)负责SIP消息到上层应用进程的消息分发;对上层应 用屏蔽底层协议实现和分布式处理的细节;(2)对于需要创建对话 的,维护对话的生命周期,管理对话的事务列表;(3)完成UAC, UAS或者代理pro xy的协议栈行为。
数据区的创建根据协议栈的行为分为UA和proxy两种情况。
Proxy方式下会存在一人一出两个Leg对象,人呼侧由TU收到事 务层的初始请求而创建人呼侧Leg对象,消息通过人呼侧Leg处理 后上报上层应用,上层应用处理结束后,转发初始请求到TU的出呼 侧,TU进而创建出呼侧Leg对象以及下发SIP消息。
UA方式下,作为被叫网元,TU协议栈收到事务的初始请求后,创 建人呼L跆后,通过初始请求消息上报上层业务,上层业务处理完 业务逻辑后,通过人呼Leg回送响应到事务层。后续请求和响应都 是通过人呼Leg传送。作为主叫网元,上层应用调用发送初始请求 接口到TU, TU创建出呼侧Leg后,初始请求消息通过该Leg发送至 事务层,后续请求和响应都是通过出呼侧Leg传递。
fork即常说的分叉,一个请求可以分叉为发往多个目标地址的请 求。假定B用户为一号多机用户,即一个SIP用户可以同时在很多 终端上注册,每种终端可以实现不同的功能,比如便携PC支持视频 而固定SIP电话可能功能简洁,B用户多个终端同时在线,当A用 户呼叫B用户时,那么B用户的多个终端都会收到呼叫请求,它的 任意终端都可以去响应这个呼叫。A最终会选择一个终端创建会 话。
在IMS中实现fork功能涉及到的网元类型分为终端(UA行为)以 及代理服务器(proxy)行为,根据协议的描述,梳理不同网元的处理 原则。
1. 1终端处理原则
仃)请求
根据协议的描述,只有初始对话(独立事务)请求才会发生forko 终端可以在初始请求INVITE的码流中的通过添加Request- Disposition头部中指示代理进行fork的相关处理。同时,当被叫 终端注册了多个时,主叫终端可以添加Aept-Contact, Reject- Contact 参数,指示代理选择符合用户偏好的被叫以及优先级更高 的被叫。
(2)响应
当fork发生时,多个被叫终端都会对主叫产生响应,未创建对话 前,主叫终端可以接受或拒绝任何被叫终端的Fork应答,如果终端 拒绝fork临时应答,那么必须发送cancel或者bye请求,这些请 求是针对每个终端即每一个fork的分支都需要发岀。
主叫终端如果接收到被叫终端一个fork分支的成功应答即2xx响 应,开始创建会话;应该释放其他fork分支的早对话和非早对话, 具体释放的方式根据各个fork分支的不同而不同。其中对于已经收 到了临时响应的fork分支,不管是否建立起了早对话,则发送 CANCEL请求来释放;对于没有收到任何的临时响应的fork分支,则 不能发送CANCEL请求,通过TU设置的保护定时器超时,来释放该 分支的相关资源。
主叫终端只能收到一条最终响应,如果收到2xx响应,则建立对 话,如果为2xx以上的响应,则认为无法建立呼叫,则需要释放呼 叫。
1.2代理处理原则
(1)请求
提取码流中fork和用户喜好相关的字段,处理fork请求,比如 到被叫的归属的服务
您可能关注的文档
- 在中国淘金――阿拉伯人走上新丝绸之路.docx
- 在超深地下连续墙中使用“V”型板、止浆片.docx
- 地方两会聚焦:明天咱们如何养老.docx
- 地铁施工的安全知识.docx
- 坦洲农村自建房如何计算建筑面积?要花多少钱.docx
- 城市-品牌定位分析(20201230182611).docx
- 城市公园可行性研究报告.docx
- 城市商业银行的现状、挑战与出路.docx
- 培育和创新国有煤矿企业文化的几点思考.docx
- 培训中心与学校安全协议书范文.docx
- 中国特色社会主义思想小学高年级学生读本《“9.蛋糕做大了要分好”》集体备课说课稿.docx
- 中国银行保安服务合同范本.docx
- 购方合同范本.docx
- 中国近现代史复习说课稿.docx
- 中国特色社会主义思想读本初中第1讲第2课时《“两步走”建成社会主义现代化强国》教学设计.docx
- 中国近现代史复习教学设计.docx
- 中国特色社会主义思想小学高年级学生读本《“11国家安全是头等大事”》集体备课说课稿.docx
- 中国移动靓号的合同范本.docx
- 中图版八年级地理上册3.2《语言和宗教》教学设计.docx
- 中国特色社会主义思想小学高年级学生读本《“14.人类是一个休戚与共的命运共同体”》集体备课说课稿.docx
最近下载
- 第七章swing事件模型.pdf
- 公司行政岗位年终述职报告.pptx VIP
- 81404综采工作面作业规程6.pdf VIP
- 小学英语新人教版PEP三年级上册Unit 1 Making friends Part A第1课时教学课件(2024秋).pptx
- 洗煤厂年入洗60万吨原煤扩建项目可行性分析报告.pdf
- 车辆自适应巡航系统性能要求及测试方法.pdf VIP
- GB_T 3880.3-2024一般工业用铝及铝合金板、带材 第 3 部分尺寸偏差.docx VIP
- 半导体管图示仪操作说明.xls
- 东软NetEye防火墙V3.2.4 SNMP MIB参考指南.pdf VIP
- 广西三甲医院各地市分布.docx VIP
文档评论(0)