SBC

Changing Ribbon the Name of SBC 1000 / SBC 2000 / SBC SWe Lite (SBC Edge) after Doing Microsoft Team Integration

After running the “Easy Config Wizard” to integrate the SBC with Teams Direct Routing, the customer informed me that they need to use another name for the SBC

So, I have done the following steps

  • Installed a new certificate that contains a subject name that is equal to the new name of the SBC
  • Register the new name of the SBC using the PowerShell command New-CsOnlinePSTNGateway
  • Changed all the voice routing policies to use the new
  • Unregistered the old name of the SBC using Remove-CsOnlinePSTNGateway
  • Changed the name of the SBC using the web interface under Settings tab > System > “Node-Level Settings

After that I noticed that the calls are failing and when I checked Teams Admin Center, I noticed that there is a warning next to the new name of SBC under Voice > Direct Routing

If clicked the warning, and I got the details below

The title of the warning was “No SIP Option warning” and the body of the warning was

The Session Border Controller exists in our database (your administrator created it using the command New-CSOnlinePSTNGateway). But we have difficulties determining SIP Options status. Please check in 15 minutes

Although there are other reasons for this warning, I guessed that the reason was that the SBC is still communicating with Office 365 servers with its old name and that would cause the TLS to fail

I have tried the steps under the section Changing Host Profile Settings below and that fixed the issue.

But first, here are the steps for changing the name of the SBC under “Node-Level Settings

Changing the Name of the SBC

In case, you haven’t changed the name of the SBC under “Node-Level Settings“, here are the steps

On the web interface, click on the Settings tab, expand System and click on Node-Level Settings

The Node-Level Settings are shown

Under Host Information, type the new Host Name and Domain Name if needed

Click on Apply

Changing Host Profile Settings

Go to Settings Tab > SIP > SIP Profiles and select the SIP Profile that is used for Teams Direct Routing integration

Usually, you have used “Easy Config Wizard” to create the integration with Teams, so the name of the SIP Profile is “Scenario_Name: Teams Direct Routing Profile”

In my case the Scenario Name I have used during the running “Easy Config Wizard” was Teams, that is why the name of the SIP profile is “Teams: Teams Direct Routing Profile” as shown in the image below

The following is what the SIP Profile for Teams Direct Routing would look like

Scroll Down to “SDP Customization”

Change “Origin Field Username” to the new name of the SBC and click apply

With this, your SBC will communicate to Office 365 / Teams server using the new name

Note:

  • Don’t forget to register the new name of SBC using the PowerShell command New-CsOnlinePSTNGateway
  • Don’t forget to install a certificate that uses the new name

Error While Trying to Move A User to Teams Saying That the User Has Not Been Assigned “Audio Confronting License”

I have tried to move a user from Skype for Business to MS Teams using the Control Panel of Skype for Business. But I got the error shown in the image below

I expanded the message to see the full text of the error

The error is saying:

Move-Csuser :: HostedMisrat ion fault: Error=(511), Description=(The user could not be moved because he or she is enabled for dial-in conferencing on-premises, but has not been an assigned an Audio Conferencing license in Office 365. Users must be licensed before they can be moved to Teams or Skype for Business Online).

This indicates that the user dial-in conferencing on Skype for Business while the user on Office 365 has no Audio Conferencing licensing assigned to it

Solution

The text of the error is saying that you can use the “BypassAudioConferencingCheck” switch

Since I want to use the Control Panel user interface instead of trying the “BypassAudioConferencingCheck” switch using PowerShell

I have created a new Conferencing Policy and cleared the check box “Enable PSTN dial-in conferencing”

After that, I assigned the new conferencing policy to the user

Then, I tired to move the user.

The user successfully moved to MS Teams.

Before Integrating Teams Direct Routing with An SBC That Is Already Integrated with Skype For Business.

Some customers already have an SBC that is configured to work with Skype for Business server and they want to configure the same SBC with Teams Direct Routing. Usually, they need to keep both configurations running for some time while they are migrating the users to Teams. From experience, this would create two issues that need to be addressed.

Issue 1:

Integrating SBC with Teams Direct Routing requires having a new Public Certificate. And that also requires is to change the name of the SBC device to match the name in the certificate.

The issue is that installing such a certificate and changing the name of the SBC will break the integration with Skype for Business Server.

To overcome this, we need to redefine the SBC as a new PSTN Gateway inside the Topology of Skype for Business and configure the routes.

Issue 2:

The internal Teams’ clients need to communicate with the public IP address of the SBC, so a DNS record of type A needs to be added to the internal DNS. This record will resolve the new name of the SBC to the public IP.

Skype Front End needs to communicate with the internal IP (not the public IP) of the SBC (unless you are ready to do the modification and the complexities inside your network to allow Skype Front End to communicate with the Public IP).

The issue is that when the Skype Front End server queries the DNS, it will get the public IP address of the SBC instead of the internal IP.

To overcome this, an entry can be added inside the Hosts file of the Front End server. That entry resolves the new name of the SBC to the internal IP address of the SBC (the “hosts” file has higher precedence than DNS records)

Usually, I do the following steps (in order) before preparing the SBC to be integrated with Teams Direct Routing:

  • Install the new Public Certificate (from this moment, the downtime will start)
  • Change the name of the SBC
  • Inside the Skype Front End server, an entry inside the host file will be added. That entry points to the Internal IP address of the SBC
  • Define the new name of the SBC as a new PSTN Gateway inside Skype Topology and publish the topology (this will also create a new trunk inside the Skype environment)
  • Modify each of the Skype voice routes to make it use the trunk with the new name of SBC instead of the trunk with the old name of SBC
  • Restart the Mediation service (this would end the downtime if all the settings are correct)
  • Verify that the Skype PSTN calls are going through

After that, you can delete the old name of the SBC from Skype Topology

Illustration of Skype for Business Part

The below steps illustrate Skype for Business server part

Adding Hosts File Entry

On the Front End server of Skype of Business, run Notepad as an administrator

Open Hosts file (it is located inside c:\windows\system32\drivers\etc)

Add host the entry that points the new name of SBC to the private IP address of the SBC

Defining The SBC New Name Inside The Skype Topology

You need to define the SBC again as a PSTN gateway inside the Skype for Business Topology

Follow the wizard to complete the definition of PSTN Gateway

Make sure that parameters are similar to the old definition of the SBC

After completing the definition, you can see a new PSTN gateway with the new name of the SBC is defined as well as a new trunk

Don’t for get to publish the topology

Changing Skype Voice Routes to Use the New Name Of The SBC

Note that, you need to schedule a downtime for this operation

On Skye for Business Control Panel, go to Voice Routing > Route tab

The properties page of that “Route” is opened.

Open a route that uses the old name of the SBC as “Associated trunk”.

Under Associated trunks, click on Add

Select the Trunk that has the new name of the SBC and click on OK

You will get back to the “Route” properties page

Under Associated trunks, select the old name of the SBC and click on Remove

Make sure that under Associated trunks, only the new name of the SBC is listed

“Route” properties page, click on OK

You will get back to the “Route” tab and you will see the “State” of the modified route is set to “Uncommuted”

Do the above steps for each of the routes that use the old name of the SBC as “Associated trunk”

The following image shows that all the modified routes as “Uncommitted”

After modifying all the routes, select “Commit” > “Commit all”

Restarting Mediation Service

After committing the changes, you need to restart the Mediation service

Issue of “Dial Pad doesn’t appear” in Teams

After you step Teams Direct Routing and enable a user, when that user logs on to Teams, he/she will notice that the dial pad is missing (the dial pad is used to dial a PSTN number)

Usually, it takes 1 hour or more, and in some cases, up to 24 hours for the Dial Pad to appear after you have configured the user correctly:

Based on my experience, the following are possible reasons that make the dial pad disappear:

  • The ports for SBC are not opened correctly
  • One-to-one NATing is not implanted (In case you using NATing for the SBC)
  • Baltimore CA is not trusted by the SBC
  • Not using a supported public certificate provider
  • The user is not enabled correctly for telephony (check below for enabling a user)

To enable telephony for a specific user use commands like the following:

Set-CsUser -Identity user1@example.com -OnPremLineURI “tel:+xxxxxxxxxxxxx;ext=xxxx” -EnterpriseVoiceEnabled $true -HostedVoiceMail $true

Grant-CsOnlineVoiceRoutingPolicy -PolicyName “Online_Voice_Routing_Policy_Name” -Identity user1@example.com

Grant-CsTeamsCallingPolicy -PolicyName AllowCalling -Identity user1@example.com

Grant-CsTenantDialPlan -Identity user1@example.com -PolicyName Tenant_Dial_Plan_Name

Grant-CsTeamsUpgradePolicy -PolicyName UpgradeToTeams -Identity user1@example.com (although it might work without this command)

Also, at any point you change Online Voice Routing Policy for a user, the dial pad disappears for a while

In short, the dial pad will appear if all the settings are correct, and you have waited enough time

The following image shows the dial pad

Ribbon SBC 1000 / SBC 2000 – Running Easy Config Wizard – Teams Direct Routing

The easiest way to configure Ribbon SBC to support Teams Direct Routing is using Easy Config Wizard of the Web Interface

The following steps are showing how to do that

Before running the wizard, it is always recommended to:

  • Take a backup of the SBC device. This is needed to revert back to previous the previous configuration. Especially if the device is used in a production environment
  • Upgrade the firmware to the latest version. The newer version will always contain bug fixes and also might contain improvements in the easy config wizard and other web interface elements

Teams Direct Routing with SIP Trunking

The following steps show how to configure Teams Direct Routing on the device with SIP Trunking (if you are connecting to PSTN using a SIP Trunk supplied by your telephony provider).

On the web interface, got to Tasks Tab.


On the left pane, under SBC Easy Setup, select Easy Config Wizard


The Easy Config Wizard starts as shown below


Step 1

Select the Application (the scenario of the template that is going to be used between two sides of the configuration).

In my case, I have selected SIP Trunk <-> Microsoft Teams which connects SIP Trunk with Teams Direct Routing

Under Scenario Description, type the name of the Scenario. This name will be used as a prefix to all the components that are going to be created by the wizard

Here I am using Teams as the name of the Scenario. You can for example use the name of the company

Unser Telephone Country, I am selecting the country where this setup is implemented

Since I have selected SIP Trunk in “Application”, I need to specify the number of SIP Session

Then click Next


Step 2

 In Step 2, you specify the details of what are going to be two Signaling Groups.

The first part in my case is SIP Trunk (it could be PRI if you selected that under “Application” in Step 1)

`

I am specifying the IP/FQDN of my SIP Server (SIP Trunking), Protocol (TCP or UDP), and port used

I am also disabling the option for “Secondary Border Element Server” as my SIP Trunk has only one SIP Server

These configurations will be used in the first Signaling Group

 

In the second part of Step 2, which is going to be the second signaling group, specify the information of your Teams Direct Routing connection

In my case, I am select Ethernet 3 and its IP for my Direct Routing Connection


Also, I am enabling the option for NAT Traversal, which allows me to connect my connection behind a NAT firewall (in the old firmware version, the only option is to have a direct internet connection with real IP)

  

 This will enable a box to specify the public IP address of the direct routing connection (that is NATed to my Ethernet 3)


 I am setting the option “Apply ACL” to True, which allows basic Access Control List to the incoming and outgoing ports

You might not need to enable this option in case you are depending on your company firewall to control the ports are allowed

The list of the required ports is added automatically if you enable ACL


 If you select “Apply ACL” a warning message pops up telling you that you will lose the connection to the web interface (only if you are using this connection to access the web interface)

 

 The following is how my settings appear before clicking next


 Click next after filling the parameters of Step 2 and want to proceed to Step 3


Step 3

In step 3, you will have a summary of the setting of the two previous steps before applying them.

If you decided to change any of these settings, you can click back if you want to do any changes


You can scroll down if some settings are hidden


 In my case, scrolling down will show us that it is using TLS and port 5061


 Click on Finish to apply the settings that was mentioned in the wizard.


 When you click Finish, a message indicating that the SBC will be configured with the settings mentioned in the Wizard


 Click on OK to apply these settings.


 A message indicating that the configurations are being applied

 

 When the configuration is completed, a message will appear indicating that

 

 The Web Interface will be refreshed automatically to reflect the new changes


The Resulting Signaling Groups

The following shows how the result on the Monitor tab after running the above steps (the resulting Signaling Groups are inside the red box)


If you are configuring Teams Direct Routing with ISDN

The previous steps showed how to have Teams Direct Routing connected with SIP Trunk

If you are going to connect Teams with ISDN (instead of SIP Trunk), the following are the changes in Step 1 and Step 2 to use ISDN (

Note that these options are available if you are using a physical SBC device and you have these types of ports available on these devices

On step 1, select the application (scenario) ISDN PSTN <-> Microsoft Teams


And on step 2, for the first part, the wizard will give you the option to configure some parameters of ISDN

Port Type, you could select T1 or E1. I am selecting E1 (as this is what is available in my country)

Under DS1 section, select the ISDN port you want to use (you have options based on the ports available on your device)

On the switch Variant, I kept it as Euro ISDN (the configuration in your country might be different)

For ISDN Number Translation, if you select Translate Extension, it will configure basic numbers manipulations (Translation Tables) based on the “Telephone Country” you have selected in Step 1

In my case, I am selecting Passthrough Untranslated and later I modified Translation Tables to do the number manipulations that I want


The remaining parts of the wizard are the same as the application SIP Trunk <-> Microsoft Teams that is mentioned above

The following shows the signaling group resulting from applying the above steps Teams Direct Routing with ISDN



Deploying Cloud Connecter using Sonus/Ribbon Cloud Link (step-by-step)

Overview

Sonus/Ribbon Cloud Link is an integrated appliance that combines Sonus/Ribbon’s SBC with embedded Skype for Business Cloud Connector Edition software (CCE). Cloud Link comes as a Windows Hyper-V Server that resides on the hardware of SBC. This server hosts the 4 VMs of CCE.

In this article I will explain how to deploy Cloud Link in some details. The article is based on real word implementation that is used in production.

What is missing is from this article is the outing and Transformation on Sonus/Ribbon SBC which will be covered in another article

All the snapshot has been taken on SBC 1000. The steps are exactly similar on SBC 2000.

Firewall Ports and Settings

Internal Firewall:

The following firewall ports required between Mediation Server VM IP and Internal clients (Internal network)

 Source IP

Destination IP

Source Port

Destination Port

Cloud Connector Mediation component Internal clients TCP 49 152 – 57 500* TCP 50,000-50,019 (Optional)
Cloud Connector Mediation component Internal clients UDP 49 152 – 57 500* UDP 50,000-50,019
Internal clients Cloud Connector Mediation component TCP 50,000-50,019 TCP 49 152 – 57 500*
Internal clients Cloud Connector Mediation component UDP 50,000-50,019 UDP 49 152 -57 500*

External Firewall:

The following firewall ports required between Edge Server VM external IP and Internet

Source IP

Destination IP

Source Port

Destination Port

Any Cloud Connector Edge External Interface Any TCP 5061
Cloud Connector Edge External Interface Any Any TCP 5061
Cloud Connector Edge External Interface Any Any TCP 80
Cloud Connector Edge External Interface Any Any UDP 53
Cloud Connector Edge External Interface Any Any TCP 53
Cloud Connector Edge External Interface Any TCP 50,000-59,999 Any
Cloud Connector Edge External Interface Any UDP 3478 Any
Cloud Connector Edge External Interface Any UDP 50,000-59,999 Any
Any Cloud Connector Edge External Interface Any TCP 443
Any Cloud Connector Edge External Interface Any TCP 50,000-59,999
Any Cloud Connector Edge External Interface Any UDP 3478
Any Cloud Connector Edge External Interface Any UDP 50,000 – 59,999

Host Firewall Rules

The host ASM (Windows Hyper-V Server) which is the physical server. Requires access to the internet in order for it download the VMs and to configure Office 365 settings

Source IP  Destination IP Source Port Destination Port
ASM Any Any TCP 53
ASM Any Any TCP 80
ASM Any Any TCP 443

SBC 1000 Initial Setup

In this section, I will explain how to perform the Initial setup of Sonus (Ribbon) SBC 1000.

Connect your computer to the second Ethernet port of SBC 1000 and wait until the it finishes booting up (about 5 minutes) and make sure that you have got an IP address from the range 192.168.192.2. The SBC is providing a temporary DHCP to give your PC an IP address for easier config. This DHCP will not be enabled after completing the Initial Setup.

The following two pictures shows a typical configuration. The changed options are marked with thicker rectangles (the web interface automatically adds these rectangles)

Note that the “Admin User Name” and Password will be used to access the Gateway only and not the ASM (Hyper-V Host)

The IP address you have provided will be used for the Ethernet Interface number 1 in the front panel

In the above configuration, we have also configured the IP address of the Ethernet Interface number 2 to be same as the one used during the initial configuration. This would help us to access the gateway on Ethernet Interface 2 with its default IP in case we have a problem with the first interface, or we have forgot its IP.

For the primary DNS, put the IP address of CCE’s Domain Controller VM that you are going to build later.

Note that we select the option “Don Not Launch” for the “Easy Setup”

Click on OK

Read the Dialog Box and click on OK

Connect the first Ethernet interface to the network (if you have not already done that)

Enter the IP address of the gateway in the browser, it will show the following page only the first time you connect to the gateway on this browser using this address

Click on Enter, it will take you to the logon screen

Enter the User ID and the Password you have supplied during the initial setup and click on Login

You will be taken to Tasks Page/Tab, unless you have selected to “Launch Easy Setup” in the initial setup step. On that case, you simply cancel the “Easy Setup Wizard”

ASM Config tab

In this step, we will configure the ASM (CCE Hyper-V Host) which is the physical Windows server that is attached to SBC 1000 Gateway

To start the process of configuring CCE

On the Tasks Tab, expand “Office 365 Cloud Connector Edition” menu and click on Setup

Configure the IP address, Subnet Mask and Gateway of CCE Host

Don’t forget to enable Remote Desktop on

Installing ASM update

Go to Settings Tab

Expand “Application Solution Module” menu

Select “Install ASM Update”

And click on Choose File

Select the file (downloaded from Ribbon) and click Open

Click on OK

Click OK on the Dialog Box

Watch the progress of installing the file on “Current Activity Status”

In the current case, we have selected a file that updates “SBC Communication Services” component which is responsible for the communication between ASM (that hosts the CCE Host) and the gateway itself.

This component is required to be updated before updating the gateway. Both “SBC Communication Services” and the gateway should be the same version, but “SBC Communication Services” needs to be updated before the gateway

Upgrading the firmware of SBC

On the Tasks Tab, under System menu, select Firmware Upgrade

If this is the first time you are doing the update, It will force you to take backup of the SBC

(you have the option to provide a Passphrase to protect the Backup file)

Click on Backup

You can save the backup file to a specific location if you want

Now the option to select a Firmware file is enabled (it is not enabled if you are trying to update the firmware for the first time until you take a backup)

Click on Brows

Select the Firmware file and click on Open

Click on Upgrade button

Click on OK on the dialog box after reading it

The process of upgrading the firmware now started

After the upgrade is completed, a restart will be automatically performed

Logon and go to System Tab and then go to “Abound Sonus SBC”

If the upgrade is successful, you will see the Software Version is changes

Notice that in our case, we upgraded the firmware to version 8 which shows the new black them of Ribbon

Generate CSR Tab

Click on Generate CSR Tab and fill in the information for the certificate

Certificate Requirements:

To meet the certificate requirements, you will need to decide between the following options and provide the Subject Name (SN) and Subject Alternative Name (SAN) for the certificate.

Option 1:

The Common Name should be the public name of the edge server which could be AccessEdge.example.com

The Subject Alternative Name DNS should be the public name of the edge server, followed by comma followed by sip.DomainName.com

Example:

SN = AccessEdge.example.com,

SAN = sip.example.com,

SAN = AccessEdge.example.com

Option 2 (using wild card certificate):

The Common Name should be the public name of the edge server which could be AccessEdge.example.com

The Subject Alternative Name DNS should be sip.example.com, followed by comma followed by *.DomainName.com

Example:

SN = AccessEdge.sipdomain.com,

SAN = sip.sipdomain.com,

SAN = *.sipdomain.com

Adding additional name to the existing wild card certificate is usually easy with Public Certificate providers

Fill the remaining fields correctly and make sure that you have selected Key Length as 2048

Click on OK

And the CSR will be generated

Copy the CSR and request the public certificate

Importing Public Certificate

This certificate will be assigned to the external interface of Edge VM of CCE. It will be used during the communication with entities over the internet such as Office 365 servers and external users. The certificate needs to be order from a public certificate provider.

Steps to import the certificate:

Under Office 365 Could Connector task

Go to CCE Public Certificate

Under Action, select the option “Import X.509 Singed Certificate” if you just got certificate from the Public Certificate authority and you don’t have the Private Key or “Import PKCS12 Certificate and Key” if already have the private key for the certificate (as shown in the images below).

Click on “Choose File” and select the file containing the certificate

Type the password of file (you supplied this password when you exported the certificate with the private key on other system). There is no password option if you are using “Import X.509 Singed Certificate” option

If the import is successful, you will see a message indicate that the certificate is imported

Now, you will see that the options on Configure CCE tab are enabled

Filling “Configure CCE” Tab

In this tab, you will provide the VMs Name (and their IP settings), Hyper-V Host name and also mediation service Trunk Configuration

Note that, this tab will not be enabled unless the “CCE Public Certificate” is installed

The information in this tab will be used to fill the file CloudConnector.ini

Fill-in the information correctly, any changes in this configuration requires rebuilding CCE

The “External Network DNS” could be the DNS server of your service provider. You might also use Google DNS 8.8.8.8.

After filling the information, click on Apply

Note that, the fields will disappear, and you have to select the option “Click to re-configure CCE application” in case you want to change any settings.

You will also notice that the “Current Activity Status” shows that the update is completed

Prepare CCE Tab

Go to “Prepare CCE” tab

You will see the value of the fields that were filed under the previous tab “Configure CCE”

Scroll Down and click on Prepare CCE

Fill in the needed passwords and click on OK

Don’t forget to note down the passwords you are filling here. All these passwords are new and will be used for your CCE VMs

“Tenant Account User” is any Global Admin of Office 365

This information will also go into CloudConnector.ini file

After filling the filed, click on OK

After clicking on OK on Enter Password box, you will get the following message

Read it and click on OK

You will get the following message which indicates that operation is successful

Click on OK

However, if you get an error such as the following. You need to click on Prepare CCE again and fill in the passwords

If there are no problems, you will notice the progress of “Prepare CCE” operation under “Current Activity Status”

Wait until, “Current Activity Status” shows that the operation is successful

Changing the Administrator Password of CCE Host

This password is the Administrator Password for CCE Host which will be used to logging on

Note: the below images were captured using the old version of the firmware. The colors of the web interface are different. But the steps are the same. The reason is that I have acutely done it before upgrading the firmware

Click on Settings tab

The following image show how to Settings tab looks like

Expand “Application Solution Module”

Go to “Chance Admin Password”

Under “Password Option” setting, select “User Configured”

Specify the new password and click on OK

Under “Current Activity Status”, you will be prompt that the password is changed successfully

Logging on to CCE Host

Simply, using a Remote Desktop client, logon to the CCE Host using the IP address you have provided under the step “ASM Config tab” using the user name “Administrator” and the password you have provided in the step “Changing the Administrator Password of CCE Host”

Updating CCE Software

Before building CCE VMs, it is recommended to download and install the latest version of CCE software from Microsoft site. This will ensure that you are using the latest version of CCE

Download and install the latest version of CCE software from Microsoft site

Log on to CCE Host using Remote Desktop (check the steps under the section “Logging on to CCE Host”) and uninstall the existing CCE software using “Programs and Features” of Control Panel

Install the newly downloaded CCE software

Start PowerShell console as Administrator

Run the command Start-CCDownload

Wait until the command execution is finished

Running Cloud Link Deployer

At this is step will run the deployer. Which will build the actual VMs of CCE. This process might take a few hours and it depends on the speed of the internet. Remember that the Windows Hyper-V Host need to access the internet on port 80 and 443 and also needs to access DNS as mentioned in the section “Firewall Ports and Settings”.

Log on to CCE Host using Remote Desktop (check the steps under the section “Logging on to CCE Host”)

On the desktop of CCE Host open the file CloudLinkDeployer

The application “Cloud Link Deployer” starts

Make sure that you check the following actions/steps (these actions are going to be done by the deployer)

  • Transfer Password from SBC: This step imports the password that has been set during the Preparing the CCE.
  • Register Appliance: This step registers this new appliance on your Office365 tenant.
  • Install Appliance: This step deploys the CCE

Click on Apply

This will start the process of building CCE VMs

When the process is completed, the deployer will show the message “Notice: Completed the Cloud Link action” indicating that the process is complete

With this, you have the VMs of CCE installed and registered on Office 365

To Create a Dial Plan

In this step we are going to create a Dial Plan on Office 365. This dial plan will be used to normalize the numbers that are dialed by the users to E.164 format (adding + and country code).

The format used is like one used in the regular expressions of Skype for Business 2016 or Lync

The dial plan used in this example is for Dubai (UAE).

You first need to install the latest version of Skype for Business Online, Windows PowerShell Module which can be found over the net

Prepare PowerShell to get connected to Skype Online:

Import-Module SkypeOnlineConnector

$credential = Get-Credential

And type the user id and password of and Office 365 Tenant Admin


Run the following commands to complete the preparation of PowerShell console:

$session = New-CsOnlineSession -Credential $credential -Verbose

Import-PSSession $session -AllowClobber

Before you begin, check the existing Dial Plans

Get-CsTenantDialPlan

You should see the Initial Dial Plan which is named GLOBAL. You should not see any other Dial Plan (unless there is a Dial Plan that was created by someone else inside Office 365 Tennent)

To Create a new Dial Plan with the Name DXB-DP

The following will create an empty new Dial Plan:

New-CsTenantDialPlan -Identity DXB-DP -Description “Dubai Dial Plan” -SimpleName “DXB-DP”

To Create the Voice Normalization Rules to be added the Dial Plan

The following are the normalization rules to be added to the dial plan

$nr1 = New-CsVoiceNormalizationRule -Identity DXB-DP/Mobile -Description “AE-DXB-MOBILE” -Pattern ‘^0(5\d{8})$’ -Translation ‘+971$1’ -InMemory

$nr2 = New-CsVoiceNormalizationRule -Identity DXB-DP/Local -Description “AE-DXB-LOCAL” -Pattern ‘^0(4\d{7})$’ -Translation ‘+971$1’ -InMemory

$nr3 = New-CsVoiceNormalizationRule -Identity DXB-DP/National -Description “AE-DXB-NATIONAL” -Pattern ‘^0(\d{8})$’ -Translation ‘+971$1’ -InMemory

$nr4 = New-CsVoiceNormalizationRule -Identity DXB-DP/International -Description “AE-DXB- INTERNATIONAL” -Pattern ‘^00(\d+)$’-Translation ‘+$1’ -InMemory

Add the first normalization rule to the dial plan

Set-CsTenantDialPlan -Identity DXB-DP -NormalizationRules $nr1

Add the remaining normalization rules

Set-CsTenantDialPlan -Identity DXB-DP -NormalizationRules @{Add=$nr2}

Set-CsTenantDialPlan -Identity DXB-DP -NormalizationRules @{Add=$nr3}

Set-CsTenantDialPlan -Identity DXB-DP -NormalizationRules @{Add=$nr4}

To check the content of our new Dial Plan:

Get-CsTenantDialPlan -Identity DXB-DP

To check the normalization rules inside the Dial Plan:

(Get-CsTenantDialPlan -Identity DXB-DP).NormalizationRules | ft Name, Pattern,Translation, Description

Enabling Users

To enable users using PowerShell, you first need to install the latest version of Skype for Business Online, Windows PowerShell Module which can be found over the net

Prepare PowerShell to get connected to Skype Online:

Import-Module SkypeOnlineConnector

$credential = Get-Credential

And type the user id and password of and Office 365 Tenant Admin


Run the following commands to complete the preparation of PowerShell console:

$session = New-CsOnlineSession -Credential $credential -Verbose

Import-PSSession $session -AllowClobber

To Check the settings of existing User:

Get-CsOnlineUser -Identity user1@example.com
Or simply

Get-CsOnlineUser user1@example.com

To enable a user

The following 3 lines, will enable one user

Set-CsUserPstnSettings -Identity user1@example.com -HybridPSTNSite SITENAME -AllowInternationalCalls $true

Set-CsUser -Identity user1@example.com -EnterpriseVoiceEnabled $true -OnPremLineURI “tel:+9714XXXX1234;ext=1234” -HostedVoiceMail $true

Grant-CsTenantDialPlan -Identity user1@example.com -PolicyName Tag:DXB-DP

Note that the user should exists on Office 365 and has the proper licensing

You can put these commands in a script that read a *.csv file to enable multiple users

Explaining the commands

The first command assigns a Hybrid PSTN Site to the user and allow international call

If you don’t want to enable the user to make international calls, set -AllowInternationalCalls to $false in the first for the first command. The full command would be:

Set-CsUserPstnSettings -Identity user1@example.com -HybridPSTNSite SITENAME -AllowInternationalCalls $false

SITENAME is the name of the “CCE Site Name” that was used in the step “Filling “Configure CCE” Tab”

The second command, enable Enterprise Voice for the user which, assign a phone number (from DID range). The phone number is E.164 format (the example is for Dubai UAE). The command also enable Voice Mail for the user

Finally, the third command assigns a Dial Plan for the user. In this example we are assigning the dial plan that was created in the section “To Create a Dial Plan”

To change user telephone number

Set-CsUser -Identity user1@example.com
-OnPremLineURI “tel:+9714XXXX1234;ext=1234”

To get information about user

Get-CsOnlineUser user1@example.com

To Disable International Calling (for a user):

Set-CsUserPstnSettings -Identity user1@example.com -AllowInternationalCalls $false

To Enable back International Calling (for a user):

Set-CsUserPstnSettings -Identity user1@example.com -AllowInternationalCalls $True

Changing Administrator Password of CCE Host

You need to change the Administrator password of the CCE Host in order to access it. Or maybe in case you forgot the configured password

Following these steps to change the password of the CCE Host

Click on the Settings tab

The following image show how to Settings tab looks like

Expand “Application Solution Module”

Go to “Chance Admin Password”

Under the “Password Option” setting, select “User Configured”

Specify the new password and click on OK

Under “Current Activity Status”, you will be prompt that the password is changed successfully

Re-initializing ASM (CCE Host)

In this article, I will explain how to Re-initialize SBC 1000 CCE Host

You usually need to re-initializing CCE Host when you are going to reuse the device in a different deployment, in a different site or utilizing a higher version of CCE (you can upgrade instead of reinitializing). Or even if you want to start fresh.

In my case, I got the device that was used in a different POC and now I am deploying it on a new site

On the Tasks tab, under Application Solution Module, select Operational Status. It might take a few seconds until the “Operational Status” page is shown

This page shows the IP, name, and status of ASM (CCE Host)

Scroll down a little to “Office 365 CCE Status”, and you will be able to see that status and basic information about the 4 VMs of CCE

On the Tasks tab, under Application Solution Module, select “Reinitialize”

Select the correct ASM image that you want to re-initialize with (you might have different versions)

Click on Apply

Click on OK

You would be able to see the status of the Re-initializing process under “Current Activity Status” as shown in the image below

When the process is completed the “Current Activity Status” will show that the re-initializing is completed successfully

When you select “Optional Status”, and “Office 365 CCE Status”, you will notice that there are no CCE VM available.

Upgrading SBC 1000 Firmware

On the Tasks Tab, under the System menu, select Firmware Upgrade

It will force you to take backup of the SBC

(you have the option to provide a Passphrase to protect the Backup file)

Click on Backup

You can save the backup file to a specific location if you want

Now you can select the Firmware file

Click on Brows

Select the Firmware file and click on Open

Click on Upgrade button

Click on OK on the dialog box after reading it

The process of upgrading the firmware now started

After the upgrade is completed, a restart will be automatically performed

Logon and go to System Tab and then go to “Abound Sonus SBC”

If the upgrade is successful, you will see the Software Version is changes

SBC 1000 Initial Setup

In this post, I will explain how to perform the Initial setup of Sonus (Ribbon) SBC 1000.

Connect your computer to the second Ethernet port of SBC 1000 and wait until the it finishes booting up (about 5 minutes) and make sure that you have got an IP address from the range 192.168.192.2. The SBC is providing a temporary DHCP to give your PC an IP address for easier config. This DHCP will not be enabled after completing the Initial Setup

The following two pictures shows a typical configuration. The changed options are marked with thicker rectangles (the web interface automatically adds these rectangles)

The IP address you have provided will be used for the Ethernet Interface number 1 in the front panel

In the above configuration, we have also configured the IP address of the Ethernet Interface number 2 to be same as the one used during the initial configuration. This would help us to access the gateway on Ethernet Interface 2 with its default IP in case we have a problem with the first interface or we have forgot its IP.

Note that we select the option “Don Not Launch” for the “Easy Setup”

Click on OK

Click on OK on the Dialog Box

Connect the first Ethernet interface to the network (if you have not already done that)

Enter the IP address of the gateway in the browser, it will show the following page only the first time you connect to the gateway on this browser using this address

Click on Enter, it will take you to the logon screen

Enter the User ID and the Password you have supplied during the initial setup and click on Login

You will be taken to Tasks Page/Tab, unless you have selected to Launch Easy Setup in the initial setup step