Digium/Sangoma D80 and freePBX - still a mission impossible? Seems not ;)

21-blf.xml at var/www/html/digium_phones (21 is the D-80 extension number)

<config>
 <smart_blf>
  <blf_items>
    <blf_item location="main" index="0" paging="1" contact_id="0">
      <behaviors>
        <behavior phone_state="idle" target_status="idle" press_action="primary" press_function="dial" long_press_action="itcm" long_press_function="dial" />

      <behavior phone_state="idle" target_status="ringing" press_action="pickupcall" press_function="dial" />
      </behaviors>
      <indicators>
        <indicator target_status="idle" ring="0" ringtone_id="Digium" led_color="green" led_state="on" />
        <indicator target_status="ringing" ring="0" ringtone_id="Techno" led_color="red" led_state="fast" />
        <indicator target_status="on_the_phone" ring="0" ringtone_id="Techno" led_color="red" led_state="on" />
      </indicators>
    </blf_item>
    <blf_item location="main" index="1" paging="1" contact_id="1">
      <behaviors>
        <behavior phone_state="idle" target_status="idle" press_action="primary" press_function="dial" long_press_action="itcm" long_press_function="dial" />

      <behavior phone_state="idle" target_status="ringing" press_action="pickupcall" press_function="dial" />
      </behaviors>
      <indicators>
        <indicator target_status="idle" ring="0" ringtone_id="Digium" led_color="green" led_state="on" />
        <indicator target_status="ringing" ring="0" ringtone_id="Techno" led_color="red" led_state="fast" />
        <indicator target_status="on_the_phone" ring="0" ringtone_id="Techno" led_color="red" led_state="on" />
      </indicators>
    </blf_item>
    <blf_item location="main" index="2" paging="1" contact_id="2">
      <behaviors>
        <behavior phone_state="idle" target_status="idle" press_action="primary" press_function="dial" long_press_action="itcm" long_press_function="dial" />

      <behavior phone_state="idle" target_status="ringing" press_action="pickupcall" press_function="dial" />
      </behaviors>
      <indicators>
        <indicator target_status="idle" ring="0" ringtone_id="Digium" led_color="green" led_state="on" />
        <indicator target_status="ringing" ring="0" ringtone_id="Techno" led_color="red" led_state="fast" />
        <indicator target_status="on_the_phone" ring="0" ringtone_id="Techno" led_color="red" led_state="on" />
      </indicators>
    </blf_item>
    <blf_item location="main" index="3" paging="1" contact_id="3">
      <behaviors>
        <behavior phone_state="idle" target_status="idle" press_action="primary" press_function="dial" long_press_action="itcm" long_press_function="dial" />

      <behavior phone_state="idle" target_status="ringing" press_action="pickupcall" press_function="dial" />
      </behaviors>
      <indicators>
        <indicator target_status="idle" ring="0" ringtone_id="Digium" led_color="green" led_state="on" />
        <indicator target_status="ringing" ring="0" ringtone_id="Techno" led_color="red" led_state="fast" />
        <indicator target_status="on_the_phone" ring="0" ringtone_id="Techno" led_color="red" led_state="on" />
      </indicators>
    </blf_item>
    <blf_item location="main" index="4" paging="1" contact_id="4">
      <behaviors>
        <behavior phone_state="idle" target_status="idle" press_action="primary" press_function="dial" long_press_action="itcm" long_press_function="dial" />

      <behavior phone_state="idle" target_status="ringing" press_action="pickupcall" press_function="dial" />
      </behaviors>
      <indicators>
        <indicator target_status="idle" ring="0" ringtone_id="Digium" led_color="green" led_state="on" />
        <indicator target_status="ringing" ring="0" ringtone_id="Techno" led_color="red" led_state="fast" />
        <indicator target_status="on_the_phone" ring="0" ringtone_id="Techno" led_color="red" led_state="on" />
      </indicators>
    </blf_item>
    <blf_item location="main" index="5" paging="1" contact_id="5">
      <behaviors>
        <behavior phone_state="idle" target_status="idle" press_action="primary" press_function="dial" long_press_action="itcm" long_press_function="dial" />

      <behavior phone_state="idle" target_status="ringing" press_action="pickupcall" press_function="dial" />
      </behaviors>
      <indicators>
        <indicator target_status="idle" ring="0" ringtone_id="Digium" led_color="green" led_state="on" />
        <indicator target_status="ringing" ring="0" ringtone_id="Techno" led_color="red" led_state="fast" />
        <indicator target_status="on_the_phone" ring="0" ringtone_id="Techno" led_color="red" led_state="on" />
      </indicators>
    </blf_item>
    <blf_item location="main" index="6" paging="1" contact_id="6">
      <behaviors>
        <behavior phone_state="idle" target_status="idle" press_action="primary" press_function="dial" long_press_action="itcm" long_press_function="dial" />

      <behavior phone_state="idle" target_status="ringing" press_action="pickupcall" press_function="dial" />
      </behaviors>
      <indicators>
        <indicator target_status="idle" ring="0" ringtone_id="Digium" led_color="green" led_state="on" />
        <indicator target_status="ringing" ring="0" ringtone_id="Techno" led_color="red" led_state="fast" />
        <indicator target_status="on_the_phone" ring="0" ringtone_id="Techno" led_color="red" led_state="on" />
      </indicators>
    </blf_item>
    <blf_item location="main" index="7" paging="1" contact_id="7">
      <behaviors>
        <behavior phone_state="idle" target_status="idle" press_action="primary" press_function="dial" long_press_action="itcm" long_press_function="dial" />

      <behavior phone_state="idle" target_status="ringing" press_action="pickupcall" press_function="dial" />
      </behaviors>
      <indicators>
        <indicator target_status="idle" ring="0" ringtone_id="Digium" led_color="green" led_state="on" />
        <indicator target_status="ringing" ring="0" ringtone_id="Techno" led_color="red" led_state="fast" />
        <indicator target_status="on_the_phone" ring="0" ringtone_id="Techno" led_color="red" led_state="on" />
      </indicators>
    </blf_item>
    <blf_item location="main" index="8" paging="1" contact_id="8">
      <behaviors>
        <behavior phone_state="idle" target_status="idle" press_action="primary" press_function="dial" long_press_action="itcm" long_press_function="dial" />

      <behavior phone_state="idle" target_status="ringing" press_action="pickupcall" press_function="dial" />
      </behaviors>
      <indicators>
        <indicator target_status="idle" ring="0" ringtone_id="Digium" led_color="green" led_state="on" />
        <indicator target_status="ringing" ring="0" ringtone_id="Techno" led_color="red" led_state="fast" />
        <indicator target_status="on_the_phone" ring="0" ringtone_id="Techno" led_color="red" led_state="on" />
      </indicators>
    </blf_item>
    <blf_item location="main" index="9" paging="1" contact_id="06802150803">      <behaviors>
        <behavior phone_state="idle" target_status="idle" press_action="primary" press_function="dial" long_press_function="dial" />
        <behavior phone_state="idle" target_status="ringing" press_action="pickupcall" press_function="dial" />
      </behaviors>
      <indicators>
        <indicator target_status="idle" ring="0" ringtone_id="Digium" led_color="green" led_state="off" />
        <indicator target_status="ringing" ring="0" ringtone_id="Techno" led_color="red" led_state="off" />
        <indicator target_status="on_the_phone" ring="0" ringtone_id="Techno" led_color="red" led_state="off" />
      </indicators>
    </blf_item>
 	</blf_items>
 </smart_blf>
</config>

phonebook-1.xml at the same location is a file, which is generated by a script using the entries of the freePBX contact manager.

the res_digium_phone_additional.conf in /etc/asterisk must contain this (MAC-address is file name)

[21]
type=phone
config_file=000FD30EXXXX.cfg
line=21
full_name=my-extension-name