To make your phone react with different ringtones to internal and external, the PBX can send an Alert-Info header in the SIP signalling to your phone device so that the device knows which ringtone to use for the call.
Set alert/ringtone rule
First you will need to add the rule ‘set alert/ringtone’ to your inbound dial plan and/or extensions. E.g. add this rule to your extension (your internal phone number), like this:
You can, alternatively, choose to add this rule in one of the default built-in routines (this might save you a lot of work, depending on the configuration you prefer):
The rule ‘set alert/ringtone’ makes the pbx send the header to your phone, that triggers use of a different ringtone;
Alert-Info: <http://127.0.0.1/>;info=alert-internal
Instead (or in addition to, but not obligatory), you can also add a rule ‘set alert/ringtone’ to your DID’s in the main dial plan, then you would choose ‘alert type: external’.
If you used zero-touch autoprovisioning for your phone devices you are now already done, as we added a bit of configuration to the template files by default.
Other ringtones than the defaults used
If you wish to use another ringtone than set by default, you can pick a different ringtone.
E.g. if you’re using a Yealink device (and assuming you’re using the zero-touch autoprovisioning), you can add the following snippet to the Extra Config tab of your phone in Communication/Phones (to set this for one device only), or to the Extra Config tab in Communication/Phones Global Settings tab (the latter requires you to chose a phone type before pasting these configuration settings) if you wish to set this for all your devices.
distinctive_ring_tones.alert_info.1.ringer = 6
distinctive_ring_tones.alert_info.1.text = alert-internal
Ringtone (ringer
) #6 is one that quite clearly differs from the others in Yealink devices.
Obviously you can also choose to change the ringtone for external calls instead of internal calls. In that case you only enter the following:
distinctive_ring_tones.alert_info.2.ringer = 6
distinctive_ring_tones.alert_info.2.text = alert-external
Changes will take effect only after your device has pulled the configuration again, which can take up to 24 hours. You can speed up this process by restarting your phone device.
Manual configuration instead of via zero-touch autoprovisioning
If you have chosen to configure your phone device manually you will need to set a ringtone and make sure the device reacts to the Alert-Info header correctly. On a Yealink device you log in to the web interface of your device and go to the Settings/Ring menu, like in the screenshot below:
Here, you should set an internal ringer text (alert-internal or alert-external) and choose a ringtone.
If you prefer importing your own config file you could e.g. instead set in your .cfg:
distinctive_ring_tones.alert_info.1.ringer = 6
distinctive_ring_tones.alert_info.1.text = alert-internal