SIP Gateway is here! Lets take a look with my Poly VVX400, Yealink T48G and AudioCodes 440HD

Earlier this week December 6th 2021 the long awaited SIP gateway for Teams made Generally Available!, it has been in private preview for some time and now its ready for prime time. Blog post here

Ive raided my garage for old handsets i had once upon a time used with Skype for Business and i found 3 handsets, a little dusty as you will see but they should still power on (i think)

  • Poly VVX400
  • Yealink T48G
  • AudioCodes 440HD

Lets see if we can connect them to Teams and use them again! Perhaps i can dust them off and put them to some use after all.

First off What’s is SIP gateway? Do i really need it and what handsets work?

What is SIP Gateway ?

SIP Gateway enables core Teams calling functionality on compatible SIP phone models from Cisco, Poly, Yealink and AudioCodes. They need to be compatible phones as well. Pic from blog post below.

thumbnail image 1 captioned Cisco IP Phones with MPP firmware (6821, 7800 series, 8800 series), Polycom SIP phones (VVX series 100, 200, 300, 400, 500, 600 etc.), Yealink (T20 series, T30 series, T40 series, T50 series), AudioCodes 400 HD series.

What handsets can i use ?

There is full list of compatible handsets here with minimum and approved software versions.

Making sure you have a compatible handsets and have the minimum software version is important, as otherwise it wont work so don’t waste your time.

https://docs.microsoft.com/en-us/microsoftteams/sip-gateway-plan#compatible-devices

For Cisco you need the MPP firmware so there could be additional costs in getting this from cisco so check this before.

What can i do ?

Using a compatible phone listed above it will provide core Teams calling functionality including

  • Inbound and outbound calls
  • Call transfer
  • Meeting dial-in and dial-out
  • Device-based “do not disturb”
  • Voicemail with message waiting indicator

Using a compatible phone using SIP gateway wont provide you with the feature rich handset functionality of a Teams Phone but allow you retain existing investments in handsets and bring those to Teams with core calling functionality. Perhaps you have 10k phones you don’t want to immediately replace from your day 1 move to Teams and now using existing compatible handsets will allow you replace them with Teams Phone in a phased approach or take time to assess the best Teams certified devices you need.

The phone do need to be compatible and on the minimum software version to be used with SIP Gateway so check this first.

For a full list of benefits check this out on docs page https://docs.microsoft.com/en-us/microsoftteams/sip-gateway-plan#benefits-of-sip-gateway

From the benefits listed a couple of notes to be aware of.

For meetings it notes

NOTE: Adding a Teams meeting participant via “request to join” currently won’t alert a SIP device.

and Call forwarding

To make local call forwarding work, the admin must set the AllowCallRedirect attribute in Set-CsTeamsCallingPolicy to Enabled.

Call Queue Support

I saw on Twitter a note from @heig that mentions SIP Phones are not able to take calls if a Call Queue has conference mode enabled. If conference mode is disabled then SIP phone rings.

Call Queue support is not specifically called out or listed under the core functionality.

I’ve tested a Call Queue without Conference mode and the SIP phones ring but as CQ support isn’t specifically listed there is a question around supportability for SIP phones in CQs. Ill add some feedback to the SIP Gateway docs and see if we can get this updated so its more clearer.

How much does it cost ?

There is no additional cost for organizations to use SIP Gateway, and any users meeting the following requirements can use SIP Gateway

  • Users must be licensed for Teams Phone (via Office 365 E5, Microsoft 365 E5 or a standalone license)
  • PSTN enablement (i.e., phone number assigned) via a Microsoft Teams Calling Plan, Direct Routing, or Operator Connect
  • Common area devices require a Common Area Phone license

For your wanting to use Cisco please check if there are any firmware costs from Cisco first. I tested with Yealink, Poly and AudioCodes and all firmware upgrades were free but this could be different for Cisco.

Handset prep, Configuration of SIP Gateway and signing in

I’ve found some old phones i once used with Skype for Business so lets see if we can get them working. I have a Poly VVX400, Yealink T48G and an AudioCodes 440HD

There a number of steps required for configuration including handset, network and tenant configuration. Different handsets require different configuration and firmware but overall its basically the same steps.

Here is the list below from Docs and ill dive into these in my walkthrough but here is a list.

Before you can configure SIP Gateway, do the following:

  • Reset SIP devices to factory default settings. 
  • Open your firewall to Microsoft 365 and Teams. 
  • Make sure the SIP devices are not behind a proxy. 
  • Open the UDP port. Open UDP port in the range 49152 to 53247.
  • Open the TCP port. Open TCP port 5061 for IP ranges 52.112.0.0/14 to 52.120.0.0/14.
  • Open the following https endpoints (IP addresses and URLs) – IPs listed here

Few things to note as well

  • SIP Gateway only supports IPv4
  • SIP Gateway only supports static—also called registered—emergency addresses.
  • User details and policies will be fetched to SIP devices when users sign in. Any policy changes thereafter for signed-in users will be synced to the device within one hour.
  • SIP phones depend on Call Redirect, so the admin must set the AllowCallRedirect attribute in Set-CsTeamsCallingPolicy to Enabled.

Lets go !

1, Check Handsets and software versions first

I have a Poly VVX400, AudioCodes 440HD and a Yealink T48G so lets go check the compatible phone list here

My VVX 400 is a YES

VVX400Minimum firmware version
5.9.5
Approved firmware version
5.9.6.2327

and my AudioCodes440HD


440HD
Minimum firmware version
3.2.1
Approved firmware version
2.2.16.525

Yealink as Well

T48GMinimum firmware version
83
Approved firmware version
35.83.0.130

Next i need to check i meet the minimum firmware versions as they have been offline for a long time so lets take a look.

1.1 Firmware version updates needed on all

VVX400

Another factor is also firmware version and as my VVX has been in the garage for a while mine is below the minimum version as its 5.6.0.17325 so i need to do an update first to my VVX400.

Lets go update.

I will use the Polycom hosted server to check for updates, click Check for updates. (Nice touch on the Poly is i didnt need to go searching for the firmware files)

Listen out for the poly famous warble noise 🙂 and watch the phone update.

When the phone is updated check again to make sure were at least the minimum version we can proceed.

We are now 5.9.7.3480 so we can move forward with the VVX400!

Yealink T48G

Again i booted up my yealink and as i suspected its very out of date i went on the phone and found the local ip address and logged in via browser.

Headed over to settings and firmware is out of date

I headed over to Yealink Support and under end of life products i find the T48G two versions as one was for SfB. The SfB didnt look like the minimum version of 83 so i went for the one below. When i check the minimum version here it just states 83 which is odd. so im going to try the version below. Firmware file link https://support.yealink.com/en/portal/docList?archiveType=software&productCode=8351e0e8ff2931b3

This firmware did work as well.

and the phone is showing Firware upgrade

We are updated

Lets factory refresh as well

AudioCodes 440HD

Again my audiocodes was out of date, no surprise there.

I found the ip address of the phone and signed in

For firmware again it was a look around to find this and found it listed under Firmware > IP Phones > 440HD > Microsoft > Teams. link below and is listed on the compatible devices page as well.

https://audiocodes.sharefile.com/share/view/sc9cdf17f9ec45d09/fo67c0b7-8176-4077-aeaa-f30a81891087

Back over to the phone for update

All being well the firmware will update !

When if back it should display time and date

Next ill do a factory reset.

If you have a lot of handsets you will need to make sure they are all updated first if required, this could be quite a job but best to plan for this.

Handsets all updated so lets move on

2. Check the SIP Gateway configuration requirements

Now my handsets are all meeting the minimum firmware and are compatible time to configure SIP Gateway.

There are a number of config steps listed here i need to check. I have listed these above as well.

2.1 Reset SIP devices to factory default settings.

First thing ill do is boot up the device and reset it to default. Ill start with the VVX400

VVX400

On the phone i went to Settings > Advanced > Entered passcode > Administration Settings > Reset to defaults > Reset to factory > YES

VVX reboots, when its rebooted grab the IP address as you will need this later.

Yealink T48G

I already did this above

AudioCodes 440HD

I already did this above

2.2 Open your firewall to Microsoft 365 and Teams

Ive confirmed firewall post are open

2.3 Make sure the SIP devices are not behind a proxy.

SIP devices are not behind a proxy

2.4 Open the UDP port. 

UDP ports are open in the range 49152 to 53247.

2.5 Open the TCP port. 

TCP ports open 5061 for IP ranges 52.112.0.0/14 to 52.120.0.0/14.

2.6 Open the following https endpoints (IP addresses and URLs)

All address and IPs are open.

3. Verify that SIP Gateway is available for your organization

Ok so head over to Teams Admin center > Teams devices > SIP devices

If this is visible then SIP gateway service is enabled for your organization. Happy days

4. Enable SIP Gateway for the users in your organization

Even though my tenant is enabled i need to enable this for my users or the user thats require it.

Again in Teams Admin Center > Voice > Calling Policies

Select your policy im going to enable this on the Global policy so this will apply to all users. If you are testing you can create a custom user policy.

Turn On “SIP devices can be used for calls” and click Save

5. Set the SIP Gateway provisioning server URL – This is needed so the handset connect to SIP Gateway, download config and firmware.

This can be done via DHCP or manual, im going to do this manually for my three phones.

Please note configuring this is different for each handset as they are different vendors.

For DHCP details go here. If you have alot of phone you will likely need to use DHCP.

Please note setting the provisioning server url is different for each phone type as shown below. Note the different in option numbers.

If you want to set a SIP devices UI language then please check here by default English is used but Spanish, Japanese, German, French and Portuguese are available.

First i need the IP Address of the phone to get to the web interfaces of the phones.

VVX400

I went to settings > Status > Network > TCP/IP parameters

Open a browser and go to the IP address for example https://192.168.0.235

entered in admin password for vvx and submit

Once signed into the phone i see

Now im looking for provisioning server url so lets look at the setings

Now i have to enter a url from one of the dhcp options from here

  • EMEA: http://emea.ipp.sdg.teams.microsoft.com
  • Americas: http://noam.ipp.sdg.teams.microsoft.com
  • APAC: http://apac.ipp.sdg.teams.microsoft.com

Changed server type to HTTP

Added Server address as http://emea.ipp.sdg.teams.microsoft.com

Change Boot Server to Static

Device rebooted

Now i see a Teams Logo!

Phone shows restarting again and again

Now updater is updating

and restarting again

Once is finished you will see a Teams logo on the phone and sign in.

Again i found the IP address of the phone and signed into the web interface. In Settings > Auto provision i found Server URL

At the bottom i Clicked auto provision now

Firmware updating is displayed on the phone.

After its compete i have a Teams logo on the phone 🙂

AudioCodes 440HD

Again i got the ip address of the phone and signed into the web interface.

I went to management > set provisioning server to static url and enter the provisioning server url in configuration url , click submit then clicked check now.

Please note i only entered this for the Configuration url as shown below.

Phone restarts, say checking for configuration, updating configuration

Phone is ready and shows sign in.

6.Configure conditional access

Im not using Conditional Access on this demo tenant so ill skip this but here is the info to check if you are. if your organization uses Conditional Access for devices in the corporate network, it should exclude the following IP addresses listed at the url below.

https://docs.microsoft.com/en-us/microsoftteams/sip-gateway-configure#configure-conditional-access

7. Signing in

Next you need to sign in user using a personal account or a Common Area Phone account.

If your using your personal account then on the phone click sign in and this will prompt you to visit the Microsoft device sign in page to sign into the phone using your personal credentials.

If your want to sign in with Common Area Account you can remotely provision the phone in the Teams Admin Centre and use remote sign if the phone is enrolled. Check down below.

Lets look at personal sign in first

On the phone click Sign in

VVX400

This display the device login URL and a code

Go to the URL enter the code and it will prompt you to sign in with your personal user credentials.

Click continue and the after a moment the VVX will restart, and you will get the warble noise and sign in as the user.

Once signed in the number will display in the top left and keys are programmed at the bottom.

Phone is displayed in Teams Admin Centre

Can click for more details

I clicked sign in on the handset and

went to https://microsoft.com/devicelogin and entered the code displayed on the handset and signed in.

Once signed in the Yealink didn’t restart but i saw the username appear top left and it was signing in. After it signed in i had the name and number displayed on the top of the display.

Now my phone is displayed in Teams Admin centre > Devices > SIP devices

AudioCodes 440HD

Same experience i need to go to device login and sign in with a personal account

Either enter account or choose

Took a good few seconds and the phone restarts and shows updating configuration again.

Now the phone shows the user signed in in the top left corner with name and number scrolling, there is also programmed buttons on the bottom of the screen.

The Phone is now displayed in the Teams Admin centre as well under SIP devices

I can click on the phone and view my details and you can restart the phone remotely.

Common Area Phones Provisioning

Now i read the note above and seems i need to enroll the device if the device is not already displayed in sip gateway under devices, i will do this one at time for this device.

If you have already used the device as i had when i signed in with a personal account then the device was already enrolled and displayed in SIP gateway in my tenant.

Remote Sign in for Common Area Phones – Already enrolled into SIP Gateway.

This phone is already enrolled in SIP gateway as i had signed in with a personal account before so this was already displayed.

With phone displayed already in SIP devices but not signed in as a user i found we can remote sign in as well.

Again i went to the device log in page, entered the code and this time signed in with a common area phone account. I enter the common area username and password.

The phone restarts and signs in

Enrolling your device then signing with your Common Area Phone account remotely

Back to Teams Admin center > Teams Devices > SIP Devices

Under Actions > Provision devices

Click Add MAC address manually

Add MAC address and location and click apply

Under Waiting on activation click the device and then Generate verification code

Now you will have a verification code

It mention to dial an enrollment feature code i have no idea what this is for a vvx400 but i followed the doc which was

On the SIP device, dial the enrollment feature code followed by the verification code. For example, if the enrollment feature code is *55* and the verification code is 123456, dial *55*123456 to enroll the device.

So i dialled *55*772424 and it dialled out and beeped

I had no idea if it works but i went to next step and the device was no under Waiting for sign in

Clicked sign out

I sign in with my common area account

After signing in the phone restart and signed in.

Restart a Phone from Teams Admin Center

This time i thought id restart the phone remotely. Click Restart buttons and you have the option to restart now or pick a preferred time and date which is nice

I chose to restart now

If you look at history then

and now my phone is rebooting. Thats is awesome!

If i look at health status i can see phone is offline

After the reboot its back

Now i have three user devices set up

Remote Sign out

I can restart here and i also found you can remotely sign a user out under actions > sign out

There is not confirmation required for this so be careful

This is tracked in the history tab though

I signed out and my phone is now updating configuration

when my phone is signed out it shows like this under sip devices

Ok so that was my walkthrough connecting three different compatible phones to SIP gateway.

References

https://docs.microsoft.com/en-us/microsoftteams/sip-gateway-plan

https://docs.microsoft.com/en-us/microsoftteams/sip-gateway-configure

https://docs.microsoft.com/en-us/microsoftteams/sip-gateway-plan#compatible-devices

5 thoughts on “SIP Gateway is here! Lets take a look with my Poly VVX400, Yealink T48G and AudioCodes 440HD

  1. For Poly phones, I do not believe you need to update the software as Teams does this anyway.
    Press 1, 4 and 7 to find the IP and other details (UC Software 5.3.0 or later)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.