1 / 22

實驗三 : MGCP

實驗三 : MGCP . 實驗目的 使同學瞭解 MGCP 模擬程式和基本通話流程,熟悉 MGCP 的命令與訊息,並了解 Call Agent 程式的運作,並學會開發新的通話服務。 實驗原理. 修改 CA 以開發新服務. SS7. CA. SG. MGCP. TGW. RGW. CO. PSTN. RTP. 執行 MGCP simulation Program. 將網頁上 voip_v1.zip 的資料夾解壓縮後存於電腦中,直接點選 VoIP.exe 即可使用。資料夾中其他檔案均為所需,不得任意刪減,否則將可能無法正確執行。

easter
Download Presentation

實驗三 : MGCP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 實驗三 : MGCP • 實驗目的 • 使同學瞭解MGCP模擬程式和基本通話流程,熟悉MGCP的命令與訊息,並了解Call Agent程式的運作,並學會開發新的通話服務。 • 實驗原理 修改 CA 以開發新服務 SS7 CA SG MGCP TGW RGW CO PSTN RTP

  2. 執行MGCP simulation Program • 將網頁上voip_v1.zip的資料夾解壓縮後存於電腦中,直接點選VoIP.exe即可使用。資料夾中其他檔案均為所需,不得任意刪減,否則將可能無法正確執行。 • voip_v1所放置的路徑不得有空白,否則模擬程式將無法正確執行(ex:不的放於 My document,桌面..)

  3. 實驗流程 (1/4) 加入RGW 加入CA 選擇是否語音支援

  4. 實驗流程 (2/4) 初始化CA 編輯更改 初始化RGW 初始化Endpoint

  5. 實驗流程 (3/4) 完成模擬環境建構

  6. 實驗流程 (4/4) CA會偵測其管轄區域內的電話 RGW其管轄區域內的電話 會自動向CA進行註冊 電話顯示狀態

  7. CA設定 (1/3) 模擬程式選擇的port 模擬程式所在之IP

  8. CA設定 (2/3) • 此為接收RGW訊息的位置 為CA所在的電腦IP CA所在的port

  9. CA設定 (3/3) RGW所屬IP RGW所屬port CA所管理的電話端資料 電話端id

  10. RGW設定(無Voice Support) 接收RGW訊息的位置 接收CA訊息的位置 可供使用者選擇訊息需透過哪一個位置(通常都設和RGW相同的Domain Name和不相衝的port) 顯示出此RGW下電話端點ID(endpointID)的範圍

  11. RGW設定(有Voice Support) 接收RGW訊息的位置 接收CA訊息的位置 可供使用者選擇訊息需透過哪一個位置(通常都設和RGW相同的Domain Name和不相衝的port) 選擇此RGW所管的電話端點資料存放位置

  12. 電話鍵盤按鍵意義 此視窗顯示所傳送的指令 其意義為: 電話endpointID +指令 此為拿起電話(hd指令) 此為掛上電話(hu指令) 此為傳送指令按鍵 此為電話鍵盤(符號數字指令)

  13. 通話服務的開發(1/4) • 實驗步驟二: 開發新服務 (話中插撥、隨身碼、熱線…) 決定開發的新服 務的通話流程 畫出 message flow 修改CA的finite state machine

  14. 開發環境 • 程式是以C語言所撰寫,開發者需備有Microsoft Visual Studio C++,或其他可編譯C語言的軟體。將casim.zip檔案解壓縮後存於電腦硬碟任一資料夾中,開啟通話代理人程式開發專案CASim.dsw檔案,選擇CASim.cpp後則可進行新服務的開發。 • 目前測試的結果用Visual Studio .NET 2003會有問題,所以最好使用Visual C++ 6.0.

  15. 通話服務的開發(2/4) • MGCP正常的通話訊息流程 :

  16. 通話服務的開發(3/4) • 基本通話有限狀態機 (由通話訊息流程決定)

  17. 通話服務的開發(4/4) • 通話代理人 Call Agent 程式運作 • (A),(B)構成 call agent simulator, (B)中mgcLoop會接收來自 (C)RGW 的MGCP Msg, 然後再由(A)應用層根據訊息,目前的通話狀態,還有caller及callee的元件狀態,呼叫對應的執行程式,然後回應Ack給對應的MGCP程序並決定caller,callee的下一狀態。我們主要更改的部分為(A)應用層,即CASim.cpp的部分檔案。

  18. 範例 隨身碼(Follow-me Service)

  19. 執行方法 • 將CASimd.exe 複製到Voip_v1所在的資料夾中,然後在simulator上就可看到所發展的成果。 • Note: CASimd.exe是透過socket和 simulator的interface 做 communication. 所以simulator上的ip address一定要填正確。 • How to Debug:CA在每個動作完成都會log至file, programmer也可將debug message output 至 file.

  20. 程式說明1 • msgToUI.c : 負責讓CA和UI能夠傳遞message,這部份是已做好的不用管它。 • msgToUI.h : • finite state machine的statetype:這部份就是programmer需要新增的地方。 • EndpoindData:對於每個user(telephone)所需紀錄的資料。 • trace.h, trace.c:用來debug用,可用PRINT印到營幕並寫到檔案 • tool.h, tool.c:完全用不到

  21. 程式說明2 • CASim.h: • StateType: stateType的字串,當加入一個新的state時也需把此字串加入 • CASim.c: • 整個CA的主程式,此次作業最主要要修改的就是processCallFlow()這個函數,根據不同的state收到不同的events要做不同的事。

  22. 作業要求與繳交方式 • 評分方式: • 程式部份:80% • 報告:20% • 創新性及完整性:20% • 繳交方式 • mailto : voip_hw@voip.csie.ntu.edu.tw • 信件標題 : 學號_姓名 • 附件 • source code file • 報告 • 內容必須說明你所開發的新服務為何,finite state machine, message flow …等 • 繳交期限 • 2004/06/01 PM6:00 • Demo時間:2004/06/02 AM10:00~PM5:00,如有不行者請另外跟我約時間。

More Related