Adding a Blind Transfer Button on a Polycom VVX for Lync or Skype

Note: Included in this blog post is a macro created by myself for VVX phones.  It is not supported by Polycom or myself and no warranty is given.  Like any code found on the Internet, use as your own risk.

I’m a big fan of the Polycom VVX line.  They’re high quality, feature rich, and very configurable. That said, like any phone, some of the default options can leave users confused early in the deployment.  On a recent Enterprise Voice rollout of Lync 2013, we were receiving early reports that “transfers don’t work” on the VVX phones.  Our Q\A and followup tests had shown no issues.

The issue wasn’t a problem with the functionality, but with user training.  Despite handouts and training sessions, not everyone got the message that the default transfer type was consultative.  Consultative transfer means that when you attempt to transfer a call, the phone expects that you to chat with the party you’re transferring to and ensure they’re available to take the call.  Most users at this client had only ever had a blind transfer option.  This kind of transfer is more simple, enter the number and the call is on it’s way regardless if the other end wants it or can accept it.

The method for performing a blind transfer traditionally can be found in the Using Polycom® VVX Phones in a Microsoft Lync™ Environment Quick User Guide document.  The basic usage is Answer a Call -> Transfer -> More -> Blind -> Enter the number and hit Green phone button.  I’ve taken some screenshots below on a VVX 500 running UCS 5.2 for reference.

Answer and Hit Transfer


Click the More button


Click Blind


The text changes to “Blind transfer to”.  Enter the number and click the green phone icon.



The complaint was that Lync is supposed to be easy and this all seemed harder.   The go-to of course is to get everyone used to using the Better Together experience with the BToE software supplied by Polycom for the best possible and easiest experience.  Still, during a transition, user experience is king so I set out to create a button to make transfers easier.  The plan was to have a button up front that was easy to use and eliminated steps.  I’ve decided to share this code with you.

<version efk.version=”2″ />
efk.efklist.1.label=”Blind Transfer”
efk.efkprompt.1.label=”Number: ”

<feature.enhancedFeatureKeys feature.enhancedFeatureKeys.enabled=”1″/>

For now, just save that block of code above into a file called blind.cfg, we’ll discuss how to upload it in a bit.  I won’t itemize everything this macro is doing or explain how to create your own buttons or “Enhanced Feature Keys”, we’ll leave that up to the Polycom documentation.  I do however want to walk through a few of the important settings.

This first and most important line I’d like to call out in the above macro is this:

<feature.enhancedFeatureKeys feature.enhancedFeatureKeys.enabled=”1″/>

That line simply enables Enhanced Feature Keys or EFK.  EFKs are a method of creating softkeys on Polycom phones and assigning macros to them.  Without this line, these keys aren’t enabled and you won’t see the newly added button.

Our prompt block is defined below:

efk.efkprompt.1.label=”Number: ”

Here were creating a prompt numbered “1”, making it visible, accepting only numbers to avoid confusion, and creating a text prompt that simply says “Number: “.

Our macro block is defined below:

efk.efklist.1.label=”Blind Transfer”

We’re basically creating a macro called “btransfer1”, setting the status to “1” to make it available and assigning it an action of $P1$N11$Trefer$”.  P1 displays prompt number 1 which is defined above, N11 means that we’re expecting up to 11 digits (you may want to change this to suit your needs) and Trefer tells the call to transfer upon receving the input.

Additional softkey lines setting it up:


For our softkey number 1, we’re labeling the button “BTransfer”.  You can call it Blind, or whatever you like.  The action we’re calling is our btransfer1 macro and we’re setting enabled to 1 so we can use it.

Again, I’ll show you how to upload this to a single phone later in the article, but for now let’s look at the new transfer experience.

A call comes in, user hits “BTransfer” which is on the far left.


 The user enters the number and hits Enter.  btransfer2

You’re done!

Notice the “Number:” prompt, the name “BTransfer” we defined in the macro, and the clarity of the process compared to the original.  Also note that though the 500 is shown, this works just as well in VVX 300, 400, and 600 phones.  Shown below is a VVX 300, note the truncated button name:


To upload, navigate to your phone’s web page, go to Utilities -> Import & Export Configuration and click “Choose File” to locate the blind.cfg file you created earlier.  Click the Import button and wait for the phone to reboot.  If you’d like to deploy this to all phones or a larger subset, check out Jeff Schertz’ and Greig’s blog as found in the references sections.  Actually, just check out their blogs anyway, they’re jammed full of helpful information.


Thank you for reading, I hope you found it helpful!



13 thoughts on “Adding a Blind Transfer Button on a Polycom VVX for Lync or Skype

  1. Pingback: NeWay Technologies – Weekly Newsletter #128 – January 1st, 2015 | NeWay

  2. Pingback: NeWay Technologies – Weekly Newsletter #128 – January 2nd, 2015 | NeWay

  3. Jeff

    This is almost what Im looking for. I have a client that wishes to be able to perform a blind transfer with as few steps as possible. The blind transfer softkey is going in the right direction however i think its antiquated to have the user enter in a 10 digit number to transfer to (even a four digit). Can we take this a step further with the macro and configure the blind xfer softkey to automatically dial an extension/sip address?

    1. C. Anthony Caragol Post author

      Sure! Let’s say you want to automatically dial an extension, just hit the button to transfer to sales, and maybe another button for a quick transfer to the operator. Let’s say that extension is 1800, then all you need to do is change the “$P1N11$$Trefer$” prompt for digits code seen in the article to “1800$Trefer$”

  4. Jeff

    I get an ‘Internal server error’ uploaded that code to a VVX 600 running Ive tried saving the notepad file as ANSI and UNICODE… doesnt matter, receive the error either way. Any ideas Anthony?

    1. Michael

      Anthony – I’m getting the same error as Jeff when trying to load to a VVX 600 running Any ideas?

      Jeff – were you able to figure it out on your end?

    2. C. Anthony Caragol Post author

      Yeah, the quotes can get messed up if you cut and paste. Can you try in notepad and search/replace any quote you see with a quote you type on the keyboard? Something I need to fix on my blog.

  5. Chris Everett

    I’ve got a user that needs this, but the file doesn’t seem to do anything once loaded… Any suggestions?

    1. C. Anthony Caragol Post author

      Yeah, the quotes can get messed up if you cut and paste. Can you try in notepad and search/replace any quote you see with a quote you type on the keyboard? Something I need to fix on my blog.

  6. Jason

    In 5.3.0 (or below) the transfer functionality has changed quite a lot with the introduction of a Default Transfer Type. If you want to change the transfer type per call, you can do so by holding the transfer button.
    This would allow you to setup blind transfers by default, have it supported by default AND have the user only select a single button.

    This was found in:

    1. C. Anthony Caragol Post author

      Yes, that was a feature we longed for… 🙂 This article was written prior to the 5.3 release, it’s still a handy button for some, but now somewhat obsolete.

  7. Bobby Lansing

    Is it possible to use this same idea to transfer to voicemail? I am rolling out a VVX 500 deployment on Lync 2013 and would love to be able to do everything from the phone (for a few users that don’t like running everything through the S4B client.
    I understand the sip call needs “;opaque=app:voicemail” attached to the end, but I don’t know much about the macro coding.

    1. C. Anthony Caragol Post author

      VERY interesting thought… I haven’t tried, not sure we can manipulate it that way, but and interesting thought. Let me know if you figure it out, I’ll post if I do.

Comments are closed.