SDK migration from 13r2 to 13r3

This article describes changes in the SDK and APIs between the major software releases 13r2 and 13r3.


Compatibility Statement
General statement to compatibility of the Apps in 13r2 and 13r3 environments.
Visual Studio Project Upgrade
Visual Studio Project upgrade from 13r2 to 13r3 SDK.
License Upgrade
App License upgrade policy.
API changes
Changes in the APIs of the SDK Libraries, PBX and Apps.

Compatibility Statement

The Apps compiled with 13r2 SDK are compatible to 13r3 App Platform Manager, however the Apps compiled with 13r3 SDK should be only executed on 13r3 App Platform Manager.

The 13r2 Apps intended to communicate with 13r2 PBX are also compatible to 13r3 PBX APIs in most cases. The possible incompatibilities are listed in the chapter "API changes" below.

Visual Studio Project Upgrade

Prior upgrading the VisualStudio project to a new SDK version the local SDK version must be updated using the "innovaphone SDK Setup". The "innovaphone SDK Setup" is available for download on the App Store under "Software" tab.

The current version of the SDK used in the Visual Studio Project is stored in the file common/sdk.version.

The innovaphone Visual Studio plugin will detect an older version of the SDK in the project and will ask for upgrade. the manual update via "Tools" -> "innovaphone SDK" -> "Install/Update SDK" is available too.

License Upgrade

The App licenses issued for major version 13 are valid for minor releases 13r2 and 13r3.

API changes

PBX API PbxAdminApi

The PbxAdminApi underwent a major rework in 13r3 with significant changes, that were not ported to the 13r2 PBX firmware. In most cases the changes are not breaking the compatibility and only extend available number of properties of the PBX objects that can be accessed.

The GetObjectResult message was changed to deliver JSON data for extended PBX object properties instead of XML data. In the 13r2 firmware some extended Object properties are delivered as XML - this was changed in 13r3 in order to deliver consistent JSON data. This change is compatibility breaking and must be considered by the Apps developers using this API in the 13r2 apps.

PBX API Replication

The PBX Replication API and the Replication Library are extended in v13r3 by an update sequence number (USN) mechanism, to prevent a full synchronisation at the start of the replication. This change was not ported to the 13r2 PBX firmware and is also not available in the 13r2 SDK C++ library. However a fallback to full replication at the start is still available, so v13r3 Apps could replicate from the v13r2 PBX using full replication at startup.

PBX API Access Restriction for App Users

Prior this change a PBX User, given access to an App, when connected to the PBX via this App Object, had the same APIs access rights as the App Object itself. The adjustment ensures only PbxApi, PbxSignal, EpSignal, Messages and RCC APIs are available on direct AppWebsocket connection from the Users App to the PBX. Also the scope of the actions available on this connection is reduced to the resources of the logged in User (e.g. on RCC API the user is only capable to control own devices).

The restriction was not ported to 13r2 PBX firmware so the behaviour will change with an upgrade of the PBX to 13r3. The Apps that are using following APIs from the App Client must be updated to move the functionality from the App Client to the App Service in order to adapt to this change: