Summary:ASTERISK-05962: [branch] Polycom SoundPoint IP ACD agent feature integration
Reporter:BJ Weschke (bweschke)Labels:
Date Opened:2006-01-03 07:28:23.000-0600Date Closed:2011-06-07 14:03:27
Versions:Frequency of
Description: This branch contains code to allow for integration with the Polycom SoundPoint IP phones and Asterisk's agent infrastructure. You can login/logout an agent and pause/unpause them from queue(s) via soft-buttons on the phone.

Pre-requisites / assumptions / caveats:
* Agent-IDs defined in agents.conf must NOT have an agentid that conflicts with a SIP device ID/username. If you intermingle these, you will more than likely get failed login attempts, but could get other really undesirable results on your SIP channel. This happens because Asterisk doesn't yet support multiple authentication realms in SIP and won't until chan_sip3 is available. I will not be introducing any "workarounds" to overcome this limitation between now and the time these features make it into chan_sip3. To do so would compromise the security of the SIP channel authentication in place now.
* We are assuming that the From: header / username on the SIP device is the extension that we're registering the Agent to be called back at. If the username doesn't match the extension in extensions.conf that the device can be reached at, the Agent login will work, but when it comes time to dial that agent, the call will be going to the wrong location.

New sip.conf parameters that allow this to work:
* The device must be "type=friend" in order for the device to be able to use this functionality. This is generally a safe assumption for Polycom phones that are directly connected to the Queue engine.
* agentlogin=yes in the device definition. If you do not have this, your login attempts will always fail because the digestusername on authentication will not match the username in the From SIP header, and prior to this code, this was generally a no-no and a security violation that resulted in an immediate negative SIP message. The default is "no", so if you want this device to be able to login an agent from the phone, you must specify this parameter and set it to "yes".
* agentcbcontext=default in the device definition. This is the context for which calls back to the agent will be sent. Default is "default".



SVN branch: http://svn.digium.com/svn/asterisk/team/bweschke/polycom_acd_functions/


Agent Login/Logout and Avail/Unavail work fine.

We've got 3 people/installs, including one of our clients, who is reported to be using this code with no problems and in present day production installs.

* The code presently has no way to know if the status (avail/unavail and logged in/logged out) changed when something other than the phone itself changed that status. We need to get with Polycom to find out if their current firmware allows for us to make a call telling them that the state changed (similar to BLF's or "buddy watches") now.
Comments:By: alric (alric) 2006-03-10 15:32:10.000-0600

Got this setup, and it appears to work well.  One thing I noticed is that the agents seem to login every 300 seconds or so.  This could be related to either the registration interval of my phones (just thought of that, can't check right now), or the fact that I'm using Realtime for my sip peers, I suppose.  Maybe a combination of both?

By: Serge Vecher (serge-v) 2006-06-07 14:54:02

did anybody try this feature?

By: teklords (teklords) 2006-07-11 16:10:06

I happen to run a call centre using the polycom phones and would love to give this a go but where are the instructions?

By: jmls (jmls) 2006-10-31 12:33:02.000-0600

is this branch dead ?

By: jmls (jmls) 2006-11-06 11:02:23.000-0600

bweschke: should this bug be closed, or are you wanting to keep it open ?

By: BJ Weschke (bweschke) 2006-11-06 11:23:35.000-0600

hey guys - pls keep it open as a placeholder for now as we will be doing work to bring it up to date with 1.4/trunk soon.

thx. BJ

By: jmls (jmls) 2006-11-06 11:27:08.000-0600

good news. thanks.

By: ultimation (ultimation) 2007-01-26 19:50:50.000-0600

any work being done on this great feature?

By: Joshua C. Colp (jcolp) 2007-01-26 19:56:43.000-0600

bweschke is rather busy currently so probably not.

By: BJ Weschke (bweschke) 2007-01-26 20:03:29.000-0600

Howdy everyone. file is quite right in the sense that time is limited for me these days, but I'd still like to do lots of Asterisk work!  My biggest issue at present is that I can carry forward the functionality to 1.4, but I'd like to take it a step further. I'd like to be able to send state update messages from Asterisk to the phones to be able to update the agent state, but in speaking with the folks at Polycom, they've said that they're not going to provide this information to any developers (even if they're not looking for follow on support). It's very unfortunate, but if you can call your Polycom reps and complain, maybe we can do something to change this.

Thanks. BJ

By: Vadim Berezniker (kryptolus) 2007-02-14 10:19:43.000-0600

I backported the changes to 1.2
If anybody is interested in this functionality for their 1.2 setup, please visit the following page:


By: jmls (jmls) 2007-05-28 02:41:12

ping. housekeeping

By: Jimmy Clark (jimmyhat30) 2007-06-08 14:19:44

I am trying to compile this release and am getting an error when trying to make.  here is what I get.  I appreciate any help and thanks for working on development of this feature with polycom.
make[1]: Entering directory `/installs/polycom_acd_functions/menuselect'
make[2]: Entering directory `/installs/polycom_acd_functions/menuselect/mxml'
make[2]: *** No rule to make target `libmxml.a'.  Stop.
make[2]: Leaving directory `/installs/polycom_acd_functions/menuselect/mxml'
make[1]: *** [mxml/libmxml.a] Error 2
make[1]: Leaving directory `/installs/polycom_acd_functions/menuselect'
make: *** [menuselect/menuselect] Error 2

By: Paul Hales (paulh) 2007-06-15 01:04:11

Now that Polycom and Digium have a relationship of sorts, is this looking at moving into 1.4/1.6?

We have 2 clients looking for similar functionality, and one of them just purchased 65 Polycom 430's and I would love to be able to offer this to them.

By: Paul Hales (paulh) 2007-06-15 01:11:51

Has anyone got a list of exactly how to get this up and going?

By: Bryan Cramer (bcramer) 2007-10-26 13:55:28

What revision was this branch made against?  I'd like to update it to the latest trunk release.

By: Mark Michelson (mmichelson) 2008-02-13 14:23:07.000-0600

BJ, what is the current status of this? There haven't been any new notes made on this issue in nearly 4 months...

By: Paul Hales (paulh) 2008-02-13 19:10:32.000-0600

If only this was on the list of new items for 1.6.

By: Joshua C. Colp (jcolp) 2008-02-14 10:26:45.000-0600

This integration is extremely hard as Polycom won't disclose the needed information, so it has to be found through other methods... for those who did not know.

paulh: There is nothing stopping this from going into a future 1.6 release. Unlike previous releases new features will be allowed in after.

By: Paul Hales (paulh) 2008-02-14 18:16:06.000-0600

I was hoping that Digium and Polycom were on better speaking terms these days...

Anyway, I have another guess - that Polycom never quite finished/documented this feature and have no interest in finishing it off.

By: BJ Weschke (bweschke) 2008-02-14 18:55:06.000-0600

I opened a new branch in the new year to start re-doing this work against the 1.4 branch, and if that worked out well, I was going to port it forward to 1.6. Most of file's comments are spot on. I've been spending a good deal of time with sipsak trying to figure out the right combination of messaging to send avail/unavail and logoff events from Asterisk back out to the SoundPoint when the SoundPoint doesn't originate the action that caused the state change. So far, to no avail. I've got some Sylantro docs that someone provided that Polycom claims their firmware was developed to, but thus far, haven't been real successful trying to get any of those use cases to actually work.

By: Mark Michelson (mmichelson) 2008-02-14 19:01:23.000-0600

BJ, good to hear from you! I certainly don't want to rush this, I just was looking to hear some status since this bug hadn't seen any action in a while. I had forgotten about your recent branch you had started. Best of luck to you!

Edit: My first sentence was originally off...

By: K Anderson (kanderson) 2008-03-06 09:16:04.000-0600

I don't know if this is the appropriate location for this but I would like to place a vote for this feature, specifically in 1.4

By: Joshua C. Colp (jcolp) 2008-03-06 10:02:19.000-0600

This feature will not go into 1.4 as we do not put new features into it, but it could be put into 1.6 at a later time.

By: Russell Bryant (russell) 2008-03-07 15:25:19.000-0600

Hey BJ!  I hope all is well.  Anyway, I'm marking this issue as suspended.  If you would like to have any development discussion, let's talk about it on the -dev list.  In the meantime, I would love to have this feature, but I'd rather leave this issue in the suspended state until there is some code ready for review to be merged into 1.6.  Thanks