• 沒有找到結果。

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

75

第五章、 CCN 群組通訊系統模擬

為驗證群組通訊設計之可行性,我們實際建置一套群組通訊模擬系統,因 CCN 群組通訊系統實作,在取得行動基地台資源上較為困難,因此我們將系統 改建置在以無線 AP 所構成的區域網路,採用封包交換(Packet Switching)技術,

內部控制訊息及語音資料以 UDP 封包格式方式傳送,使用者端則以開放性 Android 作業平台手機模擬一般所使用的手機與系統連線,以 VoIP 方式進行通 話。

5.1、 系統模擬環境

本論文模擬環境如圖 5-1 所示。用戶通訊設備採用 Android 平台之智慧型手 機裝載 CCN 群組通訊應用程式(ACS Application),透過 Wi-Fi 與模擬行動基地 台之無線 AP 聯繫,手機即透過無線 AP 接入通訊服務網路。服務網路端則模擬 CCN 網路環境,使用多台筆記型電腦(具備 802.11 及 Ethernet 介面網卡),安裝 CCN 核心元件,包括:EC Module、ICC Module 等,透過傳送無線訊號將彼此 連結,形成 Ad Hoc 網路,且透過連接無線 AP,接收由使用者所傳遞之通訊訊 號及資料。其中一部筆記型電腦模擬 CCN 連網台,透過 Ethernet 介面連接後端 核心網路,以接上公眾網路(Internet)。另外建置一部 DB Server 模擬 ACS,當 有通訊服務需求時以便提供群組資料。CCN 系統元件與模擬設備對映如表 5-1。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

76

表 5-1、CCN 系統元件與模擬設備對映表

CCN Prototype

Cell Phone Android phone(ACS APP + VoIP)

Base Station Wireless AP

EC Module Notebook(Service Process)

ICC Module IEEE 802.11 data card + Ethernet data card

ACS Agency Communication System Server(Agent Profile Database)

Core Network Internet

系統開發工具採用 Eclipse 搭配 Java JDK,手機端則是使用 Android NDK 搭 配 iLBC 語音編解碼技術完成,系統硬體規格及軟體需求如表 5-2 所示。

圖 5-1、系統模擬環境示意圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

77

表 5-2、系統開發工具及軟硬體需求 Hardware Specifications

Notebook

OS Windows 7

CPU Intel(R)Core(TM)i5-2520M CPU @2.50GHz 2.50GHz Memory 2GB

Wireless Card Intel(R)Centrino(R) Advanced-N 6230 Software Specifications

Development Tools Eclipse IDE for Java Developers ADT Plugin for Eclipse

Java Development Kit Java jdk1.6.0_33 ACS Server

Data Base System Microsoft Office Access 2007 UA Implementation API

Java Development Kit Java jdk1.6.0_33 Software Development

Kit Android SDK 2.2+NDK Revision 8b Speech Codec iLBC(internet Low Bitrate Codec)

5.2、 系統控制訊息及音訊處理程序

本系統利用 Android SDK 開發具親和性的簡易操作介面(如圖 5-2),作為 與使用者互動的主要部分,可依使用者的選用功能項目以判別目前所提供之服 務。

圖 5-2、群組通訊使用者介面

使用者手機內存之應用程式(APP),透過 MainActivity 以獲得使用者選用 的功能項目,對映 Message Code 將控制訊息轉換為數據封包格式,透過 UDP 協 定在無線網路上傳送,由 EC Module 解讀控制訊息,由 ACS 提供群組資料以建 立通話連線。

控制訊息可分為三類,分別是服務請求訊息(Request Message)、系統回覆 訊息(Response Message)、系統錯誤訊息(Error Message)。Request Message 是 使用者向系統發出服務請求之訊息;Response Message 是系統提供服務之後回覆 給使用者之訊息;Error Message 則是使用者未授權、服務未能提供時或當系統 發生異常之錯誤訊息。各分類訊息編號及代表意義規劃如表 5-3~5。

表 5-3、Request Message 項目 Request Message Code

Code Message Remark

表 5-4、Response Message 項目 Response Message Code

Code Message Remark

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

79

表 5-5、Error Message 項目 Error Message Code

Code Message Remark 401 UNAUTHORISED 未授權

404 NOT_FOUND 空號;找不到對應資料 405 NO_ANSWER 無人應答

486 BUSY 線路忙線

487 REJECT 通話被拒

500 SERVER_ERROR 系統錯誤

圖 5-3 為群組通訊連線建立及終止時,系統訊息傳遞的流程(僅以 INVITE、

RINGING、CONNECT、BYE 代表正常運作之流程)。

當發話端 BSC 收到使用者的通訊請求時,發送 INVITE 訊息至 Service Process Controller,經過群組資料比對及尋找受話者,向受話端的 BSC 發送 RINGING 訊息,等待受話者應答。Service Process Controller 在收到 ANSWER 訊息後,進行指配通訊通道及建立通話的連線,向發話/受話端 BSC 傳送 CONNECT 訊息,通訊雙方在回覆 CONNECTED 訊息之後開始通話。通話雙方 若有一方掛斷電話時,BSC 傳送 BYE 訊息,由 Service Process Controller 轉送通 知 至 另 一 方 BSC , 並 在 收 到 回 應 時 釋 放 資 源 , 向 兩 方 BSC 發 送 DISCONNECTED,結束整個通話流程。

圖 5-3、群組通訊訊息傳遞流程

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

80

當連線建立之後通訊雙方開始傳送語音資料,發送端採用 Android NDK 所 提供之音訊 IO - AudioRecord 讀取設備的 mic 音訊(PCM data),經過 iLBC

(internet Low Bitrate Codec)將音訊資料進行編碼(Encode),利用 UDP Socket 將資料傳出,經由 EC Module 轉送語音封包,接收端則利用 UDP Socket 接收資 料,將其資料解碼(Decode),利用 AudioTrack 將其資料進行播放。iLBC 將音 訊資料進行 Encode、Decode 的動作,可以將音訊壓縮成 AMR 的格式,一組 PCM data 可以壓縮近 10 倍,如此可降低傳遞延遲並減少頻寬資源的浪費。群組通訊 控制訊息及通話語音資料傳遞流向如圖 5-4 所示。

圖 5-4、控制訊息及語音資料傳遞流向圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

81

5.3、 系統狀態及轉換流程

如圖 5-5、圖 5-6 所示,發話端(Originating Side)及受話端(Terminating Side)分別設計呼叫模型(Call Model)來說明本系統呼叫處理(Call Processing)

程序及狀態之轉變,詳如以下說明。

 發話端(Originating Side)

1、閒置(Idle)

系統啟動,在進行一連串初始化設定後進入閒置狀態,在此狀態內系統持續 監 聽 CCN 網 域 內 使 用 者 所 傳 遞 之 訊 息 , 以 便 能 即 時 提 供 服 務 。 當 收 到”REGISTER”註冊訊息時,將該成員手機號碼登記在群組通訊資料庫中並變更 群組成員狀態(待機中),若收到”DEREGISTER”訊息時,則立即撤銷其註冊狀 態。當系統收到發話者所撥打之號碼(”INVITE”通話請求訊息)時,系統狀態 轉向 Interrogation。

2、群組探詢(Interrogation)

進入此狀態之後,系統首先分析發話者所撥打之簡碼並對映群組資料庫,取 得 群 組 成 員 資 料 , 若 以 簡 碼 無 法 對 映 到 群 組 , 系 統 則 向 發 話 者 發 送” NOT_FOUND” 空號訊息並退回 Idle 狀態。若順利對映到群組,再依據成員目前 所處位置,比對 CCN 網路拓璞結構各節點位置,找出離發話者位置最近的 K 位 受話群組成員,產生呼叫清單後進入 Call_Proceeding 狀態。

3、通話連線(Call_Proceeding)

依據群組呼叫清單向受話端發送通話連線建立(Call Set-up)請求訊息,同 時啟動通話呼叫連線計時器(timer),進入 Paging 狀態。

4、群組呼叫(Paging)

執行群組呼叫程序,由基地台以廣播(broadcast)方式呼叫群組成員手機,

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

82

系統向發話者傳送回鈴音(ring back tone),在呼叫連線期間內收到”ANSWER”

應答訊息後,則立即記錄應答成員資料(包含手機號碼)並中斷與其他成員之連 線,使用配置好的通話頻道進行通話,系統進入 Active 狀態。若目前已無空餘 之通道時,則回覆發話者”BUSY”之訊息並退回 Idel 狀態。若與所有被呼叫成員 連 線 已 逾 時 而 沒 有 收 到 任 何”ANSWER” 之 訊 息 , 系 統 則 自 動 向 發 話 者 回 覆”NO_ANSWER”無人應答之訊息,退回 Idle 狀態。

5、通話進行(Active)

當通話連線建立後,系統將記錄此通電話相關資料(包括:通話使用之通道 編號)並變更發話者通話狀態(通話中),之後開始進行通話。通話中,系統負 責轉送話務,當通話結束時,由通話中的任一方發送”BYE”通話結束訊息,系統 將中斷通話連線,釋放通話所使用到的資源,完成通話終止程序後,恢復發話者 狀態(待機中),系統狀態回歸到 Idle 狀態。

圖 5-5、系統狀態圖(Originating Side)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

83

表 5-6、系統狀態轉變表(Originating Side)

Current State Event Next State Action Taken Idle Call_Orginated Interrogation Mapping_Agent_Group Interrogation Neighboring_Agent_Found Call_Proceeding Proceed_with_Call Call_Proceeding Call_Setup_Attempted Paging Send_Ring_Back_Tone

Paging Call_Answered Active Make_Connection Active Disconnected Idle Release

 受話端(Terminating Side)

1、閒置(Idle)

系統啟動後進入 Idle 狀態,持續監聽網路上所傳送之訊息,當接到發話端傳 送群組呼叫之通話連線請求訊息時,則進入 Alerting 狀態。

2、通話連線呼叫(Alerting)

向群組成員發送振鈴音(Ring Current),呼叫連線期間內被呼叫之成員手機 皆會持續響鈴,若其中一名成員按下通話鈕時,系統向發話端回傳”ANSWER”

應答訊息,系統將進入 Active 狀態,依所配置之通話頻道進行通話。若呼叫連 線逾時卻沒有成員承接通話,則向發話端回傳”NO_ANSWER”訊息,系統釋放資 源,退回 Idel 狀態。

3、通話進行(Active)

當通話連線建立後,系統將記錄此通電話相關資料(包括:通話使用之通道 編號)並變更受話者通話狀態(通話中),之後開始進行通話。通話中,系統負 責轉送話務,當通話結束時,由通話中的任一方發送”BYE”通話結束訊息,系統 將中斷通話連線,釋放通話所使用到的資源,完成通話終止程序後,恢復受話者 狀態(待機中),系統狀態回歸到 Idle 狀態。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

84

圖 5-6、系統狀態圖(Terminating Side)

表 5-7、系統狀態轉變表(Terminating Side)

Current State Event Next State Action Taken Idle Call_Setup_Received Alerting Send_Ring_Current Alerting Call_Answered Active Make_Connection

Active Disconnected Idle Release

5.4、 群組通訊服務流程

本節依據 CCN 提供之群組通訊服務,對照圖 5-7 資料流程圖(Data Flow Diagram, DFD),說明群組通話建立及終止時,系統功能模組處理之程序。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

85

表 5-8、系統功能表

 Agent Manager

Function Input Output

Group_Profile_Query Identification_Number Agent_Group

Agent_Profile_Query Group_ID Agent_List

 Service Center

Function Input Output

Call_Setup Dailed_Number Paging_List

Call_Management Call_ID Channel_ID

Call_Release Call_ID Channel_ID

 User Info Center

Function Input Output

User_Profile_Query MSISDN IMSI

 Mobility Manager

Function Input Output

Location_Query IMSI Location

Search_Agent Locations Neighboring_Agents

圖 5-7、群組通訊系統資料流程圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

86

 Qos Manager

Function Input Output

SLA_Query Group_ID (Caller/Callee) Priority

SLA_Classification Priority Channel_ID

5.4.1、 通話建立流程

使用者透過手機撥打號碼與基地台聯繫,則進入 CCN 用戶存取層,基地台 傳送通訊請求訊息,虛擬 BSC(BS Controller Function)接收 INVITE Message 並轉送訊息至服務程序層中服務流程控制器(Service Process Controller),之後 進行一連串的通訊服務處理流程,並透過網路服務層(Network Service Layer)

傳送通話訊息。各元件通訊服務處理步驟如圖 5-8 所示,說明如下。

 Step 1、Service Center 接到 INVITE 訊息後,進行撥叫號碼分析。

 Step 2、Agent Manager 依群組聯絡代碼查詢受話群組所有成員資料。

 Step 3、Mobility Manager 查找 K 個與發話者相鄰的受話群組成員位置。

 Step 4、Service Center 進行建立與受話群組成員間之連線並選擇適當的 通話路徑。

 Step 5、Network Process Controller 向所受話群組員發送來電訊息。

 Step 6、受話群組成員接收到來電訊息後,由其中一名成員承接呼叫,

回傳 ANSWER 訊息。

 Step 7、Service Center 接到應答訊息後,向 Qos Manager 查詢群組間通 話優先權並指配通話通道。

 Step 8、Agent Manager 異動群組成員目前狀態為通話中。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

87

 Step 9、Service Process Controller 向發話/受話端發送 CONNECT 通話連

 Step 9、Service Process Controller 向發話/受話端發送 CONNECT 通話連

相關文件