======================================================================
===
=== This file documents the new and/or enhanced functionality added in
=== the Digium Phone Module for Asterisk versions listed below. This
=== file does NOT include changes in behavior that would not be
=== backwards compatible with previous versions; for that information
=== see the UPGRADE.txt file and the other UPGRADE files for older
=== releases.
===
======================================================================

------------------------------------------------------------------------------
--- Changes in 3.4.7 ---------------------------------------------------------
------------------------------------------------------------------------------

Features Added
 * Added a new phone option, 'logout_enabled', that when set to true enables
   the LogOut application.

------------------------------------------------------------------------------
--- Changes in 3.4.3 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Switchvox now uses the UserAgent string as part of its auth strategy. The
   UserAgent is now added to the curl request.

------------------------------------------------------------------------------
--- Changes in 3.4.2 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Avoid transaction identifier collisions.

Features Added:

 * Phones can now avoid redownloading the same configuration file by
   checking an MD5 value.  This affects Switchvox configuration only.

------------------------------------------------------------------------------
--- Changes in 3.4.1 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Voicemail pin prefix(es) are now ignored.

Features Added:

 * Added new configuration setting, 'plar_number', to lines. When specified
   with an extension the configured phone will auto-dial the extension when
   an outgoing call is attempted.

 * Added new configuration setting, 'idle_company_text', to phones. When
   specified the text will show on the phone's status bar when idle.

 * Added a new configuration option, 'message_delay, to general that modifies
   the wait time between mulitiple messages that are being transmitted in
   response to a single message.

------------------------------------------------------------------------------
--- Changes in 3.4.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * 'parking_lot_extension' and 'parking_lot_enable_blind_transfer' are now also
    specified under the account settings in the configuration sent to the phone.

 * Parking application permissions are now decoupled from the park calls
   permissions. Also parking now works on the D8X.

 * 'record_own_calls' permission is now properly set based on configuration.

 * Voicemail permissions are now sent to the phone via the xml configuration.

 * Adding support for D8X logo file.

Features Added:

 * Added a new option, 'blf_page_return_timeout', that sets the timeout value
   for a phone that returns the first page of BLF pages upon reaching the
   configured timeout value.

------------------------------------------------------------------------------
--- Changes in 3.2 -----------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Fixed possibility of crash on missing header

 * Selecting ringtone should not change active ringtone if already set

 * Avoid crashing on phone registration when unlicensed

Features Added:

 * Enable/Disable codecs and set order

 * Added transport settings to network and mdns to allow phones to be
   configured over TCP and TLS (supported models only) instead of UDP.

 * Added media_encryption specifier to line configuration.

 * Added CLI "digium_phones show multicastpages"

------------------------------------------------------------------------------
--- Changes in 3.1 -----------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Removed extraneous message headers to avoid MTU.

Features Added:

 * Added support for 802.1X configuration.

 * Added configuration section for multicast paging.

 * New logo specifiers for D6X phones.

------------------------------------------------------------------------------
--- Changes in 3.0 -----------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Members that don't use group pins are no longer included when a Userlist
   request is made with a blank password when global pin authorization is
   supposed to be required.

 * Moved message processing to multi-threaded model. Additional
   res_digium_phone.conf settings were added to set the number of threads
   avaiable for this purpose. (see: transaction_max_threads,
   transaction_initial_threads in res_digium_phone.conf.sample)

 * Log messages were added that cover a number of possible reasons for DPMA
   to fail to load.

 * DPMA will no longer initialize subcomponents when no valid license is
   detected at startup.

 * Fixes a bug that left sessions alive in memory on a failed handshake.

------------------------------------------------------------------------------
--- Changes in 2.3.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Changes to the global PIN no longer force phones into a manual
   reconfiguration.

 * A reason for failing to start (such as missing conf file) is
   now logged.

 * Improvements to error messages to increase diagnostic abilities

Features Added:

 * Added dynamic logging for DPMA messages, allowing them to be put
   into a separate log file or optionally added to others through
   use of the 'dpma' name in logger.conf:

      dpma => dpma
      full => notice,warning,error,debug,verbose,dtmf,fax,dpma

   Note: a module loading or license failure will still be reported
   to the regular channels as before.

------------------------------------------------------------------------------
--- Changes in 2.2.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Correct issue with voicemail PIN synchronization when changing
   mailboxes parameter on an AOR to a different mailbox.

 * Correct issue that caused the selected voicemail to change following
   playback.  Note: This issue is only addressed in DPMA 2.2 for Asterisk
   versions 11 and greater.

 * Provide compatability for phones firmware 2.0.  Note: Use of phone
   firmware 2.0 with any version of DPMA prior to 2.2 will result in Asterisk
   segfaults.

 * Phones that do not have a loaded queue type application will no no longer
   display the Queues app on the applications menu.

 * If no mailbox is configured for a phone, the voicemail application is
   disabled.

Features Added:

 * Added a CLI command 'digium_phones show status <phone>' which will show
   a list of presence statuses available to the specified phone as well as
   indicate which presence is currently set for that phone.

 * More explicit error messages are now thrown to phone applications to
   assist in troubleshooting.

 * New phone option show_call_parking controls the display of the built-in
   call parking application.

 * File types that were prefixed using the file_url_prefix option can now be
   specified using a full URL, providing greater flexibility in locating
   files in arbitrary locations. This affects firmware, applications,
   contacts, ringtones, logos, and blf items.

------------------------------------------------------------------------------
--- Changes in 2.1.1 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * The phone PIN as voicemail PIN feature introduced in 2.1 tied the phone pin
   to an app_voicemail() mailbox matching the phone's line identifier. This
   behavior is improper because it requires phone line identifier, and thus 
   SIP peer identifier, to match the voicemail box identifier. Common user
   configurations can easily run counter to this, resulting in undesirable
   behavior. Thus, 2.1.1 changes course to instead pull the mailbox identifier
   directly from the SIP peer. This change is not backwards compatible and
   the undesirable behavior is not maintained going foward.

Features Added:

 * None

------------------------------------------------------------------------------
--- Changes in 2.1.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Unsetting a phone's syslog server now triggers the phone to reboot to
   affect the change.

 * Changing the PIN parameter for a phone profile no longer results in a phone
   displaying a communications error message.

 * Users can now set custom logos for D45 phones using the new *d45_logo_file*
   phone option.

Features Added:

 * Call waiting tone can now be disabled from DPMA using the 
   *call_waiting_tone* phone option.

 * Font size can now be manipulated using the *default_fontsize* phone option.
   Great care should be taken when using this option as large sizes will cause
   labels to overrun their space.

 * Phone PIN, and in turn voicemail locking PIN, can now be tied directly to a
   phone's primary line's voicemail account by setting pin=voicemail. This
   also requires Asterisk versions greater than 12.4.0, 11.11.0, 11.6-cert4,
   or 1.8.28-cert1.

------------------------------------------------------------------------------
--- Changes in 2.0.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * A regression with users.conf defined SIP peers has been corrected. Note
   that users.conf is explicitly not supported and further fixes related to
   users.conf will not be made

 * An issue parsing sip.conf files that contained a first-section other than
   "general" has been corrected.

Features Added:

 * Operates with Asterisk 12 and chan_pjsip. In order to integrate with the
   PJSIP SIP stack, a new endpoint identifier module,
   res_pjsip_endpoint_identifier_dpma, included with 2.0.0 tarballs of DPMA,
   needs to be loaded as well.

 * To set the context for message routing with using PJSIP, the 
   *pjsip_message_context* general option must be configured.

 * Support added for *require_password* voicemail application option. This
   requires phone firmware 1.4.1 or greater.

 * Call Forward and Call Log applications can now be hidden or shown using
   the *can_forward_calls* or *show_call_log* phone options. These options
   require phone firmware 1.4.1 or greater.

------------------------------------------------------------------------------
--- Changes in 1.7.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Presence is no longer incorrect on initial phone bootup for newly created
   phones.

 * If custom presence states are in use, presence is no longer wrong when
   updated after an Asterisk reload.

 * A case-matching problem for SIP peers and Phone lines has been fixed.

 * Phone option *syslog_level*, which affects application developers
   reading of phone logs, now no longer depends on the setting of phone option
   *syslog_server*

Features Added:

 * Network Selection is now hidden from preferences menu if *lock_preferences*
   phone option is enabled.

 * BLF Items are defined using a new *blf_items* phone option. BLF Items
   requires phone firmware 1.4.0 or greater. Do not define the *blf_items*
   keyword for a phone running firmware prior to 1.4.0, or the phone will
   reboot in a loop. The loop can be recovered by simply removing the
   *blf_items* keyword from the phone definition.

 * Ethernet port speeds of the phone's interfaces may be controlled using the
   *lan_port_mode* and *pc_port_mode* phone options.

 * The maximum number of SUBSCRIBEs for a phone may be controlled using the
   *contacts_max_subscriptions* phone option.

 * The phone can be configured to send a lightweight network keep-alive,
   useful for maintaining a connection through NAT routers, using the
   *udp_ka_interval* network option.

 * The phone's sidetone gain may be manipulated using the
   *headset_sidetone_db* and/or *handset_sidetone*db* phone options. Note that
   changing these values from their defaults may negatively impact audio
   performance.

 * Logos and Contacts XML files can be retrieved from the *file_url_prefix*
   network option instead of the *file_directory*. If a logo or Contacts file
   is not found in the *file_directory*, the phone will be configured to
   retrieve it from the *file_url_prefix*. If a Contacts XML file is retrieved
   using *file_url_prefix* instead of *file_directory*, it is not possible for
   the phone to add a server-side contact.

 * In order to uniquely identify a server, a *server_uuid* general section
   option has been added. This option is also now available when specifying a
   contact in the Contacts XML file.

 * Display rules for a contact's actions within the Contacts application may
   be controlled using the *contacts_display_rules* phone option.

 * Phones may be configured to respect or ignore remote reboot requests, as
   received by the SIP NOTIFY event 'Event: check-sync', by configuring the
   *enable_check_sync* phone option.

------------------------------------------------------------------------------
--- Changes in 1.6.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * None

Features Added:

 * To control the tagging of traffic ingressing via the PC port and egressing
   via the LAN port, where traffic ingressing via the LAN port and egressing
   via the PC port is automatically untagged, the *pc_vlan_id* and *pc_qos*
   network options have been added.

------------------------------------------------------------------------------
--- Changes in 1.5.1 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Phones, on boot, now correctly subscribe to themselves, thus eliminating
   any restart subscription issues.

 * Voicemail marked as "Urgent" now show up in the messaging application INBOX
   for Asterisk 1.8-cert and 11.x users. 10-digiumphones users will continue  
   to experience the issue as the fix required modificiation to ASterisk code
   and the 10.x branch of Asterisk is in bugfix-only mode.

 * DPMA now notes on the Asterisk CLI load-failures to to a missing
   configuration file.

Features Added:

 * New type *translation* and application *voicemail* support localization of
   voicemail folders for the phone locales.

------------------------------------------------------------------------------
--- Changes in 1.5.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Removed *firmware_package_directory* general option since it is no longer
   necessary.

 * Removed unused *language* line option.

Features Added:

 * Added phone option *ehs* to specify EHS type: auto, plantronics or
   jabra_iq.

 * Added firmware option *public_firmware* and network option
   *public_firmware_url_prefix* so that phones have a backup location from
   which to retrieve firmware, should the local location fail.

 * The network option *network_vlan_qos* has been replaced by the more
   specific *sip_qos* and *rtp_qos* network options.

 * Phone local may be configured using the *active_locale* option.

------------------------------------------------------------------------------
--- Changes in 1.4.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * DPMAMessageSend AMI action no longer causes Asterisk to segfault.

 * Name Format ordering now works for both Rapid Dial keys and the Contacts
   application itself.

 * If call recording is enabled for a phone, the Record softkey now shows
   while the phone is in the conference state.

 * To prevent duplication of the same configuration options, general option
   *message_context* has been removed since it is already defined in sip.conf
   as *outofcall_message_context*.

Features Added:

 * The visibility of different parking lots within the phone's Parking
   application can be controlled using the new application *parking*.

 * Subscription context for auto_hints can be defined using subscribecontext
   in sip.conf or by the *subscribecontext* line option.

 * Console logs are now made when a configuration occurs, when a configuration
   is stolen or when a configuration session times out.

------------------------------------------------------------------------------
--- Changes in 1.3.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * Phone lists are properly filtered into used and unused phone profiles.

Features Added:

 * Groups of phone lists may be established using the *group_pin* phone
   option.

 * Custom, user-created applications may be loaded onto phones using the
   *custom* application type.

 * The Status application is now fully configuration using the *status*
   application.

 * Phone firmware is now handled direcctly in res_digium_phone.conf using the
   *firmware* type and the phone option *firmware*.
   digium_phones_firmware.conf is now no longer required or recommended.

 * The network options *alternate_registration_address* and
   *alternate_registration_port* have been added to support alternate host
   registrations.

 * Contacts may be stored on the server using the *use_local_storage* phone
   option on a writable Contacts XML file.

------------------------------------------------------------------------------
--- Changes in 1.2.0 ---------------------------------------------------------
------------------------------------------------------------------------------

Issues Addressed:

 * None

Features Added:

 * To configure phone to operate seamlessly on more than one network, the
   *network* type has been added.

 * To configure phone ringing tones and alerts, the *ringtone* and *alert*
   types have been added.

 * Applications are configured using the *application* type. The first
   supported application is *queues*

 * A host of new phone options have been added including:
   *network*
   *application*
   *record_own_calls*
   *send_to_vm*
   *alert*
   *lock_preferences*
   *login_password*
   *accept_local_calls*
   *display_mc_notification*
   *brightness*
   *contrast*
   *dim_backlight*
   *backlight_timeout*
   *backlight_dim_level*
   *ringer_volume*
   *speaker_volume*
   *handset_volume*
   *headset_volume*
   *reset_call_volume*
   *headset_answer*
   *name_format*
   *active_ringtone*

 * mDNS address and port are configured using the *mdns_address* and
   *mdns_port* general options.

