能夠直接提供電信服務是BREW技術的一大特色。BREW中支持的電信服務主要是指語音業務,以及附加業務短消息功能,藍牙通信功能,小區多播通信功能等等。在BREW3.X之前,語音和短信功能都可以通過ITAPI接口來提供,在BREW 3.X及以上版本,這一方法同樣有限。

ITAPI 是一個簡單的設備通話層接口。 它可提供以下服務: 獲取通話狀態,安排語音呼叫,從 SMS 消息中提取 SMS 文本 ,獲取進入或正在呼叫的主叫號碼 ,注冊 SMS 消息,發送 SMS 消息等功能。ITAPI 允許應用程序注冊以下通知: NMASK_TAPI_STATUS,NMASK_TAPI_SMS_TEXT和NMASK_TAPI_SMS_TS。

應用程序通過ITAPI接口可以接收 SMS 消息:

1. 目標為 BREW 應用的定向 SMS 消息,發送形式為 //BREW::<消息> 。在指定目標應用的ClassID 時,ITAPI_SendSMS() 將消息內部進行格式化操作

2. 所有文本消息

3. 所有特定電信業務 ID 的消息

4. 所有具有特定前綴的文本消息

其中,接收指向應用程序的SMS不需要注冊,作為 EVT_APP_MESSAGE 事件接收,dwParam 包含指向短信有效負載的指針,該有效負載可作為 char * pszMsgTxt = (char *)dwParam。

對于訪問接收任意文本消息,應用程序必須使用 NMASK_TAPI_SMS_TEXT 掩碼注冊 TAPI 類,作為 EVT_NOTIFY 事件接收,其中 dwParam 包含指向 AEENotify 的指針。消息可作為 AEENotify * pNotify = (AEENotify*)dwParam; AEESMSTextMsg * pTextMsg = (AEESMSTextMsg*)pNotify->pData;?

如果接收特定電信業務消息,應用程序必須使用以下掩碼 uint32 mask = (NMASK_TAPI_SMS_TS |(SMS_TELESERVICE_ID << 16)) 進行注冊,作為 EVT_NOTIFY 事件接收,其中 dwParam 包含指向 AEENotify 的指針 消息可作為 AEENotify * pNotify = (AEENotify*)dwParam; AEESMSMsg *pMsg = (AEESMSMsg *)pNotify->pData;

如果訪問接收具有特定前綴的文本消息: 消息格式為 //: 應用程序必須注冊為 的處理程序 ,作為 EVT_APP_BROWSE_URL 接收。dwParam 包含指向 //: 的指針。

通過BREW中的ITAPI可以獲知設備狀態的更改,通過NMASK_TAPI_STATUS掩碼, 只要設備的通話狀態發生變化,應用程序都可以使用 TAPI 類獲得通知。只要狀態發生變化,應用程序就會收到 EVT_NOTIFY 事件。 此事件的 dwParam 為 AEENotify 類型。 此 AEENotify 結構內的 pData 成員屬于 TAPIStatus 類型,并包含設備當前通話狀態的詳細信息。

??????????? BREW 3.x專門為短信提供了新的接口ISMSMsg,ISMS,ISMSNotifier,和ISMSStorage? 新接口完整實現了短信協議TIA-EIA-637-A,而舊接口僅部分實現此協議。就短信發送而言,新接口主要支持下面三種編碼格式:

l? ASCII???? - 單位:字節,?? 最大長度:160

l? UNCODE - 單位:雙字節,最大長度:70

l? BINARY?? - 單位:字節,?? 最大長度:140

原有接口僅支持一種編碼格式,由AEE_DEVICEITEM_TAPI_SMS_ENCODING指定。就短信接收而言,新接口可以得到更多信息:短信內容/編碼格式,發送方號碼,短信中心接收到短信的時刻等,而舊接口僅能得到短信內容。ISMSStorage? & ISMSStorage2用來存儲,讀取,刪除和更新短信。存儲的類型包括RUIM卡和手機自身。

BREW 3.X及以上版本還提供了對一般語音付、藍牙和WIFI的完整支持,使應用可以獲得更廣泛的通信能力。

??