怎么样的因参数分配错误设置,会影响到SDCCH分配成功率

这是15年翻译的官方文档之后会陸续放出以前翻译的一些文档,以及做的一些笔记给大家参考转载请注明出处!

另注:此文仅供学习参考,请勿用于非法行为!测试建議在屏蔽室进行或者在屏蔽试验箱中进行,切勿影响正常通信!!!



0x452 单一手机吞吐量

多个手機可以会使用多于1个时隙同时访问GPRS网络支持上行链路和下行链路的并行时隙的数量被策划那个做多时隙等级。默认情况下OpenBTS设置的多时隙等级为3+2:3个并行时隙用于下行链路2个用于上行链路。这不是说一个手机会占用全部5个并行时隙但你可以看到添加尽可能多的时隙对于鉯GPRS为重点的网络是很重要的。更高的多时隙等级可以给一个手机更快的数据传输速度但在多个手机使用时网络会很快的拥堵。

你可以调整这两个键值来调整多时隙等级:

0x453 覆盖范围和吞吐量

GPRS定义了四种不同的编码方案(CSs)用于数据传输它们分别是CS1,CS2CS3和CS4。CS1具囿最低的吞吐量和最高的可靠性它被分配了更多的数据比特用于恢复无线传输过程中的误差。而CS4具备最高的吞吐量但在传输过程中容噫出差错。这些传输误码率限制了每个编码方案的覆盖范围

OpenBTS只支持CS1CS4,你可以选择配制成低吞吐但可靠性高并且可以覆盖更大范围还昰高吞吐但有少量错误修正并且覆盖范围小。默认情况下OpenBTS同时启动但它们可以在上行链路或者下行链路单独进行调整:

 

GPRS网速不快,泹毕竟是数据在没有WiFi的地方,很大一部分区域都在用调制解调器的速度上网不管是用于M2M/IOT设备还是人们用来和亲戚朋友联系。一台手机嘚预期吞吐量如下表:

 

这是最佳吞吐量依赖于网络阻塞情况,包括无线局域网传输和互联网上行链路

不可否认,OpenBTSGPRS的支持还不完善GSM語音和短信对于OpenBTS的用途基本算完善,但GPRS还可以做改进和优化大多数改进都是在无线电方面的算法及分包规则,对这些的优化能极大的改善OpenBTS中的GPRS的体验

OpenRegistrationOpenBTS的一个特殊功能,相当于移动网络用的强制网络认证强制网络认证就类似于机场或者酒店的公共WiFi,一般都不能直接用來上网直到回答一个问题、看一个广告或者输入Pin码才行。

同样的OpenRegistration允许一个手机加入到移动网络,但担忧初始的访问限制它可能可以撥出电话但没有分配的号码,所以不能不能被网络中的其他手机呼通但它可以通过短信来提供它自己的号码。

这种类型的点对点网络非瑺有用在任何用户都是临时的或者流动性大的网络或者直接就是临时网络,比如应急响应、远程办公区、旅游景区、大型活动等等

由於管理员不需要创建用户分配号码,所以OpenRegistration网络更容易部署并且对于用户很有用

要开始使用一个OpenRegistration网络,必须先启用这个功能先看看鍵值因参数分配错误:

 

要启用OpenRegistrationControl.LUR.OpenRegistration键值必须设置成正则表达式正则表达式是通过定义规则进行匹配的。对于这些有几个标准更多的信息鈳以在维基百科中找到。IMSI如果符合正则表达式的匹配就能获得网络的访问权限几个范例和它们的作用如下表:

 

有一个附加键值,可以拒絕特定的IMSI这样可以很方便的许可除特定组之外所有的IMSI。按照上表设置排除l来自中国移动的任何IMSI

 

注意:确保在野外部署时候确信你了解这些模式是如何工作。噩梦般的情况是有个患有心脏病的人无意之间加入了你的开放网络,心脏病发作时候不能拨打紧急服务因为伱的网络不支持。仔细检查你的网络的GSM.RACH.AC的值仍旧是默认的0x400这会在你的信号塔标识出不支持紧急呼救电话(Emergency

 

这指示新加入的成员通过撥打101寻求帮助,你的网络应该有一个人分配到101号码提供人工服务或者实现一个自助语音服务用户也可以按照提示发送号码的短信给101。默認情况下SMQueue服务有一个处理短号101用来和想要分配自己想要号码的手机进行对话。在SMQueue服务的控制因参数分配错误中SC.Register.*因参数分配错误决定用哪个短号、短信内容以及用户选好范围。SMQueue服务没有在CLI界面但nmcli.py可以用于读取和修改这些因参数分配错误:

如果你想用特殊号码比如101,就得茬OpenBTS中的将Control.LUR.OpenRegistration.ShortCode设成新的号码这个键值设置了欢迎短信的源地址。如果已经设置到新的帮助号码用户可以简单的回复初始化信息。

要再佽禁用OpenRegistration接受和拒绝模式设置必须复位:

 

OpenBTS现在已经恢复使用用户数据库授权或者拒绝用户访问,而不是IMSI模式

NodeManager是一个面对OpenBTS,SMQueueSIPAuthServe的通用控制接口,用于系统配置和监控所有的组件都支持一些常用的功能(比如配置操作),通过提供用于特定任务或者数据源的特定API接口NodeManager API分成两大類:请求/响应和流。这两种类型都使用JSON格式信息并通过ZeroMQ进行通信有一个库用来创建这两个进程之间简单和可靠的socket连接。使用NodeManager

API是互联网的┅个正常组成部分所以看起来不是那么新奇,不管怎样后面讲到PhysicalStatus API时候记住前面传统GSM通信原理图。不用去看几十页的协议和实例软件無线电的核心数据现在可以直接使用JSON格式信息流。在以后的版本中会有更多的API添加到NodeManager接口中

这个名叫nmcli.py是一个包含在NodeManager库中的一个小的Python程序。它需要安装一些依赖关系在build.sh脚本中应该已经做了。为了确保你已经安装了可以再手动执行一遍命令:

 

nmcli.py用于不断扩展新的NodeManager API的实施。要看当前nmcli.py的功能执行不带任何因参数分配错误的命令:

API接口,更像一个开发工具可以快速格式化消息以及测试新的API端点。本章将会讲述各种不同的API端点首先,nmcli.py用法类似一个清单随后转换成JSON格式的消息。

所有组件的实施版本一个请求/响应的API。这是一个微不足道的API但对于在远程节点上运行的组件来说,这个信息非常重要:它的当前版本用nmcli.py问询SMQueue当前版本:

 

所有的组件的配置实现,都是通过请求/响应API这个API用于修改每个组件的配置因参数分配错误。每个组件的配置模式生效之前都会通过这个API更新对应SQLite3数据库中对应值。

会请求一个config命令和read行为:

 

之后SMQueue会响应它所支持的每个配置项的很大的支持列表:

 

0x650 查看某一个键值

 

之后SMQueue会响应这个特萣键值的关键配置项和因参数分配错误信息:

 
 

如果这个键值的请求不存在会从组件中响应一个404返回。

如果一个API配置不允许设置新的參值那就没有用处。一个消息字段变更为更新那么这个新的键值字段的更新必定包含所指定的改变。用nmcli.py更新前面所说的SC.Register.Code键值从101为555`

注意新的值有更新行为:

 

204代码表示操作成功但没有数据反馈。这个例子告诉你没有那个应用的配置是全静态的你的配置是灵活的。如果配置不为0那么该组件需要重启才能应用更改。以下是其他反馈代码和含义:

 

API支持不同的释放模式目前只支持0.1,设置这个键值0.1将會激活PhysicalStatus API并使用0.1模式的流事件数据现在你已经可以熟练使用nmcli.py,就可以激活这个API

流激活以后你需要连接客户端查看所产生的数据。在OpenBTSapps目录有一个名为JSONEventsClient.cpp的样例客户端在编译OpenBTS时候会默认被编译,但在安装包的时候没有安装进系统这个客户端会连接由NodeManager.Events.Port定义的ZeroMQ端口,然后等待API发布事件

进入你的OpenBTS源码目录然后进入client所在目录:

没有什么特殊的情况发生,直到你的OpenBTS有活动

在手机上循环关机,发短信或者打电话PhysicalStatus就会开始在控制台显示活动情况。举个例子如下:

 
 

这些输出显示了手机和基站之间业务流的物理无线电脉冲信息这些输出作为GSM标准的┅部分在后台生成,也被称为测量报告它们提供了手机调整发送功率所需的基站信息、触发切换的信息以及计算定时提前量Timing Advance

那么这些数据的价值在哪里?很多应用可以利用这些网络的无线电环境的原始元信息来做出更智能的电力功耗决策,负载均衡等等

这个目前被用于搜救行动,冰岛的直升机已经配备了运行OpenBTS的便携基站运到没有信号的偏远地区用来寻找迷路的徒步旅行者。OpenRegistration配置为允许该地区所囿的手机自动加入网络网络通过发出的测试短信不断的记录基站和手机的无线电接收等级和发射功率都。和无线电信息一起的还有经度、纬度和高度值都被直升机记录下来然后这些信息通过算法进行分析,可以65m精度在高达35km区域内定位任何手机更多的项目相关信息可以茬http://bit.ly/11vKaT7找到。

希望你已经看完这本书成功实现了你所感兴趣的领域。这里还有一些出发点用于进一步的研究和实验

0x710 连接箌外面的世界

连接你的手机与外界”真实”的电话,您需要一个网络电话业务提供商(ITSP)ITSP可以桥接你网络中的SIP信令和RTP媒体到他们的PSTN

找箌ITSP的语音服务很简单现在这些提供按分钟包月通话服务的公司网上都有目录。入网手机号或者直拨入网电话(DID)全世界大部分国家都提供這项服务。许多公司还提供了Asterisk服务安装及使用技术支持

短信的支持比较困难,很少有ITSP提供SIP MESSAGE用于短信服务供应商提供这种服务也一般不会提供配对的语音DID,这样一个手机会有不同的电话号码用于打电话和发短信。这种情况正在改善但现在需要替代方案。

有的供应商会提供SMPP网关或者HTTP REST API接口网关再或者,有些DID无法使用或者需要额外的SIP MESSAGE连接

一个比较成功的使用API的案例是nexmo

这是这本书无法解决的问題之一无线电管制具备法律有效性。虽然历来获得无线电频率许可的都是通信巨头但现在这个情况开始有所改变。监管部门的压力在於要将可用频段划分的更细然后分配给各自需要使用的领域。

频谱政策最有前卫的似乎是欧洲英国,荷兰和瑞典已经将最有价值的几個ARFCN频段分配给公众使用其中包括GSM频段。任何人在没有执照的情况下都可以在有限的功率下使用这些频率美国FCC似乎有计划在2015年拍卖大量頻谱,并将放出高达28MHz的保护频段可以在特定区域随意使用比如动态频谱联盟(Dynamic Spectrum Alliance)这样的团体对GSM空白研究活动,从政治上或者技术上解决频谱接入问题

OpenBTS正在使用标准的SIP信令也需要,很必要主要用来替换GSMUMTS认证算法替代MD5

到目前为止整合一直在开始第一步,但已经茬努力加快步伐OpenBTS中的AsteriskFreeSWITCH打过补丁后直接支持注册和语音呼叫,这个都已经写入各自的项目阶段Kazoo平台(http://wiki.2600hz.org)已经拥有最完整的支持,注册、语喑和短信都能正常运行

如果你是一个硬件设计师并且很好奇SDR是怎么做的,那你很幸运你不仅仅是在使用开源软件来构建迻动网络,他们还在设计开源硬件好几种SDR的原理图都是完全开放的,在他们的GitHub上:

·OpenBTS·社区可以提供很多学科方面的专业支持,可以订阅邮件列表。参加者有很多不同的背景:制造商、黑客、研究员还有集成商都很受欢迎。

现代化移动网络应该是什么样子是不昰设计成一个标准的互联网世界?我们开始意识到这个问题的答案:极度简化极其灵活,开放所有的新思路极少的花费。

这是第一次普通人可以下载一些软件,然后拿起一台无线电设备就可以建立一个移动网络。欢迎一起革命!

下面是分散在书中很多实例的快速参栲我发现自己在看这些东西的时候不断的想把这些放在一个统一的部分讲讲。

这本书不能在短短几章里面教会你·GSM·。但有一个很有鼡的办法从宏观到微观层面掌握·GSM·术语。

带天线的信号塔大家都很熟悉有时候伪装成仙人掌或者树桅杆。每个塔都可以分成多个扇区这些扇区合起来360?(比如一个塔分成4个90?扇区),单个扇区360?全覆盖。每个扇区都能分配一个或者多个·ARFCN·,有时候也成为载体,因为它们实际一对频率用于数据进行物理交互。

每个·ARFCN·有8个时隙每个时隙有分配给它的组合,每个组合有多个逻辑信道这些逻辑信道被分为信囹和媒体两个主要类别。·SDCCH(独立专用控制信道)·用来传送信令,比如手机注册消息和短信消息。·TCH(业务信道)·用来承载媒体,比如·GPRS·数据或者语音消息。逻辑信道是由多个帧信号以及帧信号组成的脉冲构成。

0x820 分贝和毫瓦分贝

分贝用来表述两个值的对比或者单┅基站时的绝对值比率写作·dB·时候只表述一个比率,比如·10dB·的·SNR·意味着信号比噪声强·10x·倍。写作·dBm·时候,表述的是以毫瓦为单位的绝对值,比如·GSM·手机最大发送功率是·33dBm·或者·2W·。

一个很方便的记忆方法是每出现·3dB·的改变,无线电信号翻倍或者减半。

我要回帖

更多关于 因参数分配错误 的文章

 

随机推荐