分类 技术志 下的文章

增值类短信业务图文简介

以前一提到短信(Short Message),人们会想到“拇指族(在社交移动APP诞生前,专指用手机高频发短信的一个群体)”、“拜年短信”。现在再提到短信,人们想到的变成了“验证码”、“垃圾短信”以及“我好久不发短信了”。短信这一信息承载的媒介是伴随着移动通信工具一并诞生的,它是“古老的” – 1992年,22岁的加大拿工程师Neil Papworth用电脑给同事Richard Jarvis发出了人类历史上的第一条短信,总共15个字符(包括空格):“merry christmas”;它也辉煌过,是曾经的“网红” – 2012年根据中国工信部(MIIT)的数据,中国手机用户共发送9000亿条短信,这是中国短信数量的高峰。2013年开始,短信开始走下坡路,社交APP(如微信)的出现,让短信业务出现断崖式下跌,直到2018年短信业务才有了些许恢复性的增长。

一. 什么是增值类短信

不可否认的是短信依旧(至少目前依然)是我们日常生活中不可缺少的信息获取媒介,只是我们不再主动发送(点对点短信: 手机用户A发给手机用户B的短信),而是被动接收(应用发给手机用户的验证码、通知信息以及垃圾短信)。

img{512x368}

而这类被动接收的短信,多数都属于我们要重点说明的“增值类短信业务”。所谓增值类短信业务,说白了就是用于应用与用户互动的短信

img{512x368}

在增值类短信最火爆的年代,你一定听说过电台或电视中出现类似:“请发送XXX到YYYYYYY参与平台互动、抽奖、起名、查询天气预报、交通信息甚至是“算命”….”的音频或电视滚动播放的提示文字,这些提供增值类短信应用的商户被称为SP(服务提供商Service Provider),那个时候各大互联网门户也都是SP,都有自己的短信平台与手机用户互动。在这场以短信为媒介发展起来的增值短信业务市场中,移动运营商(国内的移动、联通、电信)赚的盆满钵满,因为每条发送给SP的短信都要扣费,费用至少包含两部分:通信费业务费

  • 通信费是使用运营商短信通道的费用,是运营商收取的,好比汽车上高速要缴纳高速服务费,因为我们的车在行驶过程中占用了高速公路一定面积的路面,并造成了一定的高速路面损害;通信费一般是按条收取的,最常见的费用是1角/条;当然运营商最擅长提供“套餐”,套餐中包含一定数量的短信,如果每月发送的短信条数在套餐数量之下,就无需额外付费。

  • 业务费是使用这个增值短信业务(比如天气预报)产生的费用。这个费用是否都给SP,要看SP与运营商签订的分成协议。多数情况下,运营商还是要从这个费用中扣除一部分分成后,将剩余的打给SP。比如手机用户发送一条查询天气预报的短信花费的业务费为1元;如果运营商和SP的协议是4:6分成的话,那么这1元中,运营商赚4角,提供天气服务的SP赚6角。业务费还可以按条/次或包月收取。以天气预报服务为例,如果是包月,那么手机用户在当月可以无限次给SP发送短信查询天气预报而不用担心逐条扣费。

我们看到在短信增值业务时代,运营商才是最大赢家,他们既收取通信费,还收取部分业务费。在增值类短信最火的几年中,运营商相继推出了自己的移动数据服务品牌,比如中国移动的移动梦网。当然短信增值业务仅是运营商数据业务的一种而已,他们还提供诸如彩信、wap等数据业务。

2013年及以后,随着移动互联网社交APP(诸如微信、移动QQ)的诞生与迅猛发展,短信作为社交工具的职能被彻底剥夺了,点对点短信彻底没落;随着微博、公众号、服务号等平台工具的推出,短信的互动功能、通知服务功能也被大幅削弱,以前的媒体互动平台几乎全部由短信平台迁移到微信、微博平台,大家日常听到最多的是请关注微信公众号或微博参与互动,互动短信被彻底扔到了历史的垃圾桶中。运营商再也不能像以前那样躺着收取手机用户的通道费和业务费了,这也直接导致了运营商在短信业务营收方面的大幅下降,运营商也要开始学勒紧裤腰带过日子了(当然和普通企业相比,运营商还是有钱人)。

目前让增值类短信业务屹立不倒的是验证码短信,这还多亏了国家出台的手机卡办理实名制,实名制让手机与身份几乎一一对应,也助推了短信成为了现存的、可用的最靠谱的(但不是最先进的)身份识别信息载体。可以说目前人们生活离得开“短信”,但离不开增值类的“验证码短信”。

有人会问全国每年发送的验证码短信没有万亿条,也有千百亿条了,运营商怎么没有以前赚钱了呢?这是因为这种从SP发到手机用户的短信,运营商只能收取SP的通道费,对SP收取的通道费原本就很低廉,且在三大运营商疯狂争夺客户的竞争中,SP的通道费还在逐年下降,直接导致运营商的增值短信业务出现量增但收入反降的局面。

二. 增值类短信是如何发送到你的手机上的

接下来,我们将进入偏技术的领域,我们来看看这类增值类短信是如何发送到用户手机上的。这里我们不会深入到运营商无线网络侧作细致说明,我们关注的更多是IP网络侧。国际上通用的关于SP接入运营商进行短信收发的协议是SMPP协议(Short Message Peer-to-Peer)。在最新的5.0版本协议规范中,我们可以看到一幅网络拓扑图,这里将其简化一下:

img{512x368}

我们看到,在国际上通行的组网是这样的:

  • SP通过smpp协议与运营商IP侧网络的Routing Entity相连,收发短信;

  • Routing Entity这个网元的作用正如其名,它根据短信的相关信息,将短信路由转发到连接对应SMSC的Routing Entity上,然后下一个Routing Entity负责通过SMPP协议将短信下发到后面的SMSC;

  • SMSC即短信中心,负责接收Routing Entity的短信,并将短信通过运营商的无线侧发到手机用户。

这已经是一个足够简化的网络拓扑图。

在国内,Routing Entity由各大运营商的短信业务网关(SMS Gateway)充当,原则上每个运营商在每个省份会建立一套短信网关。短信会首先由接收该短信的短信网关进行转发(可通过目的号码路由),将短信转发到目的号码归属省的短信中心(SMSC),然后由SMSC将短信下发到手机用户。这里省略无线侧网元,可以更清晰看到全国短信网关(SMS Gateway)和短信中心(SMSC)组网(先不考虑不同运营商之间的短信收发):

img{512x368}

我们从图中可以看到,这是一个运营商在A省和B省的短信业务网元网络拓扑。SP从A省接入,因此A省也称为SP的接入省。手机用户A和手机用户B分别归属于A省和B省,因此称A省是手机用户A的归属地;B省市手机用户B的归属地。

我们看到:与国际通用方式不同的是,国内SP不是通过SMPP接入短信网关(SMS Gateway)(在没有短信网关之前,SP是通过SMPP直接接入smsc的),而是使用了运营商的专有协议(中国移动CMPP、中国联通SGIP、中国电信SMGP);短信网关之间是互联的,通信协议也是运营商专有协议。一个省的短信网关只会连接本省的SMSCs。

当SP下发一条短信给手机用户A时,短信流经的网元如下:

SP -> A省短信网关(SMS Gateway) -> A省某SMSC实例 -> A省基站 -> 手机用户A

当SP下发一条短信给手机用户B时,短信流经的网元如下:

SP -> A省短信网关(SMS Gateway) -> B省短信网关(SMS Gateway) -> B省某SMSC实例 -> B省基站 -> 手机用户B

如果手机用户收到短信后要与SP互动,即手机用户发送一条短信到SP的号码上时,流程是这样的。

当手机用户A给SP发送一条短信,该短信流经的网元如下:

手机用户A -> A省基站 -> A省某SMSC实例 -> A省短信网关(SMS Gateway) -> SP

当手机用户B给SP发送一条短信,该短信流经的网元如下:

手机用户B -> B省基站 -> B省某SMSC实例 -> B省短信网关(SMS Gateway) -> A省短信网关(SMS Gateway)  -> SP

现在我们粗略地知道了我们是如何收到一个SP发送的短信的了以及反向流程了(在同一运营商下面)。

三. 小结

从业增值类短信业务平台开发很多年,这算是第一次写有关短信业务相关的文章。这一篇算是一个科普类的增值类短信业务介绍。接下来,我将继续以图文方式介绍增值类短信的协议与不同类型增值类短信打包和解析的难点。


我的网课“Kubernetes实战:高可用集群搭建、配置、运维与应用”在慕课网上线了,感谢小伙伴们学习支持!

我爱发短信:企业级短信平台定制开发专家 https://tonybai.com/
smspush : 可部署在企业内部的定制化短信平台,三网覆盖,不惧大并发接入,可定制扩展; 短信内容你来定,不再受约束, 接口丰富,支持长短信,签名可选。

著名云主机服务厂商DigitalOcean发布最新的主机计划,入门级Droplet配置升级为:1 core CPU、1G内存、25G高速SSD,价格5$/月。有使用DigitalOcean需求的朋友,可以打开这个链接地址:https://m.do.co/c/bff6eed92687 开启你的DO主机之路。

我的联系方式:

微博:https://weibo.com/bigwhite20xx
微信公众号:iamtonybai
博客:tonybai.com
github: https://github.com/bigwhite

微信赞赏:
img{512x368}

商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。

图解3GPP规范文档组织结构与编号规则

3GPP组织(3rd Generation Partnership Project)是全球移动通信业标准制定之执牛耳者。其最初的工作范围是为第三代移动通信系统制定全球适用的技术规范(TS,Technical Specification)和技术报告(TR,Technical Report),确保不同厂商之间实现无缝互操作以及为移动通信提供其所必需的全球规模,从而达成实现GSM由2G网络到3G网络的平滑过渡的要求。随着3GPP组织在全球影响力的逐渐扩大,3GPP也承担起了建立和统一4G5G标准的重任,从这方面来看,3GPP改名为NGPP(Next/Nth Generation Partnership Project)似乎更加合适:)。

img{512x368}

从1998年成立至今,3GPP组织制定了大量的标准规范,累积起来有数百个标准文档,这给初次接触3GPP规范的朋友出了一道难题:如何找到我所需要的那个规范文档呢?

近期因为业务需要在阅读3GPP有关短信C-V2X方面的规范文档,这也是我第一次近距离接触3GPP规范,为了找到自己想要的规范文档,也真实经历了一番周折。于是有了编写这篇博客的想法,希望大家通过这篇文章,可以了解3GPP规范文档的组织结构以及每个文档的编号规则,实现快速精确找到所需规范文档的目的。

一. 3GPP规范文档组织结构

通常3GPP规范文档是通过文档编号或文档名称(title)进行查找的,这里推荐一个3GPP文档汇总页面:“3GPP Specification Release version matrix”,建议将之保存到浏览器书签中。

img{512x368}

该页面以3GPP规范Release版本的维度将所有已完成且正式发布的文档列在一个页面上,截至笔者编写这篇文章时,最新的Release版本是Rel-15

我们简单看看上面图中各个列的含义:

  • Spec no. – 规范文档编号

  • Title – 规范文档的名称

  • WG – 工作组

  • Ph1 ~ R00 – 适用于早期GSM的规范发布版本

  • Rel-4 ~ Rel-15 – 适用于GSM、3G以及后续新通信技术的规范发布版本

要进一步了解某个规范的详细信息并下载规范文档,可以点击对应的文档编号:

img{512x368}

点击后,进入规范的portal页(默认general,以规范21.905为例):

img{512x368}

在general页面上,我们能看到对应规范的status、type(TS/TR)、首次发布时间、适用的无线技术(2G/3G/LTE/5G)等。

点击”Versions”标签进入规范的版本历史页面:

img{512x368}

在该页面,点击规范对应的版本编号即可下载对应版本的文档(zip格式,解压后为doc/docx文档)。

3GPP还提供了其他多种spec文档的归集方式,比如按照Release版本技术关键字当前Specs状态查看,也可以在归档FTP中自行翻找:)。

个人觉得spec release matrix页面仍然是3GPP入门朋友的最佳入口。

二. 3GPP规范文档编号与版本规则

下面我们聚焦到某些具体的规范文档:

我们看到每个文档都有两个重要属性信息:规范文档编号(Specification Number)版本号(Version)。我们用一幅图来解释一下文档编号和版本号的用途:

img{512x368}

从图中我们可以看到:

  • 规范文档编号由两部分组成:系列号(series number)和尾号(mantissa,也称为文档号),两个部分之间用“.”分隔;

  • 系列号(series number)是从00开始的两位数字;XX.YY形式是早期规范文档的编号形式,用于00~13系列文档,适用于早期GSM系统(即Rel-4之前的GSM);而XX.YYY形式是后期,也是当前使用的编号形式,用于41~55系列(仅GSM)和21~38系列(3G及新一代系统);

  • 规范文档编号中的尾号(文档号)没有特别的意义,早期使用两位尾号,现在都使用三位尾号;

  • 规范文档的版本号由三位从0开始的数字组成,数字间由“.”分隔;

  • 版本号从左到右的第一位是major域,表示该文档所处的主要阶段:

    • 0 =不成熟的草案
    • 1 =至少完成60%的草案已经提交/将很快提交给负责的TSG以供参考
    • 2 =完成至少80%的草案并已提交/将很快提交给负责的TSG批准
    • 3或更高=已经由负责的TSG批准并且处于变更控制之下的规范。
  • 版本号从左到右的第二位是technical域(技术域),对规范进行技术更改时,技术域字段会递增;

  • 版本号从左到右的第三位是editorial域(编辑域);每次对规范进行非技术性更改时,编辑域字段都会递增,例如,纠正印刷错误。但任何可能会对规范技术规定的解释产生影响的变化都不能被视为编辑域变化。
  • 从Rel-4发布开始,3GPP规范的Release和Version有了对应关系。一个规范文档的Version的major域的值将会指示出该规范所适用的 Release,这样达到了Release和Version在某种程度的一致性,方便规范读者查询。

我们还以编号和版本为21.905 15.1.0的规范为例,从其编号和版本信息,我们直接可以得到如下结论:

  • 该规范术语21系列,适用于3G及新一代系统范畴;

  • 该规范已经正式发布,该版本发布于Rel-15;

  • 该规范在Rel-15有一次技术性更改。

三. 规范文件名规则

最后我们还要了解一个规则,那就是规范文档对应的实体文件的文件名起名规则,规范对应的实体文件的文件名与那规范的文档编号及版本具有一定对应关系。

我们还是用一幅图来形象展示一下文件名规则:

img{512x368}

从图中我们可以看到:

  • 规范文档对应的实体文件名由多部分组成,其中文件名首部是必选的,它由规范编号和尾号组成(中间无分隔);文件名尾部也是必选的,由规范的版本号组成;中间的part number和sub-part number是可选的。文件名各部分之间由“-”连接;

  • part number和sub-part number都是1或2位数字;

  • 文件的尾部对应着规范的版本号,不同的是文件中尾部的版本号中的每个域都是一个有序字符集合[0~9、a~z]中的字符,这个集合中有36个字符按需依次对应着版本号中的0~35,如果版本号中的某个域值超过35,则文件名中的版本号中的每个域都使用两位表示。举例:

    • TR 21.900的版本15.1.1对应文件名21900-f11.zip中的f11;(f对应version中的15)

    • TS 34.567的版本16.36.0对应文件名34567-163600.zip中的163600;(technical域为36,超过35,因此文件名中尾部版本号每个域占用两位)

现在如果我们看到一个文件名,即可得到关于规范文档的一些信息,比如:

  • 21900-320.zip对应21.900 v3.2.0规范

  • 0408-6g0.zip对应的是04.08 v6.16.0规范

  • 29998-04-1-100.zip对应的是29.998 part 04 subpart 1 v1.0.0规范

  • 29898-133601.zip对应的是29.898 v13.36.1规范


我的网课“Kubernetes实战:高可用集群搭建、配置、运维与应用”在慕课网上线了,感谢小伙伴们学习支持!

我爱发短信:企业级短信平台定制开发专家 https://tonybai.com/
smspush : 可部署在企业内部的定制化短信平台,三网覆盖,不惧大并发接入,可定制扩展; 短信内容你来定,不再受约束, 接口丰富,支持长短信,签名可选。

著名云主机服务厂商DigitalOcean发布最新的主机计划,入门级Droplet配置升级为:1 core CPU、1G内存、25G高速SSD,价格5$/月。有使用DigitalOcean需求的朋友,可以打开这个链接地址:https://m.do.co/c/bff6eed92687 开启你的DO主机之路。

我的联系方式:

微博:https://weibo.com/bigwhite20xx
微信公众号:iamtonybai
博客:tonybai.com
github: https://github.com/bigwhite

微信赞赏:
img{512x368}

商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言精进之路1 Go语言精进之路2 Go语言编程指南
商务合作请联系bigwhite.cn AT aliyun.com

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats