Milestone Integration Platform Software Development Kit
The Milestone Integration Platform enables fast and flexible integration between Milestone XProtect video management software, applications available from Milestone Technology Partner Finder, and other third-party applications and devices.
This documentation describes a number of solution scenarios as well as a wide range of methods to use when implementing a solution. Using the MIP SDK, developers are able to perform actions—ranging from simple ones, such as straightforward exchanges of alerts, to more complex ones, such as complete integration of databases. With these actions, developers can create powerful solutions that meet the diverse needs of customers and greatly expand the potential of the video management systems.
The MIP SDK includes a suite of protocols, components, and plug-ins facilitating integration.
This table gives you an overview of the advantages and disadvantages of the different types of integrations.
Integration type | Advantages | Disadvantages |
---|---|---|
Protocol | Operating system- and development environment-agnostic. Can enable high performance. |
High complexity and low developer output. |
Component | Easy development of new applications. Easy integration into 3rd party application. |
Requires .NET environment. |
Plug-in | Fast development of functionality without the need to build the hosting environment. Direct integration inside Milestone’s clients. |
Requires .NET environment. |
Protocol integration
Using the MIP SDK, it is possible to access the Milestone VMS configuration, get live or recorded video, and send control commands as well as events to the Milestone server even when their applications are run on a non-Microsoft operating system, or when their application has been developed using a non-.NET supported language.
Why choose protocol integration?
- Network-based
- Any operating system
- Any programming language
- Only requires network access (TCP/IP Socket, SOAP and others)
- Accessible from Java, Linux and more
- High performance
Available protocols
- Server Command SOAP Protocol for login and configuration access
- Recorder Command SOAP Protocol for controlling devices
- Image Server XML Protocol for controlling devices
- Image Server TCP/IP Raw Protocol for access to live and recorded video
- Status Protocol for retrieving live updates regarding status changes and events
- Analytics Event protocol for generating new events
- RESTful APIs exposed through the API Gateway
Component integration
When an end user application is developed by others than Milestone, such other developers can use the MIP components to interact with the Milestone servers.
Use a component integration when you want access to video and want to share data with XProtect, but you don't necessarily need a presence in the XProtect applications.
Third party .NET application
This could be any Windows- and .NET Framework-based application.
Why choose component integration?
- Faster development
- Send events to Milestone VMS
- Issue control commands to Milestone VMS or related devices, for example cameras with PTZ or associated output
- Access the Milestone VMS configuration
- Display live and recorded video
- Get live video streams
Plug-in Integration
A MIP plug-in is a plug-in developed by partners in the Milestone Technology Partner Program that can run in a number of MIP products, enabling support of multiple products with a single developed plug-in. Plug-in integration gives the ability to extend the functionality of the MIP-enabled Milestone applications.
Why choose plug-in integration?
- Unified environment
- Runs inside MIP Environment
- XProtect Smart Client
- XProtect Management Client
- XProtect Event Server
Operation
Enables plug-in developers to create an operational interface directly integrated into XProtect Smart Client.
Management
Enables plug-in developers to create the configuration of the integration into XProtect Management Client.
Events
Enables server logic (non-UI logic) to be run inside the event server, for example to automatically react to events from either XProtect or third-party systems.
MIP environment
- Unifies the environment for the MIP plug-ins
-
The MIP environment uses .NET, and all samples are written in C#
In addition, the MIP SDK contains several parts that do not require .NET or C#.
The MIP environment lets developers:
- Add simple ways of system control, for example for handling devices with PTZ, events, and outputs
- Store configurations that are developed by partners in the Milestone Technology Partner Program
- Share configurations between applications developed by partners in the Milestone Technology Partner Program
- Assign identical administrator look and feel for XProtect products
- Add specific user controls in XProtect Smart Client
- Add customized options menu configuration for common parameters, for example for using private and shared views between all users
- Impose customized graphic overlays on live or recorded video, for example for video content analysis (analytics) applications
- Access recorded images for post-processing management