Hi Howard,
I added distinctive ring to the Yealink provisioning templates and the changes were merged few months ago. Here are the lines look like in the provisioning templates:
#######################################################################################
## Alert Info ##
#######################################################################################
#"X" ranges from 1 to 10;
#Configure the text to map the keywords contained in the "Alert-info" header.
#distinctive_ring_tones.alert_info.X.text = family
distinctive_ring_tones.alert_info.1.text = {$yealink_ring_text_1}
distinctive_ring_tones.alert_info.2.text = {$yealink_ring_text_2}
distinctive_ring_tones.alert_info.3.text = {$yealink_ring_text_3}
distinctive_ring_tones.alert_info.4.text = {$yealink_ring_text_4}
distinctive_ring_tones.alert_info.5.text = {$yealink_ring_text_5}
distinctive_ring_tones.alert_info.6.text = {$yealink_ring_text_6}
distinctive_ring_tones.alert_info.7.text = {$yealink_ring_text_7}
distinctive_ring_tones.alert_info.8.text = {$yealink_ring_text_8}
distinctive_ring_tones.alert_info.9.text = {$yealink_ring_text_9}
distinctive_ring_tones.alert_info.10.text = {$yealink_ring_text_10}
#Specify the ring tone for each text. It ranges from 1 to 8. The default value 1 stands for Ring1.wav.
#1-Ring1.wav, 2-Ring2.wav, 3-Ring3.wav, 4-Ring4.wav, 5-Ring5.wav, 6-Ring6.wav, 7-Ring7.wav, 8-Ring8.wav.
#distinctive_ring_tones.alert_info.X.ringer = 1
distinctive_ring_tones.alert_info.1.ringer = {$yealink_ring_file_1}
distinctive_ring_tones.alert_info.2.ringer = {$yealink_ring_file_2}
distinctive_ring_tones.alert_info.3.ringer = {$yealink_ring_file_3}
distinctive_ring_tones.alert_info.4.ringer = {$yealink_ring_file_4}
distinctive_ring_tones.alert_info.5.ringer = {$yealink_ring_file_5}
distinctive_ring_tones.alert_info.6.ringer = {$yealink_ring_file_6}
distinctive_ring_tones.alert_info.7.ringer = {$yealink_ring_file_7}
distinctive_ring_tones.alert_info.8.ringer = {$yealink_ring_file_8}
distinctive_ring_tones.alert_info.9.ringer = {$yealink_ring_file_9}
distinctive_ring_tones.alert_info.10.ringer = {$yealink_ring_file_10}
Basically, here are the steps:
1) Set yealink_ring_file_1 and yealink_ring_text_1 to whatever you want in Accounts > Devices or Advanced > Default Settings for the whole system.
yealink_ring_file_1 should be set to the integer corresponding to the ringtone you want to use.
yealink_ring_text_1 should be set to whatever text you will match in the alert_info string in your SIP packet to have the phone to use distinctive ring 1
In my configuration, I have the following:
yealink_ring_file_1 --> 4
yealink_ring_text_1 --> local
2) Make a dialplan in Dialplan > Dialplan Manager to match whatever conditions you want and add the following:
<action application="export" data="alert_info=local"/>
So what this does is provisions the phone to look out for an alert_info string set to "local". The dialplan is then exporting said alert_info string in the SIP packet so when the phone gets the INVITE it matches it and knows which ringtone to use (4).
Hope this helps!