基于SIP的高级电话应用编程框架
在当今数字化时代,电信领域正经历着巨大的变革。电话通信的范围不断扩大,融合了视频、文本和状态事件等多种通信形式,同时也与越来越多的非电信异构资源(如Web服务、日历和数据库)相结合。这种变化使得电信应用的编程变得更加复杂,需要协调各种异构实体并交换任意类型的值。本文将介绍一种基于SIP(会话发起协议)的编程框架,旨在解决高级电话应用开发中的这些挑战。
1. 电信应用的现状与挑战
近年来,电信的范围显著拓宽,为用户提供了包括状态显示、即时消息和视频会议等多种通信模式。同时,电信与大量非电信异构资源相结合,这些资源包括软件实体(如Web服务)和硬件实体(如位置跟踪设备)。这种异构性加上底层技术的复杂性,使得新电信应用的编程成为一项艰巨的任务。
传统的基于SIP的平台虽然具有提供丰富通信形式的潜力,如即时消息、事件通知和会话建立,但现有的软件层(如JAIN、SIP Servlets和Parlay)提供的抽象级别有限,要求程序员具备底层构建块的专业知识,包括信令协议、协议支持层的API、网络协议和分布式系统编程。此外,一些专门为电信服务创建的编程语言(如CPL、LESS或VisuCom)的适用范围仅限于终端用户服务,而像SPL这样的脚本语言则仅限于表达路由逻辑。
2. 工作示例:基于状态的自动回拨应用
为了说明我们的方法,我们考虑一个防止密切合作者错过彼此电话的应用程序,即基于状态的自动回拨应用。目前,呼叫者必须重复拨打电话,直到被叫者接听。当被叫者回电时,原呼叫者可能已经不可用。为了解决这个问题,该应用程序在被叫者不可用时对密切合作者之间的呼叫进行排队,并在双方都可用时立即回拨。
这个应用程序涉及多个
基于SIP的电话应用框架
超级会员免费看
订阅专栏 解锁全文

8

被折叠的 条评论
为什么被折叠?



