Polycom - Distinctive Ring Tones

This article details how to setup distinctive ring tones on a polycom.

Polycom has a concept of Ring Classes that identify what type of ring is happening, they are essentially used as labels to determine the type of call that is occurring. In the case of Distinctive ring, we will be using the 'custom<y>' ring class.

Y identifies the number of the custom ring class.

Each different ring tone will have a custom ring class value.

(Optional) If you want to prevent Ring Class to ringtone from being changed from the phone's UI you can use the following override:

se.rt.modification.enabled="0"

Ring Class Overrides

se.rt.1 is the first part of the override where we are defining rt (Ringtone) and the custom class number 1 (you could use 1-17, meaning you can have up to 17 custom ringtone options). The custom ringtones must be activated by using Alert-Info headers.

Set custom call waiting (Optional) 

se.rt.1.callWait= Allows you to change the call waiting tone for calls that match this ringing class. If you aren’t intending to change the call waiting tone, you can skip using this override. The default value is callWaiting. 

If you wanted to change it, use ‘callWaitingLong’, or ‘precedenceCallWaiting’ as the value.

se.rt.1.callWait="callWaitingLong"

Set custom name for ring class (Optional)

se.rt.1.name= Defines the name of the custom ring class in the phone’s UI for end-users.

se.rt.1.name="Support"

Set ringtone for ring class (Required)

se.rt.1.ringer= is the ringtone that will be used for the ring class you are defining. You can use ringer1 to ringer24. These are pre-populated Polycom ringtones.

se.rt.1.ringer="ringer12"

The answering mode for a ringtone (Required)

se.rt.1.type="ring"

The answering mode for a ringtone. You would typically want this to be set to ring. Other options are ‘visual’, ‘answer’, ‘ring-answer’. Respectively the other options will display the ringing as visible only or auto-answer, or auto-answer with a delay. There is no default value, so this must be set for Distinctive Ring.

Alert-Info Overrides

voIpProt.SIP.alertInfo.1 is the second part of the override where the 1 is the alert info identifier. You can use multiple alert-info matches by incrementing this number per override.

Associate an alert-info match with a class (Required)

voIpProt.SIP.alertInfo.1.class="1"

This override maps the first alert-info value to Class 1 (the value of the override does the association.  

Set alert-info to match on specific text (Required)

voIpProt.SIP.alertInfo.1.value="Restaurant"

This is the most important part, and it is case-sensitive. This is the text we are matching from the Alert-Info header that the PBX is generating. We are setting the first alert-info option to be called on when the phone finds “Restaurant” in the Alert-Info header. This corresponds with voIpProt.SIP.alertinfo.1.class to find the ring class to use.

Full Example (TL;DR)

For multiple department-based Alert-Info. We’ll use two departments for our example (Sales, Support). The department name in the PBX will be used in the Alert-Info header by default.

se.rt.1.ringer="ringer3"
se.rt.1.type="ring"
voIpProt.SIP.alertInfo.1.class="1"
voIpProt.SIP.alertInfo.1.value="Sales"
se.rt.2.ringer="ringer6"
se.rt.2.type="ring"
voIpProt.SIP.alertInfo.2.class="2"
voIpProt.SIP.alertInfo.2.value="Support"

Now to help explain, if we wanted to add a third department (Engineering) to also use the second ring class, we would use

voIpProt.SIP.alertInfo.3.class="2"
voIpProt.SIP.alertInfo.3.value="Engineering"

We define the 3rd Alert-Info match to map to Engineering, and tell it to use the second ring class, which already exists as se.rt.2.*