Microsoft Teams Phone System (Tulisan 2)

(Dari Tulisan 1)

Setelah sebelumnya membahas segala sesuatu yang non konfigurasi tentang MSteams Direct Routing, sekarang waktunya kita melihat bagaimana melakukan setting di sisi MSTeams Phone System yang sudah tersambung dengan SBC MSteams Direct Routing.

Asumsi:

  • Tulisan ini untuk pelanggan SBC Carrier hosted Direct Routing sehingga konfigurasi SBC tidak dibahas. (Lain waktu saya janji akan membahas untuk yang on premise).
  • Sebagai pelanggan SBC Carrier hosted Direct Routing, saya tidak perlu menyiapkan sertifikat SSL dan license Phone System yang dibakar untuk menjadi sip trunk.
  • Dalam contoh ini saya berlaku sebagai tenant Office 365 paket E1 dengan tambahan license Phone System untuk satu user. User yang saya gunakan untuk mengkonfigurasi pun harus punya role sebagai Global Admin. Untuk assign license dan role bisa dilakukan di https://portal.office.com, dan tidak akan dibahas karena bisa dibaca di link ini.
  • Nomer telpon/DID sudah disiapkan dan sudah dikonfigurasi di dalam routing dari SBC.

TOPOLOGI

Seperti yang sudah saya sampaikan di atas, contoh setting di sini adalah untuk pelanggan SBC Carrier hosted Direct Routing yang perangkat dan nomer DID sudah disediakan oleh service provider, menggunakan layanan dari Ofon, dengan topologi seperti berikut:

Kita akan mengkonfigurasi area yang ada di dalam kotak garis putus-putus warna merah, dengan mengarahkan MSTeams Phone System untuk mengenali SBC di Ofon dan meroutingkan panggilan ke sana.

PERSIAPAN & SETUP via POWERSHELL

Persiapan powershell memerlukan user Global Admin, untuk instalasi module-module yang bakal diperlukan. Kita mulai.

Asumsi:

  • Tenant yang digunakan adalah domain.tld, dengan username user@domain.tld. License Office 365 E1 + Phone System.
  • User Global admin yang digunakan: admin@domain.onmicrosoft.com
  • Nama SBC yang disediakan oleh operator adalah domain.ofon.biz port 5061.
  • Nomer DID : +622430000062 (kode wilayah Semarang).

Download dan install Module Skype for Business untuk powershell di :

https://www.microsoft.com/en-us/download/details.aspx?id=39366

Jalankan powershell dengan klik icon :

Image result for powershell icon

atau bisa dengan kombinasi Windows button + R, lalu ketik: powershell dan OK.

Dalam beberapa kasus, karena ada faktor pengamanan di Windowsnya sendiri, powershell dijalankan sebagai administrator dengan pilihan Run as Administrator.

Import module Skype for Business Online Connector:

Import-Module SkypeOnlineConnector

Jika mengimport module di atas mendapatkan error seperti berikut:

Import-Module: File C:\Program Files\Common Files\Skype for Business Online\Modules\SkypeOnlineConnectorStartup.psm1 cannot be loaded because running script is disabled on this system. For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ Import-Module SkypeOnlineConnector
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo	    : SecurityEror: (:) [Import-Module]. PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess.Microsoft.PowerShell.Commands.ImportModuleCommand

disebabkan system merestrict import module dari luar. Cukup jalankan perintah berikut:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

silahkan dicoba lagi.

Sekedar jaga-jaga apabila diperlukan untuk troubleshoot di waktu mendatang, saya juga mengimport dua module berikut ini:

Install-Module -Name AzureAD
Install-Module MSOnline

Langkah-langkah di atas hanya dilakukan sekali saja pada saat module-module di atas belum terinstall. Untuk kegiatan operasional, administrasi, dan manajemen (OAM) selanjutnya cukup di mulai dari langkah-langkah di bawah ini:

Lakukan autentikasi untuk menjalankan Skype for Business connector :

$sfb = New-CsOnlineSession -UserName "admin@domain.onmicrosoft.com"
Start WinRM Service
WinRM service is not started currently. Running this command will start the WinRM service.

Do you want to continue?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): 

Jawab “Y” di pertanyaan “Do you want to continue?” yang kemudian akan muncul prompt password. Isikan password Global Admin yang kita peroleh dari pembelian Office 365 E1 + Phone System.

Lalu masukkan perintah:

Import-PSSession $sfb -AllowClobber

Dari sini kita sudah siap memasukkan informasi dari provider SBC hosted Direct Routing.

  • Tambahkan SBC provider ke MSTeams Phone System:
New-CsOnlinePSTNGateway -Fqdn domain.ofon.biz -SipSignallingPort 5061 -ForwardCallHistory $true -Enabled $true -ForwardPai $true -MaxConcurrentSessions 5
  • Buat grouping PSTN Usage dengan nama “Default”. Penamaan ini bebas, jadi di sini cuma contoh saja.
Set-CsOnlinePstnUsage -Identity Global -Usage @{Add="Default"}
  • Tambahkan routing baru dengan memasukann SBC ke group Usage “Default”, dan juga buat pattern panggilan ke nomer mana pun (“.*”) yang akan dilewatkan ke SBC tersebut, lalu beri nama sebagai “CatchAll” :
New-CsOnlineVoiceRoute -Identity "CatchAll" -NumberPattern ".*" -OnlinePstnGatewayList domain.ofon.biz -Priority 1 -OnlinePstnUsages "Default"
  • Buat Routing Policy dengan nama “DefaultRoutingPolicy” yang berisi PSTN usage “Default”:
New-CsOnlineVoiceRoutingPolicy -Identity "DefaultVoicePolicy" -OnlinePstnUsages "Default"
  • Aktifkan fitur Enterprise Voice dan sematkan DID/nomer telepon yang didapat dari service provider ke user@domain.tld
Set-CsUser -Identity "user@domain.tld" -EnterpriseVoiceEnabled $true -HostedVoiceMail $true -OnPremLineURI tel:+622430000062
  • Sematkan Voice Routing Policy “DefaultVoicePolicy” yang telah kita buat ke user tersebut
Grant-CsOnlineVoiceRoutingPolicy -Identity "user@domain.tld" -PolicyName "DefaultVoicePolicy"
  • Jika step-step di atas sudah benar, dialpad akan muncul lengkap dengan DID di MSTeams app/client user@domain.tld dan coba lakukan test panggilan ke PSTN.

Bingung dengan banyaknya step di atas? Akan saya coba jelaskan dengan gambar apa yang telah kita lakukan dalam langkah-langkah tersebut :

  • Kotak paling dalam adalah konfigurasi yang dibuat terlebih dahulu. Contoh di sini adalah penambahan PSTNGateway domain.ofon.biz. Saat ini masih menggunakan satu PSTNGateway. Kita bisa menambahkan lebih dari satu PSTNGateway di sini.
  • Buat tagging dengan perintah PSTN Usage. Contoh di sini : “Default”. Kita bisa memberikan nama yang lebih berarti. Misal kita memiliki lebih dari satu PSTNGateway yang digunakan untuk beda keperluan misal SLJJ dan SLI, bisa dinamakan “Nasional” dan “Internasional”.
  • Buat CsOnlineVoiceRoute dengan nama “CatchAll”, pattern routing “.*”, OnlinePSTNGatewayList hanya satu, yaitu “domain.ofon.biz” dan PSTNUsage “Default”.
  • Buat voice routing policy dengan nama “DefaultVoicePolicy” dengan PSTNUsage “Default”.
  • Sematkan DID/nomer telepon ke user@domain.tld dan set EnableVoiceEnterprise dengan $true. Setelah itu sematkan routing voice policy yang telah kita buat ke user tersebut.

Kenapa harus seribet itu?

Bayangkan membuat skenario seperti di gambar berikut:

Skenario di atas menunjukkan bahwa sangat memugkinkan setiap user memiliki Voice Policy yang berbeda satu dengan yang lainnya. Dengan mengkelompokkan masing-masing fungsi, kita bisa membuat skenario yang lebih rumit sekalipun.

Dari contoh bagan di atas, kita memiliki dua user yaitu user01@domain.tld dan user02@domain.tld.

user01@domain.tld memiliki policy yang memperbolehkan panggilan ke mana pun (lokal, SLJJ, SLI dan emergency) melalui 3 sbc yang telah disematkan untuknya.

Sedangkan user02@domain.tld hanya memiliki akses panggilan ke nomer lokal, SLJJ dan nomer-nomer emergency walaupun memiliki akses ke 4 sbc. 2 sbc bertama khusus untuk panggilan ke nome-nomer emergency seperti 110, 123, 112, 113, 1500xxx dan 140xx. Dan 2 sbc lainnya ke nomer-nomer dalam nasional (yang diawali dengan +62 atau 0).

Lalu bagaimana jika hanya 1 SBC untuk routing yang berbeda?

Sama seperti bagan di atas, hanya SBC cukup satu saja seperti gambar bagan di bawah ini (sbc01.ofon.biz port 5061) :

Update

Per Februari 2021, module SkypeOnlineConnector dipensiunkan dan digantikan oleh modul MicrosoftTeams. Jadi untuk mengakses Microsoft Teams dari PowerShell cukup dengan menginstall module MicrosoftTeams lalu jalankan Connect-MicrosoftTeams. Atau silahkan dibaca di tautan ini.

Lalu untuk untuk perintah mengaktifkan EnterpriseVoice di pengguna juga sudah tidak menggunakan Set-CsUser tapi dengan Set-CsPhoneNumberAssignment yang dapat dibaca di postingan ini.

Links:

1 thought on “Microsoft Teams Phone System (Tulisan 2)”

  1. Pingback: Module MicrosoftTeams sebagai pengganti SkypeOnlineConnector – otakudang.org (v2.0)

Leave a Comment

Your email address will not be published. Required fields are marked *