Polycom VVX Blind Transfer Fails

Issue

A customer is using Polycom VVX 311 handsets with Skype for Business Server 2015.  They have a Sonus SBC 1000 with SIP Trunks to Gamma.

They reported that they were unable to transfer inbound PSTN calls between users.  

Investigation

Call transfers work when answering the inbound PSTN call using a Skype for Business soft client.

Internal call transfers work from the Polycom VVX handsets.

Consultative Transfers (where party A speaks to party C before party A transfers the call) work from the Polycom VVX handsets; however, Blind Transfers (where party A transfers the call without speaking to party C) do not.  Blind Transfer is the default transfer method on Polycom VVX handsets.

I ran CLS logger, recreated the issue, and the following is what I got.

vvxtranferissue1

SIP/2.0 400 The INVITE request URI is malformed.

TL_INFO(TF_PROTOCOL) [SKYPESRV01\SKYPESRV01]226C.0984::09/25/2018-12:26:40.439.00002403 (SIPStack,SIPAdminLog::ProtocolRecord::Flush:ProtocolRecord.cpp(261)) [183095922]
Trace-Correlation-Id: 183095922
Instance-Id: 2FDCF
Direction: outgoing;source=”local”
Peer: SKYPESRV01.x500.local:49984
Message-Type: response
Start-Line: SIP/2.0 400 The INVITE request URI is malformed.
From: <sip:SKYPESRV01.x500.local:5060;user=phone>;epid=2F8FD419DD;tag=922439a2f
To: <sip:SKYPESRV01.x500.local:5060;user=phone>;tag=52C0D2C096DD5221A0E9B29C88D642C4
Call-ID: 6c82fcc412bd4298a1bf42691cd3ce48
CSeq: 15350 SERVICE
Via: SIP/2.0/TLS 192.168.10.15:49984;branch=z9hG4bK253b75ff;ms-received-port=49984;ms-received-cid=63D400
Content-Length: 0
ms-diagnostics: 14002;reason=”Called number not found”;source=”SKYPESRV01.x500.LOCAL”;appName=”TranslationService”
Server: TranslationService/6.0.0.0
$$end_record

Followed by:

SIP/2.0 400 The INVITE request URI is malformed.

TL_INFO(TF_PROTOCOL) [SKYPESRV01\SKYPESRV01]2AEC.115FC::09/25/2018-12:26:40.439.00002404 (S4,SipMessage.DataLoggingHelper:sipmessage.cs(801)) [666170509]
<<<<<<<<<<<<Incoming SipMessage c=[<SipTlsConnection_F38077>], 192.168.10.15:49984<-192.168.10.15:5061
SIP/2.0 400 The INVITE request URI is malformed.
FROM: <sip:SKYPESRV01.x500.local:5060;user=phone>;epid=2F8FD419DD;tag=922439a2f
TO: <sip:SKYPESRV01.x500.local:5060;user=phone>;tag=52C0D2C096DD5221A0E9B29C88D642C4
CSEQ: 15350 SERVICE
CALL-ID: 6c82fcc412bd4298a1bf42691cd3ce48
VIA: SIP/2.0/TLS 192.168.10.15:49984;branch=z9hG4bK253b75ff;ms-received-port=49984;ms-received-cid=63D400
CONTENT-LENGTH: 0
SERVER: TranslationService/6.0.0.0
ms-diagnostics: 14002;reason=”Called number not found”;source=”SKYPESRV01.x500.LOCAL”;appName=”TranslationService”

Fix

My first thought was the inbound calling number manipulation wasn’t configured correctly on the Sonus SBC, however I ruled that out.  Eventually, after checking everything, including updating the Polycom VVX phones to the latest code, I tracked the issue down to be specific with the Sonus SBC and Polycom VVX handsets.  I have other deployments using AudioCodes SBCs with the same SIP provider, the same handsets etc. and this issue doesn’t occur.

I applied the following setting to the Polycom VVX phones by adding the following line into the the relevant config file on the Polycom Central Provisioning Server.

<call call.BlindTransferSpecialInterop=”1″ />

This value makes the Polycom VVX wait for an acknowledgement from the transferee before ending the call.

Reboot the Polycom VVX, and Blind Transfers start working.

Sorted!

Advertisements

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