Sun Java System Messaging Server 6 2005Q4 管理指南

SMS 閘道伺服器配置

本節將指導如何設定 SMS 閘道伺服器以實現電子郵件至行動電話以及行動電話至電子郵件的功能。本節包含以下主題:

設定雙向 SMS 路由

設定 MTA 與 SMSC 之間的雙向電子郵件與 SMS 路由的建議方法包含三個步驟:

設定 SMS 位址前綴

MTA SMS 通道產生的來源 SMS 位址應設定為與選取的 SMS 位址前綴相符。設定以下內容便可達此目的:

設定閘道設定檔

隨後,應設定 SMS 閘道伺服器的閘道設定檔,以使所有轉送的 SMS 來源位址成為唯一位址。此為預設設定,但可以透過指定閘道設定檔選項 MAKE_SOURCE_ADDRESSES_UNIQUE=1 進行明確設定。這樣會使轉送的 SMS 來源位址的格式變為:

prefixnnnnnnnnnn

其中 nnnnnnnnnn 是唯一的十位十進位數字。

配置 SMSC

最後,SMSC 應配置為將所有符合前綴 (僅前綴或前綴加上十位數) 的 SMS 目標位址路由至 SMS 閘道伺服器的 SMPP 伺服器。此種路由的常規表示式類似於:

prefix([0-9]{10,10}){0,1}

其中,prefixDEFAULT_SOURCE_ADDRESS 的值,[0-9] 指定允許的十位數字值,{10, 10} 指定十位數的最小值和最大值,而 {0, 1} 指定零值或十位數字的其中一值。

啟用與停用 SMS 閘道伺服器

啟動與停止 SMS 閘道伺服器

啟用 SMS 閘道伺服器後,可以使用以下指令啟動與停止它:

# start-msg sms

# stop-msg sms

SMS 閘道伺服器配置檔案

SMS 閘道伺服器需要配置檔案才能運作。配置檔案為使用 UTF-8 編碼的 Unicode 文字檔案。此檔案可以是 ASCII 文字檔案。檔案名稱必須為:

installation-directory/config/sms_gateway.cnf

檔案中的每個選項設定都使用以下格式:

option-name=option-value

選項群組中的選項會以下列格式顯示:

[group-type=group-name]
option-name-1=option-value-1
option-name-2=option-value-2
...
option-name-n=option-value-n

在閘道伺服器上配置電子郵件至行動電話功能

若要實作雙向 SMS 的電子郵件至行動電話部分,您必須配置以下內容:

閘道設定檔

若要配置電子郵件至行動電話閘道設定檔,請執行以下步驟:

Procedure配置電子郵件至行動電話閘道設定檔

步驟
  1. 新增閘道設定檔至 SMS 閘道伺服器配置檔案。

    若要新增選項群組,請使用以下格式:


    [GATEWAY_PROFILE=profile_name]
    option-name-1=option-value-1
    option-name-2=option-value-2a
    ...
    option-name-n=option-value-n

    閘道設定檔名稱 profile_name 採用前述格式,長度不能超過 11 位元組。此名稱必須與 SMS 通道選項檔案中 GATEWAY_PROFILE 通道選項的名稱相同。該名稱不區分大小寫。如需有效通道選項的清單,請參閱可用選項

  2. 設定閘道設定檔選項 (例如,SMSC_DEFAULT_CHARSET),以與遠端 SMSC 的特徵相符。

  3. 設定其他閘道設定檔選項以與 SMS 通道的電子郵件特徵相符。

    如需閘道設定檔選項的完整說明,請參閱閘道設定檔選項

  4. 設定 CHANNEL 選項。

    設定其值為 MTA SMS 通道名稱。

    當通知透過閘道傳送至電子郵件時,產生的電子郵件將使用此通道名稱在 MTA 中形成佇列。

SMPP 轉送器

若要配置 SMPP 轉送器,請完成以下步驟:

Procedure配置 SMPP 轉送

步驟
  1. 將 SMPP 轉送創設 (選項群組) 增加至 SMS 閘道伺服器的配置檔案。

    若要新增選項群組,請使用以下格式:


    [SMPP_RELAY=relay_name]
    option-name-1=option-value-1
    option-name-2=option-value-2
    ...
    option-name-n=option-value-n

    轉送可以使用任何名稱。唯一要緊的就是該名稱不能是同一配置檔案內任何其他 SMPP 轉送器實例的名稱。

  2. 設定 LISTEN_PORT 選項。

    SMS 通道的 SMPP_PORT 選項使用的值必須與轉送 LISTEN_PORT 選項使用的值相符。對於 LISTEN_PORT,請選取 TCP 連接埠號碼,此連接埠號碼並未由其他任何 SMPP 轉送或伺服器創設使用,也未由同一電腦上執行的其他任何伺服器使用。

  3. 設定 SERVER_HOST 選項。

    轉送的 SERVER_HOST 選項應給定遠端 SMSC 的 SMPP 伺服器主機名稱。可以使用 IP 位址來代替主機名稱。

  4. 設定 SERVER_PORT 選項。

    轉送的 SERVER_PORT 選項應給定遠端 SMSC 的 SMPP 伺服器 TCP 連接埠。

    如需所有 SMPP 轉送選項的完整說明,請參閱SMPP 轉送器選項

SMPP 伺服器

若要配置 SMPP 伺服器,請完成以下步驟:

Procedure配置 SMPP 伺服器

步驟
  1. 將 SMPP 伺服器創設 (選項群組) 增加至 SMS 閘道伺服器的配置檔案。

    若要新增選項群組,請使用以下格式:


    [SMPP_SERVER=server_name]
    option-name-1=option-value-1
    option-name-2=option-value-2...
    option-name-n=option-value-n

    伺服器可以使用任何名稱。唯一要緊的就是該名稱不能是同一配置檔案內任何其他 SMPP 伺服器實例的名稱。

  2. 設定 LISTEN_PORT 選項。

    選擇 TCP 連接埠號碼,此連接埠號碼並未由任何其他伺服器或轉送器實例使用。此外,此連接埠號碼並未由同一電腦上執行的任何其他伺服器使用。

    遠端 SMSC 需要配置為將通知經由 SMPP 路由至使用此 TCP 連接埠的 SMS 閘道伺服器系統。

    如需所有 SMPP 伺服器選項的完整說明,請參閱SMPP 伺服器選項

配置行動電話至電子郵件作業

若要配置行動電話至電子郵件功能,必須執行兩個配置步驟:

請注意多個閘道設定檔可以使用同一 SMPP 伺服器實例。實際上,同一 SMPP 伺服器實例既可用於電子郵件至行動電話應用程式,又可用於行動電話至電子郵件應用程式。

配置行動電話至電子郵件閘道設定檔

對於行動電話源,閘道設定檔提供兩條主要資訊:如何識別適合該設定檔的 SMS 郵件以及如何將這些郵件轉換成電子郵件。請注意,此設定檔可以與電子郵件至行動電話使用的設定檔相同,但帶有 SELECT_RE 選項。

若要配置閘道設定檔,請執行以下步驟:

Procedure配置閘道設定檔

步驟
  1. 將閘道設定檔 (選項群組) 增加至 SMS 閘道伺服器的配置檔案。

    若要新增選項群組,請使用以下格式:


    [GATEWAY_PROFILE=profile_name]
    option-name-1=option-value-1
    option-name-2=option-value-2
    ...
    option-name-n=option-value-n

    任何不超過 11 個字元的名稱均可用做設定檔的名稱。唯一要緊的就是該名稱不能是同一配置檔案中其他閘道設定檔已經使用的名稱。

  2. 設定 SELECT_RE 選項 (必須為每個閘道設定檔指定此選項)。

    此選項的值為 ASCII 常規表示式,用於比對 SMS 目標位址。如果 SMS 目標位址符合此常規表示式,則此 SMS 郵件會透過閘道傳送至使用此相符設定檔說明之特徵的電子郵件。

    請務必注意可以配置多個閘道設定檔,這些閘道設定檔的各組 SMS 位址可以發生重疊 (例如符合位址 000 的設定檔以及另一個符合任一其他三位數位址的設定檔)。但是,應該避免發生這種情形,因為 SMS 郵件只會傳送至一個閘道設定檔:即第一個相符的設定檔。此外,進行比對的次序也無法定義。

  3. 設定 CHANNEL 選項。

    其值應為 MTA 的 SMS 通道名稱。

    如需所有行動電話源選項的完整說明,請參閱閘道設定檔選項

配置行動電話至電子郵件 SMPP 伺服器

增加 SMPP 伺服器的程序與增加電子郵件至行動電話 SMPP 伺服器的程序相同 (請參閱SMPP 伺服器)。

遠端 SMSC 需要配置為將 SMS 通訊流路由至閘道 SMPP 伺服器。若要如此,SMSC 用於路由行動電話至電子郵件通訊的 SMS 目標位址,應為閘道設定檔選項 SELECT_RE 設定的值。

例如,如果 SMS 位址 000 已用於行動電話至電子郵件通訊流,則 SMSC 需要配置為將 SMS 目標位址 000 的通訊流路由至閘道 SMPP 伺服器。閘道設定檔應使用選項設定 SELECT_RE=000。

配置選項

本節詳細描述 SMS 閘道伺服器配置檔案選項。以下各表列出所有可用的配置選項,並針對各項提供簡要說明。各表分別用於全域選項、SMPP 轉送器選項、SMPP 伺服器選項以及 SMS 閘道伺服器設定檔選項。

在後述小節中,針對所有可用的配置選項都提供有完整的說明。這些小節為:

全域選項

目前 SMS 閘道伺服器具有三類全域選項:

全域選項必須在配置檔案上方、指定任何選項群組之前進行指定。表 D–20 列出了所有全域配置選項。

表 D–20 全域選項

選項 

預設 

說明 

DEBUG

6

選取產生的診斷輸出類型 

HISTORY_FILE_DIRECTORY

 

歷程資料檔案的絕對目錄路徑 

HISTORY_FILE_MODE

0770

歷程資料檔案的許可權 

HISTORY_FILE_ROLLOVER_PERIOD

30 分鐘

寫入同一歷程資料檔案的最長時間 

LISTEN_CONNECTION_MAX

 

所有 SMPP 轉送器與伺服器實例中並行運作的內送連線之最大數量 

RECORD_LIFETIME

3 天

歷程資料歸檔檔案中記錄的生命週期 

THREAD_COUNT_INITIAL

10 個執行緒

工作者執行緒的初始數量 

THREAD_COUNT_MAXIMUM

50 個執行緒

工作者執行緒的最大數量 

THREAD_STACK_SIZE

64 Kb

每個工作者執行緒的堆疊大小 

執行緒調校選項

每個內送 TCP 連線代表一個 SMPP 階段作業。對階段作業的處理是由執行緒儲存區中的工作者執行緒所操控的。當階段作業處理需要等候 I/O 請求完成時,工作者執行緒會暫停此階段作業,並執行給定的其他工作。I/O 請求完成後,儲存區中可用的工作者執行緒會恢復此階段作業。

以下選項允許用於調校工作者執行緒程序的儲存區:THREAD_COUNT_INITIALTHREAD_COUNT_MAXIMUMTHREAD_STACK_SIZE

THREAD_COUNT_INITIAL

(整數,> 0) 為工作者執行緒池初始建立的執行緒數。此計數不包括專門用於管理記憶體內歷程資料的執行緒 (2 個執行緒),也不包括專門用於偵聽內送的 TCP 連線的執行緒 (SMS 閘道伺服器偵聽的每個 TCP 連接埠/介面位址對使用一個執行緒)。THREAD_COUNT_INITIAL 的預設值為 10 個執行緒。

THREAD_COUNT_MAXIMUM

(整數,>= THREAD_COUNT_INITIAL) 允許工作者執行緒池的最大執行緒數。預設值為 50 個執行緒。

THREAD_STACK_SIZE

(整數,> 0) 工作者執行緒池中每個工作者執行緒的堆疊大小 (以位元組為單位)。預設值為 65,536 個位元組 (64 Kb)。

歷程資料調校

SMS 郵件轉送後,遠端 SMPP 接收伺服器產生的郵件 ID 會儲存在記憶體內雜湊表中。有關原始電子郵件的資訊也會隨此郵件 ID 一同儲存。如果該郵件 ID 隨後被 SMS 通知所參考,則此資訊可以被擷取。然後,擷取的資訊可用於將 SMS 通知傳送至適當的電子郵件收件者。

記憶體內雜湊表會由專門的執行緒備份到磁碟上。結果磁碟檔案被稱為「歷史檔案」。這些歷程檔案有兩個用途:以永久性形式儲存重新啟動 SMS 閘道伺服器之後復原記憶體內雜湊表時所需的資料;透過將可能的詳細資料儲存在磁碟中來保留虛擬記憶體。每個歷史檔案僅可於 HASH_FILE_ROLLOVER_PERIOD 秒內寫入,超過此時間,歷史檔案便會關閉,並建立新的歷史檔案。當歷史檔案超過 RECORD_LIFETIME 的時效 (以秒為單位) 後,便會從磁碟中刪除。

以下選項允許用於調校歷程檔案:HISTORY_FILE_DIRECTORYHISTORY_FILE_MODEHISTORY_FILE_ROLLOVER_PERIODRECORD_LIFETIME

HISTORY_FILE_DIRECTORY

(字串,絕對目錄路徑) 會在其中寫入歷史檔案的目錄之絕對路徑。如果該目錄路徑不存在,則會建立一個。此選項的預設值為:

msg_svr_base/data/sms_gateway_cache/

使用的目錄應位於相對較快的磁碟系統上,並有足夠的自由空間用於預期的儲存;請參閱SMS 閘道伺服器儲存需求,以將此選項變更為更合適的值。

HISTORY_FILE_MODE

(整數,八進制值) 與歷史檔案關聯的檔案權限。依預設,將使用值 0770 (八進位)。

HISTORY_FILE_ROLLOVER_PERIOD

(整數,秒數)HASH_FILE_ROLLOVER_PERIOD 秒,就會關閉目前的歷史檔案,並建立一個新歷史檔案。依預設,將使用值 1800 秒 (30 分鐘)。

RECORD_LIFETIME

(整數,秒 > 0) 歷程記錄的使用期限 (以秒為單位)。時間長於此生命週期的記錄會從記憶體中清除;時間長於此生命週期的歷程檔案會從磁碟中刪除。依預設,將使用值 259,200 秒 (3 天)。儲存在記憶體內的記錄會在掃描過程中被專門用於管理記憶體內資料的執行緒清除。這些掃描每 HASH_FILE_ROLLOVER_PERIOD 秒執行一次。有必要開啟新的歷程檔案時,磁碟上的檔案就會被清除。

其他

有兩個其他選項:DEBUGLISTEN_CONNECTION_MAX

DEBUG

(整數,位元遮罩) 啟用除錯輸出。預設值為 6,選取警告郵件和錯誤郵件。

表 D–21 定義 DEBUG 位元遮罩的位元值。

表 D–21 DEBUG 位元遮罩

位元 

值 

說明 

0 - 31 

-1

極其詳細輸出 

1

資訊郵件 

2

警告郵件 

4

錯誤郵件 

8

子常式呼叫追蹤 

16

雜湊表診斷 

32

I/O 診斷,接收 

64

I/O 診斷,傳輸 

128

SMS 至電子郵件轉換診斷 (行動電話發出的郵件與 SMS 通知) 

256

PDU 診斷,標頭資料 

512

PDU 診斷,內文資料 

10 

1024

PDU 診斷,類型-長度-值資料 

11 

2048 

選項處理;傳送所有選項設定至記錄檔。 

LISTEN_CONNECTION_MAX

(整數,>= 0) 所有 SMPP 轉送與伺服器創設中允許同步運作的傳入 TCP 連線之最大數量。0 (零) 值表示連線數量無全域限制。但是,也可以由給定轉送器或伺服器實例針對每台轉送器或伺服器設定限制。

SMPP 轉送器選項

SMS 閘道伺服器可具有其 SMPP 轉送器的多個實例,每個都具有不同的特徵,其中主要特徵是偵聽的 TCP 連接埠以及介面。不同的是,對於 SMPP 轉送器偵聽的每個網路介面和 TCP 連接埠對,不同的特徵可以進行歸類。這些特徵可以使用本節所述的選項加以指定。

每個實例應置於以下形式的選項群組中:


[SMPP_RELAY=relay-name]
option-name-1=option-value-1
option-name-2=option-value-2
...
option-name-n=option-value-n

字串 relay-name 僅用於區分不同的創設。

表 D–22 列出 SMPP 轉送配置選項。

表 D–22 SMPP 轉送器選項

選項 

預設 

說明 

LISTEN_BACKLOG

255

內送 SMPP 用戶端連線的連線儲存區 

LISTEN_CONNECTION_MAX

 

並行運作的內送連線的最大數量 

LISTEN_INTERFACE_ADDRESS

 

內送 SMPP 用戶端連線的網路介面 

LISTEN_PORT

 

內送 SMPP 用戶端連線的 TCP 連接埠 

LISTEN_RECEIVE_TIMEOUT

600 s

SMPP 用戶端的內送連線讀取逾時 

LISTEN_TRANSMIT_TIMEOUT

120 s

SMPP 用戶端的內送連線寫入逾時 

MAKE_SOURCE_ADDRESSES_UNIQUE

1

使轉送 SMS 來源位址成為唯一的位址並可回覆至 

SERVER_HOST

 

要轉送至的 SMPP 伺服器的主機名稱或 IP 位址 

SERVER_PORT

 

執行轉送的 SMPP 伺服器之 TCP 連接埠 

SERVER_RECEIVE_TIMEOUT

600 s

外寄 SMPP 伺服器連線的讀取逾時 

SERVER_TRANSMIT_TIMEOUT

120 s

外寄 SMPP 伺服器連線的寫入逾時 

LISTEN_BACKLOG

(整數,在 [0,255] 之間) 傳入 SMPP 用戶端連線的 TCP 堆疊所允許的連線儲存區。預設值為 255。

LISTEN_CONNECTION_MAX

(整數,>= 0) 允許用於此 SMPP 轉送創設的同步運作的傳入 TCP 連線之最大數量。請注意,如果此值超過全域 LISTEN_CONNECTION_MAX 設定,則會被忽略。

LISTEN_INTERFACE_ADDRESS

(字串「INADDR_ANY」或以小數點號分隔的十進制 IP 位址) 偵聽傳入 SMPP 用戶端連線的網路介面 IP 位址。可以是字串「INADDR_ANY」(所有可用介面) 或以小數點號分隔的十進制形式的 IP 位址 (例如,193.168.100.1)。預設值為「INADDR_ANY」。叢集 HA 配置需要將此值設定為與 HA 邏輯 IP 位址相對應。

LISTEN_PORT

(整數,TCP 連接埠號碼) 連結以接受傳入 SMPP 用戶端連線的 TCP 連接埠。此選項的規格為強制性;無預設值。另請注意,沒有為此服務指定網際網路指定號碼授權中心 (IANA)。

LISTEN_RECEIVE_TIMEOUT

(整數,秒數 > 0) 等待從 SMPP 用戶端讀取資料時允許的逾時。預設值為 600 秒 (10 分鐘)。

LISTEN_TRANSMIT_TIMEOUT

(整數,秒數 > 0) 傳送資料至 SMPP 用戶端時允許的逾時。預設值為 120 秒 (2 分鐘)。

MAKE_SOURCE_ADDRESSES_UNIQUE

(0 或 1) 依預設,SMPP 轉送將為每個 SMS 來源位址附加唯一的十位數字串。然後,產生的 SMS 來源位址會與其他歷程資料一同儲存。結果是唯一 SMS 位址,可供 SMS 使用者回覆時使用。用作 SMS 目標位址時,SMPP 伺服器會偵測此位址,然後將 SMS 郵件傳送給正確的電子郵件創建者。

若要停用唯一 SMS 來源位址 (對於單向 SMS) 的產生,請指定此選項的值為 0 (零)。

SERVER_HOST

(字串、TCP 主機名稱或以小數點號分隔的十進制 IP 位址) 轉送 SMPP 用戶端通訊的 SMPP 伺服器。可指定為主機名稱或 IP 位址。此選項的規格為強制性;無預設值。

SERVER_PORT

(整數,TCP 連接埠號碼) 接收轉送郵件的遠端 SMPP 伺服器的 TCP 連接埠。此選項的規格為強制性;無預設值。沒有為此服務指定 IANA;請勿與為 SNPP 指定的 IANA 混淆。

SERVER_RECEIVE_TIMEOUT

(整數,秒數 > 0) 等待從 SMPP 伺服器讀取資料時允許的逾時。預設值為 600 秒 (10 分鐘)。

SERVER_TRANSMIT_TIMEOUT

(整數,秒數 > 0) 傳送資料至 SMPP 伺服器時允許的逾時。預設值為 120 秒 (2 分鐘)。

SMPP 伺服器選項

SMS 閘道伺服器可具有其 SMPP 伺服器的多個實例,每個都具有不同的特徵,其中主要特徵是偵聽的 TCP 連接埠以及介面。不同的是,對於 SMPP 伺服器偵聽的每個網路介面和 TCP 連接埠對,不同的特徵可以歸類。這些特徵可以使用本節所述的選項加以指定。

每個實例應置於以下形式的選項群組中:


[SMPP_SERVER=server-name]
option-value-1=option-value-1
option-value-2=option-value-2
...
option-name-n=option-value-n

字串 server-name 僅用於區分不同的創設。

表 D–23 列出 SMPP 伺服器配置選項。

表 D–23 SMPP 伺服器選項

選項 

預設 

說明 

LISTEN_BACKLOG

255

內送 SMPP 伺服器連線的連線儲存區 

LISTEN_CONNECTION_MAX

 

並行運作的內送連線的最大數量 

LISTEN_INTERFACE_ADDRESS

 

內送 SMPP 伺服器連線的網路介面 

LISTEN_PORT

 

內送 SMPP 伺服器連線的 TCP 連接埠 

LISTEN_RECEIVE_TIMEOUT

600 s

內送 SMPP 伺服器連線的讀取逾時 

LISTEN_TRANSMIT_TIMEOUT

120 s

內送 SMPP 伺服器連線的寫入逾時 

LISTEN_BACKLOG

([0,255] 中的整數) 傳入 SMPP 用戶端連線的 TCP 堆疊所允許的連線儲存區。預設值為 255。

LISTEN_CONNECTION_MAX

(整數 >= 0) 允許用於此 SMPP 轉送創設的同步運作的傳入 TCP 連線之最大數量。請注意,如果此值超過全域 LISTEN_CONNECTION_MAX 設定,則會被忽略。

LISTEN_INTERFACE_ADDRESS

(字串,「INADDR_ANY」以小數點號分隔的十進制 IP 位址) 偵聽傳入 SMPP 用戶端連線的網路介面 IP 位址。可以是字串「INADDR_ANY」(所有可用介面) 或以小數點號分隔的十進制形式的 IP 位址 (例如,193.168.100.1.)。預設值為「INADDR_ANY」。

LISTEN_PORT

(整數,TCP 連接埠號碼) 連結以接受傳入 SMPP 用戶端連線的 TCP 連接埠。此選項的規格為強制性;無預設值。請注意,沒有為此服務指定 IANA。

LISTEN_RECEIVE_TIMEOUT

(整數,秒數 > 0) 等待從 SMPP 用戶端讀取資料時允許的逾時。預設值為 600 秒 (10 分鐘)。

LISTEN_TRANSMIT_TIMEOUT

(整數,秒數 > 0) 傳送資料至 SMPP 用戶端時允許的逾時。預設值為 120 秒 (2 分鐘)。

閘道設定檔選項

可以沒有閘道設定檔也可以有多個閘道設定檔。在 SMS 閘道伺服器的配置檔案中,每個閘道設定檔都在選項群組中宣告,格式如下︰


[GATEWAY_PROFILE=profile-name]
option-name-1=option-value-1
option-name-2=option-value-2
...
option-name-n=option-value-n

字串 profile-name 僅用於區分設定檔與其他源設定檔。

表 D–24 列出 SMS 閘道伺服器設定檔選項。

表 D–24 SMS 閘道伺服器設定檔選項

選項 

預設 

說明 

CHANNEL

sms

讓郵件形成佇列的通道 

EMAIL_BODY_CHARSET

US-ASCII

用於電子郵件內文的字元集 

EMAIL_HEADER_CHARSET

US-ASCII

用於電子郵件標頭的字元集 

FROM_DOMAIN

 

用於將電子郵件路由回 SMS 的網域名稱 

PARSE_RE_0, PARSE_RE_1, ..., PARSE_RE_9

 

用於剖析 SMS 郵件文字的常規表示式 

PROFILE

GSM

作業時使用的 SMS 設定檔︰GSM、TDMA 或 CDMA 

SELECT_RE

 

用於選擇外掛程式的常規表示式 

SMSC_DEFAULT_CHARSET

US-ASCII

SMSC 的預設字元集 

USE_SMS_PRIORITY

0

電子郵件的閘道 SMS 優先順序旗標 

USE_SMS_PRIVACY

0

電子郵件的閘道 SMS 私密性指標 

CHANNEL

(字串,1 - 40 個字元) 用於使電子郵件形成佇列的 MTA 通道之名稱。如未指定,則假設為「sms」。指定的通道必須在 MTA 的配置中定義。

EMAIL_BODY_CHARSET

(字串,字元集名稱) 用於在將 SMS 文字插入電子郵件內文之前翻譯 SMS 文字的字元集。如有必要,轉譯文字將進行 MIME 編碼。預設值為 US-ASCII。如果 SMS 郵件包含此字元集中不可用的文字影像,這些文字影像將被轉換成助憶符號字元,對收件者而言,它們可能有意義,也可能毫無意義。

MTA 可識別的字元集清單位於以下檔案中:

installation-directory/config/charsets.txt

EMAIL_HEADER_CHARSET

(字串,字元集名稱) 用於在將 SMS 文字插入 RFC 822 Subject: 標頭行之前翻譯 SMS 文字的字元集。如有必要,轉譯字串將進行 MIME 編碼。預設值為 US-ASCII。如果 SMS 郵件包含此字元集中不可用的文字影像,這些文字影像將被轉換成助憶符號字元,對收件者而言,它們可能有意義,也可能毫無意義。

FROM_DOMAIN

(字串、IP 主機名稱、1 - 64 個字元) 建構電子郵件的訊息封 From: 時附加至 SMS 來源位址的網域名稱。指定的名稱應是可將電子郵件路由回 SMS 的正確名稱。(例如,與 MTA SMS 通道關聯的主機名稱)。如未指定,則會使用透過 CHANNEL 選項指定的通道之正式主機名稱。

PARSE_RE_0, PARSE_RE_1, ..., PARSE_RE_9

(字串,UTF-8 常規表示式) 對於行動電話源電子郵件,閘道設定檔需要從 SMS 郵件的文字中擷取目標電子郵件位址。透過一個或多個符合 POSIX 的常規表示式 (RE) 可以達此目的。SMS 郵件文字將由每個常規表示式進行評估,直至找到產生目標電子郵件位址的相符項目,或者用完所有常規表示式為止。


備註 –

PARSE_RE_*ROUTE_TO 選項互相排斥。在同一閘道設定檔中同時使用這兩個選項會造成配置錯誤。


每個常規表示式必須符合 POSIX,並且用 UTF-8 字元集編碼。這些常規表示式必須輸出字串 0 作為目標位址。它們可能會選擇性地輸出 Subject: 標頭行中使用的文字做為字串 1,輸出郵件內文中使用的文字做為字串 2。未被常規表示式「消耗」的任何文字還可用於郵件內文,位於任何做為字串 2 輸出的文字之後。

以 PARSE_RE_0、PARSE_RE_1、 ...,直至 PARSE_RE_9 的順序嘗試常規表示式。如果未指定常規表示式,則使用以下預設常規表示式︰

[ \t]*([^\( ]*)[ \t]*(?:\(([^\)]*\))?[ \t]*(.*)

此預設常規表示式分成以下部分:

[ \t]*

忽略前導空格字元 (SPACETAB)。

([^\( ]*)

目標電子郵件位址。此為第一個報告字串。

[ \t]*

忽略空格字元。

(?:\(([^\)]*)$1\))?

括號中的是可選主旨文字。此為第二個報告字串。前導 ?: 導致外括號不會報告字串。它們僅用於將其內容分組為尾隨字元 ? 的單一 RE。尾隨字元 ? 會使此 RE 元件僅比對零或一次,相當於表示式 {0,1}。

[ \t]*

忽略空格字元。

(.*)

在郵件內文中保留文字。此為第三個報告字串。

例如,使用上述常規表示式,範例 SMS 郵件:

dan@sesta.com(Testing)This is a test

可得出電子郵件:


To: dan@sesta.com
Subject: Testing

This is a test

在第二個範例中,SMS 郵件:

sue@sesta.com This is another test

會得到:

To: sue@sesta.com

This is another test

請注意,SMS 郵件在使用上述常規表示式進行評估前將轉譯成 Unicode 的編碼。翻譯的文字會由之前從 UTF-8 轉換為 UTF-16 的常規表示式進行評估。評估結果會針對目標電子郵件位址翻譯為 US-ASCII,針對 Subject: 文字翻譯為 EMAIL_HEADER_CHARSET (如果有),針對郵件內文翻譯為 EMAIL_BODY_CHARSET (如果有)。

PROFILE

(字串、「GSM」、「TDMA」或「CDMA」) 假設的 SMS 設定檔。目前此資訊僅用於將 SMS 優先權旗標對映至 RFC 822 Priority: 標頭行。因此,當 USE_SMS_PRIORITY=0 (該選項的預設設定) 時,此選項不生效。

SELECT_RE

(字串,US-ASCII 常規表示式) 符合 US-ASCII POSIX 的常規表示式,用於比較每封 SMS 郵件的 SMS 目標位址。如果 SMS 郵件的目標位址符合此 RE,則此 SMS 郵件將根據此閘道設定檔,透過閘道傳送至電子郵件。

請注意,由於 SMS 郵件的目標位址在 US-ASCII 字元集中指定,因此,此常規表示式還必須能以 US-ASCII 表示。

SMSC_DEFAULT_CHARSET

(字串,字元集名稱) 遠端 SMSC 使用的預設字元集名稱。此選項的兩個常用選擇為 US-ASCII 和 UTF-16-BE (USC2)。如未指定,則假定為 US-ASCII。

USE_SMS_PRIORITY

(整數,0 或 1) 依預設 (USE_SMS_PRIORITY=0),會忽略 SMS 郵件中的優先權旗標,且不會與電子郵件一起傳送。若要讓優先權旗標與電子郵件一起傳送,請指定 USE_SMS_PRIORITY=1。與電子郵件一起傳送時,從 SMS 至電子郵件的對映如表 D–25 中所示︰

表 D–25 從 SMS 對映至電子郵件的優先順序旗標

SMS 設定檔 

SMS 優先順序旗標 

電子郵件優先順序:標頭行 

GSM 

0 (非優先權)

123 (優先權)

無標頭行 (表示 Normal)

Urgent

TDMA 

0 (大量)

1 (一般)

2 (緊急)

3 (非常緊急)

Nonurgent

無標頭行 (表示 Normal)

Urgent

Urgent

CDMA 

0 (一般)

1 (互動)

2 (緊急)

3 (緊急)

無標頭行 (表示 Normal)

Urgent

Urgent

Urgent

請注意,電子郵件 Priority: 標頭行的值為 NonurgentNormalUrgent

USE_SMS_PRIVACY

(整數,0 或 1) 依預設 (USE_SMS_PRIVACY=0),會忽略 SMS 私密性指示,且不會與電子郵件一起傳送。若要讓此資訊與電子郵件一起傳送,請指定 USE_SMS_PRIVACY=1。與電子郵件一起傳送時,從 SMS 至電子郵件的對映如表 D–26 中所示︰

表 D–26 從 SMS 對映至電子郵件的私密性旗標

SMS 私密性旗標 

電子郵件 Sensitivity: 標頭行 

0 (未限制)

無標頭行 

1 (限制)

Personal

2 (機密)

Private

3 (秘密)

Company-confidential

請注意,電子郵件 Sensitivity: 標頭行的值為 PersonalPrivateCompany-confidential

雙向 SMS 的配置範例

有關運作方式的假設

為此範例,我們假定需要以下運作方式:

為了引發此運作方式,應進行以下假定和指定

進一步假設和指定

SMS 通道配置

若要使上述運作方式生效,可以在 imta.cnf 檔案中使用以下 SMS 通道配置 (將以下行增加至檔案結尾處):

(blank line)
sms
sms.domain.com

SMS 通道選項檔案

通道的選項檔案 sms_option 可以包含以下設定:

SMPP_SERVER=gateway.domain.com
SMPP_PORT=503
USE_HEADER_FROM=0
DEFAULT_SOURCE_ADDRESS=000
GATEWAY_PROFILE=sms1
SMSC_DEFAULT_CHARSET=UCS2

SMS 閘道伺服器配置

最後,閘道伺服器配置檔案 sms_gateway.cnf 應如下所示:


HISTORY_FILE_DIRECTORY=/sms_gateway_cache/
[SMPP_RELAY=relay1]
LISTEN_PORT=503SERVER_HOST=smpp.domain.com
SERVER_PORT=377

[SMPP_SERVER=server1]
LISTEN_PORT=504

[GATEWAY_PROFILE=sms1]
SELECT_RE=000([0-9]{10,10}){0,1}
SMSC_DEFAULT_CHARSET=UCS2

測試此配置

如果沒有 SMSC 可供測試,您可能會想執行某些回返測試。透過 sms_option 檔案中的一些額外設定,便可以為上述配置執行一些簡單的迴路測試。

額外 sms_option 檔案設定

sms_option 檔案的額外設定為:

! So that we don’t add text to the body of the SMS message
FROM_FORMAT=
SUBJECT_FORMAT=
CONTENT_PREFIX=

如果沒有這些設定,則包含:

user@domain.com (Sample subject) Sample text

的電子郵件將會轉換成 SMS 郵件:

From:user@domain.com Subject:Sample Subject Msg:Sample text

反之將不會使用行動電話至電子郵件程式碼預期的格式,而是:

user@domain.com (Sample subject) Sample text

因此,需要 (對於迴路測試) 為 FROM_FORMATSUBJECT_FORMAT 以及 CONTENT_PREFIX 選項指定空白字串。

執行回返測試

傳送定址至 000@sms.domain.com 的測試電子郵件,例如

user@domain.com (Test message) This is a test message which should loop back

結果是這封電子郵件應路由回電子郵件收件者 user@domain.com。請確定已將 sms.domain.com 增加到您的 DNS 或主機表中,以進行測試。