首頁>>CT技術培訓>> SS7在IP網上的發(fā)展趨勢   問題解答 Q&A

 

第五課 一個基于IP插口的ISUP服務器例子

上一頁

3. 實現細節(jié) 

 

 

所有通信的數據包都有一個固定的格式,其中包括數據包的固定頭部和信息載荷。包大小固定為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服務器發(fā)給客戶端的數據。

CS_DATA ISUP客戶端發(fā)給服務器的數據。

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. 技術提示

通過插口發(fā)送數據之前和接收數據之后,要調用ntohs( ), ntohl( ), htons( ), htonl( )函數來轉換高低字節(jié)順序。

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是開發(fā)SS7/IP標準的主要組織,Sigtran組是專門從事SS7/IP開發(fā)的。

    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網上的發(fā)展趨勢   問題解答 Q&A

大新县| 西乡县| 南靖县| 甘孜县| 雅安市| 曲阜市| 榆林市| 日土县| 沅江市| 同仁县| 富阳市| 保靖县| 澄城县| 遵化市| 新干县| 崇文区| 璧山县| 和顺县| 鹤峰县| 梁河县| 朔州市| 垣曲县| 千阳县| 化隆| 隆回县| 张北县| 马尔康县| 霍邱县| 罗定市| 宜兰县| 广汉市| 泰宁县| 年辖:市辖区| 化州市| 甘谷县| 九台市| 报价| 桓仁| 资中县| 普陀区| 珲春市|