After a few hours of headscratching and a support ticket with AudioCodes I’ve resolved an issue that VVX phones have with Music on Hold through an AudioCodes gateway. All VVX phones are running UC firmware 126.96.36.19930, and someone else out there is having the exact same issue, but turns out the suggested fix of using voIpProt.SIP.useSendonlyHold=”0″ does not actually work in the 5.2 firmware.
For a bit of background, what’s happening is the VVX sends a=sendonly in the SDP when a call gets put on hold, but Lync clients send a=inactive. The AudioCodes will play MOH when a=inactive is in the SDP, but not with sendonly, and there is only one behavior that can be configured.
Setting the SendonlyHold flag in the config files did not make a difference, and the VVX’s were still sending the undesired SDP parameter, so the fix was to use a message manipulation rule on the AudioCodes to change it.
Going to VoIP > SIP Definitions > Msg Policy & Manipulation > Message Manipulations then creating the following is the first step:
- Manipulation Name: VVX Hold
- Manipulation Set ID: 1
- Message Type: reinvite.request
- Condition: param.message.sdp.rtpmode==’sendonly’
- Action Subject: param.message.sdp.rtpmode
- Action Type: Modify
- Action Value: ‘inactive’
Then if you’re using SBC, you’ll need to apply the Manipulation Rule to the IP Group and call it a day… But in my case I’m using GW as the setup is from Lync to a PRI, and I could not associate the rule to the IP group for Lync. This was the difficult part because nothing I did applied that manipulation rule to Lync… then Janiel from AudioCodes came to the rescue with instructions:
Open the INI parameters from the Admin Page (http://x.x.x.x/AdminPage), then enter GWINBOUNDMANIPULATIONSET with a value of 1 (or whichever Set ID you used for your Manipulation rule)
Once this was done, all reinvites back from Mediation with a=sendonly (call on hold) get translated to a=inactive and the gateway queues Kenny G or AC/DC. We can confirm the rule is applied and the RTP mode gets changed.