Proxy side Media negotiation failed – Polycom VVX Call transfer failure

 

Environment:

Skype for Business Enterprise Edition

  • Trunk Configuration

Identity : PSTN:GatewayIP
OutboundTranslationRulesList : {}
SipResponseCodeTranslationRulesList : {}
OutboundCallingNumberTranslationRulesList : {}
PstnUsages : {}
Description :
ConcentratedTopology : True
EnableBypass : True
EnableMobileTrunkSupport : False
EnableReferSupport : True
EnableSessionTimer : False
EnableSignalBoost : False
MaxEarlyDialogs : 20
RemovePlusFromUri : False
RTCPActiveCalls : True
RTCPCallsOnHold : True
SRTPMode : Optional
EnablePIDFLOSupport : False
EnableRTPLatching : False
EnableOnlineVoice : False
ForwardCallHistory : False
Enable3pccRefer : False
ForwardPAI : False
EnableFastFailoverTimer : True
EnableLocationRestriction : False
NetworkSiteID

Audiocodes (Remote Site ) <-> Skype for Business Mediation Pool <-> Skype for Business Enterprise Pool

Polycom VVX 500

Issue:

During a recent migration from Audiocodes <-> SBA <-> SFB FE Pool to the current Audiocodes <-> SFB Mediation Pool <-> SFB FE Pool, users in the remote site experienced call drops during a transfer to a Polycom VVX 500 Phone.

Regardless of the call flow ie.  the call entering via Gateway -> SFB -> Auto Attendant or directly to the users DID when that user transferred the call to another user that answered on a Polycom VVX 500 phone.

Resolution:

We enabled CLS Logging on the SFB Front-End/Mediation Pools, and filtered the logs for the test call we placed. Here is what we found:

From the SFB Mediation Server -> Audiocodes Gateway we receive the error: SIP/2.0 488 Not Acceptable Here

From the SFB Mediation Server -> SFB Front-end Pool we have an Invite request from the calling party to the Internal User using RTP/AVP

From the SFB Front-End Pool to SFB Mediation Pool we receive a 200OK from the Polycom Phone requiring RTP/SAVP  ie. Secure RTP or SRTP

From the SFB Mediation Server -> SFB Front-end Pool we receive a Bye event with the reason=”Proxy side Media negotiation failed”;component=”MediationServer”, because we have MediaByPass Enabled the Audiocodes Gateway was trying to negotiate directly with the Polycom VVX Phone.

So the next step was to check the configuration of the Polycom VVX Phone , because of their flexibility the Polycom Phones provide a lot of configuration values to fit any environment and in this case the we found that the phone had when we browsed to Settings -> Line -> Identification -> Enable, Offer, Require SRTP set to Enabled.

We set the Enable, Offer, Require SRTP to Disabled. 

Fellow MVP Greig Sheridan updated me with if you’re using the Polycom UCS Server you can use the settings below to update the configuration of the Phone.

<reg reg.1.srtp.enable=”0″ reg.1.srtp.offer=”0″ reg.1.srtp.require=”0″ />

Once we saved the configuration and rebooted the phone, and replicated the call flow the call transferred successfully. 🙂

4 thoughts on “Proxy side Media negotiation failed – Polycom VVX Call transfer failure

  1. Hey Hab,

    Nice one! This is the config chunk that will disable all 3:

    We’ve probably not encountered this before because we default to REFER=$false. Saves so much pain that way.

    1. Thanks Greg, i’ll update the post with this.

      The reason we have REFER to True is because MediaByPass is enabled so that the refer is done on the GW side.

      Hab

Leave a Reply

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

*

RSS
LinkedIn
LinkedIn
Share