Distinctive Ring
What is Distinctive Ring
Distinctive Ring is marketed under a variety of names and can be used for different functions. It can be used for identifying which number a person has called if you have multiple phone numbers, or it can be used to identify between internally generated or externally generated calls.
How to Use Distinctive Ring
Depending on the type of IP phone you have depends on what the requirements are. The core function is the same and that is to modify the SipAddHeader.
Linksys
To modify the distinctive ring on a Linksys phone is a matter of changing the SipAddHeader to your required ring type. As an example if you wanted to make a phone ring with a ring type of Classic-4 we would use the following command.
exten => s,1,SipAddHeader(Alert-Info: n=Classic-4;w=3;c=4) exten => s,n,Dial(SIP/${EXTEN},70,TW) exten => s,n,HangUp
Inbuilt Ring Tones
Examples of the inbuilt ring tones are:
n=Classic-1;w=3;c=1 n=Classic-2;w=3;c=2 n=Classic-3;w=3;c=3 n=Classic-4;w=3;c=4 n=Simple-1;w=2;c=1 n=Simple-2;w=2;c=2 n=Simple-3;w=2;c=3 n=Simple-4;w=2;c=4 n=Simple-5;w=2;c=5 n=Office;w=4;c=1
Manually Creating Your Own Ring Tone
The syntax is:
Syntax: n=ring-tone-name;w=waveform-id-or-path;c=cadence-id;b=break-time;t=total-time
The description of each filed is as follows:
•ring-tone-name is a name to identify this ring tone specification. This name will appear on the Ring Tone menu of the phone. The same name can be used in a SIP Alert-Info header in an inbound INVITE request to tell the phone to play the corresponding ring tone specification. Because of this, the name should contain characters allowed in a URL only. •Waveform-id is the index of the desired waveform to use in this ring tone specification. There are 4 built-in waveforms: 1 = A classic phone with mechanical bell 2 = Typical phone ring 3 = A classic ring tone 4 = A wide-band frequency sweep signal This field can also be a network path (url) to download a ring tone data file from a server on-the-fly. In this case, the syntax of the field is w=[tftp://]hostname[:port]/path. •cadence-id is the index of the desired cadence to play the given waveform. 8 cadences (1–8) as defined in <Cadence 1> through <Cadence 8>. Cadence-id can be 0 If w=3,4, or an url. Setting c=0 implies the on-time is the natural length of the ring tone file. •break-time specifies the number of seconds to break between two bursts of ring tone, such as b=2.5 •total-time specifies the total number of seconds to play the ring tone before it times out
Polycom
The first step in using distinctive ring for a polycom is to configure the phone to accept a named SipAddHeader. If your provisioning file which is usually called sip.cfg you need to add a oIpProt.SIP.alertInfo.x.value and a voIpProt.SIP.alertInfo.x.class
In the alertInfo section add something like:
<voIpProt.SIP.alertInfo voIpProt.SIP.alertInfo.1.class="9" voIpProt.SIP.alertInfo.1.value="Internal" voIpProt.SIP.alertInfo.2.class="13" voIpProt.SIP.alertInfo.2.value="Office" </voIpProt.SIP.alertInfo>
What we have done above is created an alertinfo called Internal with a ring type of 11. We now have to use this Internal ring type in a dial plan. So to do this we could do something like:
exten => s,1,SipAddHeader(Alert-Info: Internal) exten => s,n,Macro(stdexten,${EXTEN},${EXTEN}) exten => s,n,HangUp
This will cause the phone to ring with the ring type 11 as defined in voIpProt.SIP.alertInfo.2.class and called using SipAddHeader. If the SipAddHeader is not used then the phone will ring with its default ring tone.
NOTE: The class and values are back to front as to what is in the Polycom SIP 4.0.1 guide.