Distinctive Ring

From KlavoWiki
Jump to navigationJump to search

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.