Some days ago I had a request from a customer about missing Music on Hold on Polycom VVX Phones and an Audiocodes SBC. The customer infrastructure:
- Mixed Lync 2013 and Skype for Business infrastructure on-premises
- Audiocodes Mediant 2600 SBC
- Enterprise SIP Trunk by Deutsche Telekom
- 5.000 Users are enabled for Enterprise Voice features
- Some are using Polycom VVX IP Phone (411 and 601)
- Most users are using the Microsoft Skype for Business Client 2015 or C2R (2016)
The customer reported me, that for PSTN calls by Polycom VVX users the Music on Hold (MoH) was missing. When the same user calls someone in the company, the MoH is played to the other user. So, only PSTN calls are facing this issue. Furthermore, the customer told me that for users with Skype for Business softclient the problem doesn’t exist.
So, in consequence it seems that we have to do a deeper look onto the Polycom VVX configuration because only these users are facing the problem. And only if the call was routed to or from the PSTN.
First we did some standard checks. The customer has several business units and companies in one SfB environment. Some units are using dedicated Music on Hold files. My first thought was to check the Polycom VVX configuration regarding the customized MoH file: does it fit to the Polycom requirements regarding format, quality, length, coding and so on:
- WAV file
- max. 1024 kb file size
- G.711 mono (8 bits/sample, 8-khz sample rate)
- L16/16000 mono (16 bits/sample, 16-kHz sample rate)
- L16/48000 mono (16 bits/sample, 48-kHz sample rate)
But this was given and not the reason for the issue. Next, we checked the Audiocodes configuration and did some changes here. The customer installed already the newest firmware version 7.20A.204.128. So we could try to use new parameters regarding Music on Hold:
We changed this value in both IP Profiles (for the SIP Trunk provider and also for the Skype for Business trunk). But this didn’t solve nothing.
Next we analysed the Syslog messages during a faulty call with missing MoH. But even here, nothing to pay attention for. When the user put the call on hold, the Skype for Business server send a SIP INVITE message with a=sendonly in the SDP body.
Next, after resuming the call, the SfB Server send a SIP INVITE message with the correct SDP Body included “a=sendrecv”. Very strange and weired.
Google – your friendly helper
What to do next? I used Google and searched for “Missing MoH on Polycom VVX and Skype for Business”. Some search results pointed to wrong Audiocodes settings, but in this case theses were proofed and fine. I studied some Polycom Knowledge Base articles regarding configuration settings and compared it with the running config of the VVXs, also fine.
Polycom VVX phones and Sonus SBC
Then I found several blog entries reporting missing MoH in combination with Polycom VVX phones and Sonus SBCs. The described solution is to change the payload type for Music on Hold for the Polycom VVX phones.
For SIP trunks normally G.711 A- or mu-Law is used as Codec with a ptime value of 20 msec. But Polycom uses per default a ptime value of 80 msec for Music On Hold. When a Polycom VVX phone user puts a call on Hold, it will fail. The user will get immediately a notification on the phone and the call is still connected. That’s because the Sonus SBC decline the a=inactive SDP with the ptime value of 80 msec. The author changed the ptime value for MoH to 60 msec and then the problem was solved. For this you have to add the following entry to your Polycom config:
feature.moh.payload = 20
With a value of 80 msec the resources of the IP Phone are less used then with a value of 20 or 60.
The only problem: my customer is using an Audiocodes SBC and not a Sonus SBC.
Back to Audiocodes SYSLOG analyse
Once more, I decided to take a deeper look into the generated Syslog files. And guess what?
The customers SIP trunk provider, Deutsche Telekom, is using a Sonus SBC.
So, even there is no direct connection between the VVX phone and a Sonus SBC, we decided to change the mentioned ptime value to 20 msec. That is normally the default value for G.711 codecs and should be supported by every VoIP platform.
A short test showed us that the problem is solved. The Music On Hold features works like a charm now.
In times where SIP trunks are increasingly used in companies, it will be more complex. The option to combine multiple vendors (Microsoft, Audiocodes and Polycom) in one UC solution has a lot of advantages. You have different options and therefor the choice to find the right hardware that fits to your request. On the other hand, it makes it not easier to find the right configuration. If you are using a SIP trunk, take always care which site parameters are given without an option to change them.
- Polycom VVX Hold Issue with Sonus SBC 1000/2000 calls
- Polycom Community Thread – Polycom VVX 600 hold issue