您当前的位置:首页 > 互联网教程

求java 解析7号信令数据数据

发布时间:2025-05-24 14:56:49    发布人:远客网络

求java 解析7号信令数据数据

一、求java 解析7号信令数据数据

N0.7信令网是独立于电信网的支撑网,是电信网中用于传输No.7信令消息的专用数据网。信令网的三要素:信令点、信令转接点、信令链路。

信令点:信令网上产生和接收信令消息的节点,是信令消息的起源点和目的点。

信令转接点:若某信令点既非信令源点又非目的点,其作用仅是将从一条信令链路上接收的消息转发至另一条信令链路去,则称该信令点为信令转接点。

信令链路(LINK):连接各个信令点、信令转接点,传送信令消息的物理链路称为信令链路。

信令链路集(LINK SET):具有相同属性的信令链路组成的一组链路集。即指本地信令点与一个相邻的信令点之间的链路的集合。

链路集号:对链路集的编号。对于同一信令点,链路集号是唯一的。

信令链路编码(SLC):对于相邻两信令点之间的所有链路,需对其统一编号,称为SLC,它们之间的编号应各不相同,而且两局应一一对应;对于到不同局向的信令链路可以有相同的链路编码。

信令网中用于标识每一个节点的唯一编码。为便于信令网管理,国际和国内信令网采用各自独立的编号计划。国际信令网编码采用14位信令点编码,我国信令网采用24位信令点编码。

国际信令网编码采用14位信令点编码。

大区识别:用于识别世界编号大区。我国的大区识别为4

区域网识别:用于识别每个世界编号大区内的区域网。我国的区域网识别为120。

信令点标识:用于识别区域网中的信令点。

国内信令网编码采用24位信令点编码。

我国信令网信令区的划分与我国信令网的三级结构相对应,分为主信令区、分信令区、信令点三级,这样HSTP设在主信令区,LSTP设在分信令区。

我国的信令网划分为33个主信令区,每个主信令区又划分为若干个分信令区。主信令区按中央直辖市、省和自治区设置。一个主信令区内一般只设置一对HSTP。

分信令区的划分原则上以一个地区或一个地级市来进行。一个分信令区通常设置一对LSTP,一般设在地区或地级市电信局所在城市。

以上提到的两种编码都属于ITU-T的点码,ANSI和以上提到的两种格式都不兼容。ANSI及ITU-T的信令网之间的信令交换必须通过一个转换器,可以是网关STP、协议转换器或具有两种格式点码的信令点。由于ANSI及ITU-T上层协议的实现方法不一样,所以这两种信令网之间的互连很复杂。

ANSI的点码由网络号、集团号及组员编码组成(如245-16-0)。每个号都是一个字节, 8比特,其值从0到255。网络号0不使用,255保留做见将来使用。

源信令点(OPC):生成信令消息的信令点。

目的信令点(DPC):信令消息发往的信令点。

信令传送方式即信令消息经由怎样的路线由起源点发送至目的地。在七号信令系统中常用两种传送方式:

直联方式:两个信令点之间通过直达信令链路传递消息。此时,话路和信令链路是平行的。(STP之间采用)

准直联方式:两个信令点之间通过预先设定的多个串接的信令链路传递消息。(SP之间采用)

No.7信令网以准直联为主,直联为辅。

信令点之间传递信令消息的最小单位,以数字编码的形式构成。信令单元的长度是可变的。由多个8bit组成,插在PCM系统的某一个时隙中传输。

七号信令系统的基本功能结构由两部分组成:公共的消息传递部分MTP,用来提供一个可靠的消息传递系统;适合不同用户的独立用户部分UP,负责信令消息的生成、语法检查和信令过程控制。如下图所示:

七号信令系统与OSI七层的对应关系,如下图所示:

NAP:智能网应用部分OMAP:操作维护应用部分

CAP:CAMEL应用部分MAP:移动应用部分

TCAP:事务处理能力应用部分BSSAP:基站子系统应用部分

ISUP:ISDN用户部分TUP:电话用户部分

SCCP:信令连接控制部分MTP:消息传递

MTP的主要任务是保证信令消息的可靠传送,它可分为三级:信令数据链路(MTP-1)、信令链路功能(MTP-2)、信令网功能(MTP-3)。

TUP:支持电话业务,控制电话网的接续和运行,如呼叫的建立、监视、释放等。

ISUP:在ISDN环境中提供话音和非话业务所需的功能,以支持ISDN基本业务及补充业务。ISUP具有TUP的所有功能,因此可以代替TUP。

SCCP的设计宗旨是和MTP-3结合,提供增加的网络功能,主要是提供增强的寻址功能,如增加了按GT方式寻址功能。

SCCP也为MTP提供了附加功能,提供数据的无连接和面向连接业务。无连接业务是指不需预先建立连接就可传递消息,如智能网中帐号查询、移动网中用户鉴权等许多适时性很强的消息就是利用无连接业务传送的;面向连接业务是指预先建立连接,再大量传送消息,如移动网的A接口消息主要采用面向连接来传送。

目前TCAP协议只建立在无连接业务上。

TCAP是No.7信令系统为各种通信网络业务提供的接口,如移动业务、智能业务等。TCAP为这些网络业务的应用提供信息请求、响应等对话能力。

TCAP是一种公共的规范,与具体应用无关。具体应用部分通过TCAP提供的接口实现消息传递。如移动通信应用部分MAP通过TCAP完成漫游用户的定位等业务。

TCAP在于提供了一个标准的消息封装机制。MAP、CAP等不同的应用对应于TCAP消息中不同的成份。

MAP是公用陆地移动网(PLMN)在网内以及与其他网间进行互连而设计的移动网特有的信令协议规范。

MAP使GSM网络实体可以实现移动用户的位置更新、鉴权、加密、切换等功能,使移动用户可以正确地接入网络、发起和接收呼叫。

INAP:智能网应用部分,应用于有线智能网,规定了有线智能网SCF与SSF互连的接口规程。

CAP:CAP是CAMEL的应用部分,它基于智能网的INAP协议,应用于移动智能网,CAP规定了gsmSSF、gsmSRF与gsmSCF互连的接口规程。

信令数据链路级:这是No.7信令传送的物理层,它定义了No.7信令的电气和功能特征等,要求一条独立的数据传输通道,是No.7消息的传送载体。在目前交换机上,一般由PCM系统的某一时隙提供,如实际常采用PCM的 TS0时隙。

信令链路控制级:定义信令消息在数据链路上的传送方式和过程,如帧格式、差错检测、纠错重发、链路定位过程等,提供信令两端的信令可靠传送。

信令网功能级:完成No.7信令的网络层功能,如目的地寻址,同时保证信令能正确传送到目的点,当信令网中某些点或传输链路发生故障时它能保证信令消息在信令网中仍能可靠地传递。

7号信令中,信令单元分成三类,MSU、LSSU以及FISU。

MSU:消息信令单元,用于传送各用户部分的消息、信令网管理消息及信令网测试和维护消息。

LSSU:链路状态单元,指示链路状态。

FISU:填充信令单元,用于链路空或链路拥塞时填补位置。当信令链路上没有消息(MSU或LSSU)可传时在链路上就双向的不间断的传送填充信令单元(FISU)。 FISU中只承载level 2的消息(如对端信令单元接受证实信号)。信令链路两端的信令点不停的校验每个FISU的CRC校验码以检测信令链路的通信质量(注意:在日本有所不同,信令点是通过检测标志位(Flag)来检测信令链路的通信质量的而非FISU的CRC)。FISU发送的间隔是预先确定的,如每150毫秒。

F:标志码,码型为01111110。当传送信令单元时,MTP Level 2会在出现连续5个1的序列后加个0,以除去假标志位。当接受到信令单元并除去标志位,MTP Level 2会在出现连续5个1的序列后去除一个0,恢复原始的数据。通过这样的方法,除去了信令单元中的重复标志位。

BSN:后向序号,7bit。用于信令单元的接受证实,向对端信令点确认相应信令单元已正确接受。 BSN中就是其证实接受的信令单元的序列号。BSN号指示了对端正确接受的最后一个消息的序列号,它证实了序列号BSN之前的所有消息已正确接受。如果信令点在收到消息其BSN=5之后又收到消息BSN=10(而且BIB未置位),则后个消息表示了FSN从6到9的消息也都正确接受了。(参见下面对FIB的描述)。

BIB:后向指示语比特,1bit。当被置位时即向对端指示了一个负(错误)的证实信号。(参见下面对FIB的描述)

FSN:前向序号,7bit。是信令单元的序列号。(参见下面对FIB的描述)

FIB:前向指示语比特,1bit。 FIB和BIB一样用于出错时恢复之用。当一个信令单元准备传送时,信令点将其FSN(forward sequence number)加1(FSN= 0..127),同时CRC(cyclic redundancy check)也重新计算并加在前向消息之后。当接受到消息后,接受端首先校验CRC码,然后将其FSN号复制入准备向源端发送的下个后向消息的BSN字段。如果CRC校验正确,后向消息即被发送;如果校验出错,在发后向消息之前,信令点会将BIB置位以表示一个负(错误)指示。源点接受到这个负指示标志后,它会将从出错的消息序列号开始的所有消息重新传送,并且这些消息的FIB为1。

LI:长度指示语,指示LI和CK之间的八位位组的数目,6bit。如果在LI之后、CRC之前的字节数少于63,LI就是这个字节数;反之LI的值就是63。LI为63代表的意义是消息的长度等于或大于63(最多273字节)。信令单元长度最大为279字节: 273字节(数据)+ 1字节(flag)+ 1字节(BSN+ BIB)+ 1字节(FSN+ FIB)+ 1字节(LI+ 2 bits spare)+ 2字节(CRC)。

SIO:业务信息段,8bit。其中高四比特为子业务字段,低四比特为业务表示语。

0 1 1 0与呼叫和电路有关的数据用户部分DUP

0 1 1 1数据用户部分性能登记与撤消DUP

SIF:信令信息字段。共分为四种类型,如下图所示:

出局链路的选择是根据DPC和SLS,SLS有以下功能:

(1)保证信令消息的先后顺序。以同样的SLS发送的两个消息总是先发先到,后发后到,先后顺序不变。

(2)在所有可用的链路上平均分担流量。从理论上将,如果应用层以正常的时间间隔发送消息,并且循环的使用SLS值,这些流量在链路组中的所有链路上是平均分配的。

在ANSI信令网上,SLS字段最初为5比特(32种可能值)。当一成对的链路组且各有两条链路时(总共有四条链路),就需要8个SLS的值以使流量在这些链路上平均分配。

但随着网络的发展,链路超过了4条时,就会出现一些问题。在使用5比特SLS情况下,对于一成对的链路组且各有五条链路(总共有十条链路),3个SLS值对应了8条链路,还有4个SLS值对应了余下的2条链路,导致了分配的不平均。为了避免这样的情况发生,ANSI及BELL实验室都采用了8比特的SLS(256个值)以使链路上的分担更为平均。

在ITU-T实际实现方法中,把SLS作为MTP消息中的信令链路码(signaling link code)。在ITU-T电话用户部分消息中,一部分的电路识别码(CIC)就存储在了SLS字段中,换句话说,也就是SLS使用了部分的电路识别码。

SF:状态标志字段。是LSSU的主要组成部分,标志本端链路的状态,8或16bit。SF只用到了低三位,其它为备用位。

初始定位是链路投入使用前必须经过的阶段,用于初始启用或链路发生故障后进行恢复时链路的定位过程,由LSSU中的SF来完成。整个过程分成五个阶段,未定位->已定位->验收周期->验收完成->投入业务使用。

定位过程完成后,MTP三层发SLTM,收到SLTA后,链路才正式开通业务。

网络层规定了传送消息所使用的消息识别、分配、路由选择及在正常或异常情况下信令网管理调度的功能和程序,分为信令消息处理功能和信令网管理功能。

主要的MTP-3层消息有:链路测试消息SLTM/SLTA,传递禁止及传递允许TFP/TFA,倒换与倒回消息 COO/COA,CBD/CBA,ECO/ECA,管理禁止及解除禁止 LIN/LIA、LUN/LUA。

1、在链路正常时,每隔一分钟信令链路会发SLTM消息,收到SLTM消息的信令点会回送SLTA消息,SLTA消息中的测试码的值与个数应等于SLTM消息。

2、如果6秒钟内仍收不到对方的SLTA消息,则不能进入开通业务状态。

3、SLTM和SLTA消息中的CIC代表相应的信令链路的编码(SLC),必须相等。

共有四种情况,如图(4.1-a)、(4.1-b)所示。

IAM(Initial Address Message):初始地址消息(不带主叫)

IAI(Initial Address Message with Additional Information):初始地址消息(一般带主叫)

SAM(Subsequent Address Message):后续地址消息(两位以上)

SAO(Subsequent Address Message with One Signal):后续地址消息(只有一位)

GRQ(General Request Message):一般请求消息

GSM(General forward Set-up Information Message):一般前向建立消息

ACM(Address Complete Message):地址全消息

ANN(Answer Signal, No Charge):应答消息,免费

ANC(Answer Signal, Charge):应答消息,计费

CBK(Clear-Back Signal):后向挂机消息

CLF(Clear-Forwad Signal):前向拆线消息

CCL(Calling Party Clear Signal):主叫挂机信号

RLG(Release Guard Signal):释放监护消息

SLB(Subscriber Local Busy Signal):用户市话忙

STB(Subscriber Toll Busy Signal):用户长话忙

LOS(Line Out-of-Service Signal):线路不工作消息

UNN(Unallocated Number Signal):空号消息

SST(Send Special Information Tone Signal):发送专用消息音消息

共有四种情况,如图(4.2-a)、(4.2-b)所示

IAM(Initial Address Message):初始地址消息

SAM(Subsequent Address Message):后续地址消息

ACM(Address Complete Message):地址全消息

ANM(Answer Message):应答消息

RLC(Release Complete):释放完成

CCL(Calling Party Clear Signal):主叫挂机信号

二、为什么Java越来越火

Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。

JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)

JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)

JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字"2":J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。

Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面有大量的学习资料可以下载。

Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。

Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。

Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。

这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。

如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。

与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。

在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。

Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

还有我们所熟知的安卓更是促进了Java语言的发展

那么我们聊聊为什么安卓开发会用Java呢?

下面是一位来自知乎网友的回答:

首先我们需要选用一个语言来开发本地App。

那么首先考虑的条件是不火的语言和没前途的语言是不在选择范围的。

---因为没人用,那么库就会少。因为库少就不会好用。因为不好用。所以用的人更少。生态圈的核心思想。

--那这个世界是不是只有C++/Java了。肯定不是。因为有些语言是有前途的。最大的特点是。简化了程序员的负担。或者效率更高。未来肯定是主流。

那么我们常用的语言和有前景的语言是哪些

C/C++/Java/C#/Python/Ruby/Go/JavaScript+Html

好。这些是我们常用的语言。我们看待的是怎么把这些语言一步步的踢掉。然后只剩下Java的。

首先踢掉的是C。至今大型的超过10万行代码的图形化界面程序没有几个是用C的。因为复杂的错误处理和没有纠错机制。使得程序非常容易崩溃。同时。因为C没有面向对象。那么工程化开发显得非常麻烦。

相信没有人现在主动说。用C开发App这种多界面程序吧。

继续踢掉的是C#。我干嘛要用一个一出生就为了对付Java的。还是微软的私货的语言。对。Android是开源界的。而C#注定不是适合开源界的语言。

我们该要一门重语言还是轻语言?

Python/Ruby/JavaScript+Html/是轻语言。

对。我心目中划分语言的标准基本上是属于这样的,只要在代码中体现我们需要讲效率的。那就是重语言。

重语言首先讲究的是运行效率。然后讲究工程化。

轻语言讲究开发效率,讲究敏捷性开发。

我们想开发一款本地App。还在性能不高的手机上。

那么除了C之外的开发语言中。运行效率最高的是C++,然后是Java。

那么轻型语言就要被一个个踢掉了。

Ruby在网页端有作为。但是库太少。图形库更少,开发者都是网页端的人。被踢。

JavaScript+Html----->这是未来大一统的趋势。但是我们现在是找一门开发本地App的语言。

外加真心html+JavaScript有着先天的劣势。(效率+Offline)

Python有着完善的库。有着极高的人气社区。在手机上开发也有过尝试。(Nokia就干过这事。Ubuntu Phone的UML也是一种类python的语言。)Google也是python的大用户。效率是问题。但是不是绝对的。先对Python实现保留意见。

那么我们看这一轮入围的四门语言

再说Go。Go语言还不成熟。库也不多。开发者少。但是作为Google主打的语言。很有可能。Google会提供基于Go的Android sdk。至少现在Android的主打语言不会是Go。

C++重运行效率。但是跨平台性较弱。开发难度较高。库多,用的人多。

Python,重开发效率。跨平台性高。开发难度低,库多,用的人多。

Java。重开发效率。不及python,重运行效率,不及C++。开发难度低。库多。用的人多。

Google是想要一门开发本地App的语言。Google想屏蔽掉底层硬件的差异。实现对于开发者来说是一个统一的平台。

同时。对于手机这个现阶段的平台来说。耗电,以及性能。是无法回避的问题。

那么这门语言的跨平台性要求很高。同时效率又很高。

说Python:效率实在无法达到其普遍的手机要求。尤其是对于图像处理这种高计算操作。且。社区无法与C++/Java相比。意味着库没有Java和C++多,开发者不是跟Java和C++一个等级的。

说C++:用过JNI的人都知道本地的C/C++库,至少要编译多次。不同的框架就代表者不同的编译环境。而且直接用C++编译运行的话。C++并不能很好的屏蔽掉硬件差异。所以对于开发来说调试来说,都是一个比较艰巨的任务。

C++也不是一个非常好的工程化开发语言。

那有没有破解法。Qt。可以用框架屏蔽掉大部分的细节操作。Qt5.0支持Android。

为什么没用。估摸着是跟Qt不是Google家的产品加不开源的问题吧。

说Java:虚拟机是核心。因为虚拟机真正能屏蔽掉开发的很多差异。而且通过虚拟机。开发者只要在打包的时候翻译成运行码而不需要翻译成机器码。通过虚拟机完成很多差异的解决。而效率并不是丢的非常严重。

且Java比C++更受开源界和工业界的共同欢迎。即使Java也有版权问题。。。

我们屏蔽掉最基础的硬件差异。通过Linux,在屏蔽掉手机的一些基本功能差异。然后提供纯粹的利于开发者开发和测试的方法。只有通过虚拟机了。而这个虚拟机是需要讲性能的。

Google搞了一个Davlik虚拟机。对。这就是Android的核心。就是因为性能要求高。不得不重新开发虚拟机。Davlik就是一个非常讲效率的虚拟机。而其他的常用库都有的,现成的。根本就不需要自己去写的。只要打包就好。

那么还有些必须考效率的库和应用。怎么办。

为什么Object-C这门语言无视我说的大部分要求了。因为Apple有能力创造一门更好的语言。Google对于Android,只是在开源社区挑一门语言。

且。ObjectC生在Apple,死在Apple。兼容性。人家才不需要考虑。所以人家敢用Object-C,而Android为了实现真正的跨平台。只能选Java。

三、java程序员是做什么的

1、程序员是从事程序开发、程序维护的专业人员。

2、程序员一般需要会做:确认通过审查方案的目标,输入数据,分析师,监事,和客户的输出要求的项目要求。安排项目要求在编程序列分析要求;准备工作流程图和使用计算机知识的能力,题材,编程语言和逻辑图等。

3、通常情况下将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。