Solved Yealink Custom Templates not applying settings

Discussion in '3CX Phone System - General' started by contoured, Jan 27, 2018.

Thread Status:
Not open for further replies.
  1. contoured

    Joined:
    Sep 7, 2016
    Messages:
    41
    Likes Received:
    3
    I have attempted to create my first custom template but can't get it to work. The phones are Yealink T4x series and I have done my best to follow the guide here, particularly the bit about the special requirements for Yealink: https://www.3cx.com/docs/custom-ip-phone-templates/

    I have done a factory reset, re-provision, restart all services, etc. and I just can't get the template to apply the settings. I'm at a loss and looking for a bit of help

    Here are the two sections I modified to enable the new template:

    <models>
    <model ua="SIP-T19P_E2">Yealink T19P E2-yealinkT4xrtpoptions</model>
    <model ua="SIP-T19_E2">Yealink T19 E2-yealinkT4xrtpoptions</model>
    <model ua="SIP-T21P_E2">Yealink T21P E2-yealinkT4xrtpoptions</model>
    <model ua="SIP-T21_E2">Yealink T21 E2-yealinkT4xrtpoptions</model>
    <model ua="SIP-T23P">Yealink T23P-yealinkT4xrtpoptions</model>
    <model ua="SIP-T23G">Yealink T23G-yealinkT4xrtpoptions</model>
    <model ua="SIP-T27P">Yealink T27P-yealinkT4xrtpoptions</model>
    <model ua="SIP-T27G">Yealink T27G-yealinkT4xrtpoptions</model>
    <model ua="SIP-T29G">Yealink T29G-yealinkT4xrtpoptions</model>
    <model ua="SIP-T40P">Yealink T40P-yealinkT4xrtpoptions</model>
    <model ua="SIP-T40G">Yealink T40G-yealinkT4xrtpoptions</model>
    <model ua="SIP-T41S">Yealink T41S-yealinkT4xrtpoptions</model>
    <model ua="SIP-T41P">Yealink T41-yealinkT4xrtpoptions</model>
    <model ua="SIP-T42S">Yealink T42S-yealinkT4xrtpoptions</model>
    <model ua="SIP-T42G">Yealink T42-yealinkT4xrtpoptions</model>
    <model ua="SIP-T46S">Yealink T46S-yealinkT4xrtpoptions</model>
    <model ua="SIP-T46G">Yealink T46-yealinkT4xrtpoptions</model>
    <model ua="SIP-T48S">Yealink T48S-yealinkT4xrtpoptions</model>
    <model ua="SIP-T48G">Yealink T48-yealinkT4xrtpoptions</model>
    <model ua="SIP-T52S">Yealink T52S-yealinkT4xrtpoptions</model>
    <model ua="SIP-T54S">Yealink T54S-yealinkT4xrtpoptions</model>
    </models>

    <deviceconfig filename="y100000000029.cfg">
    <filename>
    <model name="Yealink T19 E2-yealinkT4xrtpoptions" filename="y100000000053.cfg" />
    <model name="Yealink T19P E2-yealinkT4xrtpoptions" filename="y100000000053.cfg" />
    <model name="Yealink T21 E2-yealinkT4xrtpoptions" filename="y100000000052.cfg" />
    <model name="Yealink T21P E2-yealinkT4xrtpoptions" filename="y100000000052.cfg" />
    <model name="Yealink T27P-yealinkT4xrtpoptions" filename="y100000000045.cfg" />
    <model name="Yealink T27G-yealinkT4xrtpoptions" filename="y100000000069.cfg" />
    <model name="Yealink T29G-yealinkT4xrtpoptions" filename="y100000000046.cfg" />
    <model name="Yealink T23P-yealinkT4xrtpoptions" filename="y100000000044.cfg" />
    <model name="Yealink T23G-yealinkT4xrtpoptions" filename="y100000000044.cfg" />
    <model name="Yealink T40G-yealinkT4xrtpoptions" filename="y100000000076.cfg" />
    <model name="Yealink T40P-yealinkT4xrtpoptions" filename="y100000000054.cfg" />
    <model name="Yealink T41-yealinkT4xrtpoptions" filename="y100000000036.cfg" />
    <model name="Yealink T41S-yealinkT4xrtpoptions" filename="y100000000068.cfg" />
    <model name="Yealink T42-yealinkT4xrtpoptions" filename="y100000000029.cfg" />
    <model name="Yealink T42S-yealinkT4xrtpoptions" filename="y100000000067.cfg" />
    <model name="Yealink T46-yealinkT4xrtpoptions" filename="y100000000028.cfg" />
    <model name="Yealink T46S-yealinkT4xrtpoptions" filename="y100000000066.cfg" />
    <model name="Yealink T48-yealinkT4xrtpoptions" filename="y100000000035.cfg" />
    <model name="Yealink T48S-yealinkT4xrtpoptions" filename="y100000000065.cfg" />
    <model name="Yealink T52S-yealinkT4xrtpoptions" filename="y100000000074.cfg" />
    <model name="Yealink T54S-yealinkT4xrtpoptions" filename="y100000000070.cfg" />
    </filename><![CDATA[#!version:1.0.0.1


    Here are the new settings I want the phones to have:

    #Configure the codec of multicast paging.
    multicast.codec =

    #Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default);
    #If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority.
    multicast.receive_priority.enable = 1

    #Configure the priority of multicast paging calls. It ranges from 0 to 10.
    multicast.receive_priority.priority = 0

    #Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10.
    #multicast.listen_address.X.ip_address =
    multicast.listen_address.1.ip_address = 24.0.0.33:10000

    #Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10.
    #multicast.listen_address.X.label =
    multicast.listen_address.1.label = Default paging

    Does anyone see anything wrong with what I have done here or have any other suggestions? Thank you for your assistance!
     
  2. eddv123

    eddv123 Well-Known Member

    Joined:
    Aug 15, 2017
    Messages:
    1,218
    Likes Received:
    174
    So based on your common config file (y000000000029.cfg) this is a SIP-T42G - if this is the only model you are using then you can remove all the other models and simplify the template (just a house-keeping tip).

    If it is a paging group you are wanting to create, look at the below - they should assist:
    https://www.3cx.com/docs/manual/ring-groups-paging-intercom/
    https://www.3cx.com/docs/yealink-multicast-paging/

    The second link it a little outdated (v14) but should at least outline the requirements for multicast.

    How many extensions are in your paging group also ? I read that you have a limit of around 64 extensions for a standard group (see the above guide) but if you have more you have to make the amendments for multicast paging.

    If you want an easy way to do this you could just split your groups down - if you are above the standard paging group limit.
     
  3. us1

    us1

    Joined:
    Oct 19, 2015
    Messages:
    80
    Likes Received:
    21
    I see a few items:

    1) Your multicast IP address is not actually a multicast IP. Add an extra 2 at the front to make it 224.0.0.33:10000.

    2) You haven't set the multicast.paging_address.1.ip_address (should match the multicast.listen_address.1.ip_address). Here is my code:

    Code:
    #Configure the codec of multicast paging.
    multicast.codec =
    
    #Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default);
    #If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority.
    multicast.receive_priority.enable = 1
    
    #Configure the priority of multicast paging calls. It ranges from 0 to 10.
    multicast.receive_priority.priority = 0
    
    #Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10.
    #multicast.listen_address.X.ip_address =
    multicast.listen_address.1.ip_address = 224.0.0.224:60000
    
    #Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10.
    #multicast.listen_address.X.label =
    multicast.listen_address.1.label = Paging
    
    multicast.paging_address.1.ip_address = 224.0.0.224:60000
    multicast.paging_address.1.label = Paging
    3) If you're expecting a paging button to show up, you need a button assigned to the phone. In the section for the phone you're setting up, assign a button as type 24. Here is my code for a T46S phone to put the paging button on Line Key 24 (pick whatever key you want):

    Code:
    #Configure Line Key24
    {IF blf24}
    #linekey.24.line = %%Line%%                        
    #linekey.24.value = %%type%%                      
    #linekey.24.pickup_value = %%PickupValue%%                
    #linekey.24.type = %%DKtype%%                                    
    #linekey.24.label = %%label%%
    #linekey.24.extension = %%PickupValue%%
    {ELSE}
    linekey.24.extension = 0
    linekey.24.label = Paging
    linekey.24.line = 0
    linekey.24.type = 24
    linekey.24.value = 224.0.0.224:60000
    {ENDIF}
    
    If you make the edits above and reprovision your phones, you should have a paging button at the line key you setup and all phones should respond. Also note the line multicast.receive_priority.priority = 0. If you set this to 1 or higher, a multicast page will put an active call on hold. Make sure you set this to 0 to prevent a call from being put on hold in favor of the page.

    Please update us once you've made the suggested changes above so we know the status and so it will help others learn.

    Thanks.
     
  4. contoured

    Joined:
    Sep 7, 2016
    Messages:
    41
    Likes Received:
    3
    Using your config, I was able to get the template to apply and the Line Key shows up now. However, the multicast section under Directory --> Multicast IP remains blank.

    Here is what I have now:
    Code:
    #Configure the codec of multicast paging.
    multicast.codec = 
    
    #Enbale or diable the phone to handle the incoming multicast paging calls when there is a multicast paging call on the phone; 0-Disabled, 1-Enabled (default);
    #If enabled, the phone will answer the incoming multicast paging call with a higher priority and ignore that with a lower priority.
    multicast.receive_priority.enable = 1
    
    #Configure the priority of multicast paging calls. It ranges from 0 to 10.
    multicast.receive_priority.priority = 0
    
    #Configure the listening multicast IP address and port number for the phone. X ranges from 1 to 10.
    #multicast.listen_address.X.ip_address = 
    multicast.listen_address.1.ip_address = 224.0.0.33:10000
    
    #Configure the lable displayed on the LCD screen when receiving the multicast paging. X ranges from 1 to 10.
    #multicast.listen_address.X.label = 
    multicast.listen_address.1.label = Paging
    
    multicast.paging_address.1.ip_address = 224.0.0.33:10000
    multicast.paging_address.1.label = Paging
    
    ##V81 NEW##
    #multicast.listen_address.X.volume = 
    #multicast.receive.enhance_volume = 
    #multicast.receive.use_speaker = 
    #multicast.listen_address.X.channel=
    #multicast.paging_address.X.channel=
    
    For some reason, this seems to have no affect on the phone's multicast section. Am I doing something else wrong?
     
  5. us1

    us1

    Joined:
    Oct 19, 2015
    Messages:
    80
    Likes Received:
    21
    Please verify the model phone you are using. I made my changes on a Yealink T46S but there may be different changes required for different models.

    I factory reset a Yealink T46S phone and reprovisioned using my template and verified it populated the Multicast IP section for both Listening Address and Paging List.

    When you do have the paging buttons, have you tested it to verify it works by having three phones provisioned and performing a page? I recommend starting there. Otherwise, without seeing the rest of the config file, it is difficult to determine. Check the obvious things like making sure you're on the latest supported firmware, perform a factory reset prior to re-provisioning the phone, and make sure it isn't performing a "partial provisioning" whereby you don't have a trusted security certificate, etc.
     
  6. contoured

    Joined:
    Sep 7, 2016
    Messages:
    41
    Likes Received:
    3
    FINALLY got it.

    When changing the filenames from y0000 to y1000, it is best to copy the entire contents of the config into your favorite text editor and simply "Replace All." There are some additional values toward the end of the file that need to be updated with this information as well.

    Thanks!
     
    YiannisH_3CX likes this.
  7. us1

    us1

    Joined:
    Oct 19, 2015
    Messages:
    80
    Likes Received:
    21
    Great to hear! Notepad++ is your friend when working with these templates.
     
Thread Status:
Not open for further replies.