首页>>CT技术培训>> SS7在IP网上的发展趋势   问题解答 Q&A

 

第五课 一个基于IP插口的ISUP服务器例子

上一页

3. 实现细节 

 

 

所有通信的数据包都有一个固定的格式,其中包括数据包的固定头部和信息载荷。包大小固定为MAX_PSIZE+96。

数据包结构定义如下:

typedef struct ISrvPkt_s {

ISrvPktHdr hdr;

U8 payload[MAX_PSIZE];

} ISrvPkt;

数据包的头部结构定义如下:

typedef struct ISrvPktHdr_s {

U16 size;

U16 type;

U32 ctahd;

U32 subtype;

} ISrvPktHdr;

其中:size 为16位的数据包有效包大小(包括头部)。

Type 为16位的包类型,有2个值:

SC_DATA ISUP服务器发给客户端的数据。

CS_DATA ISUP客户端发给服务器的数据。

Ctahd 为32位的CT access句柄。

Subtype 为32位的子类型,目前有2个值:

ST_INCOMING_CALL 呼入;

ST_OUTGOING_CALL 呼出;

信息载荷有两类,一为隶属载荷,它指明信息隶属的目标信令点(DPC)和电路号(CIC)。定义如下:

typedef struct ISrvAttachPayload_s {

U32 CIC;

U32 DPC;

} ISrvAttachPayload;

第二类为号码载荷,包含呼叫的主被叫号码,定义如下:

typedef struct ISrvNumbersPayload_s {

char calling_number[MAX_SIZE+1];

char called_number[MAX_SIZE+1];

} ISrvNumbersPayload;

 

Circuit

Sockfd

Ctahd

CIC

DPC

1

5

0x80000001

1

1.1.1

2

6

0x80000002

2

1.1.1

3

7

0x80000003

3

1.1.1

4

8

0x80000001

1

1.1.2

5

9

0x80000002

2

1.1.2

 

4. 如何和ISUP服务器配合完成呼叫 

DWORD NMSAPI ISUPServerConnect(char *ip_addr,char *logfilename);

DWORD NMSAPI ISUPServerAttach(CTAHD ctahd, unsigned long CIC, unsigned long DPC);

DWORD NMSAPI ISUPServerPlaceCall( CTAHD ctahd, char *calling_num, char *called_num);

DWORD NMSAPI ISUPServerAcceptCall(CTAHD ctahd);

DWORD NMSAPI ISUPServerAnswerCall(CTAHD ctahd);

DWORD NMSAPI ISUPServerReleaseCall(CTAHD ctahd);

DWORD NMSAPI ISUPServerRejectCall(CTAHD ctahd);

DWORD NMSAPI ISUPServerReset(CTAHD ctahd);

DWORD NMSAPI ISUPServerBlockCalls(CTAHD ctahd);

DWORD NMSAPI ISUPServerUnblockCalls(CTAHD ctahd);

 

 

 

 

 

5. 技术提示

通过插口发送数据之前和接收数据之后,要调用ntohs( ), ntohl( ), htons( ), htonl( )函数来转换高低字节顺序。

6. 结论

   现在让我们总结一下上面实现的ISUP服务器:

   首先,它是一个建立在NMS SS7支持的ISUP协议层基础上的多线程服务器。它提供了基于TCP协议插口的API函数。它是跨平台的,同时支持Solaris和NT。

   但是,这个服务器只支持ISUP协议,不支持SS7中其它协议层。它只是一个演示程序,没有经过完整的测试,不够强壮。程序中用到的API函数(ISUPxxxx)也不是NMS SS7提供的标准API函数。

   另外,是使用TCP还是使用UDP的问题,也没有经过论证,有待实践中作进一步确定。


相关资源

  1. IETF(因特网工程任务组)网站:www.ietf.org

  2. IETF是开发SS7/IP标准的主要组织,Sigtran组是专门从事SS7/IP开发的。

    Rfc2960:这是SCTP协议的详细说明书。

    draft-ietf-sigtran-m3ua-10:这是MTP3用户适应层协议。

  3. 介绍SS7/IP有关知识及产品:www.ss7oip.com

  4. SS7/IP有关新闻:www.intellinet-tech.com/news

  5. 附相关书籍:

<<rfc2960>>;

<<draft-ietf-sigtran-m3ua-10>>;

<<tutorial_ss7_ip_interworking>>;

 

首页>>CT技术培训>> SS7在IP网上的发展趋势   问题解答 Q&A