Milestone Systems
MIP SDK
Getting started guide
Contents
Copyright, trademarks, and disclaimer 6
About this guide 7
Overview of the MIP SDK 8
Milestone Integration Platform and the MIP SDK
8
Integration scenarios
9
Choosing an integration approach
10
Plug-in integration
11
Why choose plug-in integration?
11
Operation
11
Management
11
Events
12
MIP Environment
12
Plug-in via XProtect Access
12
Plug-in integration samples
13
Component integration
14
Third-party .NET application
14
Why choose component integration?
14
Available components
14
Component integration samples
14
Protocol integration
15
Why choose protocol integration?
15
Available protocols
15
Protocol integration samples
16
MIP SDK Mobile
16
MIP VMS API
17
Milestone AI Bridge
17
Milestone AI Bridge for the NVIDIA EGX Enterprise platform
17
Get help: MIP SDK resources
18
Getting started guide | MIP SDK
2 | Contents
Milestone Documentation
19
Useful documents for getting started
19
Context-sensitive help
20
MIP SDK documentation
21
MIP SDK Mobile documentation
22
MIP VMS API documentation
23
Milestone AI Bridge documentation
23
Milestone Developer Forum
24
Milestone Learning Portal
24
Setting up a development environment 25
Prerequisites
25
System requirements
25
Selecting an XProtect VMS product
25
Deploying a development XProtect VMS environment
26
Parts of the MIP SDK
27
The MIP SDK installer
27
MIP SDK online distribution
27
Install and use the MIP SDK templates for Visual Studio
28
Install the MIP SDK templates
28
To install from Visual Studio Marketplace
28
To install from within Visual Studio
29
Using the MIP SDK templates
30
Install and use MIP SDK NuGet packages
31
Available MIP SDK NuGet packages
31
Package content and compatibility
32
NuGet package management formats
34
Install MIP SDK NuGet package in a new project
34
Upgrade an existing project to use the NuGet packages
34
Troubleshooting NuGet package restore problems
35
NuGet restore is currently disabled
35
Getting started guide | MIP SDK
3 | Contents
The package ... with version ... could not be found
35
Related information
36
Installing Milestone SDK Tools
37
Install Milestone SDK Tools
37
Milestone Depends
38
MIP SDK Tray Manager
38
3rd-Party Driver Test Tool
38
Visual Studio F1 Help
39
Enable lookup of online help content
39
Use F1 help
39
Installing Milestone StableFPS
41
Download and install Milestone StableFPS
41
Installing the StableFPS driver to your XProtect VMS
41
Cloning MIP SDK samples from GitHub
42
Contributions
43
Clone MIP SDK samples from GitHub
43
Visual Studio
43
Visual Studio 2022 and 2019
43
Visual Studio 2017
43
MIP SDK sample plug-ins in Milestone clients
44
XProtect Management Client
44
XProtect Smart Client
44
MIP SDK Tray Manager
45
XProtect integration projects, from plan to market 46
Integration project overview
46
The Milestone Technology Partner Program
47
Technology Partner Program tracks
47
Why you should become a Milestone Technology Partner
48
How the Technology Partner Program works
48
Installed Integration Insights
49
Getting started guide | MIP SDK
4 | Contents
How does Installed Integration Insights work?
49
How to register for Installed Integration Insights
49
Milestone Technology Partner Finder
50
Getting started guide | MIP SDK
5 | Contents
Copyright, trademarks, and disclaimer
Copyright © 2024 Milestone Systems A/S
Trademarks
XProtect is a registered trademark of Milestone Systems A/S.
Microsoft and Windows are registered trademarks of Microsoft Corporation. App Store is a service mark of
Apple Inc. Android is a trademark of Google Inc.
All other trademarks mentioned in this document are trademarks of their respective owners.
Disclaimer
This text is intended for general information purposes only, and due care has been taken in its preparation.
Any risk arising from the use of this information rests with the recipient, and nothing herein should be construed
as constituting any kind of warranty.
Milestone Systems A/S reserves the right to make adjustments without prior notification.
All names of people and organizations used in the examples in this text are fictitious. Any resemblance to any
actual organization or person, living or dead, is purely coincidental and unintended.
This product may make use of third-party software for which specific terms and conditions may apply. When that
is the case, you can find more information in the file 3rd_party_software_terms_and_conditions.txt
located in your Milestone system installation folder.
Getting started guide | MIP SDK
6 | Copyright, trademarks, and disclaimer
About this guide
This guide is targeted at software developers and partners in the Milestone Technology Partner Program who
want to build their own integrated solution or customize their Milestone XProtect VMS surveillance solution.
The guide helps you get an overview of various integration scenarios and the types of integrations that the
Milestone Integration Platform (MIP) offers. It serves as a point of reference for documentation and helps you
get started developing integrations and customizations.
The guide is divided into three sections:
l A common section that provides an overview of the MIP SDK.
l A section for MIP SDK developers that provides instructions about how to set up your development
environment.
l A section for business decision makers that provides information about the advantages of the Milestone
Technology Partner Program and the Technology Partner Finder.
Getting started guide | MIP SDK
7 | About this guide
Overview of the MIP SDK
Milestone Integration Platform and the MIP SDK
The Milestone Integration Platform enables fast and flexible integration between Milestone XProtect VMS,
applications available from Technology Partner Finder, and other third-party applications and devices.
Using the MIP SDK, developers are able to perform actions ranging from simple ones, such as straightforward
exchanges of events, to more complex ones, such as complete integration of databases. With these actions,
developers can create powerful seamlessly integrated solutions that meet the diverse needs of customers.
The MIP SDK includes a suite of protocols, components, and plug-in environments that facilitate integration:
Getting started guide | MIP SDK
8 | Overview of the MIP SDK
Integration scenarios
There are many scenarios for integrating to XProtect VMS. Based on the MIP SDK, developers and partners can
create solutions that integrate systems in the areas of, for example:
Areas of
integration
Some of the possibilities
Video
Retrieve and display live or recorded video or single frame JPEG images. Place overlay
information on live or recorded video.
Video
processing and
analytics
Object detection, perimeter tripwires, license plate recognition, and facial recognition.
Audio Retrieve and play audio streams, push audio to devices.
Metadata and
search
Storage, playback, retrieval, and sending of metadata.
Access control Plug-in for event server via XProtect Access framework.
Business
systems
Integrate point of sale systems via XProtect Transact framework or enterprise resource
systems.
Events, alarms,
analytics, and
status
Trigger internal or external events and alarms. Retrieve analytics events.
I/O systems
(Building
management)
Create a plug-in for event server. Exchange events programmatically and provide object
status and interaction through maps in the XProtect Smart Client.
Control of
XProtect VMS
Send and retrieve PTZ commands and positions from cameras. Send a start or stop
recording event from a device. Retrieve edge recordings. Activate external output.
Smart Wall functionality.
XProtect
configuration
automation
Retrieve and set configuration of the XProtect VMS through an API.
Getting started guide | MIP SDK
9 | Overview of the MIP SDK
There are many more types of integration that you can develop using the MIP SDK. These could be, for example:
l Custom device drivers
l Message communication
l Matrix control
l Licensing
l Getting statistics
l Smart Client enhancements
Choosing an integration approach
This table gives you an overview of the advantages and disadvantages of the different types of integrations.
Integration
type
Advantages Disadvantages
Plug-in
Fast development of functionality without the need to build the
hosting environment.
Direct integration inside Milestone’s client and server
environments through the Milestone Integration Platform:
Smart Client, Management Client, and Event Server.
Requires .NET
environment.
Component
Easy development of new applications.
Easy integration into third-party application.
Requires .NET
environment.
Protocol
Operating system- and development environment-agnostic.
Can enable high performance.
High complexity and low
developer output. Limited
support for AD user login.
MIP SDK
Mobile
Adds value to existing Milestone services and functionality
while enabling existing web and mobile solutions to integrate
better with the Milestone VMS through the Mobile Server.
Includes SDK libraries for:
l iOS
l Android
Getting started guide | MIP SDK
10 | Overview of the MIP SDK
Integration
type
Advantages Disadvantages
l .NET
l Web
MIP VMS
RESTful and
WS APIs
OpenAPI-based services ease cloud integration while
providing full functionality.
Operating system- and development environment-agnostic.
Currently, not all APIs are
available.
Milestone
AI Bridge
GraphQL-based service provides easy integration for
intelligent video analytics and ML applications.
Operating system- and development environment-agnostic.
Plug-in integration
Your application can be hosted by the XProtect Management Client, the XProtect Event Server, as well as the
XProtect Smart Client. This allows for improved ease of use and also helps provide a common look and feel for
end users.
A MIP plug-in is able to run in a number of Milestone XProtect products, making it easy to support multiple
products with a single developed plug-in.
Why choose plug-in integration?
l Unified environment
l Runs inside MIP Environment
l XProtectManagement Client
l XProtect Event Server
l XProtect Smart Client
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.
Getting started guide | MIP SDK
11 | Overview of the MIP SDK
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
l Unifies the environment for the MIP plug-ins
l The MIP environment uses .NET, and all samples are written in C#
This is true for the MIP environment, but the MIP SDK contains several parts that do not
require .NET or C#.
The MIP environment lets developers:
l Add simple ways of system control, for example for handling devices with PTZ, events, and outputs
l Define, store, and share configuration data between applications
l Assign identical administrator look and feel for XProtect products
l Add specific user controls in XProtect Smart Client
l Add customized options menu configuration for common parameters, for example for using private and
shared views between all users
l Impose customized graphic overlays on live or recorded video, for example for video content analysis
(analytics) applications
l Access recorded images for post-processing management
Plug-in via XProtect Access
XProtect Access is an add-on product to XProtect VMS.
XProtect Access enables integration of access control systems with the XProtect VMS. Both video cameras and
access control can then be controlled from one centralized interface. XProtect Access works in installations of all
sizes.
The following are some of the extensions to MIP SDK with features dedicated to access control integration into
XProtect:
l XProtect Access integration plug-in architecture on XProtect Event Server
l Generic configuration of access control integrations in Management Client
l Built-in features to support access control integration
l Smart Client access control workspace
Getting started guide | MIP SDK
12 | Overview of the MIP SDK
l Smart Client live monitoring
l Smart Client map support
l Smart Client access request handling
l Alarm configuration based on access control events
The following are some of the key features of XProtect Access:
Monitor
l Live Access Monitoring
l Live Overview
l Live State And Event
l Alarm Handling
Assist
l Access Request Fly-out
l Automatic Triggering Of Actions And Commands
Investigate
l Investigate Events
l Generate Reports
l Filter Events/Doors
Administer
l Cardholder Administration
Configure
l Configuration UI
Plug-in integration samples
Plug-in integration samples in the MIP SDK cover the following application areas:
l Access control
l Transact
l Device drivers
l Video and audio
l Search
l Licensing
l Video overlay
Getting started guide | MIP SDK
13 | Overview of the MIP SDK
l Smart Client control
l Smart Client data handling
l Message communication
l Others
Component integration
End user applications can use MIP components to interact with a XProtect VMS. Use component integration
when you want access to video and want to share data with XProtect, but you don't need or want presence in the
native XProtect applications.
Third-party .NET application
l This could be any Windows- and .NET Framework-based application.
Why choose component integration?
l Faster development
l Send events to Milestone VMS
l Issue control commands to Milestone VMS or related devices, for example cameras with PTZ or
associated output
l Access the Milestone VMS configuration
l Display live and recorded video
l Get live video streams
Available components
l MIP .NET Library
l Access to Milestone server configuration
l Logon dialog
l View video
l Listen to audio
l Control commands
l Event triggering
Component integration samples
Component integration samples in the MIP SDK cover the following areas:
Getting started guide | MIP SDK
14 | Overview of the MIP SDK
l Accessing configuration and status
l Access and show video, audio and metadata
l Control and data injection
l Logon and environment choices
Protocol integration
You can access the Milestone VMS configuration, get live or recorded video, and send control commands as well
as events to the Milestone server from applications running on a non-Microsoft operating system or developed
using a non-.NET supported language.
Why choose protocol integration?
l Network-based
l Any operating system
l Any programming language
l Only requires network access (TCP/IP, SOAP and other protocols)
l Accessible from Java, Linux, and more
l High performance
Available protocols
l The ServerCommandService is used for authentication, configuration management, bookmark
management and event generation.
l The ServiceRegistrationService provides access to a dictionary of services available in a given
installation.
l The RecorderCommandService offers commands for controlling individual devices, like cameras,
speakers, microphones etc.
l The RecorderStatusService is used for getting status and events in real time.
l The AlarmCommand service allow you to create events and alarms, manage alarms, query existing
events and alarms, and retrieve alarm history and statistics.
l The ConfigurationAPI service provides comprehensive access to system and device configuration.
l The ImageServer protocol provides access to live and recorded video and audio, and also provides some
camera device commands.
l Generic Events provides a simple way of generating events from any device that can transmit TCP or
UDP packets.
l The Analytics Event protocol for generating new events
Getting started guide | MIP SDK
15 | Overview of the MIP SDK
l The Mobile Server protocol allows mobile and web clients to access XProtect servers, even when the
clients are accessing these servers over the public internet.
l The API Gateway is a front-end that serves as a common entry point to services implemented by the
other VMS services. For more information, see MIP VMS API on page 17.
l The Milestone AI Bridge is an API Gateway made specifically for Video Analytics and Artificial Intelligence
Applications.
Protocol integration samples
Protocol integration samples in the MIP SDK covers the following areas:
l Login, ServerCommandService or OAuth
l Alarms and events
l Accessing video
l Bookmarks
l RESTful configuration, alarms, and events
l WebSocket messaging, events and state
l Browser-based (JavaScript) WebRTC
MIP SDK Mobile
The MIP SDK Mobile is a set of software development tools that enable you to interface with the XProtect Mobile
Server.
The communication channel to the Mobile Server uses an XML based request-respond pattern. Dedicated
commands for each functionality are provided by the server. There is an atomic granularity of commands, and
different sets of commands are used to accommodate specific tasks.
The video channel is invoked by a set of commands in the communication channel. A data connection is used for
downloading and uploading video frames.
The MIP SDK Mobile provides APIs that are easy to use and based on user scenarios. Structured according to
workflow, they aggregate the atomic commands into sets, simplifying the integration.
The MIP SDK Mobile supports multiple platforms and provides you with native libraries based on:
l Swift
l Java
l .NET
l JavaScript
These libraries are aligned, to provide the same functionality, and they have similar syntax and workflow.
Getting started guide | MIP SDK
16 | Overview of the MIP SDK
MIP VMS API
The Milestone XProtect VMS has offered integration options through the MIP SDK plug-in architecture, native
.NET components and libraries, and various protocols since 2011.
The Milestone Integration Platform VMS API will include RESTful APIs and other industry standard protocols that
expose the functionality currently available through the MIP SDK native .NET libraries and various proprietary
protocols.
The API Gateway is a front-end that serves as a common entry point to services implemented by the other VMS
services. Currently (2024 R1), the following APIs are available through the API Gateway:
l RESTful APIs:
l Configuration API
l Events API (beta)
l Alarms API (beta)
l WebSock APIs:
l Events and State (beta)
l Messaging (beta)
l WebRTC for streaming live video from cameras.
Milestone AI Bridge
The Milestone AI Bridge is an API Gateway made specifically for Video Analytics and Artificial Intelligence
Applications. It simplifies the integration and deployment of AI and video analytics applications and ensures
access to video and the return of events and metadata.
Milestone AI Bridge for the NVIDIA EGX Enterprise platform
The initial version of the Milestone AI Bridge is developed and specifically aimed at the NVIDIA EGX Enterprise
Platform. Sitting between the Milestone XProtect VMS and EGX, the AI Bridge provides an API front-end that
makes it easier for AI and analytics providers to integrate, access video, and return events and metadata. This
version of Milestone AI Bridge is specifically enabled for XProtect Corporate and XProtect Expert and requires to
be run on the EGX server as part of the application deployment.
Getting started guide | MIP SDK
17 | Overview of the MIP SDK
Get help: MIP SDK resources
The MIP SDK is accompanied by a number of reference and learning resources that will help you make use of
the MIP SDK.
Resource Description
Milestone
Documentation
1
User documentation for Milestone products.
MIP SDK product
page
2
Starting point that links to most of the resources relevant for MIP SDK-based
development (including the following resources).
MIP SDK
Documentation
3
The main resource for MIP SDK functionality overview and MIP SDK API reference
documentation.
MIP SDK Mobile
documentation
4
.
The main resource for MIP SDK Mobile functionality overview and MIP SDK Mobile
reference documentation.
MIP VMS API
overview
5
RESTful APIs and other industry standard protocols.
Milestone AI Bridge
6
Milestone Developer Forum group and information about how to get started.
Milestone Developer
Forum
7
Ask questions and share comments and experiences with the other developers and
Milestone employees.
Milestone Learning
Portal
8
Provides free online training on Milestone products and features.
1
https://doc.milestonesys.com/
2
https://www.milestonesys.com/support/for-developers/sdk/
3
https://doc.developer.milestonesys.com/html/index.html
4
https://doc.developer.milestonesys.com/mipsdkmobile/index.html
5
https://doc.developer.milestonesys.com/mipvmsapi/api-overview/
6
https://developer.milestonesys.com/s/group/0F93X000000MQrUSAW/milestone-ai-bridge-prerelease
7
https://developer.milestonesys.com/
8
https://learn.milestonesys.com/index.htm
Getting started guide | MIP SDK
18 | Overview of the MIP SDK
Milestone Documentation
User documentation for Milestone products is available at Milestone Documentation
1
.
Useful documents for getting started
The following documents will be helpful if you are new to XProtect VMS:
l Getting started with XProtect VMS
2
l XProtect Smart Client user manual
3
l XProtect VMS administrator manual
4
l XProtect VMS system architecture
5
1
https://doc.milestonesys.com/
2
https://doc.milestonesys.com/latest/en-US/portal/htm/chapter-page-mc-gsg.htm
3
https://doc.milestonesys.com/latest/en-US/portal/htm/chapter-page-sc-user-manual.htm
4
https://doc.milestonesys.com/latest/en-US/portal/htm/chapter-page-mc-administrator-manual.htm
5
https://doc.milestonesys.com/latest/en-US/portal/htm/chapter-page-system-architecture-doc.htm
Getting started guide | MIP SDK
19 | Overview of the MIP SDK
Context-sensitive help
When you are using the Smart Client or the Management Client, press F1 to access context-sensitive help. A
relevant topic will open in your browser, served either from Milestone Documentation or, if Milestone
Documentation cannot be reached, from the XProtect VMS.
Getting started guide | MIP SDK
20 | Overview of the MIP SDK
MIP SDK documentation
The MIP Documentation is available online at MIP SDK Documentation
1
.
l Search across notes and API documentation.
l The Getting started section useful to get acquainted with the terminology and basics of frequently used
topics in the MIP SDK.
l Documentation divided on key development approach: Protocol, Component and Plug-in.
1
https://doc.developer.milestonesys.com/
Getting started guide | MIP SDK
21 | Overview of the MIP SDK
MIP SDK Mobile documentation
The MIP SDK Mobile documentation is available online at MIP SDK Mobile Documentation
1
.
1
https://doc.developer.milestonesys.com/mipsdkmobile/
Getting started guide | MIP SDK
22 | Overview of the MIP SDK
MIP VMS API documentation
An overview of the MIP VMS API documentation is available online at MIP VMS API overview
1
.
Milestone AI Bridge documentation
For more information about how to get access to Milestone AI Bridge for the NVIDIA EGX Enterprise platform,
please go to the Milestone AI Bridge Pre-release group
2
on the Milestone Developer Forum.
1
https://doc.developer.milestonesys.com/mipvmsapi/api-overview/
2
https://developer.milestonesys.com/s/group/0F93X000000MQrUSAW/milestone-ai-bridge-prerelease
Getting started guide | MIP SDK
23 | Overview of the MIP SDK
Milestone Developer Forum
Join the Milestone Developer Forum
1
, where you can ask questions and share comments and experiences with
the other developers and Milestone engineers. This is a meeting place for solving development issues related to
the MIP SDK and for meeting others in the Open Platform Community. We encourage you to help each other out,
share ideas and implementations, browse through a variety of development topics, Knowledge Base articles,
guides and other helpful resources.
Use your My Milestone log-in to:
l Write questions or answers and add likes.
l See and update your own profile including email notifications.
l Find other developers, see their profiles and acknowledge them.
Milestone Learning Portal
The Milestone Learning Portal provides free online training on Milestone products and features.
Milestone Learning & Performance has created a training track for new developers. It’s a collection of self-paced
online courses that cover both the basics of IP-based video surveillance topics, what XProtect VMS is, and how to
get started with the MIP SDK. Access the Developer Learning Path and other courses on the Milestone Learning
Portal:
l Developer Learning Path
2
l Milestone Learning Portal
3
See the playlists for MIP SDK development on the Milestone Systems Learning YouTube channel:
l Developing MIP SDK Plug-In Integrations
4
l Developing MIP SDK Component Integrations
5
1
https://developer.milestonesys.com/
2
https://learn.milestonesys.com/home_path_developer.htm
3
https://learn.milestonesys.com/index.htm
4
https://www.youtube.com/playlist?list=PLS7f00cHFaFMsUQfcBgr9JXOUwsfvLxFf
5
https://www.youtube.com/playlist?list=PLS7f00cHFaFPxtrtl1B_MiSB0I-1kmUW2
Getting started guide | MIP SDK
24 | Overview of the MIP SDK
Setting up a development environment
Prerequisites
Before you begin installing and exploring the MIP SDK, consider systems requirements and which XProtect
features you want to make use of.
System requirements
l .NET Framework 4.7.2
l .NET 6
l Microsoft Windows 10 Pro 64-bit or newer
l Visual Studio 2022, 2019 or 2017
l An XProtect VMS product
For more information about system requirements for XProtect, please refer to Milestone product system
requirements.
1
Selecting an XProtect VMS product
Depending on which XProtect features you want to use in your integration, you need one of the product variants:
l XProtect Corporate
l XProtect Expert
l XProtect Professional+
l XProtect Express+
l XProtect Essential+
Select XProtect Essential+ if you just want to get started with the MIP SDK. The free license supports up to 8
cameras, an unrestricted number of users, and unrestricted video retention time. You can upgrade to another
product variant in case you need access to more features.
If you are a Milestone Technology Partner, you can get a test license to test your integration. Contact Milestone
2
for inquiries about test licenses.
For more information about the Milestone Technology Partner program, please refer to:
1
https://www.milestonesys.com/support/help-and-documentation/system-requirements/
2
https://www.milestonesys.com/support/contact-us/contact-us/
Getting started guide | MIP SDK
25 | Setting up a development environment
l The Milestone Technology Partner Program on page 47
l What is the Milestone Technology Partner Program?
1
For more information about product features, please refer to these product feature comparisons:
l Milestone product index
2
l XProtect® Product Comparison Tool
3
Deploying a development XProtect VMS environment
Milestone recommends that you install the MIP SDK on a computer in a development environment, and not on a
computer in a production XProtect VMS environment.
Having a small (not many cameras) XProtect VMS system on the development PC itself is very handy for
debugging.
For larger scale testing, install the MIP SDK on a development PC, and install XProtect VMS system components
on separate test servers.
If developing Smart Client or Management Client plug-ins, install the clients in which the plug-in should be
loaded on the development PC for easy debugging.
For more information about deploying XProtect VMS systems, please refer to the XProtect Deployment Best
Practice Guide and the Milestone Deployment Assistant, both available from:
l Milestone Deployment Assistant and Deployment Best Practice
4
1
https://www.milestonesys.com/partners/become-a-partner/technology-partner/
2
https://www.milestonesys.com/products/software/xprotect-comparison/
3
https://www.milestonesys.com/products/software/compare-xprotect/variants/
4
https://learn.milestonesys.com/tools/deployment-assistant/
Getting started guide | MIP SDK
26 | Setting up a development environment
Parts of the MIP SDK
You can install the parts of the MIP SDK that you need from online distribution formats.
The MIP SDK installer
The MIP SDK was available since the initial release as a single installer file, comprising documentation, API
reference, code samples, libraries, and tools. As of MIP SDK 2022 R2, all parts of the MIP SDK are available in
online distribution formats, and the MIP SDK installer has been discontinued.
MIP SDK online distribution
MIP SDK part Description Site
Documentation
MIP architecture overview, API introductions and references,
and sample descriptions.
MIP SDK
Documentation
1
Samples,
source code
Sample source code that demonstrates integration and
customization options
GitHub
2
Templates Visual Studio templates for MIP SDK projects
Visual Studio
Marketplace
3
Libraries
.NET and other libraries for MIP SDK projects as NuGet
packages.
NuGet
4
Tools
Tools and utilities that help you during development of MIP
integrations and customizations
Milestone software
download
5
Each part is described in more detail in the following sections.
1
https://doc.developer.milestonesys.com/
2
https://github.com/milestonesys
3
https://marketplace.visualstudio.com/items?itemName=milestonesys.mipsdk-templates
4
https://www.nuget.org/profiles/milestonesys
5
https://www.milestonesys.com/my-milestone/download-software/?prod=1702&type=11&lang=27
Getting started guide | MIP SDK
27 | Setting up a development environment
Install and use the MIP SDK templates for Visual Studio
The MIP SDK templates get you started building integrations and customizations for the Milestone Integration
Platform. The extension package contains Visual Studio templates for these types of solutions:
Template name Solution type
MIPAccessControl Access Control integration
MIPDriver MIP Driver Framework-based drivers
MIPLibrary Stand-alone (component) integration
MIPPlugin MIP plug-in integration
MIPSearch Smart Client Search plug-in
Install the MIP SDK templates
You can download and install the MIP SDK templates from within Visual Studio or from Visual Studio
Marketplace.
To install from Visual Studio Marketplace
1. Go to https://marketplace.visualstudio.com/items?itemName=milestonesys.mipsdk-templates.
2. Select Download.
3. You may be able to run the extension installer immediately without selecting a download folder,
depending on your browser and your preferences. If not, select a download folder and then run the
Getting started guide | MIP SDK
28 | Setting up a development environment
extension installer.
4. When prompted, select the products you want to install the extension to.
To install from within Visual Studio
1. To manage extensions:
l In Visual Studio 2022 and 2019
a. Select the menu Extensions.
b. Select Manage Extensions.
l In Visual Studio 2017
a. Select the menu Tools.
b. Select Extensions and Updates....
2. In the left-hand side column of the dialog, select Online.
3. In the search box in the right-hand side column, enter "milestonesys".
Getting started guide | MIP SDK
29 | Setting up a development environment
4. In the extension list, find Milestone MIP SDK Templates and select Download.
5. Visual Studio will download and schedule the extension for installation.
Using the MIP SDK templates
After installation, the templates are available when you create a new project.
1. In Visual Studio, press Ctrl+Shift+N to open the Create a new project page (Visual Studio 2022 and 2019)
or New Project dialog (Visual Studio 2017).
2. In the search box, enter "mip".
3. Choose the template that suits the project type you want to create.
4. Continue creating the project as you would normally do in Visual Studio
Getting started guide | MIP SDK
30 | Setting up a development environment
Install and use MIP SDK NuGet packages
MIP SDK .NET libraries are referenced from the sample projects and Visual Studio templates in MIP SDK in
different ways, depending on the MIP SDK release:
MIP SDK release MIP SDK library references
2021 R1 and later Package references to NuGet packages.
2020 R3 and earlier Locally installed MIP SDK .NET libraries.
You are recommended to begin using NuGet package references.
MIP SDK .NET libraries for MIP SDK 2020 R2 and later are available as NuGet packages from
https://www.nuget.org/profiles/milestonesys.
Milestone MIP SDK NuGet packages are owned by the profile milestonesys, and their names are prefixed by
MilestoneSystems. Use either term when searching or browsing for packages in your NuGet package
manager.
For information about product lifecycle, please refer to Milestone Product Lifecycle
1
.
Available MIP SDK NuGet packages
The following MIP SDK NuGet packages are available:
Package Dependencies
MilestoneSystems.VideoOS.Platform: Plug-in integration
development
MilestoneSystems.VideoOS.Platform.SDK: Standalone
application development
MilestoneSystems.VideoOS.Platform
1
https://www.milestonesys.com/support/tools-and-references/product-lifecycle/
Getting started guide | MIP SDK
31 | Setting up a development environment
Package Dependencies
MilestoneSystems.VideoOS.Platform.SDK.Debug:
Debugging standalone applications
MilestoneSystems.VideoOS.Platform
MilestoneSystems.VideoOS.Platform.AccessControl:
Access Control plug-in development
MilestoneSystems.VideoOS.Platform
MilestoneSystems.VideoOS.Platform.Transact: Transact
plug-in development
MilestoneSystems.VideoOS.Platform
MilestoneSystems.VideoOS.Platform.DriverFramework:
Driver development
MilestoneSystems.VideoOS.ConfigurationAPI:
Configuration integration development
MilestoneSystems.VideoOS.Mobile.SDK: Mobile Server
.NET-integration
NuGet manages dependencies between packages. For packages that depend on the
MilestoneSystems.VideoOS.Platform package, you do not have to explicitly install this
package. Dependencies will be installed automatically, and will not appear in the
References list (unless explicitly installed).
Package content and compatibility
Most of these packages each contains one DLL corresponding to the package name.
The packages for standalone application development, MilestoneSystems.VideoOS.Platform.SDK and
MilestoneSystems.VideoOS.Platform.SDK.Debug contain:
l DLLs for the VideoOS.Platform.SDK namespace
l DLLs for several other VideoOS namespaces
l 3rd-party dependencies needed for standalone MIP applications
The package for Mobile Server .NET integration, MilestoneSystems.VideoOS.Mobile.SDK, contains DLLs for
various mobile .NET platforms.
Getting started guide | MIP SDK
32 | Setting up a development environment
The major.minor versions of these packages correspond to MIP SDK releases. For example, 20.3.1 is the first
patch release of a library initially released with MIP SDK 2020 R3.
In general, MIP SDK libraries are backwards compatible, and you can safely use the latest
version of MIP SDK NuGet packages.
Getting started guide | MIP SDK
33 | Setting up a development environment
NuGet package management formats
Visual Studio has two formats in which a project can use NuGet packages: PackageReference and
packages.config.
l The packages.config format uses an XML file separate from the project file.
l The PackageReference format manages NuGet dependencies within project files and offers more
options for specifying package versions.
Samples and Visual Studio templates in MIP SDK 2021 R1 and later use the PackageReference format.
To set the default package management format for new projects in Visual Studio, select
Tools > Options... > NuGet Package Manager.
Install MIP SDK NuGet package in a new project
1. In Solution Explorer, right-click either a project name or the project References node, and select
Manage NuGet Packages....
2. Select the Browse tab and search for milestonesys packages.
3. Select the desired package and the desired version. It is generally recommended to select the latest
version.
4. Select the Install button, select OK in the Preview changes dialog, and select I Accept in the License
Acceptance dialog.
Upgrade an existing project to use the NuGet packages
1. In Solution Explorer, locate and select the project.
2. Expand the References node and make a note of existing VideoOS references.
3. Delete the existing VideoOS references.
4. Right-click the project name and select Properties to open the project properties pages. Select the Build
Events page. If there is a Post-build event command line for copying MIP DLLs to the project target,
delete it.
5. Install the corresponding MIP SDK NuGet packages.
Some MIP SDK NuGet packages depend on the MilestoneSystems.VideoOS.Platform package. For
these packages, you do not have to explicitly install the MilestoneSystems.VideoOS.Platform
package. NuGet package dependencies will be installed automatically (but will not appear in the
References list unless explicitly installed).
Getting started guide | MIP SDK
34 | Setting up a development environment
Troubleshooting NuGet package restore problems
Here are some common problems that might occur when you use Visual Studio to build projects that reference
NuGet packages.
For further information, see Restore packages using Package Restore
1
and Troubleshooting package restore
errors
2
.
NuGet restore is currently disabled
If NuGet restore is disabled, you will see a message similar to this:
NuGet restore is currently disabled. To enable it, open the Visual Studio
Options dialog, click on the NuGet Package Manager node and check 'Allow
NuGet to download missing packages during build.' You can also enable it by
setting the environment variable 'EnableNuGetPackageRestore' to 'true'.
Enable package restore by choosing Tools > Options > NuGet Package Manager. Under Package Restore
options, select Allow NuGet to download missing packages.
The package ... with version ... could not be found
If a referenced package is not already installed, you might see a message similar to this:
The package MilestoneSystems.VideoOS.Platform with version 20.3.0 could not be found
in C:\Users\Username\.nuget\packages\. Run a NuGet package restore to download the
package. VideoViewer
You can either enable automatic check and restore of packages during build, or restore missing packages
manually.
Enable
automatic
package restore
Choose Tools > Options > NuGet Package Manager, and then select Automatically
check for missing packages during build in Visual Studio under Package Restore.
Restore
packages
manually
In Solution Explorer, right click the solution and select Restore NuGet Packages.
1
https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore
2
https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore-troubleshooting
Getting started guide | MIP SDK
35 | Setting up a development environment
Related information
Resource Description
NuGet documentation
1
Microsoft NuGet learning and reference resources
https://www.nuget.org/profiles/milestonesys Milestone Systems NuGet packages
1
https://docs.microsoft.com/en-us/nuget/
Getting started guide | MIP SDK
36 | Setting up a development environment
Installing Milestone SDK Tools
Milestone SDK Tools comprise the following tools and utilities:
Tool Description
Milestone
Depends
Milestone Depends scans Windows assemblies (.exe or .dll) and displays dependencies. It is
useful for troubleshooting errors related to loading and executing dependencies.
MIP SDK
Tray
Manager
The MIP SDK Tray Manager helps you manage MIP plug-ins.
3rd-Party
Driver Test
Tool
The 3rd-Party Driver Test Tool simplifies development and verification of MIP Driver
Framework-based drivers.
Visual
Studio F1
Help
You can look up reference information about MIP classes and members from within Visual
Studio just by pressing F1.
Install Milestone SDK Tools
To download and install the Milestone SDK Tools:
1. If not already logged in to your My Milestone account, log in by going to My Milestone
1
.
2. Go to Milestone software download
2
.
Select Product: MIP SDK (Docs and tools).
3. Locate and select Milestone SDK Tools in the list. The download will begin.
4. You may be able to run the installer immediately without selecting a download folder, depending on your
browser and your preferences. If not, select a download folder and then run the installer.
5. The setup wizard appears. Select Next to continue.
6. Read the Milestone End-user License Agreement. Select the I accept the terms in the License
Agreement check box and select Next.
1
https://www.milestonesys.com/my-milestone/
2
https://www.milestonesys.com/my-milestone/download-software/?prod=1702&type=11
Getting started guide | MIP SDK
37 | Setting up a development environment
7. Select Install to begin the installation.
8. Accept all warnings.
9. When the installation is complete, select Finish to exit the setup wizard.
Milestone Depends
You can start Milestone Depends from the Windows Start menu. Search for "Milestone Depends".
Milestone Depends is installed in %ProgramFiles%\Milestone\MIPSDK\Tools\MDepends, for example
C:\Program Files\Milestone\MIPSDK\Tools\MDepends.
Please refer to Milestone Depends Utility
1
for further information.
MIP SDK Tray Manager
MIP SDK Tray Manager is installed as a Startup program and will run minimized in your system tray. You can
also start MIP SDK Tray Manager from the Windows Start menu. Search for "MIP SDK Tray Manager".
MIP SDK Tray Manager is installed in %ProgramFiles%\Milestone\MIPSDK\Tools\TrayManager, for example
C:\Program Files\Milestone\MIPSDK\Tools\TrayManager.
Please refer to MIP Tray Manager
2
for further information.
3rd-Party Driver Test Tool
You can start 3rd-Party Driver Test Tool from the Windows Start menu. Search for "3rd Party Driver Test Tool".
3rd-Party Driver Test Tool is installed in
%ProgramFiles%\Milestone\MIPSDK\Tools\3rdPartyDriverTestTool, for example C:\Program
Files\Milestone\MIPSDK\Tools\3rdPartyDriverTestTool.
Please refer to 3rd Party Driver Test Tool guide
3
for further information.
1
https://doc.developer.milestonesys.com/html/index.html?
base=gettingstarted/milestonedependsutility.html&tree=tree_4.html
2
https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/miptraymanager.html&tree=tree_
4.html
3
https://doc.developer.milestonesys.com/html/index.html?
base=gettingstarted/3rdpartydrivertesttoolguide.html&tree=tree_4.html
Getting started guide | MIP SDK
38 | Setting up a development environment
Visual Studio F1 Help
You can look up reference information about MIP classes and members from within an editor window in Visual
Studio (similarly to the way you look up reference information about language constructs and Microsoft .NET
classes and members), just by pressing F1.
Enable lookup of online help content
If the Help Viewer component has been installed in Visual Studio, you can select whether to lookup help in Help
Viewer (local content) or in your browser (online content). To enable lookup of online help content, select Help >
Set Help Preference > Launch in Browser.
Use F1 help
For example, with the cursor on ImageViewerControl in MainForm.cs in the VideoViewer Component sample:
using VideoOS.Platform.Client;
using VideoOS.Platform.Messaging;
using VideoOS.Platform.UI;
namespace VideoViewer
{
public partial class MainForm : Form
{
private Item _selectItem1;
private ImageViewerControl _imageViewerControl1;
private Item _selectItem2;
press F1 to open https://doc.developer.milestonesys.com in your default browser with a query for
videoos.platform.client.imageviewercontrol. Select a search result in the left-hand frame to go to the
corresponding API reference information:
Getting started guide | MIP SDK
39 | Setting up a development environment
Getting started guide | MIP SDK
40 | Setting up a development environment
Installing Milestone StableFPS
Milestone StableFPS is a highly configurable XProtect driver that can provide video, audio, and metadata
streams at stable framerates from disk files.
Download and install Milestone StableFPS
To download and install Milestone StableFPS:
1. If not already logged in to your My Milestone account, log in by going to My Milestone
1
.
2. Go to Milestone software download
2
Select Product: MIP SDK (Docs and tools).
3. Locate and select Milestone StableFPS in the list. The download will begin.
4. You may be able to run the installer immediately without selecting a download folder, depending on your
browser and your preferences. If not, select a download folder and then run the installer.
5. The setup wizard appears. Select Next to continue.
6. Read the Milestone End-user License Agreement. Select the I accept the terms in the License
Agreement check box and select Next.
7. Select Install to begin the installation.
8. Accept all warnings.
9. When the installation is complete, select Finish to exit the setup wizard.
Installing the StableFPS driver to your XProtect VMS
The installer does not install the StableFPS driver to your XProtect VMS.
The installer puts the StableFPS driver and media files in
%ProgramFiles%\Milestone\MIPSDK\Tools\StableFPS, for example C:\Program
Files\Milestone\MIPSDK\Tools\StableFPS.
Please refer to StableFPS overview
3
and ReadMe StableFPS (PDF)
4
for installation and
configuration instructions.
1
https://www.milestonesys.com/my-milestone/
2
https://www.milestonesys.com/my-milestone/download-software/?prod=1702&type=11
3
https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/stablefps.html&tree=tree_
home.html
4
https://doc.developer.milestonesys.com/html/gettingstarted/READ_ME_StableFPS.pdf
Getting started guide | MIP SDK
41 | Setting up a development environment
Cloning MIP SDK samples from GitHub
Milestone hosts MIP SDK samples in these GitHub repositories:
Repository Description
mipsdk-samples-
component
1
Samples that demonstrate how to integrate stand-alone applications using
the MIP .NET libraries.
mipsdk-samples-plugin
2
Samples that demonstrate how the MIP environment in XProtect
Management Client, Event Server or Smart Client can host your application.
mipsdk-samples-protocol
3
Samples that demonstrate how to integrate applications for any operating
system with an XProtect VMS system using the MIP network APIs.
mipsdkmobile-samples-
dotnet
4
Samples that demonstrate MIP SDK Mobile .NET integration.
mipsdkmobile-web
5
Samples that demonstrate MIP SDK Mobile Mobile Web (JavaScript)
integration.
mipsdk-mobile-android
6
Samples showcasing how you can integrate Android applications that
connect to an XProtect VMS system through XProtect Mobile Server.
mipsdk-mobile-ios
7
Samples showcasing how you can integrate iOS applications that connect to
an XProtect VMS system through XProtect Mobile Server.
For most mipsdk-samples-* repository, a Visual Studio solution file in the src folder of the repository includes a
Visual Studio project for each sample.
1
https://github.com/milestonesys/mipsdk-samples-component
2
https://github.com/milestonesys/mipsdk-samples-plugin
3
https://github.com/milestonesys/mipsdk-samples-protocol
4
https://github.com/milestonesys/mipsdkmobile-samples-dotnet
5
https://github.com/milestonesys/mipsdkmobile-web
6
https://github.com/milestonesys/mipsdk-mobile-android
7
https://github.com/milestonesys/mipsdk-mobile-ios
Getting started guide | MIP SDK
42 | Setting up a development environment
Contributions
Milestone does not currently accept contributions through pull request. In case you want to comment on or
contribute to the samples, please reach out through the Milestone Developer Forum
1
.
Clone MIP SDK samples from GitHub
If you are already familiar with cloning GitHub repositories, you can just continue using
your favorite Git tool and ignore this section.
Visual Studio
You can clone and open a project from a GitHub repository using Visual Studio. The steps depend on the version
of Visual Studio.
Cloning a repository from GitHub within Visual Studio requires a GitHub account. You will
be asked to authorize GitCredentialsManager to access your GitHub account.
Visual Studio 2022 and 2019
If you have previously created or cloned a Git repository within Visual Studio 2022 or 2019, in the Git menu,
select Clone Repository....
If you have just opened Visual Studio 2022 or 2019, the Start window is probably displayed. If not, in the File
menu, select Start Window. In the Start window, select Clone a repository.
The details in the following steps depend on your version of Visual Studio. For more information about Git
support in:
l Visual Studio 2022, go to Visual Studio version control docs.
2
l Visual Studio 2019, go to Visual Studio version control docs
3
.
Visual Studio 2017
Git support isn't quite as well integrated in Visual Studio 2017 as in Visual Studio 2022 and 2019. For step-by-step
instructions, go to Clone a Git repository in Visual Studio
4
.
1
https://developer.milestonesys.com/
2
https://docs.microsoft.com/en-us/visualstudio/version-control/?view=vs-2022
3
https://docs.microsoft.com/en-us/visualstudio/version-control/?view=vs-2019
4
https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2017/version-control/git-clone-
repository?view=vs-2017
Getting started guide | MIP SDK
43 | Setting up a development environment
MIP SDK sample plug-ins in Milestone clients
If you have previously installed the MIP SDK using the MIP SDK installer (discontinued after MIP SDK 2022 R1),
pre-compiled MIP sample plug-ins are visible in the XProtect Management Client and the XProtect Smart Client.
XProtect Management Client
In XProtect Management Client, the MIP Plug-ins are added to the Site Navigation pane.
XProtect Smart Client
In XProtect Smart Client, MIP sample plug-ins add UI controls and camera views in a number of places. For
example, a WorkSpace Plugin tab is added along with the MIP Plug-ins pane.
Getting started guide | MIP SDK
44 | Setting up a development environment
MIP SDK Tray Manager
Milestone recommends that you remove all plug-ins that you are not actively using or testing. You can do this
from the MIP SDK Tray Manager, installed with the Milestone SDK Tools. See Installing Milestone SDK Tools on
page 37.
Locate and right-click the MIP SDK Tray Manager from the Windows system tray, and then select Plugin
Overview...:
In the Plugin Overview window, click Select built-in to disable the plug-ins installed with the MIP SDK. Then re-
select the plug-ins that you want to use. Click Save before you close the window.
Getting started guide | MIP SDK
45 | Setting up a development environment
XProtect integration projects, from plan to market
Integration project overview
The following steps describe the process of developing a solution using the MIP SDK:
1. Conduct a feasibility study to identify the needs and the areas of integration (video, events, metadata,
analytics, and so on).
2. Identify where the end-users operate the system.
3. Make an architectural drawing of the integration solution.
4. Consider involving Milestone in a review of the suggested architecture.
5. Implement and test your solution.
6. Review Milestone test scenarios.
7. Add your solution to Milestone Technology Partner Finder
1
.
1
https://www.milestonesys.com/partners/technology-partners/technology-partner-finder/
Getting started guide | MIP SDK
46 | XProtect integration projects, from plan to market
The Milestone Technology Partner Program
While you are not required to join the Milestone Technology Partner Program to review the MIP SDK or to
develop internal solutions, there are clear benefits of becoming a Technology Partner.
The Technology Partner Program is for any company that wants to develop applications and product offerings
for Milestone XProtect VMS.
Technology Partner Program tracks
The Technology Partner Program has five tracks, each designed for a group of technologies. Technology
Partners can choose to be part of more than one track, depending on their offerings.
Track Description
Application
Track
The Application Track is for partners who develop software-based applications and systems
that integrate with the Milestone XProtect VMS platform via the MIP SDK.
Device
Track
The Device Track is optimized for vendors with cameras and other IoT devices that provide
media and metadata information. Partners in the Device Track work with the Milestone video
management platform through the device driver layer, the open ONVIF standard, and the MIP
Driver Framework.
Hardware
Track
The Hardware Track is for partners who provide IT infrastructure technology needed to build
video surveillance installations.
System
Builder
Track
The System Builder Track is a dedicated track for hardware vendors who offer hardware and
appliances pre-installed with the Milestone XProtect VMS.
Service
Track
The Service Track is for companies that provide various types of engineering services linked
to the Milestone XProtect VMS. These partners are skilled in the XProtect VMS technology and
the use of the MIP SDK, and offer their services to both Milestone channel partners and other
technology partners
Getting started guide | MIP SDK
47 | XProtect integration projects, from plan to market
Why you should become a Milestone Technology Partner
Partners can leverage the Milestone brand and Milestone's global market channel, and they can benefit from a
wide range of co-branding activities.
Technology synergy
and co-innovation
Drive innovation and explore the synergy between your application, device,
hardware, or service and the Milestone XProtect video management platform.
Short time to
market
Bring your technology offering to the market faster with an extensive toolset and
support for building and verifying your joint technology offerings.
Extended market
reach
Benefit from an extensive menu of marketing options and utilize Milestone's
extensive global channel network of trained and qualified channel partners.
How the Technology Partner Program works
The Technology Partner Program helps partners bring technology offerings to the market in three steps:
Build
Start building your competence on the XProtect VMS technology and develop the joint technology
offering.
Verify
Verify your technology’s compatibility and performance with XProtect, to ensure that it is ready for
the market.
Market
Market your technology offering with several available marketing tools and opportunities, and
leverage Milestone's global market channel (see Milestone Technology Partner Finder on page
50).
Learn more about the benefits and requirements of the Milestone Technology Partner Program:
l Milestone Technology Partner Program
1
1
https://www.milestonesys.com/community/become-a-partner/technology-partner-program/
Getting started guide | MIP SDK
48 | XProtect integration projects, from plan to market
Installed Integration Insights
Installed Integration Insights makes it possible to register which of your solutions are used and how many
installations it is installed on. In a nutshell, it will enable you to get valuable insights into the use of your
integration(s).
How does Installed Integration Insights work?
Since the release of XProtect 2020 R3, the MIP SDK allows registering any new integration to XProtect. You
identify your integration and company in the integration code, using the manufacturer name you will use across
your different integrations.
With XProtect 2021 R1, this information will be sent to Milestone's licensing web service, where it is centrally
stored and aggregated. We believe this information can be valuable for your business, and we are happy to
provide you with this data upon your request.
But we only collect, keep and process information for those manufacturer names for which you have allowed us
to do so.
How to register for Installed Integration Insights
For more information, please write to partner@milestone.dk.
Getting started guide | MIP SDK
49 | XProtect integration projects, from plan to market
Milestone Technology Partner Finder
When your integration is complete, you can promote your integration and business on Milestone Technology
Partner Finder
1
.
Promote your integration globally, expand your network, and attract qualified sales partners on Technology
Partner Finder.
Technology Partner Finder is an accelerator that empowers Milestone technology partners to market their
applications, hardware, and services and a gathering place where you can show the world what you have to
offer.
With Technology Partner Finder, we harness the power of innovation within our community by connecting
technology partners with system integrators.
l Promote with Milestone
l Network with our community
l Grow your business
You must be a Milestone Technology Partner to join Technology Partner Finder (see The Milestone Technology
Partner Program on page 47). Our Milestone Technology Partner program takes an active role in driving the
industry by supporting and promoting companies that create application, hardware and services that meet
customer needs.
As a Technology partner, the Technology Partner Finder allows you to gain access to marketing tools and
communicate information about your integration process and offering in an easy-to-understand way. Your
application, hardware or service is displayed together with other related technology partners and the optimal
level of documentation to gain customers' trust. This encourages system integrators to search for information
on the Technology Partner Finder, rather than browse individual websites or search engines.
1
https://www.milestonesys.com/partners/technology-partners/technology-partner-finder/
Getting started guide | MIP SDK
50 | XProtect integration projects, from plan to market
About Milestone
Milestone Systems is a leading provider of open platform video management software; technology that helps
the world see how to ensure safety, protect assets and increase business efficiency. Milestone Systems
enables an open platform community that drives collaboration and innovation in the development and use of
network video technology, with reliable and scalable solutions that are proven in more than 150,000 sites
worldwide. Founded in 1998, Milestone Systems is a stand-alone company in the Canon Group. For more
information, visit https://www.milestonesys.com/.
helpfeedback@milestone.dk