0% found this document useful (0 votes)
66 views51 pages

MilestoneMIPSDK GettingStartedGuide en-US

The Milestone Integration Platform (MIP) SDK Getting Started Guide provides software developers with an overview of integration scenarios and types available for Milestone XProtect VMS. It includes instructions on setting up a development environment, utilizing SDK templates, and accessing various integration approaches such as plug-in, component, and protocol integration. Additionally, the guide highlights resources for documentation and support, as well as the benefits of joining the Milestone Technology Partner Program.

Uploaded by

A.RAHIM Mohamed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views51 pages

MilestoneMIPSDK GettingStartedGuide en-US

The Milestone Integration Platform (MIP) SDK Getting Started Guide provides software developers with an overview of integration scenarios and types available for Milestone XProtect VMS. It includes instructions on setting up a development environment, utilizing SDK templates, and accessing various integration approaches such as plug-in, component, and protocol integration. Additionally, the guide highlights resources for documentation and support, as well as the benefits of joining the Milestone Technology Partner Program.

Uploaded by

A.RAHIM Mohamed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 51

Milestone Systems

MIP SDK

Getting started guide


Getting started guide | MIP SDK

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

2 | Contents
Getting started guide | MIP SDK

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

3 | Contents
Getting started guide | MIP SDK

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

4 | Contents
Getting started guide | MIP SDK

How does Installed Integration Insights work? 49

How to register for Installed Integration Insights 49

Milestone Technology Partner Finder 50

5 | Contents
Getting started guide | MIP SDK

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.

6 | Copyright, trademarks, and disclaimer


Getting started guide | MIP SDK

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.

7 | About this guide


Getting started guide | MIP SDK

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:

8 | Overview of the MIP SDK


Getting started guide | 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
Some of the possibilities
integration

Retrieve and display live or recorded video or single frame JPEG images. Place overlay
Video
information on live or recorded video.

Video
processing and Object detection, perimeter tripwires, license plate recognition, and facial recognition.
analytics

Audio Retrieve and play audio streams, push audio to devices.

Metadata and
Storage, playback, retrieval, and sending of metadata.
search

Access control Plug-in for event server via XProtect Access framework.

Business Integrate point of sale systems via XProtect Transact framework or enterprise resource
systems systems.

Events, alarms,
analytics, and Trigger internal or external events and alarms. Retrieve analytics events.
status

I/O systems
Create a plug-in for event server. Exchange events programmatically and provide object
(Building
status and interaction through maps in the XProtect Smart Client.
management)

Send and retrieve PTZ commands and positions from cameras. Send a start or stop
Control of
recording event from a device. Retrieve edge recordings. Activate external output.
XProtect VMS
Smart Wall functionality.

XProtect
configuration Retrieve and set configuration of the XProtect VMS through an API.
automation

9 | Overview of the MIP SDK


Getting started guide | 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
Advantages Disadvantages
type

Fast development of functionality without the need to build the


hosting environment.
Requires .NET
Plug-in Direct integration inside Milestone’s client and server environment.
environments through the Milestone Integration Platform:
Smart Client, Management Client, and Event Server.

Easy development of new applications. Requires .NET


Component
Easy integration into third-party application. environment.

Operating system- and development environment-agnostic. High complexity and low


Protocol developer output. Limited
Can enable high performance. support for AD user login.

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.
MIP SDK
Mobile Includes SDK libraries for:

l iOS

l Android

10 | Overview of the MIP SDK


Getting started guide | MIP SDK

Integration
Advantages Disadvantages
type

l .NET

l Web

MIP VMS OpenAPI-based services ease cloud integration while


providing full functionality. Currently, not all APIs are
RESTful and
available.
WS APIs Operating system- and development environment-agnostic.

GraphQL-based service provides easy integration for


Milestone intelligent video analytics and ML applications.
AI Bridge
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.

11 | Overview of the MIP SDK


Getting started guide | 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

12 | Overview of the MIP SDK


Getting started guide | 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

13 | Overview of the MIP SDK


Getting started guide | 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:

14 | Overview of the MIP SDK


Getting started guide | 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

15 | Overview of the MIP SDK


Getting started guide | 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.

16 | Overview of the MIP SDK


Getting started guide | 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.

17 | Overview of the MIP SDK


Getting started guide | 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
User documentation for Milestone products.
Documentation1

MIP SDK product Starting point that links to most of the resources relevant for MIP SDK-based
page2 development (including the following resources).

MIP SDK The main resource for MIP SDK functionality overview and MIP SDK API reference
Documentation3 documentation.

MIP SDK Mobile The main resource for MIP SDK Mobile functionality overview and MIP SDK Mobile
documentation4. reference documentation.

MIP VMS API


RESTful APIs and other industry standard protocols.
overview5

Milestone AI Bridge6 Milestone Developer Forum group and information about how to get started.

Milestone Developer Ask questions and share comments and experiences with the other developers and
Forum7 Milestone employees.

Milestone Learning
Provides free online training on Milestone products and features.
Portal8

1https://doc.milestonesys.com/
2https://www.milestonesys.com/support/for-developers/sdk/
3https://doc.developer.milestonesys.com/html/index.html
4https://doc.developer.milestonesys.com/mipsdkmobile/index.html
5https://doc.developer.milestonesys.com/mipvmsapi/api-overview/
6https://developer.milestonesys.com/s/group/0F93X000000MQrUSAW/milestone-ai-bridge-prerelease
7https://developer.milestonesys.com/
8https://learn.milestonesys.com/index.htm

18 | Overview of the MIP SDK


Getting started guide | MIP SDK

Milestone Documentation
User documentation for Milestone products is available at Milestone Documentation1.

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 manual3

l XProtect VMS administrator manual4

l XProtect VMS system architecture5

1https://doc.milestonesys.com/
2https://doc.milestonesys.com/latest/en-US/portal/htm/chapter-page-mc-gsg.htm
3https://doc.milestonesys.com/latest/en-US/portal/htm/chapter-page-sc-user-manual.htm
4https://doc.milestonesys.com/latest/en-US/portal/htm/chapter-page-mc-administrator-manual.htm
5https://doc.milestonesys.com/latest/en-US/portal/htm/chapter-page-system-architecture-doc.htm

19 | Overview of the MIP SDK


Getting started guide | 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.

20 | Overview of the MIP SDK


Getting started guide | MIP SDK

MIP SDK documentation


The MIP Documentation is available online at MIP SDK Documentation1.

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.

1https://doc.developer.milestonesys.com/

21 | Overview of the MIP SDK


Getting started guide | MIP SDK

MIP SDK Mobile documentation


The MIP SDK Mobile documentation is available online at MIP SDK Mobile Documentation1.

1https://doc.developer.milestonesys.com/mipsdkmobile/

22 | Overview of the MIP SDK


Getting started guide | MIP SDK

MIP VMS API documentation


An overview of the MIP VMS API documentation is available online at MIP VMS API overview1.

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 group2on the Milestone Developer Forum.

1https://doc.developer.milestonesys.com/mipvmsapi/api-overview/
2https://developer.milestonesys.com/s/group/0F93X000000MQrUSAW/milestone-ai-bridge-prerelease

23 | Overview of the MIP SDK


Getting started guide | MIP SDK

Milestone Developer Forum


Join the Milestone Developer Forum1, 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 Path2

l Milestone Learning Portal3

See the playlists for MIP SDK development on the Milestone Systems Learning YouTube channel:

l Developing MIP SDK Plug-In Integrations4

l Developing MIP SDK Component Integrations5

1https://developer.milestonesys.com/
2https://learn.milestonesys.com/home_path_developer.htm
3https://learn.milestonesys.com/index.htm
4https://www.youtube.com/playlist?list=PLS7f00cHFaFMsUQfcBgr9JXOUwsfvLxFf
5https://www.youtube.com/playlist?list=PLS7f00cHFaFPxtrtl1B_MiSB0I-1kmUW2

24 | Overview of the MIP SDK


Getting started guide | 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 Milestone2
for inquiries about test licenses.

For more information about the Milestone Technology Partner program, please refer to:

1https://www.milestonesys.com/support/help-and-documentation/system-requirements/
2https://www.milestonesys.com/support/contact-us/contact-us/

25 | Setting up a development environment


Getting started guide | MIP SDK

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 index2

l XProtect® Product Comparison Tool3

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 Practice4

1https://www.milestonesys.com/partners/become-a-partner/technology-partner/
2https://www.milestonesys.com/products/software/xprotect-comparison/
3https://www.milestonesys.com/products/software/compare-xprotect/variants/
4https://learn.milestonesys.com/tools/deployment-assistant/

26 | Setting up a development environment


Getting started guide | MIP SDK

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

MIP architecture overview, API introductions and references, MIP SDK


Documentation
and sample descriptions. Documentation1

Samples, Sample source code that demonstrates integration and


GitHub2
source code customization options

Visual Studio
Templates Visual Studio templates for MIP SDK projects
Marketplace3

.NET and other libraries for MIP SDK projects as NuGet


Libraries NuGet4
packages.

Tools and utilities that help you during development of MIP Milestone software
Tools
integrations and customizations download5

Each part is described in more detail in the following sections.

1https://doc.developer.milestonesys.com/
2https://github.com/milestonesys
3https://marketplace.visualstudio.com/items?itemName=milestonesys.mipsdk-templates
4https://www.nuget.org/profiles/milestonesys
5https://www.milestonesys.com/my-milestone/download-software/?prod=1702&type=11&lang=27

27 | Setting up a development environment


Getting started guide | MIP SDK

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

28 | Setting up a development environment


Getting started guide | MIP SDK

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".

29 | Setting up a development environment


Getting started guide | MIP SDK

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

30 | Setting up a development environment


Getting started guide | MIP SDK

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 Lifecycle1.

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
MilestoneSystems.VideoOS.Platform
application development

1https://www.milestonesys.com/support/tools-and-references/product-lifecycle/

31 | Setting up a development environment


Getting started guide | MIP SDK

Package Dependencies

MilestoneSystems.VideoOS.Platform.SDK.Debug:
MilestoneSystems.VideoOS.Platform
Debugging standalone applications

MilestoneSystems.VideoOS.Platform.AccessControl:
MilestoneSystems.VideoOS.Platform
Access Control plug-in development

MilestoneSystems.VideoOS.Platform.Transact: Transact
MilestoneSystems.VideoOS.Platform
plug-in development

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.

32 | Setting up a development environment


Getting started guide | MIP SDK

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.

33 | Setting up a development environment


Getting started guide | MIP SDK

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).

34 | Setting up a development environment


Getting started guide | MIP SDK

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 Restore1 and Troubleshooting package restore
errors2.

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
Choose Tools > Options > NuGet Package Manager, and then select Automatically
automatic
check for missing packages during build in Visual Studio under Package Restore.
package restore

Restore
packages In Solution Explorer, right click the solution and select Restore NuGet Packages.
manually

1https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore
2https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore-troubleshooting

35 | Setting up a development environment


Getting started guide | MIP SDK

Related information

Resource Description

NuGet documentation1 Microsoft NuGet learning and reference resources

https://www.nuget.org/profiles/milestonesys Milestone Systems NuGet packages

1https://docs.microsoft.com/en-us/nuget/

36 | Setting up a development environment


Getting started guide | MIP SDK

Installing Milestone SDK Tools


Milestone SDK Tools comprise the following tools and utilities:

Tool Description

Milestone Milestone Depends scans Windows assemblies (.exe or .dll) and displays dependencies. It is
Depends useful for troubleshooting errors related to loading and executing dependencies.

MIP SDK
Tray The MIP SDK Tray Manager helps you manage MIP plug-ins.
Manager

3rd-Party
The 3rd-Party Driver Test Tool simplifies development and verification of MIP Driver
Driver Test
Framework-based drivers.
Tool

Visual
You can look up reference information about MIP classes and members from within Visual
Studio F1
Studio just by pressing F1.
Help

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 Milestone1.

2. Go to Milestone software download2.

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.

1https://www.milestonesys.com/my-milestone/
2https://www.milestonesys.com/my-milestone/download-software/?prod=1702&type=11

37 | Setting up a development environment


Getting started guide | MIP SDK

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 Utility1 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 Manager2 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 guide3 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

38 | Setting up a development environment


Getting started guide | MIP SDK

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:

39 | Setting up a development environment


Getting started guide | MIP SDK

40 | Setting up a development environment


Getting started guide | MIP SDK

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 Milestone1.

2. Go to Milestone software download2

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 overview3 and ReadMe StableFPS (PDF) 4 for installation and
configuration instructions.

1https://www.milestonesys.com/my-milestone/
2https://www.milestonesys.com/my-milestone/download-software/?prod=1702&type=11
3https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/stablefps.html&tree=tree_

home.html
4https://doc.developer.milestonesys.com/html/gettingstarted/READ_ME_StableFPS.pdf

41 | Setting up a development environment


Getting started guide | MIP SDK

Cloning MIP SDK samples from GitHub


Milestone hosts MIP SDK samples in these GitHub repositories:

Repository Description

mipsdk-samples- Samples that demonstrate how to integrate stand-alone applications using


component1 the MIP .NET libraries.

Samples that demonstrate how the MIP environment in XProtect


mipsdk-samples-plugin2
Management Client, Event Server or Smart Client can host your application.

Samples that demonstrate how to integrate applications for any operating


mipsdk-samples-protocol3
system with an XProtect VMS system using the MIP network APIs.

mipsdkmobile-samples-
Samples that demonstrate MIP SDK Mobile .NET integration.
dotnet4

Samples that demonstrate MIP SDK Mobile Mobile Web (JavaScript)


mipsdkmobile-web5
integration.

Samples showcasing how you can integrate Android applications that


mipsdk-mobile-android6
connect to an XProtect VMS system through XProtect Mobile Server.

Samples showcasing how you can integrate iOS applications that connect to
mipsdk-mobile-ios7
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.

1https://github.com/milestonesys/mipsdk-samples-component
2https://github.com/milestonesys/mipsdk-samples-plugin
3https://github.com/milestonesys/mipsdk-samples-protocol
4https://github.com/milestonesys/mipsdkmobile-samples-dotnet
5https://github.com/milestonesys/mipsdkmobile-web
6https://github.com/milestonesys/mipsdk-mobile-android
7https://github.com/milestonesys/mipsdk-mobile-ios

42 | Setting up a development environment


Getting started guide | MIP SDK

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 Forum1.

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 docs3.

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 Studio4.

1https://developer.milestonesys.com/
2https://docs.microsoft.com/en-us/visualstudio/version-control/?view=vs-2022
3https://docs.microsoft.com/en-us/visualstudio/version-control/?view=vs-2019
4https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2017/version-control/git-clone-

repository?view=vs-2017

43 | Setting up a development environment


Getting started guide | MIP SDK

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.

44 | Setting up a development environment


Getting started guide | MIP SDK

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.

45 | Setting up a development environment


Getting started guide | MIP SDK

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 Finder1.

1https://www.milestonesys.com/partners/technology-partners/technology-partner-finder/

46 | XProtect integration projects, from plan to market


Getting started guide | MIP SDK

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 The Application Track is for partners who develop software-based applications and systems
Track that integrate with the Milestone XProtect VMS platform via the MIP SDK.

The Device Track is optimized for vendors with cameras and other IoT devices that provide
Device media and metadata information. Partners in the Device Track work with the Milestone video
Track management platform through the device driver layer, the open ONVIF standard, and the MIP
Driver Framework.

Hardware The Hardware Track is for partners who provide IT infrastructure technology needed to build
Track video surveillance installations.

System
The System Builder Track is a dedicated track for hardware vendors who offer hardware and
Builder
appliances pre-installed with the Milestone XProtect VMS.
Track

The Service Track is for companies that provide various types of engineering services linked
Service to the Milestone XProtect VMS. These partners are skilled in the XProtect VMS technology and
Track the use of the MIP SDK, and offer their services to both Milestone channel partners and other
technology partners

47 | XProtect integration projects, from plan to market


Getting started guide | MIP SDK

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 Drive innovation and explore the synergy between your application, device,
and co-innovation hardware, or service and the Milestone XProtect video management platform.

Short time to Bring your technology offering to the market faster with an extensive toolset and
market support for building and verifying your joint technology offerings.

Extended market Benefit from an extensive menu of marketing options and utilize Milestone's
reach 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:

Start building your competence on the XProtect VMS technology and develop the joint technology
Build
offering.

Verify your technology’s compatibility and performance with XProtect, to ensure that it is ready for
Verify
the market.

Market your technology offering with several available marketing tools and opportunities, and
Market 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 Program1

1https://www.milestonesys.com/community/become-a-partner/technology-partner-program/

48 | XProtect integration projects, from plan to market


Getting started guide | MIP SDK

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 [email protected].

49 | XProtect integration projects, from plan to market


Getting started guide | MIP SDK

Milestone Technology Partner Finder


When your integration is complete, you can promote your integration and business on Milestone Technology
Partner Finder1.

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.

1https://www.milestonesys.com/partners/technology-partners/technology-partner-finder/

50 | XProtect integration projects, from plan to market


[email protected]

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/.

You might also like