自行開發:Asterisk PBX 客戶端程式元件(二)

這個客戶端程式元件原本我打算以 SDK 程式庫形式發放,但最後覺得使用這個完件的用戶很多並不懂寫程式,更不需要說 Asterisk 那麼複雜的玩意。所以我決定把這東西作出大修改,簡化所有操作,把技術編程的東西全部收下來,留下的只有幾個相關設定資料而已。所以這東西已經變了,由複雜的SDK 程式庫改為一個簡單易用的小程式。我把這個小程式名為 Interactive Client。

這個Interactive Client主要是監控閣下的Asterisk IP-PBX 下的電話的狀態。如果有來電而這來電是被分派到被監控的電話時,它會在右下角用一個window 提示閣下是什麼來電和來電者所打入的熱線號碼。

另外,Interactive Client 可以被設定如果被監控的電話有來電時候,可以調動外部其他程式,batch file,VBScript或 外部的 HTTP URL。它會有方法把來電顯示和熱線號碼傳送到外部程式,script或 URL 中。外部程式可以利用所獲得的來電顯示和熱線號碼來加以處理其他事項。例如這段影片,我設定了如果監控的電話 201 收到來電時,它會調動我已設定好的 VBScript。這個 VBScript會利用來電顯示搜尋 MS-Outlook 的電話簿(contact List)內的聯絡人資料。如果聯絡人資料的手機號碼或公司電話號碼是與來電顯示相同,VBScript便會彈出一個 Message Box 顯示來電者的資料。

以下便是這個 VBScript 的內容(outlook1.vbs):

On Error Resume Next
Const olFolderContacts = 10
Set objOutlook = CreateObject(“Outlook.Application”)
Set objNamespace = objOutlook.GetNamespace(“MAPI”)
Set colContacts = objNamespace.GetDefaultFolder(olFolderContacts).Items
Dim strDNIS
Dim strPhoneNo

strDNIS = WScript.Arguments(0)
strPhoneNo = WScript.Arguments(1)

For Each objContact In colContacts
    If objContact.BusinessTelephoneNumber = strPhoneNo Or objContact.MobileTelephoneNumber = strPhoneNo Then
        MsgBox objContact.FullName & ” ” & objContact.BusinessTelephoneNumber, 0, “Call Receive”
        Exit For
    End If
Next

 

Interactive Client 差不多完成。如果閣下有興趣想知道多些資料,或許是關於 Asterisk PBX 的開發技術資詢,歡迎聯絡我們。我們的電郵是:asterisk@asteriskpbxhk.com

1 comment for “自行開發:Asterisk PBX 客戶端程式元件(二)

Leave a Reply