首頁>>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

江津市| 白水县| 华蓥市| 郑州市| 旬邑县| 乌鲁木齐县| 六安市| 乾安县| 温宿县| 成武县| 张家港市| 黄山市| 依兰县| 阳山县| 平潭县| 寿阳县| 涿鹿县| 沽源县| 宜阳县| 黄梅县| 瑞丽市| 新巴尔虎左旗| 周口市| 合山市| 颍上县| 宣汉县| 富宁县| 屏东县| 浪卡子县| 永兴县| 玛纳斯县| 林口县| 礼泉县| 德江县| 嘉兴市| 永春县| 大兴区| 丰都县| 永兴县| 永宁县| 海宁市|