1 of 23

國洋電話遠端遙控程式設計

無門檻的遙控電話機程式,超詳細的設計步驟解說

國洋通信股份有限公司 TENTEL COMTECH

陳秋湧 darrent@tentel.com.tw

2017/10/26

2 of 23

簡介

TENTEL國洋通信IP phone產品,包含T-702T-703T-7012等話機提供遠端遙控功能,可以從電腦、手機等控制讓電話機撥號。

透過電腦或手機的瀏覽器即可遙控話機撥號,在瀏覽器輸入網址:http://{話機IP}/sip.cgi?action=call&number={電話號碼}

也提供.net的程式庫與範例程式,以下即說明此範例使用方法。

請先購買上述電話機,並安裝Microsoft Visual Studio,此以2012版為例。

3 of 23

以瀏覽器簡單測試

先在電話機上按 menu + 4 + 5,查看電話機的IP(需與電腦同網段)

開啟瀏覽器,在網址列輸入:�http://{話機IP}/sip.cgi?action=call&number={電話號碼} �{話機IP}: 請改為您話機的IP,此例為 10.0.0.168�{電話號碼} : 請改為您要撥的電話號碼,此例為 27857758

4 of 23

瀏覽器簡單測試結果

話機將啟動、撥號。

網頁將顯示 命令內容、電腦IP 與 話機即時狀態。

簡單測試完成。

可以把網址拉出為捷徑以快速撥號。常用到的多個電話號碼,以此方法建立個別的捷徑。

5 of 23

申請加入論壇

請以Google帳號申請加入 TENTEL國洋 IP phone CTI應用 論壇,本公司收到申請後將盡快核准。

6 of 23

進入論壇主題

加入論壇後,除了下載範例程式、說明文件...以外,也可以查看各項主題,歡迎就各個主題提問。

請點選 MS .net的程式庫與範例程式開啟主題。

7 of 23

下載範例程式

點開 MS .net的程式庫與範例程式 主題後,請下載主題裡最新訊息裡的附件 IPPhone.rar.bak (不定期更新,建議下載最新版)。

下載後,請重新命名(去掉.bak)為IPPhone.rar,並解壓縮。

8 of 23

程式原始檔

以Microsoft Visual Studio開啟IPPhone.sln,內含4個專案:

  • IPPhone: 程式庫,供程式開發使用,處理與話機連接的底層工作,讓開發者非常容易上手。
  • IPPhoneDemo: 以IPPhone開發的範例程式,短短幾行就能與話機連線、撥號,還能收到話機即時狀態...。完成本文所述測試後,可參考此程式進階應用。
  • Log: 只是程式開發階段方便偵錯,可以忽略。
  • WebCall: 以IPPhone開發的進階範例程式,請參考另一主題 電話機遙控程式 WebCall for Windows

9 of 23

建立新專案

開始逐步說明如何撰寫程式以控制電話機

  1. 在方案總管內的方案按右鍵
  2. 加入
  3. 新增專案

10 of 23

新專案類型

本例為C# Windows Form應用程式,可依需要命名,然後按確定

11 of 23

加入參考

因為要使用IPPhone程式庫,故需在新專案的 參考 點一下右鍵,再點 加入參考...。

12 of 23

勾選IPPhone專案為參考

勾選 IPPhone 專案 再按 確定,加入參考完成。

13 of 23

加入電話機物件

在 Form1.cs程式碼的 class Form1內加上:

Tentel.IPPhone.Phone phone = new Tentel.IPPhone.Phone();

14 of 23

建立UI

在Form1.cs設計頁面,從工具箱拖拉加入3個button、2個TextBox,用於與話機連線、撥號、掛斷、輸入電話機IP、電話號碼。

依序重新命名為 buttonConnectbuttonDialbuttonOnhooktextBoxIPtextBoxNumber

15 of 23

連線按鈕

在設計頁面雙擊 buttonConnect,將自動切換到程式碼頁面,並產生buttonConnect_Click程式碼。

鍵入this.phone.Connect(this.textBoxIP.Text);

16 of 23

撥號按鈕

在設計頁面雙擊 buttonDial,將自動切換到程式碼頁面,並產生buttonDial_Click程式碼。

加鍵入this.phone.Dial(this.textBoxNumber.Text);

17 of 23

掛斷按鈕

在設設計頁面雙擊 buttonOnhook,將自動切換到程式碼頁面,並產生buttonOnhook_Click程式碼。

鍵鍵入this.phone.Onhook();

18 of 23

關閉程式時釋放電話機物件

設在設計頁面的Form1點開屬性頁切換到事件,在FormClosing事件雙擊,將自動切換到程式碼頁面,並產Form1_FormClosing程式碼。

請鍵入this.phone.Close();

19 of 23

設定為起始專案

在專案名稱按右鍵,將本專案 設定為起始專案,以方便偵錯。

20 of 23

建置方案與執行

至此,程式已經初步完成。

下拉選單按 建置 > 建置方案

按F5開始執行。

21 of 23

Windows安全警示

因為本程式必須透過網路存取,請按 允許存取

22 of 23

連線到電話機

先在電話機上按 menu + 4 + 5,查看電話機的IP(需與電腦同網段)

將話機的IP輸入在Connect按鈕右側的textBoxIP(本例為10.0.0.168)

Connect 按鈕

23 of 23

撥號與掛斷

先在 Dial按鈕 右側的 textBoxNumber 內輸入電話號碼

Dial 按鈕,話機將開始撥號

Onhook 按鈕,話機將掛斷

完成測試。