SIP协议特点

简介: 下一代网络的一个重要目标是建立一个可管理的、高效的、可不断扩展的业务平台。SIP作为应用层信令协议很好地满足了这一系列要求。sip具有很强的包容性,它既可以用于建立(如音频、视频、多方通话等)各种会话,也可以被用来传送即时消息和文件,这得益于它对HTTP等协议的吸收借鉴。

这使运营商能通过统一的业务平台提供综合业务,实现网络的融合。SIP在灵活、方便地提供业务方面具有多方面优点。

1.协议的可扩展性

    SIP协议处于不断丰富的过程之中。SIP的设计者在保持其核心协议简捷的同时,为其建立了强大的扩充机制。协议扩充主要是在消息上做文章,消息的三个基本部分:消息类型、消息头、消息体都可以被不断扩充。SIP基于文本的方式,使各种扩充工作变得十分简便。

消息类型的扩充

    SIP工作组在增加新的功能时,更愿意定义新的消息类型,而不是修补原有类型,以保持每种类型目的单纯,语义清晰。定义新的类型的工作很简单,只需定义一个新的字符串即可。

    一个被广泛接受的新的类型是INFO消息。INFO消息被用来在会话参加者之间传递各种信息。INFO消息可以用来传送通话中随机产生的各种信号,兀可以被用来在会话双方间传递即时消息。还有新提出的REFER消息被用来实现呼叫转移的功能,以及COMET消息用来检验能够用于会话的资源,使用户代理能够根据资源的可用性情况,决定是否接受一个呼叫。

消息头的扩充

    SIP消息包含了一系列消息头,对消息进行必要的描述。现在有35种标准的消息头。用户可以根据需要增加新的消息头以支持新的特性,可以结合新的类型定义新的消息头,可以对原有类型中的内容进行补充。

例如,上述为支持呼叫转移新增的REFFER类型消息,新增两个消息头referred-by用来指示发起转移的一方,reffer-to用来指示会话被转移到的一方。

消息体的扩充

    SIP的消息体可以通过MIME定义的代码进行标识,携带各种类型的数据内容。一个例子是:在新一代网络中,会岀现两个PSTN网络通过IP网络互连,IP网络提供一个仿真的中继线,这时在IP网上釆用IP电话信令(如SIP)-对于两侧PSTN交互的传统电话信令(如ISUP),如果要转换成SIP相应的内容,到另一侧再转换回来,则难免会造成信息丢失。针对这一问题,增加了一个用application/isup标识的消息体,将原始ISUP信令内容打包,原封不动地通过SIP消息携带到对端交换机,这样就可以方便而不失真地传递信令内容。

通过采用MIME方式,SIP消息体可以根据需要任意扩展,携带音频、图像乃至Java小程序等各种内容。

    可见,强大的扩充机制,使SIP的能力不断增强,与时俱进。同时也应看到,由于SIP修改扩充容易,各厂家在开发设备时难免有自由发挥的地方。如何保证各厂家设备功能兼容、互连互通,将成为SIP取得商业成功道路上面临的最关键的挑战之一。这需要标准组织及各方面协调统一,避免协议无节制地蔓延出各种分支。

2.开放的业务生成环境

    传统电话的增值业务是靠智能网来实现的,业务开发复杂、周期长,严重依赖电信设备厂商。面对用户需求日趋多变和个性化,运营商需要能方便地生成各种新的业务,以满足需求、扩大收益。

   SIP网络的业务提供主要由ProxyServer完成,生成一个业务就是设计一个业务逻辑从而对一个特定的消息流进行控制,或对消息请求做出相应的响应。这可以通过任何通用的程序语言编程来实现。IETF起草定义了几种业务生成机制,其思路与Web服务器的方法十分接近。

    IETF将业务提供者分为可信任和不可信任两类。对于不可信任者,如终端用户,提供了CPL(CallProcessingLanguage)语言,用以处理INVITE消息。通过CPL的程序,可以决定一个请求是否被拒绝、转移或转发。这里的终端用户可以是第三方提供的应用服务器,第三方业务提供者可以通过一个特服号提供一系列增值业务。使用者可以通过图形工具完成CPL程序的设计,由于可能面向缺乏经验的使用者,CPL拥有严格的控制机制从而避免带来安全和性能问题。

    IETF还为信任用户(如服务器的管理员)提供了两种业务生成的途径:SIP-CGI和SIPServletoSIP-CGI类似于互联网站普遍使用的HTIP-CGI,它独立于编程语言,为复杂的程序处理提供了一个开放的接口。管理者可以使用任何程序语言实现复杂的处理程序将其运行于服务器,在呼叫过程中SIP-CGI作为程序调用及其信息输入、输出的接口,从而在呼叫过程中插入复杂的控制逻辑,对呼叫流程进行控制。这使提供高度个性化和智能化的业务变得十分方便。SIP Servlet是用Java语言实现的,类似Web服务器常用的JavaServlet,可以在有消息进入的时候被调用,指示SIP服务器如何处理并响应消息。

    这些灵活、开放的机制,使业务提供者能使用通用的编程语言方便开发各种智能业务,而不必考虑服务器本身的实现。这与传统电话的智能网系统的私有编程方法和复杂的接口协议形成鲜明对比。业务开发者可以随时根据需要,在任何局部范围内开发、提供新的个性化业务,其好处不言而喻。

    基于强大的业务生成手段和灵活的消息格式,SIP既可以提供各种传统电话业务,如呼叫转移、遇忙转移、话务的排队和分发、800号等各种智能业务;又可以提供语音与Internet互连(PINT)的业务,如单击拨号、语音邮件等;还可以提供特色业务,如即时消息、Presence(根据用户所处的地点和状态决定具体通信方式)等各种新兴而实用的业务。

3.对移动性的支持

   SIP协议天然具有对移动性的支持。SIP的动态注册机制,使用户端移动变得十分方便。用户端在接入SIP网络时,首先向当地注册服务器发出注册请求,将自己的SIPURL和IP地址告知注册服务器。如果注册服务器不是用户的属主,注册服务器将根据用户注册的URL找到并通知其属主:自己现在为用户服务。此后,对该用户的呼叫先到达用户的原属主服务器,再由其重定向到现在为用户服务的服务器上,从而有效实现对移动用户的支持。如果在会话进行中用户移动到新的位置,则可以通过re-INVITE重新建立新的会话来实现切换。

SIP协议为实现固定和移动业务的无缝融合创造了条件。3GPPR5版本已经选择SIP作为3G移动通信多媒体域的信令协议,来实现基于IP的移动话音和多媒体通信。

相关文章
|
关系型数据库 MySQL Java
spi机制打破双亲委派机制
在JDBC4及以上版本,连接MySQL数据库不再需要显式加载驱动(`Class.forName`),而是利用SPI机制。系统通过扫描`META-INF/services/java.sql.Driver`文件找到`com.mysql.cj.jdbc.Driver`并使用`ServiceLoader`由AppClassLoader加载。`DriverManager`在启动时加载所有可用的`Driver`实现,实现解耦和动态发现。虽然看起来逆向了双亲委派,但实际上每个类仍由适当的类加载器加载,保持了加载层次。
spi机制打破双亲委派机制
|
机器学习/深度学习 人工智能 测试技术
革命来临:AI如何彻底颠覆传统软件开发的每一个环节
【10月更文挑战第32天】本文探讨了AI技术如何重塑软件开发行业,从需求分析、设计、编码、测试到项目管理,AI的应用不仅提高了开发效率,还提升了软件质量和用户体验。通过对比传统方法与AI驱动的新方法,展示了AI在各个阶段的具体应用和优势。
574 3
|
JavaScript 前端开发 开发者
Vue3:快速生成模板代码
Vue3:快速生成模板代码
|
网络协议 中间件 机器人
通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流
怎么获取FreeSWITCH的媒体流是一个老生常谈的问题了,最常见的方法media_bug 很多人需要直接获取原始的声音流,然后自己处理,其实FreeSWITCH也是支持的,只是知道的极少,FreeSWITCH原生支持 unicast 通过udp 把声音流推送到一个UDP端口,和播放网络的声音流。 fs实现的unicast,有一个缺陷如果启动了unicast 就没办法调用playback等放音函数了。
1014 0
|
存储 监控 搜索推荐
深度解析:装机设置全攻略,打造个性化高性能电脑
装机不仅仅是一个技术活,更是一个充满乐趣和创造性的过程。通过精心的硬件选择、兼容性的考虑、操作系统的安装与优化、个性化的设置以及性能测试与调优,你可以打造出一台符合自己使用习惯、性能出众的个性化电脑。同时,不要忽视备份与恢复策略的重要性,确保你的数据和系统安全无忧。希望本文能够为你提供有用的指导和启发,让你在装机的道路上更加得心应手。
334 1
|
Go
VsCode(Visual Studio Code) 安装插件教程
VsCode(Visual Studio Code) 安装插件教程
409 0
|
缓存 Java Spring
@EventPublisher + @Async 异步事件流详解
本文主要介绍Spring事件流和`@Async`异步线程池处理,以及`@Async`默认线程池可能会导致的问题及解决方法。 在@Async注解中value参数使用自定义线程池,能让开发工程师更加明确线程池的运行规则,选取适合的线程策略,规避资源耗尽的风险
|
监控 搜索推荐 安全
企业出海数据合规:GDPR和CCPA差异知多少
GDPR和CCPA在地域管辖、跨境传输活动的管控、针对儿童个人信息处理活动的规制以及数据主体反对数据处理的权利等方面存在差异。GDPR管辖范围更广,更注重保护用户数据,而CCPA更侧重于促进数据的流动和经济价值。在跨境传输方面,GDPR有严格的限制,而CCPA没有明确规定。
709 0