Microsoft Teams Voice語音落地系列-6 實戰: 自動助理實現免費的 IVR

什麼是IVR? Interactive Voice Response,就是互動式語音應答,你只須用電話即可進入服務中心或企業前臺,可以輸入員工分機號碼後找到相應的用戶。例如當你一個前臺總機的時候,就會聽到這樣一段提示音樂:”歡迎致電xxx信息技術有限公司,請直播分機號,查號請播 0 “ ,有了IVR之後,企業的員工就無須單獨分配一個直線電話號碼,而通過企業總機就可以讓外部的人聯繫到你了。


那本文介紹的Teams AA (auto attendants) 正是用來實現這樣一個簡單但重要的功能。Teams的前身是Skype for Business / Lync ,在SFB/Lync時代要實現AA的話,必須要在SBC上面對接 3rd IVR(包括前期的Teams版本也是一樣),因爲它們沒有所謂的“二次撥號” 的功能,也就是“請直播分機號” 這樣一個功能。在SFB中雖然有響應組(RGS)的功能,但RGS只能做到 按1轉到銷售組,按2轉到技術組,按3轉到市場組….這樣的功能。對接一套3rd IVR 費用不便宜,而且增加了整個系統的複雜性,如以下拓撲:


image


直到Teams AA 的出現 (Cloud auto attendant),終於可以原生地實現“二次播號”,結合之前詳細講述的Teams Direct Routing 就可以實現這樣一個非常重要的場景:


  1. 客戶A撥打Contoso.com 的總機 +86 21 12345678,這個呼叫通過PSTN來到企業的SBC。

  2. SBC通過Direct Routing 把這個總機號碼路由給Teams。

  3. 因爲總機號碼已經事先分配給Teams AA ,  所以歡迎語音播放出來:“歡迎致電Contoso 信息技術有限公司, 請直播分機號,查號請播0。

  4. 客戶輸入 4321分機號,4321的Teams用戶振鈴,雙方接通。


如下圖:

image


沒有 IVR 場景的話,企業是很難把電話系統整體搬到Teams 上面來的,所以說這項功能的實現是Teams 項目完美與否的重要條件之一哦,那Teams AA 可以爲用戶提供這樣一些功能:

1)提供企業的歡迎語音,如 歡迎致電xxx信息技術有限公司。

2)可以自定義用戶的按鍵菜單,如按1轉到銷售組,按2轉到技術組,按3轉到市場組。

3)提供企業的目錄搜索,可以通過語音識別 或 員工的分機號碼 (這是重點功能)。

4)Voice Mail 留言。

5)支持語音提示方式:音頻文件,Text-to-speech 問候語。

6)自定義工作時間與節假日時間的提示與操作(呼叫轉移,掛斷,Voice Mail…)。

7)支持轉移呼叫到 定義好的接線生,其它員工,呼叫列隊Call Queue,自動助理AA。

8)請參考 *1


前置條件

接下來就是如何來部署這個Teams AA了,幫忙大家就把中間的坑過一過,我們需要一些前置條件(磨刀不誤砍柴工),如下:


1)需要爲資源帳號分配 Phone System Virtual User license, 免費,有了它之後資源帳號才能分配企業語音與總機電話號碼。

2)需要有一個Azure 資源帳號,用於關聯到AA 或 Call queue當中。

3)AA中的前臺總機或呼叫轉移的用戶,需要有Phone System 許可(理論上面應該是有的,因爲需要使用本文的讀者都是需要Phone System Lic.)。

4)需要同時登陸到O365 Powershell 與 Teams Powershell, 以進行Powershell 的快速部署(參考*2 與 * 3)。

5)(可選)假設前提是你已經部署並測試好Teams Direct Routing, .可以打電話到Teams用戶當中。如果你只想做Teams AA的功能驗證,則不需要部署DR, 直接拿一個O365環境即可測試。


申請免費的Phone System虛擬用戶許可

首先我們需要先申請Phone System Virtual User license,如下圖(中間省略了很多關於支付方式的創建步驟)

image


申請下來之後,可以登陸O365 Powershell (參考 *2)查看許可信息:


PS C:\WINDOWS\system32> Get-MsolAccountSku

AccountSkuId                           ActiveUnits WarningUnits ConsumedUnits
------------                           ----------- ------------ -------------
mvp:FLOW_FREE                    10000       0            1           
mvp:PHONESYSTEM_VIRTUALUSER      10          0            0           
mvp:ENTERPRISEPREMIUM_NOPSTNCONF 5           0            4           


創建資源帳號

接着我們需要創建資源帳號,通過它可以關聯多個電話號碼到同一個AA 或 Call Queue當中,應用場景就是企業中的AA 或 Call Queue 提供了全球/多地的電話接入,用戶可以在不同的地方撥打不同的電話號碼接入AA 或 Call Queue當中。


第一,先記住這兩個在Teams中hardcode好的應用程序ID:

  • Auto Attendant: ce933385-9390-45d1-9512-c8d228074e07

  • Call Queue: 11cd3e2e-fccb-42ad-ad00-878b93575e07




PS C:\WINDOWS\system32> New-CsOnlineApplicationInstance -UserPrincipalName [email protected] -ApplicationId “” -DisplayName "Resource account 1"


RunspaceId        : 4a20f627-c869-4a50-8732-9759fa18177e
ObjectId          : d535722c-96c4-41ac-ac98-e70f565c5c11
TenantId          : b8304c7f-0006-40b3-8c1e-8bd82e8de0ed
UserPrincipalName : [email protected]
ApplicationId     : ce933385-9390-45d1-9512-c8d228074e07
DisplayName       : Resource account 1
PhoneNumber       :


創建一個Call queue的資源帳號

PS C:\WINDOWS\system32> New-CsOnlineApplicationInstance -UserPrincipalName [email protected] -ApplicationId “11cd3e2e-fccb-42ad-ad00-878b93575e07 ” -DisplayName "Resource account 2 - call queue"


RunspaceId        : 4a20f627-c869-4a50-8732-9759fa18177e
ObjectId          : 900c4e0f-3a84-42d9-9ae7-690962f4075e
TenantId          : b8304c7f-0006-40b3-8c1e-8bd82e8de0ed
UserPrincipalName : [email protected]
ApplicationId     : 11cd3e2e-fccb-42ad-ad00-878b93575e07
DisplayName       : Resource account 2 - call queue
PhoneNumber       :


第三,記得爲創建的資源帳號分配剛剛申請下來的免費Phone System許可,不然就會出錯以下錯誤:

image


Get-MsolAccountSku

Get-msoluser -UserPrincipalName AA_RA@scnbwy.com | Set-MsolUser -UsageLocation hk

Set-MSOLUserLicense -UserPrincipalName [email protected] -AddLicenses scnbwymvp:PHONESYSTEM_VIRTUALUSER

image


第四,爲資源帳號分配電話號碼(例如分配一個企業的總機電話號碼)


#使用Direct Routing的號碼時,必須使用以下命令來設置AA的電話號碼

PS C:\WINDOWS\system32> Set-CsOnlineApplicationInstance -Identity [email protected] -OnpremPhoneNumber +8675712345678


RunspaceId        : 391a2a8d-ea7b-4976-ba17-a60f6c9044c4
ObjectId          : d535722c-96c4-41ac-ac98-e70f565c5c11
TenantId          : b8304c7f-0006-40b3-8c1e-8bd82e8de0ed
UserPrincipalName : [email protected]
ApplicationId     : ce933385-9390-45d1-9512-c8d228074e07
DisplayName       : Resource account 1
PhoneNumber       :


#檢查設置

PS C:\WINDOWS\system32> get-CsOnlineApplicationInstance -Identity [email protected]


RunspaceId        : 391a2a8d-ea7b-4976-ba17-a60f6c9044c4
ObjectId          : d535722c-96c4-41ac-ac98-e70f565c5c11
TenantId          : b8304c7f-0006-40b3-8c1e-8bd82e8de0ed
UserPrincipalName : [email protected]
ApplicationId     : ce933385-9390-45d1-9512-c8d228074e07
DisplayName       : Resource account 1
PhoneNumber       : tel:+8675712345678


爲普通用戶分配phone system許可並打開EV (這一步應該在配置Direct Routing的時候就已經做完的了 *4)

Get-CsOnlineUser | ?{$_.SipProxyAddress -like '*tangx*'} | Set-CsUser -EnterpriseVoiceEnabled $true

Get-CsOnlineUser | ?{$_.SipProxyAddress -like '*tangx*'} | fl *enter*,*name*

image




最後,我們可以使用管理中心對這些資源帳號進行管理,如下:

image


image


配置一個簡單的Teams AA


剛剛這麼折騰地申請許可,創建資源帳號,分配許可 一系列的工作,就是爲了下面順利地配置一個TeamsAA, 不文字了,直接上圖就能說明白一切:

(主要是業務需求問題,已經沒有什麼技術問題,配置好之後外線就可以撥打總機號碼通過的Direct Routing鏈路接通這個AA實現IVR的功能了)

image


image


image


image


image


image


可以綁定兩個帳號,實現同一個AA可以設置多個電話接入號碼,可以應用於全球多地接入,多個熱線號碼 等一些場景當中。

image


參考:

*1 What are Cloud auto attendants? https://docs.microsoft.com/en-us/microsoftteams/what-are-phone-system-auto-attendants

*2 使用Powershell 登陸O365 方法:Set-ExecutionPolicy RemoteSigned; Install-Module MSOnline; Import-Module MSOnline ; Connect-MsolService

*3 使用Powershell 登陸MS Teams admin Powershell https://blog.51cto.com/nemotan/2481040

*4 Microsoft Teams Voice語音落地系列 -彙總帖 https://blog.51cto.com/nemotan/2420875

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章