Polycom auto-answer config

Quick setup instructions:

Put this in sip.cfg:


<alertInfo voIpProt.SIP.alertInfo.1.value="Ring Answer" voIpProt.SIP.alertInfo.1.class="4" />
<RING_ANSWER se.rt.4.name="Ring Answer" se.rt.4.type="ring-answer" se.rt.4.timeout="2000" se.rt.4.ringer="2" se.rt.4.callWait="6" se.rt.4.mod="1"/>


The alertInfo.1.class in this example is set to 4. As you can see the 4 corresponds to the se.rt.4 ring type. You can replace 4 with some other number to specify a different ring type.

Put this in your extensions.conf:

exten => *33,1,SIPAddHeader(Alert-Info: Ring Answer)
exten => *33,2,Dial(SIP/3115)
exten => *33,3,Hangup


More Detailed Instructions:


This page details the necessary settings needed to make your Polycom Soundpoint IP500/600 automatically pick up a phone call placed to it with no user interaction.

You need the latest version of both the SIP software and bootrom to do it (see Polycom Phones for a link).

The latest version of software provides for distinctive ring tones just like the Cisco 7960's have. It also provides for auto answer. It's kind of tricky to do, but you can make your phones auto answer by setting the Alert-Info variable in Asterisk and messing with the XML configuration files, sip.cfg and ipmid.cfg.

In the sip.cfg file, look for the line with these variables:

<alertInfo voIpProt.SIP.alertinfo.1.value="Sales"
voIpProt.SIP.alertInfo.1....>

In this real-world example, whenever I set ALERT_INFO to "Sales" in Asterisk, the Polycom matches on that word and calls up class 8 in ipmid.cfg.

In ipmid.cfg, my class 8 line looks like this:

<SALES se.rt.8.name="Sales" se.rt.8.type="ring" se.rt.8.ringer="11"
se.rt.8.callWait="6" se.rt.8.mod="0">

se.rt.8.type="ring" tells the Polycom phone which type of ring to use - which in this case is a regular ring and se.rt.8.ringer="11" tells the phone to ring with ringtone 11 with is the Triplet. I use this one for signaling a new incoming sales call to one of my three sales guys. The secretary transfers it to the sales department and their lines ring with the Triplet. I feel like Pavlov whenever I hear it.

The other ring types are visual, answer and ring-answer. The one you want is ring-answer. Here's how I do it: again in sip.cfg (actually part of the same line listed above)

...voIpProt.SIP.alertinfo.2.value="Ring Answer"
voIpProt.SIP.alertInfo.2....>

and in ipmid.cfg (I just modified one of the existing ones to give me a High Double Trill ringtone):

<RING_ANSWER se.rt.4.name="Ring Answer" se.rt.4.type="ring-answer"
se.rt.4.timeout="1000"... se.rt.4.ringer="7"...>

The se.rt.4.timeout="1000" tells the Polycom to ring for 1000 milliseconds (one second) and then answer.

I call it in Asterisk by setting the ALERT_INFO variable to "Ring Answer" whenever anybody pushes 8 plus the extension. It rings in to the extension and voila, I'm on speaker!

By the way, for all you BOFH out there, you could actually use this feature as a somewhat surreptitious eavesdropping device by using a silent ring and a visual type. The phone would answer without any indication except on the console. I haven't tried this myself and if you do this, I don't want to know about it... unless I'm in your office at the time.


These tips have been implemented in my Polycom configuration files:

http://www.krisk.org/asterisk/pcom/



In Ver 1.2.13 of Asterisk and with Polycom IP-601 phones running 2.20 software, this is how I made paging work:

First edit the sip.cfg file for the Polycom phones in your ftp directory. The lines you need to change are these:
Under
<voIpProt>
<alertInfo voIpProt.SIP.alertInfo.1.value="Ring Answer" voIpProt.SIP.alertInfo.1./>
You are entering the Ring Answer after value=" , this alerts the phone to look for the Ring Answer in your paging context.

Next go down to <ringType and look at the 4th entry:
<RING_ANSWER se.rt.4.name="Ring Answer" se.rt.4.type="ring-answer" se.rt.4.timeout="1000" se.rt.4.ringer="2" se.rt.4.callWait="6" se.rt.4.mod="1"/>
This tells the phone to Ring for 1000 msec using ringer tone 2 then Answer. Note, I changed the value from 2000 to 1000 to shorten the ring length.

Now, just put something simple like this in your extensions.conf somewhere:


; Page Both
exten => *33,1,SIPAddHeader(Alert-Info: Ring Answer)
exten => *33,2,Page(SIP/1105&SIP/1106)
exten => *33,3,Hangup

This tells Asterisk that when you dial *33, send the header alert info to the phone so it will ring once for 1 second then answer for the following call.
The *33,2,Page(SIP/1105&SIP/1106) line rings Sip phones 1105 and 1106 for one second then establishes an announce only conference to them.



I found that using SetVar(RING_ANSWER="Auto Answer") did not send anything in the sip headers.
Instead I got the above to work by using this in my dial plan:
SIPAddHeader(Alert-Info: Ring Answer)



I changed allcall.agi to work with 1.2.0 and hopefully to be a little more flexible. In addition I added a hangup-page.agi that will hangup extensions in the meetme when the originating caller hangs up.

My relavent extensions.conf:

[app-system-page]
exten => *74,1,Goto(app-system-page-impl,s,1)

[app-system-page-impl]
; The first variable is the originating caller, the others are phones I
; wish to exclude from the system-wide paging.  (Not everybody likes to
; be bothered, don't you know?) The form of the variable
; is SIP/EXT - For example, ${EX-DESIGN} = SIP/7013
exten => s,1,NoOp,${CALLERIDNUM}
exten => s,n,AGI,allcall.agi|SIP/${CALLERIDNUM} ${PAGE_EXCLUDE}
exten => s,n,Wait(1)
exten => s,n,Playback(beep)
exten => s,n,MeetMe(9999,dq)
exten => s,n,Playback(beep)
exten => s,n,Hangup

exten => t,1,Hangup
exten => T,1,Hangup

exten => h,1,NoOp(Hungup from page ${UNIQUEID})
exten => h,n,DeadAGI(hangup-page.agi)

[app-page]
exten => start,1,SetVar(ALERT_INFO="Ring Answer")
exten => start,n,MeetMe(9999,dmq)
exten => start,n,Hangup

exten => t,1,Hangup
exten => T,1,Hangup

The DeadAgi(hangup-page.agi) will hangup the listening phones when the paging phone is hungup. If you change the MeetMe room number (9999) in extensions be sure to change it in hangup-page.agi as well.


Integrating Polycom phones with SugarCRM


SugarCRM has a nifty add-in from VoiceRD http://www.sugarforge.org/projects/asterisk-int which integrates Asterisk with SugarCRM. The add-in allows the user to click the phone number of a contact and have a call placed to that contact. However, the Polycom requires you answer the call first, then the second leg is placed. This becomes somewhat tedious after the first few calls.
Since the polycom does not allow you to turn on auto-answer, there is no simple way to achieve this. The config example below gets it done.

Polycom
The config file macaddress-phone.cfg should contain the following

    <alertInfo
        voIpProt.SIP.alertInfo.1.
        voIpProt.SIP.alertInfo.1.value="RANR"
      />

to enable the auto-answer. This is a global parameter so it cannot be enabled for one extension only.

SugarCRM
The open source add-in from VoiceRD http://www.sugarforge.org/projects/asterisk-int
will add an icon next to the number of the contact. Clicking that icon will place a call, first to your extension, then to the number.
The admin configures asterisk with the Asterisk Context: "sugar"
Each user is configured like this:

For a user on a sip extension 500
Asterisk Phone Extension: Local/500

On the pbx, the context sugar is added

    [sugar]
    exten => s,1,Answer
    exten => s,n,NoOp(Context: Sugar)
    exten => s,n,SIPAddHeader(Alert-Info: RANR)
    include => default

[default] should give access to the extensions. Adapt to your own setup.



Polycom UC Software v3.3.x


In Polycom sip-interop.cfg:

Edit the values in "quotation marks". There are more items in the file, the code below only shows what you need to change.


<se.rt>
      <se.rt.custom1 se.rt.custom1.name="Paging" se.rt.custom1.ringer="ringer15" se.rt.custom1.timeout="800"
se.rt.custom1.type="ring-answer">
      </se.rt.custom1>
      <se.rt.default se.rt.default.timeout="5000">
      </se.rt.default>
</se.rt>


<voIpProt>
    <voIpProt.SIP>
      <voIpProt.SIP.alertInfo voIpProt.SIP.alertInfo.1.class="custom1" voIpProt.SIP.alertInfo.1.value="Paging">
      </voIpProt.SIP.alertInfo>
    </voIpProt.SIP>
</voIpProt>


and in Asterisk extensions.conf:

exten => 404,1,SIPAddHeader(Alert-Info: Paging)
exten => 404,n,Set(CALLERID(name)=Global Page)
exten => 404,n,Wait(2)
exten => 404,n,Page(SIP/XXX)

Quick setup instructions:

Put this in sip.cfg:


<alertInfo voIpProt.SIP.alertInfo.1.value="Ring Answer" voIpProt.SIP.alertInfo.1.class="4" />
<RING_ANSWER se.rt.4.name="Ring Answer" se.rt.4.type="ring-answer" se.rt.4.timeout="2000" se.rt.4.ringer="2" se.rt.4.callWait="6" se.rt.4.mod="1"/>


The alertInfo.1.class in this example is set to 4. As you can see the 4 corresponds to the se.rt.4 ring type. You can replace 4 with some other number to specify a different ring type.

Put this in your extensions.conf:

exten => *33,1,SIPAddHeader(Alert-Info: Ring Answer)
exten => *33,2,Dial(SIP/3115)
exten => *33,3,Hangup


More Detailed Instructions:


This page details the necessary settings needed to make your Polycom Soundpoint IP500/600 automatically pick up a phone call placed to it with no user interaction.

You need the latest version of both the SIP software and bootrom to do it (see Polycom Phones for a link).

The latest version of software provides for distinctive ring tones just like the Cisco 7960's have. It also provides for auto answer. It's kind of tricky to do, but you can make your phones auto answer by setting the Alert-Info variable in Asterisk and messing with the XML configuration files, sip.cfg and ipmid.cfg.

In the sip.cfg file, look for the line with these variables:

<alertInfo voIpProt.SIP.alertinfo.1.value="Sales"
voIpProt.SIP.alertInfo.1....>

In this real-world example, whenever I set ALERT_INFO to "Sales" in Asterisk, the Polycom matches on that word and calls up class 8 in ipmid.cfg.

In ipmid.cfg, my class 8 line looks like this:

<SALES se.rt.8.name="Sales" se.rt.8.type="ring" se.rt.8.ringer="11"
se.rt.8.callWait="6" se.rt.8.mod="0">

se.rt.8.type="ring" tells the Polycom phone which type of ring to use - which in this case is a regular ring and se.rt.8.ringer="11" tells the phone to ring with ringtone 11 with is the Triplet. I use this one for signaling a new incoming sales call to one of my three sales guys. The secretary transfers it to the sales department and their lines ring with the Triplet. I feel like Pavlov whenever I hear it.

The other ring types are visual, answer and ring-answer. The one you want is ring-answer. Here's how I do it: again in sip.cfg (actually part of the same line listed above)

...voIpProt.SIP.alertinfo.2.value="Ring Answer"
voIpProt.SIP.alertInfo.2....>

and in ipmid.cfg (I just modified one of the existing ones to give me a High Double Trill ringtone):

<RING_ANSWER se.rt.4.name="Ring Answer" se.rt.4.type="ring-answer"
se.rt.4.timeout="1000"... se.rt.4.ringer="7"...>

The se.rt.4.timeout="1000" tells the Polycom to ring for 1000 milliseconds (one second) and then answer.

I call it in Asterisk by setting the ALERT_INFO variable to "Ring Answer" whenever anybody pushes 8 plus the extension. It rings in to the extension and voila, I'm on speaker!

By the way, for all you BOFH out there, you could actually use this feature as a somewhat surreptitious eavesdropping device by using a silent ring and a visual type. The phone would answer without any indication except on the console. I haven't tried this myself and if you do this, I don't want to know about it... unless I'm in your office at the time.


These tips have been implemented in my Polycom configuration files:

http://www.krisk.org/asterisk/pcom/



In Ver 1.2.13 of Asterisk and with Polycom IP-601 phones running 2.20 software, this is how I made paging work:

First edit the sip.cfg file for the Polycom phones in your ftp directory. The lines you need to change are these:
Under
<voIpProt>
<alertInfo voIpProt.SIP.alertInfo.1.value="Ring Answer" voIpProt.SIP.alertInfo.1./>
You are entering the Ring Answer after value=" , this alerts the phone to look for the Ring Answer in your paging context.

Next go down to <ringType and look at the 4th entry:
<RING_ANSWER se.rt.4.name="Ring Answer" se.rt.4.type="ring-answer" se.rt.4.timeout="1000" se.rt.4.ringer="2" se.rt.4.callWait="6" se.rt.4.mod="1"/>
This tells the phone to Ring for 1000 msec using ringer tone 2 then Answer. Note, I changed the value from 2000 to 1000 to shorten the ring length.

Now, just put something simple like this in your extensions.conf somewhere:


; Page Both
exten => *33,1,SIPAddHeader(Alert-Info: Ring Answer)
exten => *33,2,Page(SIP/1105&SIP/1106)
exten => *33,3,Hangup

This tells Asterisk that when you dial *33, send the header alert info to the phone so it will ring once for 1 second then answer for the following call.
The *33,2,Page(SIP/1105&SIP/1106) line rings Sip phones 1105 and 1106 for one second then establishes an announce only conference to them.



I found that using SetVar(RING_ANSWER="Auto Answer") did not send anything in the sip headers.
Instead I got the above to work by using this in my dial plan:
SIPAddHeader(Alert-Info: Ring Answer)



I changed allcall.agi to work with 1.2.0 and hopefully to be a little more flexible. In addition I added a hangup-page.agi that will hangup extensions in the meetme when the originating caller hangs up.

My relavent extensions.conf:

[app-system-page]
exten => *74,1,Goto(app-system-page-impl,s,1)

[app-system-page-impl]
; The first variable is the originating caller, the others are phones I
; wish to exclude from the system-wide paging.  (Not everybody likes to
; be bothered, don't you know?) The form of the variable
; is SIP/EXT - For example, ${EX-DESIGN} = SIP/7013
exten => s,1,NoOp,${CALLERIDNUM}
exten => s,n,AGI,allcall.agi|SIP/${CALLERIDNUM} ${PAGE_EXCLUDE}
exten => s,n,Wait(1)
exten => s,n,Playback(beep)
exten => s,n,MeetMe(9999,dq)
exten => s,n,Playback(beep)
exten => s,n,Hangup

exten => t,1,Hangup
exten => T,1,Hangup

exten => h,1,NoOp(Hungup from page ${UNIQUEID})
exten => h,n,DeadAGI(hangup-page.agi)

[app-page]
exten => start,1,SetVar(ALERT_INFO="Ring Answer")
exten => start,n,MeetMe(9999,dmq)
exten => start,n,Hangup

exten => t,1,Hangup
exten => T,1,Hangup

The DeadAgi(hangup-page.agi) will hangup the listening phones when the paging phone is hungup. If you change the MeetMe room number (9999) in extensions be sure to change it in hangup-page.agi as well.


Integrating Polycom phones with SugarCRM


SugarCRM has a nifty add-in from VoiceRD http://www.sugarforge.org/projects/asterisk-int which integrates Asterisk with SugarCRM. The add-in allows the user to click the phone number of a contact and have a call placed to that contact. However, the Polycom requires you answer the call first, then the second leg is placed. This becomes somewhat tedious after the first few calls.
Since the polycom does not allow you to turn on auto-answer, there is no simple way to achieve this. The config example below gets it done.

Polycom
The config file macaddress-phone.cfg should contain the following

    <alertInfo
        voIpProt.SIP.alertInfo.1.
        voIpProt.SIP.alertInfo.1.value="RANR"
      />

to enable the auto-answer. This is a global parameter so it cannot be enabled for one extension only.

SugarCRM
The open source add-in from VoiceRD http://www.sugarforge.org/projects/asterisk-int
will add an icon next to the number of the contact. Clicking that icon will place a call, first to your extension, then to the number.
The admin configures asterisk with the Asterisk Context: "sugar"
Each user is configured like this:

For a user on a sip extension 500
Asterisk Phone Extension: Local/500

On the pbx, the context sugar is added

    [sugar]
    exten => s,1,Answer
    exten => s,n,NoOp(Context: Sugar)
    exten => s,n,SIPAddHeader(Alert-Info: RANR)
    include => default

[default] should give access to the extensions. Adapt to your own setup.



Polycom UC Software v3.3.x


In Polycom sip-interop.cfg:

Edit the values in "quotation marks". There are more items in the file, the code below only shows what you need to change.


<se.rt>
      <se.rt.custom1 se.rt.custom1.name="Paging" se.rt.custom1.ringer="ringer15" se.rt.custom1.timeout="800"
se.rt.custom1.type="ring-answer">
      </se.rt.custom1>
      <se.rt.default se.rt.default.timeout="5000">
      </se.rt.default>
</se.rt>


<voIpProt>
    <voIpProt.SIP>
      <voIpProt.SIP.alertInfo voIpProt.SIP.alertInfo.1.class="custom1" voIpProt.SIP.alertInfo.1.value="Paging">
      </voIpProt.SIP.alertInfo>
    </voIpProt.SIP>
</voIpProt>


and in Asterisk extensions.conf:

exten => 404,1,SIPAddHeader(Alert-Info: Paging)
exten => 404,n,Set(CALLERID(name)=Global Page)
exten => 404,n,Wait(2)
exten => 404,n,Page(SIP/XXX)

Created by: mflorell, Last modification: Mon 11 of Jun, 2012 (03:56 UTC) by admin
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+