Sun Java System Messaging Server 6.3 管理指南

C.4.4 SMS 回覆與通知處理

SMS 閘道伺服器可維護透過其 SMPP 伺服器轉送的每封 SMS 郵件的歷程記錄。需要使用歷程資料是基於以下事實:提交一封電子郵件至 SMS 時,通常不可能將郵件創建者的電子郵件位址轉換成 SMS 來源位址。由於任何 SMS 回覆和通知都會導向至此 SMS 來源位址,這樣就會出現問題。這個問題可以透過使用轉送郵件中自動產生的唯一 SMS 來源位址解決。因此,遠端 SMSC 會被配置為可將這些 SMS 來源位址路由回閘道 SMPP 伺服器。

歷程資料是指記憶體內雜湊表,其中包含 ID 郵件和產生的唯一 SMS 來源位址。這些資料以及關聯的電子郵件源資料也會儲存在磁碟上。基於磁碟的儲存為一系列檔案,每個檔案代表 HASH_FILE_ROLLOVER_PERIOD 秒的作業事件 (預設為 30 分鐘)。每個檔案會保留 RECORD_LIFETIME 秒 (預設為 3 天)。請參閱「Sun Java Communications Suite 5 Deployment Planning Guide」,以取得歷程資料的記憶體內和磁碟上資源需求的論述。

每個記錄都有三個元件:

C.4.4.1 SMS 回覆的路由程序

閘道 SMPP 轉送器與伺服器使用歷程記錄來處理 SMS 回覆、通知與行動電話發出的郵件。當 SMS 郵件提交至 SMPP 轉送器或伺服器時,以下路由程序就會發生:

  1. SMS 目標位址會與歷程記錄進行比對,查看是否有 SMPP 轉送器先前產生的相符且唯一的 SMS 來源位址。如果找到相符項目,請參閱步驟 6。

  2. 如果沒有相符項目,但郵件為 SMS 通知 (SMPP DELIVER_SM PDU),則接收郵件 ID (如果有) 會與歷程記錄進行比較。如果找到相符項目,請至步驟 8。[SMS 閘道伺服器實際允許這些項目存在於 SMPP 轉送或 SMPP 伺服器中。]

  3. 如果沒有相符項目,則目標 SMS 位址會與每個已配置的閘道設定檔的 SELECT_RE 選項表示式進行比較。如果找到相符項目,則至步驟 9。

  4. 如果沒有相符項目且 SMS 郵件已提交給閘道 SMPP 轉送器,則郵件會轉送至遠端 SMPP 伺服器。

  5. 如果沒有相符項目且 SMS 郵件已提交給閘道 SMPP 伺服器,則郵件被確定為無效郵件並會在 SMPP 回應 PDU 中傳回錯誤回應。對於電子郵件至 SMS,最終會產生未遞送通知 (NDN)。

  6. 如果找到相符的唯一 SMS 來源位址,則 SMS 郵件會接收進一步檢查,查看是回覆還是通知郵件。若要成為通知郵件,其必須為具有接收郵件 ID 的 SUBMIT_SM PDU。否則,將其視為一個回覆。

  7. 如果是回覆,則 SMS 郵件會使用歷程記錄中的源電子郵件資訊轉換成電子郵件。

  8. 如果是通知郵件,則 SMS 郵件會依照 RFC 1892-1894 轉換成電子郵件傳送狀態通知 (DSN)。請注意,將遵循原始電子郵件的 ESMTP NOTIFY 旗標 (RFC 1891) (例如,如果 SMS 郵件是「成功」DSN,但原始電子郵件僅請求「失敗」通知,則 SMS 通知會被捨棄)。

  9. 如果目標 SMS 位址與已配置的閘道設定檔中的 SELECT_RE 選項相符,則 SMS 郵件會被視為行動電話發出的郵件,並依照閘道設定檔的 PARSE_RE_n 規則轉換回電子郵件。如果轉換失敗,則 SMS 郵件無效且傳回錯誤回應。