Endpoint Manager issue with Digium phones

I have setup my Digium phones with Endpoint manager. The Contacts button I have programmed are working fine with the Rest-Contacts. I cannot control the Contacts button when you hit transfer on the phone. The menu does not exist in Endpoint manager and there are no contacts showing up. The Contacts button under transfer brings up phonebooks and a phonebook called All Contacts which is blank.

Has anyone found a way to show contacts during transfer when a Digium phone is being controlled by Endpoint Manager. The contacts showed up fine when being controlled by DPMA.

They dont allow for this when not using DPMA and DPMA is a closed source application by Digium.

I’m probably missing some subtlety of the issue, but…

If the phone’s been provisioned using XML, the contents of each softkey are controlled using the <keymap> element. In the case of a caller having been placed on hold for transfer, you’d want the hold/transfer state. By default, the phone loads:

<state id="hold/transfer">
    <softkeys>
        <key id="0" action="resume"/>
        <key id="1" action="show_application" label1="_CONTACTS">
            <arg>contacts</arg>
        </key>
        <key id="2" action="none"/>
        <key id="3" action="cancel_call"/>
    </softkeys>
</state>

So, the second softkey runs a show_application w/ the contacts arg, so the phone loads its default contacts application.

If you want to show a different application, like one you might have written yourself, map something else to the phone for that state. There are a number of states that use the phone’s built-in Contacts app in the default keymapping, so you’ll need to account for all of them if you’re trying to eradicate it.

More information about the keymap element is available here:
https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=37454951#XMLConfiguration2.2.2.3+-KeymapElements

To cause the contacts application not to load on the phone, you need to use an appconfig that calls the disable flag, e.g.:

<appconfig id="contacts">                        
    <settings use_local_storage="0" />                                                         
    <disabled />                                                  
</appconfig>

and make sure that you don’t define it in your <appconfig id="appscreen">

Malcom when was soft key control over state added as my emails on this with Digium in 2015 said it was not possible in XML only DPMA. Smae with disabling all the hard coded areas the built in dpma contact button shows up under.

Control over the softkeys during various phone-states has always been possible, it’s just not been something we’ve well-documented until recently. I don’t think that ended up affecting the endpoint manager implementation though, as it’s had button-level control over the softkeys on Digium phones for some time - prior to us documenting the states and softkey controls.

I’m not sure which areas you’re referring to other than the hard contacts key on the D70 - I do recall discussion about this. That key is still hard-mapped to the Contacts application and cannot be remapped to a user-developed app.