180 likes | 409 Views
實驗三 : MGCP. 實驗目的 使同學瞭解 MGCP 模擬程式和基本通話流程,熟悉 MGCP 的命令與訊息,並了解 Call Agent 程式的運作,並學會開發新的通話服務。 實驗原理. 修改 CA 以開發新服務. SS7. CA. SG. MGCP. TGW. RGW. CO. PSTN. RTP. 投影片說明. MGCP Simulation Program 的瞭解與使用 使同學瞭解 MGCP 模擬程式和基本通話流程,熟悉 MGCP 的命令與訊息。
E N D
實驗三 : MGCP • 實驗目的 • 使同學瞭解MGCP模擬程式和基本通話流程,熟悉MGCP的命令與訊息,並了解Call Agent程式的運作,並學會開發新的通話服務。 • 實驗原理 修改 CA 以開發新服務 SS7 CA SG MGCP TGW RGW CO PSTN RTP
投影片說明 • MGCP Simulation Program的瞭解與使用 • 使同學瞭解MGCP模擬程式和基本通話流程,熟悉MGCP的命令與訊息。 • 在MGCP(Media Gateway Control Protocol)中,通話服務皆由通話代理人(Call Agent, 簡稱CA)來控制;各個電話端點(endpoint)透過其住戶端閘到控制器RGW(Residential Gateway)送出MGCP的訊息和通話代理人做溝通來達成網路通話的目的。本程式主要為VoIP.exe,搭配RGWsim.exe或RGW.exe和所需測試的CA.exe來做模擬;適當的設定系統模擬環境後,便可模擬實際網路電話透過CA和RGW用MGCP溝通的流程。
投影片說明 • 通話服務的開發 • 了解通話代理人Call Agent程式的運作,並學會開發新的通話服務。 • 在MGCP系統中,所有的訊息傳遞均需透過通話代理人來聯繫;所以新通話服務的開發,必須從通話代理人程式來修改;對MGCP系統通話服務開發者而言,熟悉通話代理人程式是絕對必要的。 • 程式是以C語言所撰寫,開發者需備有Microsoft Visual Studio C++,或其他可編譯C語言的軟體。將casim.zip檔案解壓縮後存於電腦硬碟任一資料夾中,開啟通話代理人程式開發專案CASim.dsw檔案,選擇CASim.cpp後則可進行新服務的開發。
實驗流程 (1/4) 加入RGW 加入CA 選擇是否語音支援
投影片說明 • 實驗步驟 • 下載本次實驗的zip file,及document.doc文件檔,並詳細閱讀。 • 將zip file解壓縮於任一目錄中,執行目錄中VoIP.exe執行檔。 • 依序將一個CA和兩個RGW元件顯示於介面上,不勾選語音支援(Voice Support)。 • 依據IP和不於其他資源衝突的port來設定通話代理人和兩個RGW的設定值,並將通話代理人所管理的電話端點資料檢查一遍,至少有兩個電話端點才可進行通話。 • 當各項設定完成後,點選[Options]選單中選項[Setup Complete]後,即可看到各個端點電話,透過RGW和通話代理人溝通的網路連線關係。 • 檢查網路連線關係,看電話端點是否在所希望的RGW之下,若不是,請仔細了解電話端點(endpoint)的設定,並由步驟2重新再來。 • 將CA和RGW程式分別開啟,完成各個電話[Restart In Progress]後,即可點起電話鍵盤開始進行正常通話程序。
實驗流程 (2/4) 初始化CA 編輯更改 初始化RGW 初始化Endpoint
實驗流程 (3/4) 完成模擬環境建構
實驗流程 (4/4) CA會偵測其管轄區域內的電話 RGW其管轄區域內的電話 會自動向CA進行註冊 電話顯示狀態
CA設定 (1/3) 模擬程式選擇的port 模擬程式所在之IP
CA設定 (2/3) • 此為接收RGW訊息的位置 為CA所在的電腦IP CA所在的port
CA設定 (3/3) RGW所屬IP RGW所屬port CA所管理的電話端資料 電話端id
RGW設定(無Voice Support) 接收RGW訊息的位置 接收CA訊息的位置 可供使用者選擇訊息需透過哪一個位置(通常都設和RGW相同的Domain Name和不相衝的port) 顯示出此RGW下電話端點ID(endpointID)的範圍
RGW設定(有Voice Support) 接收RGW訊息的位置 接收CA訊息的位置 可供使用者選擇訊息需透過哪一個位置(通常都設和RGW相同的Domain Name和不相衝的port) 選擇此RGW所管的電話端點資料存放位置
電話鍵盤按鍵意義 此視窗顯示所傳送的指令 其意義為: 電話endpointID +指令 此為拿起電話(hd指令) 此為掛上電話(hu指令) 此為傳送指令按鍵 此為電話鍵盤(符號數字指令)
通話服務的開發 • 實驗步驟二: 開發新服務 (如:話中插撥、隨身碼) 決定開發的新服 務的通話流程 畫出 message flow 修改CA的finite state machine
將 casim.zip 檔案解壓縮後存於電腦硬碟任一資料夾中,開啟通話代理人程式開發專案 CASim.dsw 檔案,選擇 CASim.cpp 後則可進行新服務的開發。 • MGCP正常的通話訊息流程 :
基本通話有限狀態機 (由通話訊息流程決定)
通話代理人 Call Agent 程式運作 • (A),(B)構成 call agent simulator, (B)中mgcLoop會接收來自 (C)RGW 的MGCP Msg, 然後再由(A)應用層根據訊息,目前的通話狀態,還有caller及callee的元件狀態,呼叫對應的執行程式,然後回應Ack給對應的MGCP程序並決定caller,callee的下一狀態。我們主要更改的部分為(A)應用層,即CASim.cpp的部分檔案。