移动软交换中短消息业务设计与实现

2024-02-21 08:32

本文主要是介绍移动软交换中短消息业务设计与实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

董 宁 苏 森 

    北京邮电大学 计算机科学与技术学院 100876

  1 引言

  UMTS(Universal Mobile Tele communications System)系统是无线技术采用WCDMA的第三代移动通信系统,其标准化工作由3GPP(3rd Generation Partnership Project)组织完成,到目前为止已经推出四个版本,即R99、R4、R5和R6。3GPP所规定的UMTS系统,从R4版本开始,在核心网最大的变化是在电路域引入了软交换的概念,将控制和承载分开,原来的MSC变为MSC服务器和媒体网关MGW(Media GateWay),话音通过MGW由分组域来传送。

  软交换作为下一代网络(NGN,Next Generation Network)的核心技术,为下一代网络提供具有实时性要求的业务的呼叫控制和连接控制功能,是下一代网络呼叫与控制的核心。移动软交换是软交换技术发展的新方向。

  移动软交换是软交换技术在移动通信网络中的应用,也是软交换技术发展的新趋势。而作为移动的主要业务之一的短消息业务,鉴于其为运营商和开发商所带来的巨大经济利益以及为消费者带来的方便,也成为了移动软交换的实现过程中必需支持的一项业务。下面将以短消息业务为例具体阐述移动软交换对移动网络的支持。

  2 短消息实现原理

  2.1 业务定义

  短消息分为两类:小区广播短消息(CBS)和点到点短消息(SMS)。通常提到的短消息业务主要是指点到点短消息,本文此后的叙述中如非特别声明,都特指点到点短消息。

  短消息是GSM/UMTS中不要求建立端-端业务路径的业务。即使移动台已处于完全电路通信情况下仍可进行短消息传输。通常短消息通信仅限于一个消息,换言之,一个消息的传输就构成了一次通信。因此,业务是非对称的,一般认为移动起始短消息传输(SM-MO)与移动终接短消息(SM-MT)传输是两回事。这并不阻碍实时对话,但系统认为不同的消息彼此独立,消息的传输总是由处于GSM/UMTS外部的业务中心(SC)进行中继。消息有目的地或起源地,但只与用户和SC有关,而与其他GSM/UMTS基础设施无关。

  SMS通过SC,在GSM/UMTS MS与SME间提供传送短消息的手段。SC在MS与SME间负责消息传送的互操作与中继的功能。

  2.2 网络架构

  短消息业务在移动通信网络实现过程中,主要涉及无线接入部分、MSC内部和核心网络实体间三部分的协议。链路1包括无线空中接口和Iu接口(GSM中为A接口),其中Iu接口使用RANAP协议;链路2和3属于移动核心网,使用的是MAP协议。链路4是移动网络与短消息中心SC的接口,具体使用哪种协议由运营商决定。

  2.3 协议体系

  (1)RANAP

  短消息由RNC通过RANAP协议透传到MSC Server(软交换实体)。RANAP是Iu的信令协议,包含了所有为无线网络层规定的控制信息。RANAP的功能通过各种RANAP基本进程(EP)来实现。每个RANAP功能可能要求运行一到多个EP,每个EP或者包含请求应答消息对(1类EP),或者只包含请求消息(2类EP),或者包含一个请求消息和一到多个应答消息(3类EP)。短消息PDU(Protocol Data Unit)通过RANAP的UE-CN信令从RNC透传到MSC。

  (2) MAP

  移动应用部分(MAP)协议是专为移动通信要求而设计的协议。MAP在TCAP之上,都对应于OSI参考模型的第七层,是七号信令的应用层协议。MAP只使用SCCP无连接方式。该协议用于MSC、HLR、VLR及EIR各接点之间的通信:位置登记;位置删除;取消登记;用户业务的处理、管理和检索;用户参数的管理(即HLR和VLR的更新);切换;保密鉴权数据的传输等等。

  MAP是TCAP的一个用户,采用交换协议数据和会话方式,处理MSC、HLR和VLR等不同实体间的同等层的通信。MAP包含的一系列的功能块称为应用上下文单元,用于两节点同等层间的通信。有时一个系统同时和几个系统产生联系,切换就是一个例子。用MAP协议,一个实体可以同时和几个实体通信。

  对于短消息业务的支持也MAP的功能之一。通过MAP消息,短消息可以在伺服MSC和IWMSC/GMSC之间相互传送。

  (3)MSC Server内部的协议结构

  由于MSC server是由软交换技术实现的,故短消息业务在MSC中的协议体系,也就是在软交换实体中的协议体系。与3GPP 24011规范相对应,软交换内部短消息协议体系分为三层:SM-TP、SM-RP和SM-CP。SM-TP层消息作为TPDU被封装在SM-RP层消息的用户数据中,SM-RP层消息作为RPDU又被封装在SM-CP层消息的用户数据中,最后SM-CP层消息作为CPDU使用底层的承载信令如RANAP信令在不同实体间传输。在核心网络上,由于SM-RP层和SM-CP层的消息已被MSC处理,故只剩下SM-TP层的消息使用MAP作为承载信令在核心网络上传输。

  SM-TP是短消息传输层协议。该层消息参数包括有效周期、业务中心时间戳、协议标识、目的手机用户地址等等,是需要MS和SMC来处理的。所以对于MSC server来说是透明传送,不需要关心的。可以说MSC server的任务就是将TPDU正确传送到SMC或MS

  SM-RP是短消息中继层协议。该层消息参数最主要的就是用户数据和目的短信中心地址。根据该层的消息参数,可以生成相应的MAP消息,进行核心网上短消息的路由。相关消息如下表:

  SM-CP是短消息控制层协议。该层消息的主要功能是对无线接口上短消息流程进行控制,保证短消息在无线接口上正确传送。

  3 短消息在软交换中的实现方案

  3.1 软交换的系统结构

  软交换系统的系统框图,包括协议处理子系统(Protocol Process)、呼叫控制子系统(Call Control)、呼叫服务子系统(Call Service)、VLR子系统,业务适配子系统(Service Adaptation)和OAM子系统。其中协议处理子系统中的ML3代表移动第三层信令的处理模块,包括2G的BSSAP和3G的RANAP协议的适配部分。

  协议处理子系统通过协议栈与远端通信实体进行通信(包括信令交互和媒体交互),向上层模块如呼叫控制、呼叫服务屏蔽协议差异并维持在线用户的状态。系统中针对不同的用户接入类型,如移动、ISUP、多媒体等均分别存在对应的子模块。呼叫控制与系统中各协议处理子模块进行通信,完成信令控制任务,同时与呼叫服务通信,获取号码分析结果、路由信息等服务。呼叫服务与系统中各协议处理子模块进行通信,完成资源管理、位置管理、用户信息管理等任务,并提供号码分析、路由信息等服务。VLR是与移动关联的用户数据库,并对短消息的传输提供RP层的控制功能。业务适配是软交换对外的业务接口,为应用服务器和智能网提供业务接入功能。

  3.2 短消息在软交换中所涉及的模块

  由于MSC中对于短消息的协议处理分为SM-CP和SM-RP两个层次,所以结合我们的软交换设计方案,我们将短消息的业务处理也分为两个部分:ML3中处理SM-CP层消息,VLR中处理SM-RP层消息。这其中VLR的角色与传统移动通信网络中的VLR有很大不同。在传统移动通信网络中,VLR只是MSC为了处理所辖区域中MS的来话去话呼叫、所需检索信息的数据库,存储与呼叫处理有关的一些数据。而在软交换实现中,VLR除了担负上述功能外,由于VLR具有用户的数据,为避免过多的内部通信流程,我们将移动通信中的鉴权、位置更新、寻呼,和短消息等呼叫无关业务过程的控制赋予VLR。所以此时VLR已成为一个呼叫无关业务过程的控制实体。

  SM是ML3中的短消息协议处理模块,实现短消息控制实体(SMC)的功能。在MO业务方式时,负责处理SM-CP层消息,并从中解码SM-RP层参数,形成SM-RP层消息发送给VLR。在MT业务时负责将从VLR收到的SM-RP层消息编码成RPDU,形成SM-CP层消息发送给底层协议栈。在短消息业务过程结束后,它还要通知MM(移动性管理)释放无线接口的连接。Alert过程的状态图与MO是一样的。

  VLR完成短消息中继实体(SMR)的功能:SM-RP消息与MAP消息的交互。根据收到的SM-RP层消息,构造相应的与MAP状态机的中间消息,进行MAP过程,反方向则根据收到的MAP中间消息,构造相应的SM-RP层消息,进行短消息中继。实际上VLR起到了短消息业务过程在无线接入部分协议(RANAP或BSSAP)与核心网协议(MAP)之间的桥梁作用,使得SM与MAP状态机协调配合,共同完成短消息的传送。

  MAP子模块通过MAP协议消息完成短消息业务在核心网络上的发送与接受。MO方式时,MAP子模块启动应用上下文名为shortMsgMO-RelayContext的MAP对话,向IWMSC发送短消息;Alert过程时,MAP子模块启动应用上下文名为mwdMngtContext的MAP对话,向HLR发送用户准备好消息;MT方式时,MAP子模块接受应用上下文名为shortMsgMT-RelayContext的MAP对话,从GMSC接收短消息。以上过程都是3GPP 29002规范中定义的标准过程,本文就不再赘述。

  3.3 业务流程

  (1)SM-MO过程

  该业务过程由一条连接管理消息CM-SERVICE-REQUEST触发[5],然后建立MM连接;在MM连接建立后,由MS发往网络侧的CP-DATA消息开始短消息业务过程。在收到经过SC返回的确认消息后,短消息业务过程结束,释放MM连接。

  (2)SM-MT过程

  MT方式由从GMSC收到的MAP-MT-FORWARD-SHORT-MESSAGE触发,然后VLR会发出PAGING消息寻呼MS,建立MM连接;在MM连接建立后,开始短消息业务过程,向MS发送短消息;在收到MS返回的确认后,释放MM连接。

  4 结束语

  本文提出了基于软交换实现短消息业务的一种解决方案,经过实践证明是可行、有效的。除了基本语音呼叫和短消息业务之外,适应未来移动网络宽带化、智能化和多媒体化的特点。3GPP提出了基于位置的业务、无线因特网业务、视频点播等高速多媒体业务的实现方式。软交换对于这些增强型移动业务的支持将成为当前以及今后需要进一步研究与探讨的课题。

这篇关于移动软交换中短消息业务设计与实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/731149

相关文章

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co

python中列表list切分的实现

《python中列表list切分的实现》列表是Python中最常用的数据结构之一,经常需要对列表进行切分操作,本文主要介绍了python中列表list切分的实现,文中通过示例代码介绍的非常详细,对大家... 目录一、列表切片的基本用法1.1 基本切片操作1.2 切片的负索引1.3 切片的省略二、列表切分的高

基于Python实现一个PDF特殊字体提取工具

《基于Python实现一个PDF特殊字体提取工具》在PDF文档处理场景中,我们常常需要针对特定格式的文本内容进行提取分析,本文介绍的PDF特殊字体提取器是一款基于Python开发的桌面应用程序感兴趣的... 目录一、应用背景与功能概述二、技术架构与核心组件2.1 技术选型2.2 系统架构三、核心功能实现解析

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Nginx中location实现多条件匹配的方法详解

《Nginx中location实现多条件匹配的方法详解》在Nginx中,location指令用于匹配请求的URI,虽然location本身是基于单一匹配规则的,但可以通过多种方式实现多个条件的匹配逻辑... 目录1. 概述2. 实现多条件匹配的方式2.1 使用多个 location 块2.2 使用正则表达式

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://

SpringBoot实现导出复杂对象到Excel文件

《SpringBoot实现导出复杂对象到Excel文件》这篇文章主要为大家详细介绍了如何使用Hutool和EasyExcel两种方式来实现在SpringBoot项目中导出复杂对象到Excel文件,需要... 在Spring Boot项目中导出复杂对象到Excel文件,可以利用Hutool或EasyExcel

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

Golang中map缩容的实现

《Golang中map缩容的实现》本文主要介绍了Go语言中map的扩缩容机制,包括grow和hashGrow方法的处理,具有一定的参考价值,感兴趣的可以了解一下... 目录基本分析带来的隐患为什么不支持缩容基本分析在 Go 底层源码 src/runtime/map.go 中,扩缩容的处理方法是 grow