1 消息流程
ICP與ISMG之間進行信息交互時,可以採用長連接方式,也可以採用短連接方式。所謂長連接,指在一個連接上可以連續發送多個數據包,然後斷開連接,在連接保持期間,如果沒有數據包發送,需要雙方發鏈路檢測包。短連接是指通訊雙方有數據交互時,就建立一個連接,數據發送完成後,則斷開此連接,即每次連接只完成一項業務的發送。短信網關之間前轉時要求每條消息都要有狀態報告。當向用戶發送信息發生錯誤時,網關應向ICP發送錯誤狀態報告。
1.1 長連接
ICP與ISMG以Client—Server方式建立TCP連接,用於雙方信息的相互提交。TCP/IP連接建立後,由Client發起建立應用層的連接,這時如果ICP或ISMG認爲需要建立TLS連接,則在傳輸的數據包中置TLS字段,從而在雙方建立TLS連接。
在應用層連接建立後的數據傳輸過程中,如果ICP或ISMG需要向對端發送加密信息,也可建立TLS連接,這時只需要置相應的消息體中Tls_available(是否使用TLS層)屬性字段,且應的本條消息的消息體中的其他屬性不發送。
消息採用併發方式發送,加以流量控制,窗口大小可調,暫定爲16條消息,即接收方在應答前一次收到的消息最多不超過16條。
1.2 短連接
ISMG與ICP之間的通訊採用TCP/IP協議,雙方互爲client和server端。發送與接收單獨進行,每項業務建立一個連接,通訊採用應答方式,應答與請求在同一個連接中完成。由於系統採用互爲客戶端/服務器模式,操作以客戶端驅動方式發起連接請求,完成一次操作後關閉此連接。
傳輸過程中,如果ICP或ISMG認爲需要建立TLS連接,則在傳輸的數據包中置TLS字段,並建立雙方的TLS連接。
連接中對ICP的認證採用階段性認證方式,當ICP首次與IMSG交換信息時,ICP首先發送身份認證包,ISMG對ICP進行身份認證後,記錄ICP的IP地址等相關信息,在以後的數據交互時,ISMG把ICP的IP地址作爲認證條件,即對沒有註冊的ICP的相關信息不予處理。當ICP想斷開此邏輯上的應用層連接時,發送斷開連接請求包,ISMG接受斷開連接請求後,清除掉與此ICP相關的信息,即對MO到此ICP或ICP的MT信息均不予處理,但保存MO的信息,直到ICP再次與ISMG建立邏輯上的應用層連接,即身份認證。也允許ISMG發起斷開ICP的連接請求。
ISMG之間通信採用短連接方式,首先發起連接者作爲客戶端,對方作爲服務器建立連接。
消息採用併發方式發送,並加以流量控制,窗口大小可調,暫定爲16條消息,即接收方在應答前一次收到的消息最多不超過16條。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />