+ All Categories
Home > Documents > Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software...

Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software...

Date post: 23-Feb-2018
Category:
Upload: phammien
View: 227 times
Download: 2 times
Share this document with a friend
110
Skype for Business Software Defined Networking (SDN) Interface 2.2 © 2015 Microsoft. All rights reserved.
Transcript
Page 1: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

Skype for Business Software Defined

Networking (SDN) Interface 2.2

© 2015 Microsoft. All rights reserved.

Page 2: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

Contents

Skype for Business Software Defined Networking (SDN) Interface 2.2 ...................................................................... 6

Additional resources ................................................................................................................................................................... 6

Overview of Skype for Business SDN Interface 2.2 ............................................................................................................. 7

Skype for Business SDN Interface Release Notes ............................................................................................................... 8

New features in Skype for Business SDN Interface version 2.2, build 6.0.9319.59 ............................................ 8

Notes and known issues in the current release ............................................................................................................... 9

Understanding Skype for Business SDN Interface 2.2 .................................................................................................... 11

The Microsoft Skype for Business SDN Interface ......................................................................................................... 11

The Microsoft Skype for Business SDN Interface schema ........................................................................................ 11

Additional resources ................................................................................................................................................................ 12

Using the Skype for Business SDN Interface ...................................................................................................................... 13

Parsing Skype for Business call and quality data ......................................................................................................... 13

Additional resources ................................................................................................................................................................ 15

Skype for Business SDN Interface architecture ................................................................................................................. 16

Additional resources ................................................................................................................................................................ 19

Deploying Skype for Business SDN Interface .................................................................................................................... 20

Deploying Skype for Business SDN Interface with an SDN Manager pool ....................................................... 20

Deploying Skype for Business SDN Interface with a single SDN Manager ....................................................... 21

Deploying Skype for Business SDN Interface with primary and secondary failover ...................................... 21

Deploying Skype for Business SDN Interface with SDN Manager and Dialog Listener collocated ......... 22

Additional resources ................................................................................................................................................................ 23

New features in Skype for Business SDN Interface ......................................................................................................... 24

Additional resources ................................................................................................................................................................ 25

Installing Skype for Business SDN Interface 2.2................................................................................................................ 26

Additional resources ................................................................................................................................................................ 26

Getting ready to install Skype for Business SDN Interface ........................................................................................... 27

Additional resources ................................................................................................................................................................ 28

Activating QoE recording in Skype for Business Server ................................................................................................. 29

Verify and activate QoE recording using Management Shell commands ......................................................... 30

Verify and activate QoE recording using the Skype for Business Server Control Panel ............................... 30

Page 3: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 3

Setting up a DNS service location record ........................................................................................................................... 32

To set up the DNS service location record ..................................................................................................................... 32

Additional resources ................................................................................................................................................................ 33

Setting up SQL Server for a SDN manager database ..................................................................................................... 34

Additional resources ................................................................................................................................................................ 34

Setting up a Redis cache system............................................................................................................................................. 35

Additional resources ................................................................................................................................................................ 35

Installing security certificates ................................................................................................................................................... 36

Requesting and installing a certificate ............................................................................................................................. 37

Installing certificates for use with SDN Manager ......................................................................................................... 39

Assigning a server certificate to a port ............................................................................................................................ 39

Client certificate provisioning .......................................................................................................................................... 40

Authenticating Dialog Listener connections using client certificates .............................................................. 40

Authenticating the Server Certificate on the DL ...................................................................................................... 41

Installing certificates for the Dialog Listener ................................................................................................................. 41

Installing the SDN Manager ...................................................................................................................................................... 42

Installing the Dialog Listener .................................................................................................................................................... 46

To install the Dialog Listener ................................................................................................................................................ 46

Additional resources ................................................................................................................................................................ 49

Unattended installation of SDN Manager and Dialog Listener .................................................................................. 50

Unattended installation of the SDN Manager............................................................................................................... 50

Example unattended installations of the SDN Manager ........................................................................................... 52

Unattended installation of the Dialog Listener ............................................................................................................. 52

Doing an unattended uninstall ............................................................................................................................................ 53

Additional resources ................................................................................................................................................................ 54

Upgrading from previous version of the SDN Interface ................................................................................................ 55

Upgrading to version 2.2 from version 2.1 or 2.1.1 .................................................................................................... 55

Additional resources ................................................................................................................................................................ 56

Configuring Skype for Business SDN Interface 2.2 .......................................................................................................... 57

Additional resources ................................................................................................................................................................ 57

Configuring SDN Interface logging options ...................................................................................................................... 58

Configure logging options .................................................................................................................................................... 58

Logging configuration options for the Dialog Listener ............................................................................................. 59

Logging configuration options for the SDN Manager............................................................................................... 60

Additional resources ................................................................................................................................................................ 61

Configuring SDN Interface Dialog Listener ........................................................................................................................ 62

Editing the DialogListener.exe.config file ........................................................................................................................ 62

To manually edit Dialog Listener execution options .............................................................................................. 62

Configuring SDN Interface SDN Manager .......................................................................................................................... 64

Page 4: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 4

Operational modes of the SDN Manager ....................................................................................................................... 64

Configuring the SDN manager by editing the config file ............................................................................................. 65

Configuring SDN Interface using the command prompt.............................................................................................. 67

Command-line commands ................................................................................................................................................... 68

Example commands for viewing settings ........................................................................................................................ 69

SDN manager configuration settings ............................................................................................................................... 71

Dialog Listener configuration settings ............................................................................................................................. 72

Subscriber configuration settings ...................................................................................................................................... 73

Running and debugging Skype for Business SDN Interface ........................................................................................ 75

Running the SDN Interface Dialog Listener ........................................................................................................................ 76

Running Dialog Listener as a Windows service ............................................................................................................ 76

Running the Dialog Listener as a console application ............................................................................................... 77

Running the SDN Interface SDN Manager ......................................................................................................................... 78

Running the SDN Manager as a Windows service ...................................................................................................... 78

Running the SDN Manager as console application .................................................................................................... 79

Debugging the SDN Interface Dialog Listener .................................................................................................................. 80

Troubleshooting installation of Dialog Listener ........................................................................................................... 80

Verifying operations of Dialog Listener service ............................................................................................................ 81

Debugging the SDN Interface SDN Manager .................................................................................................................... 82

Activating WCF service logging .......................................................................................................................................... 82

Using the Message Receiver log service ......................................................................................................................... 83

Replaying logs ............................................................................................................................................................................ 84

Monitoring the SDN Manager and Dialog Listener ........................................................................................................ 85

SDN Manager and Dialog Listener performance counters .......................................................................................... 86

SDN Manager performance counters ............................................................................................................................... 87

Dialog Listener performance counters ............................................................................................................................. 88

Uninstalling the SDN Interface components ...................................................................................................................... 89

Uninstalling the Skype for Business SDN Interface ..................................................................................................... 89

Uninstall the Dialog Listener ................................................................................................................................................ 89

Uninstall the SDN Manager .................................................................................................................................................. 89

Unregister Dialog Listener ..................................................................................................................................................... 90

Using SIP Obfuscator for the SDN Interface ...................................................................................................................... 91

SIP Obfuscator ........................................................................................................................................................................... 91

Appendix to Skype for Business SDN Interface ................................................................................................................ 92

Installing the trusted root certificate ..................................................................................................................................... 93

Installing a trusted root certificate ................................................................................................................................ 93

Adding certificate snap-ins ............................................................................................................................................... 93

Page 5: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 5

Dialog Listener configuration file example ......................................................................................................................... 94

A sample of DialogListener.exe.config file ...................................................................................................................... 94

SDN Manager configuration file example ........................................................................................................................... 97

A sample of the SDNManager.exe.config file ................................................................................................................ 97

SDN Manager command-line example .............................................................................................................................. 106

Manager settings .................................................................................................................................................................... 106

Listener settings ...................................................................................................................................................................... 107

Subscriber settings ................................................................................................................................................................. 108

SDN Interface Bandwidth Estimates .................................................................................................................................... 109

Bandwidth Estimates ............................................................................................................................................................. 109

SDN Interface Performance Overview ................................................................................................................................ 110

Performance benchmarks .................................................................................................................................................... 110

Page 6: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

Skype for Business Software Def ined

Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides an interface for network management systems

to access network diagnostic data in order to monitor network traffic and optimize the quality of service.

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

This documentation explains what the Software Defined Network (SDN) Interface does and how to install

and configure the it to work with one or more known network management systems and ITPro tools.

This documentation contains the following:

Overview of Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Additional resources Quality of Experience (QoE) Database Schema

RTP Profile for Audio and Video Conferences with Minimal Control, [RFC 3551]

RTP: A Transport Protocol for Real-Time Applications, [RFC 3550]

[MS-SDPEXT]: Session Description Protocol (SDP) Version 2.0 Extensions

International Telecommunication Union Recommendation P.562, [ITUP.562]

International Telecommunication Union Recommendation P.800.1, [ITUP.800.1]

Page 7: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 7

Overview of Skype for Business SDN Interface

2.2 Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

The Microsoft Skype for Business SDN Interface provides a subscription-based interface for network

controllers or network management systems to receive call and quality data to monitor and analyze

network traffic in order to optimize the Skype for Business media stream quality.

The Microsoft Skype for Business SDN Interface is not a programming interface but a RESTful interface

through which subscribed systems (generally called "subscribers") receive data about active calls and the

end-to-end measured quality of media streams.

The data received is used to identify, diagnose and resolve quality and performance issues in the Skype

for Business environment or the network infrastructure that it uses. The quality metrics are intended to

correlate with information observed by the network infrastructure as well as with other calls, call-legs,

devices and endpoints. Goals of the SDN Interface include the following:

Superior diagnostics

Dynamic QOS

Intelligent routing

The objective is to provide quality data as close to real-time as possible, although without any guarantees;

this enables real-time tracking and diagnosis of calls in progress, as well as the collection of data for long-

term analysis.

In this section

Understanding Skype for Business SDN Interface 2.2

Installing Skype for Business SDN Interface 2.2

Configuring Skype for Business SDN Interface 2.2

Running and debugging Skype for Business SDN Interface

Skype for Business SDN Interface schema reference

Page 8: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 8

Skype for Business SDN Interface Release

Notes Applies to: SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013

In this article

New features in Skype for Business SDN Interface version 2.2, build 6.0.9319.59

Notes and known issues in the current release

The Microsoft Skype for Business SDN Interface provides a subscription-based interface for network

controllers or network management systems to receive call and quality data to monitor and analyze

network traffic in order to optimize the Skype for Business media stream quality.

The Skype for Business SDN Interface version 2.2 includes a number of new features over the previous

release.

New features in Skype for Business SDN Interface

version 2.2, build 6.0.9319.59 Following is a summary of the key new features in Skype for Business SDN Interface version 2.2.

Supports a new output schema, SDNInterface.Schema.D.xsd, 2.2 supports an enhanced data format

that includes several new fields. However, the general protocol and message type have not changed.

The new schema file, Schema D, describes the schema changes since Schema C was published with

SDN Interface versions 2.1 and 2.1.1. (See Skype for Business SDN Interface schema reference.)

The SDN Manager now implements a configuration service that manages settings for all Dialog

Listeners, SDN Managers (like itself), and subscribers. This allows a separation of an SDN Manager

server settings from SDN Managers processing call and quality related messages.

We have refined configuration handling so that configuration settings are now divided in to three

groups:

Subscriber: Contains settings specific to the receiver of the call and quality related messages.

Typically, a subscriber is network controller, network management system, or ITPro tool.

Listener: Contains settings specific to a Skype for Business Server front-end pool. Multiple pools,

having different configurations, may use the same SDN Manager pool.

Manager: Contains settings used by the SDN Manager pool.

With the exception of removing the redundancy in reporting the same endpoint metrics for every

stream, the SDN Manager will send more data and fields, but no format changes.

Page 9: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 9

If a subscriber cannot handle the changes in the new schema D message format, it can declare using

the legacy schema (SDNInterface.Schema.C.xsd) in the subscriber outputschema setting to receive

messages in the previous format (backward compatibility mode).

The SDN Interface 2.2 release further expands on the ability to filter messages for particular

subscribers. You can filter by subnet and domain name as well as by TenantID and SipTrunk name.

Enhanced handling of MidCall quality report messages. While only desktop and modern Skype for

Business clients (version 16.*.*.*) will send IncallQuality messages whenever media stream quality

crosses thresholds, other clients (for example, UCWA and LWA) will send IncallQuality messages in a

more periodic fashion.

Detailed address information is provided, including addressing information for Host, Reflexive and

Relay (if available) for signaling messages.

Additional signaling fields like Referred-by, Via, P-Asserted Identity (PAI), Replaces, and Wireless.

The Skype for Business Dialog Listener can be installed on an SBS or SBA, if so supported by the SBA

vendor. For more information, see Installing the Dialog Listener.

Reduced the amount of repetitive data sent as part of the endpoint information.

Provided support for Redis in-memory cache as an alternative to using a SQL Server database for the

data store.

Lync SDN Interface has been rebranded and is now known as the Skype for Business SDN Interface.

We have provided IPv6 support for subscriber filters.

We have changed the command line syntax to use the new structure.

The configuration files (SDNManager.exe.config and DialogListener.exe.config) only contain the most

essential information needed to locate the configuration service. The setup configures most of these

settings, so you should no longer need to modify these. Please use the SDN Manager.exe command

line interface for most configuration changes.

Settings changes using the command line in cache mode are now persisted and do not need to be

reapplied after a service restart (or configured in the config file).

In Schema D, UserAgent field now has a Type attribute that maps the UserAgent string to an integer

analog to the UAType used in the QoEMetrics database.

In Schema D, the StreamQuality field has an optional Source attribute. This field contains the name of

the trigger that caused the determination of a Bad or Poor stream. This name is either the name of a

metrics (if the determination was done as a result of the metrics crossing a threshold – only the first is

referenced here, there may be more), or, in case of an InCallQuality message, it can also be the name

of the client trigger (for example, BandwithLow, Jitter, Source, Destination, and so forth).

Notes and known issues in the current release The database structure has changed from version 2.1.1 of the nm- SDN Interface. The database

structure for Skype for Business SDN Interface version 2.2 is not compatible with versions 2.1.1 nor

2.1.

The IncallEnabled field is set based on the client version. If the sending of IncallQuality messages is

not activated correctly on the Skype for Business front-end server or client, this field may contain an

incorrect value.

Page 10: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 10

Initially, to receive messages from the SDN Manager you must provision at least one subscriber.

However, you can no longer provision this subscriber in the setup. Rather, you must use the

command line interface of the SDN Manager. At a minimum you need to call:

sdnmanager.exe p s some-subscriber-name submituri=http://<your-receiver-url>

The Dialog Listener component now requires .NET Framework 4.5. This might require the installation

of the .NET Framework 4.5 on front-end computers in 2010 topologies.

SDN Manager unattended installation:

If you miss the command line parameter SETUPDP=1 for the first SDN Manager installation in a

pool configuration, or when you want to share settings, the setup will finish successfully and a

database is created but the tables are not created. In this case you have to remove the database

manually and restart the installation. Make sure you set the SETUPDP=1 parameter for the first

installation and only when you need the database created.

If not specified, a directory for the logs will be created under c:\LyncSDNLogs.

Using the new "D" schema saves some bandwidth as messages containing most static endpoint

properties repeatedly have these properties removed after the first time.

This release has not been tested with the Skype-to- bridge.

Changes related to logging do not require you to restart the Windows service. Changing other

settings in the configuration files (*.config) require a service restart.

In contrast to previous versions of , Skype for Business 2015 has the ability to multiplex RTCP and RTP

streams over the same port. However, the SDN Interface does not report whether the same or a

different port is used.

In some cases, SDN Interface may not have sufficient information to report accurate HostIP,

ReflexiveIP and RelayIP addresses used. In such cases, it reports its best effort. For example, the

information processed from the session description protocol may not allow a determination whether

an IP address is in fact an address of the host, relay or network address translation.

Page 11: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 11

Understanding Skype for Business SDN

Interface 2.2

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In this article

The Microsoft Skype for Business SDN Interface

The Microsoft Skype for Business SDN Interface schema

In this section

Additional resources

In any given Skype for Business Server deployment, poor network performance can adversely affect the

end user experience. Many factors can cause low performance or media quality. Exposing these is often

difficult, as well as time and resource intensive.

Skype for Business provides tools that help identify issues in its system and network infrastructure, as do

infrastructure and network manufacturers. The primary purpose of the SDN Interface is to bridges these

two worlds to enable a deeper understanding of the entire end-to-end system.

The Microsoft Skype for Business SDN Interface The Skype for Business SDN Interface is distributed as a downloadable installation package that supports

multiple Lync and Skype for Business versions. This content explains how to install and configure the

Skype for Business SDN Interface to work with one or more known network management systems and

network controllers. It also provides a technical reference to the Skype for Business call and quality data

that is provided. To get a contextual framework for the technical information, take a look at the

conceptual framework of the Skype for Business SDN Interface.

Important

The Skype for Business SDN Interface version 2.2 adds significant new functionality, as well as

changes to the message format. It also fixes bugs in the previous release but provides backward

compatibility so that its message format and semantics are fully compatible with the Lync SDN

Interface 2.1.1.

The Microsoft Skype for Business SDN Interface schema In Skype for Business SDN Interface, the call and quality data is defined by the new Skype for Business

SDN Interface schema (SDNInterface.Schema.D.xsd). This schema expands on the schema file that was

Page 12: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 12

supported in Lync SDN API version 2.0 (SDNInterface.Schema.C.xsd). In Schema D, more data types are

added and some improvements have been introduced. However, the schema structure is very similar and

most message parsers written for Schema C should also accept a Schema D implementation without

changes. Documentation of both schemas can be found in Skype for Business SDN Interface schema

reference.

Note

The SDN Interface schema files have been reformatted and updated with additional

documentation; furthermore, some fields have been marked "obsolete."

In this section Using the Skype for Business SDN Interface

Skype for Business SDN Interface architecture

Deploying Skype for Business SDN Interface

New features in Skype for Business SDN Interface

In-call QoE algorithm and throttling

Additional resources Overview of Skype for Business SDN Interface 2.2

Skype for Business SDN Interface Schema Reference

Page 13: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 13

Using the Skype for Business SDN Interface

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

Skype for Business service providers and customers can use the Skype for Business SDN Interface to

obtain call and quality data about the states of audio, video and app-sharing streams produced by Lync

and Skype for Business clients on the network. The SDN Interface relies on the Dialog Listener

component to capture call and quality data and then dispatches the captured data to the SDN Manager

to process the raw data. The processed and aggregated data is then sent to subscribers, (for example,

network management system, network controllers, or IT administration tools), which can in turn correlate

the data with their own observations from the network, readjust policies, or reallocate network resources

dynamically to improve the service quality.

For example, a Skype for Business service provider or customer finds that conference calls initiated during

a certain time frame in a given geographical region regularly experience audio or video quality issues. To

find out what happens, they can install and configure the SDN Interface in their Skype for Business

topology and connect it with an SDN-aware network controller. The combined information from Skype for

Business clients and the network controller will enable the service provider or customer to resolve issues

within the Skype for Business deployment by, for example, identifying bad server components, resolve

issues within the network by, for example, identifying a bottleneck in a segment of their network or router

configuration during specific load patterns. As a result, they may adjust the network resources

accordingly, or, in other cases, the analysis might result in a need to add more server resources or allocate

additional PSTN ports/sessions to reduce the incidence of call quality issues.

Parsing Skype for Business call and quality data The following are examples of SDN Interface messages.

XML

<LyncDiagnostics Version="D"> <ConnectionInfo> … </ConnectionInfo> <Start Type="audio"> <From> … </From> <To> … </To> <Properties> <Protocol>UDP</Protocol> …

Page 14: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 14

</Properties> </Start> <Start Type="audio"> … </Start> <Start Type="video"> … </Start> … </LyncDiagnostics>

<LyncDiagnostics Version="D">

<ConnectionInfo>

</ConnectionInfo>

<QualityUpdate Type="audio">

<From>……</From>

<To>……</To>

<Properties>

<PacketUtilization>1461</PacketUtilization>

<JitterInterArrival>11</JitterInterArrival>

<JitterInterArrivalMax>15</JitterInterArrivalMax>

<DegradationAvg>0.06</DegradationAvg>

<RatioConcealedSamplesAvg>0.000999001</RatioConcealedSamplesAvg>

<RecvNoiseLevel>-51</RecvNoiseLevel>

<RecvSignalLevel>-15</RecvSignalLevel>

<BurstGapDuration>27720</BurstGapDuration>

<DegradationMax>0.09</DegradationMax>

<OverallMinNetworkMOS>4.15</OverallMinNetworkMOS>

<OverallAvgNetworkMOS>4.19</OverallAvgNetworkMOS>

</Properties>

</QualityUpdate>

</LyncDiagnostics>

The XML output from the SDN Manager consists of a set of messages that have <LyncDiagnostics> as

their root element. Each message corresponds to a snapshot of the data streams in a call. A

<LyncDiagnostics> element contains one <ConnectionInfo> child element and one or more of the

<Invite>, <Start>, <update><Error>, <InCallQuality>, <Ended>, <Bye> and <QualityUpdate> elements.

Optionally, a <RawSDP> element might be present to contain the SDP content of the SIP message that

triggered this SDN message. These child elements fall into the following groups:

1. The first group, including <ConnectionInfo>, <RawSDP>, describe attributes of the overall state of

the call and connection between the endpoints involving the media streams. The group includes a call

dialog identifier (<CallId>) and conversation identifier (<ConversationId>) among others, which can

be used to correlate this call with other calls.

2. The second group includes <Invite>, <Error>, and <Bye>, which are used to forward signaling events

about the overall call. These elements are optional.

Page 15: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 15

3. The third group includes <Start>, <Update>, and <Ended>. They describe the individual states of the

call media streams in real time.

4. The last group, including <InCallQuality> and <QualityUpdate>, provides insight into the quality of

individual streams of the call.

The From and To sections contain information related to the endpoints with the IP and Ports being most

relevant for identifying the data streams (RTP). A quality update section provides numerous properties

related to the end points and streams, as shown in the preceding code example. In the current Schema D

and in most cases, only the first pair of From/To contains a complete set, while further instances only

contain the data that may be different for the respective end points.

Note

SDN Interface does not report the ports used for the RTCP traffic. Traditionally, the RTCP ports

were the RTP ports + 1, but recent updates by the media stack team in the Skype for Business

2015 release also uses multiplexing of RTP and RTCP traffic over the same port.

For more information about SDN Manager-generated Skype for Business SDN Interface data, see Skype

for Business SDN Interface reference.

Additional resources Understanding Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 16: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 16

Skype for Business SDN Interface architecture

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

Conceptually, the Skype for Business SDN Interface consists of the following components:

A Dialog Listener that captures signaling and quality observations about media traffic between Skype

for Business endpoints.

An SDN Manager that collects the data from one or more Dialog Listener and distributes to third-

party network management systems.

A data store that maintains the shared state among all SDN Managers in a single pool.

One or more subscribers, generally network management systems, also known as network controllers,

or ITPro tools that support a RESTful web service to receive and analyze the call- and media-quality

data posted from the SDN Manager. Skype for Business SDN Interface infrastructure

At a high level, the Skype for Business SDN Interface infrastructure consists of the SDN Manager, the

Dialog Listener/Skype for Business Server front end and a network controller. It also includes Skype

for Business clients and one or more networks in an infrastructure cloud.

Page 17: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 17

Figure 1. Skype for Business SDN Interface architecture

The types of Skype for Business media traffic involving two or more Skype for Business endpoints include

audio and video calls and application sharing.

The Dialog Listener is implemented as a Windows service, can work with Lync Server 2010, Lync Server

2013, and Skype for Business 2015. It has also been tested with early releases of newer versions, and

Page 18: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 18

requires .NET Framework 4.5 or later versions. The Dialog Listener is configured to send data to the SDN

Manager.

The SDN Manager is also a lightweight Windows service that we recommend you run on a separate virtual

or hardware application server that uses Windows Server 2008 or later (see Deploying Skype for Business

SDN Interface). The SDN Manager is responsible for processing the various events received from the

Dialog Listener. It maintains state of the individual real-time streams—including whether the stream has

started, ended, updated, and more in the associated data store (either Redis, local cache, or SQL Server

database)—and sends the resulting XML data to the configured data receivers. The SDN Manager requires

.NET Framework 4.5 or a later.

Upon receiving a relevant message on the Skype for Business Server front end computers, the Dialog

Listener forwards essential parts of the message to the SDN Manager, which raises an event and invokes

an event handler to parse the captured messages. Furthermore, it selects those properties related to the

quality of the audio, video, and application sharing media streams between Skype for Business endpoints.

The SDN Manager then posts the data in an XML format to the registered receiver (or subscriber), for

example, network management systems or network controller, and also makes relevant log entries at the

same time.

A subscriber runs independently of the SDN Manager and its underlying Skype for Business Server

environment. It uses a web service to receive as input the Skype for Business call and quality data

captured by the SDN Manager. The web service must be configured as a subscriber in the SDN Manager

so that it can post the Skype for Business call and quality data to the configured web service address. In

the current Skype for Business version, this web service address as well as other configuration data is

stored in a "Subscriber" structure for each such receiver.

A subscriber can be a network controller which monitors and analyzes network elements and traffic for

the Skype for Business clients, in addition to various other kinds of network traffic. More specifically, when

a Skype for Business user calls another Skype for Business user, a SIP dialog is established. SIP messages

are exchanged between the client and Skype for Business Server. Specific SIP messages contain data

reflecting media-related events relevant for Skype for Business SDN Interface and are forwarded to the

SDN Manager. The SDN Manager is then responsible for verifying, combining and packaging the call and

quality data in XML and posting them to the web services. Figure 2 shows this process.

Figure 2. Detailed Skype for Business SDN Interface architecture

Page 19: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 19

Additional resources Understanding Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 20: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 20

Deploying Skype for Business SDN Interface

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In this article

Deploying Skype for Business SDN Interface with an SDN Manager pool

Deploying Skype for Business SDN Interface with a single SDN Manager

Deploying Skype for Business SDN Interface with primary and secondary failover

Deploying Skype for Business SDN Interface with SDN Manager and Dialog Listener collocated

Additional resources

Microsoft Skype for Business SDN Interface supports different deployment scenarios with noteworthy

differences and trade-offs. Regardless of the deployment topology you choose, always install the Dialog

Listener components on all the Skype for Business Server front ends; these front ends can be Lync Server

versions 2010 or later, including Skype for Business Server 2015.

Deploying Skype for Business SDN Interface with an

SDN Manager pool In a Skype for Business SDN Interface pool configuration, all Dialog Listeners are connected to a DNS

load-balanced pool of SDN Manager servers.

In this configuration, the size of the pool scales with the message load produced by the Skype for

Business Servers and Dialog Listeners. The pool automatically handles most server failures, but requires a

data store to maintain a shared and consistent state among all the SDN Managers in the pool. The data

store itself can be SQL Server database or a Redis cache system. Subscribers, like network controllers

connected to this SDN Manager pool receive a consistent state about applicable media streams handled

by the connected Skype for Business Server front end pools. The setup provides the option for a disaster

pool failover configuration. If all SDN Manager instances in a pool are unreachable, Dialog Listeners may

be configured to fail-over to an alternative pool.

Figure 1. Deployment of Skype for Business SDN Interface with a pool of SDN Managers

Page 21: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 21

Deploying Skype for Business SDN Interface with a single SDN

Manager

In this simple configuration, all Dialog Listeners are connected to a single SDN Manager component. The

SDN Manager service maintains its call state information in memory and a database is not required. This

configuration is useful when the call load is under the limit that a single SDN Manager can support and

fault-tolerance is not required.

Deploying Skype for Business SDN Interface with primary and

secondary failover

To overcome server failures in a single SDN Manager deployment, the SDN Interface can take a second

SDN Manager as a failover alternate for all the connected Dialog Listeners. When a disconnected Dialog

Listener attempts to deliver messages to the primary SDN Manager, a failover protection algorithm will

switch to the alternative SDN Manager to ensure that the SDN Interface provides continuous service when

server failures occur. In this case, the alternate SDN Manager becomes the new primary service provider.

Call states are lost during the failover transition, because state is kept in memory on the primary SDN

Manager. This may cause inconsistent or incomplete message reporting delivered to subscribers until the

new active SDN Manager can establish a consistent view of the ongoing media streams.

Note

In the event of fail over, the secondary computer is promoted to the new primary node. Restoring

the second node will automatically make it the secondary node, and the new primary node will

stay in place until it fails over.

Figure 2. Deployment of SDN Interface with primary and secondary SDN managers

Page 22: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 22

Deploying Skype for Business SDN Interface with SDN Manager and

Dialog Listener collocated

In this configuration, both the SDN Manager and the Dialog Listener are installed on the Skype for

Business Server front end. Call states are usually maintained in memory and they are not shared with

other SDN Managers. The collocated SDN Manager can only report on calls from endpoints managed by

the hosting Skype for Business Server, and if the clients stay connected to the same front end during a

call.

Often, two different Skype for Business front end servers are involved in handling a call, each receiving

different quality data. The SDN Manager won’t be able to correlate these messages and a subscriber to

both SDN Manager instances will get duplicate messages and might need to merge quality information to

get a complete picture of the active media streams. Adding an SDN Manager to the Skype for Business

Server will further increase the load (CPU, memory, and possibly network) on these servers.

When the SDN Manager and the Dialog Listeners are installed on several Skype for Business Server front

ends, basically disconnected from each other, the SDN Interface supports sharing the settings for all

these components. In this case, an SDN Manager would provide a dedicated configuration service.

Figure 3. Deployment of the SDN Interface collocated with SDN manager and dialog listener

Page 23: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 23

Additional resources

Understanding Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 24: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 24

New features in Skype for Business SDN

Interface Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

Following are new and improved features of the Microsoft Skype for Business SDN Interface, version 2.2

Supports a new output schema, SDNInterface.Schema.D.xsd, 2.2 supports an enhanced data format

that includes several new fields. However, the general protocol and message type have not changed.

The new schema file, Schema D, describes the schema changes since Schema C was published with

SDN Interface versions 2.1 and 2.1.1.

The SDN Manager now implements a configuration service that manages settings for all Dialog

Listeners, SDN Managers (like itself), and subscribers. This allows a separation of an SDN Manager

server settings from SDN Managers processing call and quality related messages.

We have refined configuration handling so that configuration settings are now divided in to three

groups:

Subscriber: Contains settings specific to the receiver of the call and quality related messages.

Typically, a subscriber is network controller, network management system, or ITPro tool.

Listener: Contains settings specific to a Skype for Business Server front-end pool. Multiple pools,

having different configurations, may use the same SDN Manager pool.

Manager: Contains settings used by the SDN Manager pool.

With the exception of removing the redundancy in reporting the same endpoint metrics for every

stream, the SDN Manager will send more data and fields, but no format changes.

If a subscriber cannot handle the changes in the new schema D message format, it can declare using

the legacy schema (SDNInterface.Schema.C.xsd) in the subscriber outputschema setting to receive

messages in the previous format (backward compatibility mode).

The SDN Interface 2.2 release further expands on the ability to filter messages for particular

subscribers. You can filter by subnet and domain name as well as by TenantID and SipTrunk name.

Enhanced handling of MidCall quality report messages. While only desktop and modern Skype for

Business clients (version 16.*.*.*) will send IncallQuality messages whenever media stream quality

crosses thresholds, other clients (for example, UCWA and LWA) will send IncallQuality messages in a

more periodic fashion.

Detailed address information is provided, including addressing information for Host, Reflexive and

Relay (if available) for signaling messages.

Additional signaling fields like Referred-by, Via, P-Asserted Identity (PAI), Replaces, and Wireless.

The Skype for Business Dialog Listener can be installed on an SBS or SBA, if so supported by the SBA

vendor. For more information, see Installing the Dialog Listener.

Reduced the amount of repetitive data sent as part of the endpoint information.

Provided support for Redis in-memory cache as an alternative to using a SQL Server database for the

data store.

Lync SDN Interface has been rebranded and is now known as the Skype for Business SDN Interface.

Page 25: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 25

We have provided IPv6 support for subscriber filters.

We have changed the command line syntax to use the new structure.

The configuration files (SDNManager.exe.config and DialogListener.exe.config) only contain the most

essential information needed to locate the configuration service. The setup configures most of these

settings, so you should no longer need to modify these. Please use the SDN Manager.exe command

line interface for most configuration changes.

Settings changes using the command line in cache mode are now persisted and do not need to be

reapplied after a service restart (or configured in the config file).

In Schema D, UserAgent field now has a Type attribute that maps the UserAgent string to an integer

analog to the UAType used in the QoEMetrics database.

In Schema D, the StreamQuality field has an optional Source attribute. This field contains the name of

the trigger that caused the determination of a Bad or Poor stream. This name is either the name of a

metrics (if the determination was done as a result of the metrics crossing a threshold – only the first is

referenced here, there may be more), or, in case of an InCallQuality message, it can also be the name

of the client trigger (for example, BandwithLow, Jitter, Source, Destination, and so forth).

Additional resources Understanding Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 26: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 26

Installing Skype for Business SDN Interface 2.2

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

You install Microsoft Skype for Business SDN Interface by running two installation packages. One is for the

SDN Manager and the other is for the Dialog Listener. The two packages are

SkypeforBusinessSDNManager.msi and SkypeforBusinessDialogListener.msi.

We recommend that you run SkypeforBusinessSDNManager.msi before you run the

SkypeforBusinessDialogListener.msi. This will ensure that the SDN Manager is running and ready when

the Dialog Listener attempts to connect to the SDN Manager.

In this section

Getting ready to install Skype for Business SDN Interface

Installing the SDN Manager

Installing the Dialog Listener

Unattended installation of SDN Manager and Dialog Listener

Additional resources

Overview of Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 27: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 27

Getting ready to install Skype for Business SDN

Interface

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

To ensure that the Software Defined Network (SDN) Interface components are successfully installed and

started, do the following before you run the installation packages:

1. Set up a DNS record to define a round-robin FQDN for the SDN Manager pool.

2. Set up an optional DNS SRV record to support the Dialog Listeners (as well as subscribers) to locate

the configuration service. (see below)

3. Close the Service Control Panel to prevent the Windows service installation from hanging.

4. Ensure that the Skype for Business Server front ends and the SDN Manager servers have reasonably

synchronized clocks. This is especially important for the SDN Manager processing timeouts, which rely

on time stamps. Note, too, that significantly divergent times will cause unexpected behavior as well

as uneven load balancing.

5. If you choose, install all certificates necessary for mutual TLS. Create and place the same client

certificate on every Dialog Listener, and obtain client certificates expected and authorized by each the

network controller on all SDN Managers.

6. Set up a Redis cache to enable using Redis as your data store (see below).

7. Set up SQL Server for using a database as your data store (see below).

8. To install Dialog Listener, first run the SkypeForBusinessDialogListener.msi on a Skype for Business

Server front end using an administrator account that is also a part of the RTC Server Applications local

group. To add the administrator account to the RTC Server Applications group, follow these steps:

a) Log on to the Skype for Business Server front end server computer as the administrator and

start the server manager snap-in.

b) Add the administrator account to the RTC Server Applications local group.

When you run Steps 9a and 9b, log off and log on again for the changes to take effect. The

Dialog Listener service account must be a member of the RTC Local Server Group.

Note

You should install SDN Manager on a separate application server to maximize the performance of

the Skype for Business Server front end.

In this section

Setting up a DNS service location record

Setting up SQL Server for a SDN manager database

Installing security certificates

Activating QoE recording in Skype for Business Server

Page 28: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 28

Additional resources

Installing Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 29: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 29

Activating QoE recording in Skype for Business

Server

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In this article

Verify and activate QoE recording using Management Shell commands

Verify and activate QoE recording using the Skype for Business Server Control Panel

If Quality of Experience (QoE) recording has not been activated in the Skype for Business monitoring

server, you must activate it before installing the Skype for Business SDN Interface. You can verify and

activate the QoE recording in one of the two ways:

Using the Skype for Business Server Management Shell commands

Using the Skype for Business Server control panel

Page 30: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 30

Verify and activate QoE recording using Management Shell

commands

To verify the QoE recording using Skype for Business Server Management Shell commands, open a

Management Shell command prompt on a Skype for Business Server computer and issue the following

command.

Get-CsQoEConfiguration -Identity site:W15Topology

In our example, "W15Toplogy" is the site name assigned to the Skype for Business Server deployment. If

the EnableQoE attribute is set to True in the returned result, the QoE recording has been activated. If the

EnableQoE attribute is False, issue the following command to activate the QoE recording.

Set-CsQoEConfiguration -Identity site:W15Topology -EnableQoE $True

For detailed information about the commands, see Skype for Business Server 2015 Management Shell.

Verify and activate QoE recording using the Skype for Business Server

Control Panel

To verify the QoE recording using the Skype for Business Server control panel, start the control panel and

select the Monitoring and Archiving tab on the navigation pane, then select the Quality of Experience

Data tab.

Figure 1. Skype for Business Server Control Panel showing QoE activation setting

If the QoE column of the specified topology (W15Topology) is checked, the QoE recording is activated.

Otherwise, choose the Edit menu option and select the Enable monitoring of QoE data checkbox for the

Page 31: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 31

specified Skype for Business Server topology. We recommend that you also select the Enable purging

QoE data checkbox and specify a maximum number of days to keep the QoE data before purging.

Note

Some of the parameters might not be available in the control panel. To view and set such

advanced features, use the commands. For more information about the commands, see

Configuring SDN Interface using the command prompt.

Setting up a DNS service location record

Setting up SQL Server for a SDN manager database

Installing security certificates

Page 32: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 32

Setting up a DNS service location record

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

You can configure the Skype for BusinessDialog Listener to query DNS for the location of the single host

or pool of SDN Manager service, if the DNS service location record was created properly. This article

explains how to create the service location records. You must have domain administrator privileges to do

this.

Note

When DNS service location records are used by the Dialog Listener by setting checkdns=true in

the configuration file, any configured value for the parameter configurationserviceuri is ignored.

The URI specified in the service location record is used instead.

To set up the DNS service location record

1. Log on to the DNS server and open the DNS Manager

.

2. Open DNS and choose the zone to create the service location record for (Current domain, forward

lookup zone).

3. From the Context menu, select Other New Records ..., navigate to Service Location, and choose

Create Record.

4. Fill in the form (shown in Figure 1) by providing the following values:

Service: _sdninternal

Protocol: _http or _https

Port number: 9333 (9332 for https)

Host offering the LSM service: FQDN of the host computer (for example,

SdnPool.LneProd.contoso.com)

Page 33: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 33

Figure 1. New Resource Record dialog box

Note: If both the HTTP and HTTPS protocols are specified, the HTTP service location record is

ignored until the HTTPS record is deleted.

After the service location discovery is configured, the following behavior will occur:

If the HTTPS protocol is set, the Dialog Listener looks for the _sdninternal service address for that

protocol. Otherwise, the Dialog Listener attempts to retrieve the address of an SDN Manager service using

the HTTP protocol. It then creates a service URL with the service name ("Settings") appended at the end.

Here is an example of a resulting URL: https://SdnPool.contoso.com:9332/Settings.

You can enable Dialog Listeners to use the service location record to discover the SDN Manager locations

by selecting the appropriate settings in the SkypeForBusinessDialogListener.msi installation wizard, or by

editing the DialogListener.exe.config file and setting the following entry:

<add key="checkdns" value="True"/>

Additional resources

Getting ready to install Skype for Business SDN Interface

Skype for Business SDN Interface schema reference

Page 34: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 34

Setting up SQL Server for a SDN manager

database

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In a pool configuration, Skype for Business SDN Interface requires a data store to share call states of

concurrently ongoing calls or configuration settings among multiple SDN Managers, which can be a SQL

Server or other data store. However, this SDN Manager database is hosted on a SQL Server database.

Make sure to select the SQL Server host that supports appropriate behaviors in the presence of fault.

To minimize hardware investments, and after evaluating available performance resources on the Skype for

Business backend SQL Server database, you may consider using the SDN Manager server. You can use any

SQL Server edition, including the SQL Server Express edition.

The installer creates and configures a new database or joins a new SDN Manager installation with an

existing database.

Additional resources

Getting ready to install Skype for Business SDN Interface

Skype for Business SDN Interface schema reference

Page 35: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 35

Setting up a Redis cache system

Applies to: Lync Server 2010 | Lync Server 2013 | SharePoint Foundation 2013 | SharePoint Online |

SharePoint Server 2013 | Skype for Business 2015

Redis (http://redis.io/) is a fast, light weight, scalable in-memory key-value cache system that you can use

for a data store for your Skype for Business SDN Interface implementation

Microsoft Azure offers a Redis service to which you can connect; however, you can also run Redis on

Windows (https://github.com/MSOpenTech/redis) or on other operating systems. Using the Redis

connection string and the configuration file (for example, redis-windows.conf) you can configure to use

SSL, active/passive failover, as well as number of other parameters.

In a pool configuration, Skype for Business SDN Interface needs a data store to share call states for

concurrently ongoing calls or for configuration settings among multiple SDN Manager instances, which

can be a Redis No-SQL key-value store.

Note

Redis must be set up and running when SDN Manager is installed in Redis mode to prevent errors

during service startup. The setup will not verify this.

Additional resources Getting ready to install Skype for Business SDN Interface

Skype for Business SDN Interface schema reference

Page 36: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 36

Installing security certif icates

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In this article

Requesting and installing a certificate

Installing certificates for use with SDN Manager

Assigning a server certificate to a port

Installing certificates for the Dialog Listener

Additional resources

To ensure secure message transport and client authentication, the Skype for Business SDN Interface

components support mutual transport layer security (TLS). But for this to work, you must request

certificates from an appropriate certification authority. These certificates are needed for the SDN Manager,

the Dialog Listener, and for subscribers. You might also have to install a root certificate of the certification

authority (CA), if it is not trusted.

You will need to use a client certificate on each front-end server in the Dialog Listener and a server

certificate on each SDN Manager for the SDN Manager pool fully qualified domain name. In addition, you

must install a server certificate on the subscribers, and also an appropriate client certificate on the SDN

Manager host computers so you can authenticate it to the subscribers. Finally, you need to ensure that

the Windows communication foundation (WCF) configuration of the SDN Manager validates the client

certificates set on the Dialog Listeners.

To install certificates, you will follow this general approach:

1. Request a certificate from a certificate server of the correct type

2. Install the server certificate on a server for each SDN Manager and subscriber.

3. Install client certificates on all clients which are Dialog Listeners so they can talk with the SDN

Manager, as well as on all SDN Manager instances so they can talk with subscribers acting as a server

(if that subscriber requires authentication via client certificate).

4. Install a trusted root certificate on computers where the certificate authority reports it as not trusted.

For instructions, see Installing the trusted root certificate.

Page 37: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 37

Note

You can verify that the SSL and client authentication works independently of Skype for Business

SDN Interface by using a general purpose test tool, such as wfetch.exe

Detailed instructions for the specific certificate installations are found in the following procedures. In each,

assume that a Microsoft Certification Authority is being used. For detailed explanation and instructions on

how to create a certificate request for Microsoft Certificate Services, see Managing Certificate Services and

SSL.

Requesting and installing a certif icate

The following example demonstrates how to request a certificate from a Windows Certificate Server and

your security policies and available templates at your certificate service may be different.

1. In your web browser, navigate to your certification server (for example, http://<servername>/certsrv).

This should be the same certificate authority that is used to generate certificates for the client.

2. Choose the Request a certificate link.

3. Choose the Advanced certificate request link.

4. Choose the Create and submit a request to this CA link.

5. In the Certificate Template dropdown, select the Exportable Server Cert option for a server

certificate or appropriate template for the client certificate.

6. When creating the server certificate, specify the fully qualified domain name as the certificate Name,

as well as its Friendly Name. Other fields can remain blank or retain their default values.

7. Choose Submit.

8. Choose the Install this Certificate link. The certificate will be installed to the Certificates-Current

User\Personal\Certificates folder.

9. Start MMC and add the certificate snap-ins shown in step 8 of the Installing the trusted root

certificate section in the Appendix.

10. Move the certificate from the Certificates-Current User\Personal\Certificates folder to the

Certificates Local computer\Personal\Certificates folder.

11. Ensure that the processes have access to the entire certificate, including its private key. This might

require adding the network service (or other credential that runs the service) to the certificate as

shown in figures 1 and 2.

Page 38: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 38

Figure 1. Adding a service to the certif icate, part 1

Figure 2. Adding a service to the certif icate, part 2

Page 39: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 39

Installing certif icates for use with SDN Manager

You must install certificates on the SDN Manager in order to do the following:

Authenticate and secure communications between possibly multiple Dialog Listeners and a SDN

Manager. (Applies to server certificates.)

Authenticate and secure communications from SDN Manager to possibly multiple subscribers (for

example, network controllers, network management systems, ITPro tools, and so forth). (Applies to

client certificates.)

Each server certificate must contain the fully qualified domain name of the receiving system. You cannot

use an IP address, host name or local addresses (*.local). The certificate must be installed in the local

computer store. When client authentication is required by a subscriber system, the client certificate on the

SDN Manager might need to contain the fully qualified domain name of the computer that is hosting

SDN Manager, depending on how the subscriber third-party system authenticates a client. The certificates

must be signed by a certification authority that is trusted by all involved parties. If the certification

authority is not trusted, the root certificate of the certification authority must be installed on all involved

computers.

You should follow the standard WCF certificate validation mechanism to configure the settings to validate

the client certificates

Note

Make sure when using a pool of SDN Managers, the certificate contains the entire pool fully

qualified domain name (for example, "sdnpool.contoso.com"). This name should have at least one

period delimiter (".").

Assigning a server certif icate to a port To activate and assign the server certificate to the port used to receive SSL traffic on the SDN Manager,

you will need to run the following command:

netsh http add sslcert ipport=0.0.0.0:9332 certhash=<thumb> appid={12345678-1234-ABCD-ABCD-1234567890AB} clientcertnegotiation=<enable or disable> verifyclientcertrevocation=<enable or disable>

Replace the <thumb> with the thumbprint of the server certificate associated with the SDN Manager’s

pool fully qualified domain name. You will also probably need to set

verifyclientcertrevocation=disabled if you use self-signed certs and clientcertnegotiation depending on

whether you use client certs on the Dialog Listener.

Page 40: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 40

Client certif icate provisioning

When provisioning subscribers, you can specify the thumbprint of the client certificate in the

configuration settings for the specified subscriber.

Note

This procedure is necessary only if a subscriber requires client authentication. In this case, the

subscriber must be configured to validate and accept the client certificate. When generating the

client certificate, you must set the parameters and fields according to the certificate validation

policy of the subscriber system.

To install the client certificate, follow the steps listed in the Requesting and Installing a certificate

procedure earlier in this article. The thumbprint of a client certificate must be specified in the

clientcertificateid property of the subscriber configuration.

You can obtain the thumbprint by using the Certificate dialog, as shown in Figure 1.

Figure 1. Certif icate dialog box

Authenticating Dialog Listener connections using client certif icates

For the SDN Manager to authorize client certificates from the Dialog Listener, you must configure the

client certificate validation logic in the SDNManager.exe.config file as specified by the Windows

Communication Framework (WCF).

By default, the SDN Manager uses a simple custom validator for client certificates that it receives from the

Dialog Listener. The current SDNManager.exe.config file contains the configuration for this custom

accept-and-log client certificate validator. WCF then ensures that a certificate is consistent and valid

Page 41: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 41

before the validator is called. This validator (AcceptAndLogValidator) logs information from the

certificate and always accepts it.

For an increased security, you must configure a different validator for client certificates by using standard

WCF configuration mechanisms. The following example shows the WCF configuration for the

AcceptAndLogValidator:

XML

<serviceBehaviors> <behavior name="CustomValidator"> <serviceCredentials> <clientCertificate> <authentication certificateValidationMode="Custom" customCertificateValidatorType="Microsoft.Rtc.Enlightenment.Hub.AcceptAndLogValidator, SDNManager" /> </clientCertificate> </serviceCredentials> </behavior> </serviceBehaviors>

Authenticating the Server Certif icate on the DL

For increased security you may want to activate server certificate revocation list checking. Per WCF, you

can configure this by adding the following configuration file parameters in the DialogListener.exe.config

file:

<configuration> <system.net> <settings> <servicePointManager checkCertificateRevocationList="true" /> </settings> </system.net> </configuration>

Installing certif icates for the Dialog Listener

You must install a certificate on the Dialog Listener to authenticate and secure communication between

the Dialog Listener and the SDN Manager. This applies to the client certificate. To install the client

certificate, follow the steps listed in the "Requesting and installing a certificate," earlier in this article.

After installing the certificate, you must provision the Dialog Listener to use the client certificate. You need

the thumbprint, as described in section earlier in this article entitled "Client certificate provisioning." For

the Dialog Listener, the thumbprint should be provided during the setup or afterwards by editing the

configurationcertificate field in the DialogListener.exe.config file and the clientcertificateid field in the

Listener settings.

Page 42: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 42

Installing the SDN Manager

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

To install Skype for Business SDN Manager, do the following:

1. Copy the SDNManager.msi to the server computer that will host the SDN Manager.

2. Launch the SDNManager.msi.

3. In the Welcome to the Microsoft SDN Manager Setup Wizard, choose Next.

4. Accept the End-User License Agreement and then choose Next.

5. In the Destination Folder panel, keep the default or enter a custom SDN Manager installation

directory.

Figure 1. SDN manager destination folder

6. Do the same for the service logging directory; that is, set it to c:\logdir\, then select the checkbox to

enable debug level logging.

Page 43: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 43

Note

While the number of log files is limited, for production environments it is not recommended

that you activate debug logging unless investigating a particular issue, as extensive amounts

of logs are written.

7. On the SDN Manager Topology wizard screen, select one of the three available options:

Join (or create) a pool of SDN Managers using a REDIS cache

Join (or create) a pool of SDN Managers using a SQL Server database.

Set up an individual SDN Manager that does not share settings.

Figure 2. SDN manager topology

Note: To download and install Redis, visit the Redis web site.

8. Depending on your choice, select one of the following:

a) If the first option is selected, do the following:

Page 44: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 44

In the REDIS Settings wizard page (Figure 3), enter the connect string to a Redis cache service.

You can enter the password, if required, as part of the connect string, or else enter the

password in the separate Password field.

Figure 3. REDIS settings wizard screen

Note: REDIS key space field prevents multiple clients from using the same key, causing

applications to interfere with one other. If you intend to use this cache for multiple SDN pools

or other application, please ensure that each one has a different key space value.

b) If you selected the second option (Join (or create) a pool of SDN Managers using a SQL

Server database), do the following:

In Skype for BusinessSDN Manager Database Settings wizard page, enter a SQL Server

name in the Database Server field, and the database instance name, if appropriate, in

the Database Name field.

Page 45: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 45

Figure 4. SDN manager database settings

Select either the Integrated Security or SQL Authentication to specify the credentials

that the SDN Manager uses to access the database. Make sure to use the credentials with

the sufficient privileges to access, create and configure the database. Then choose Next.

After the installer has successfully contacted the database server, it will either create a

new SDN Manager database with the specified name or connect to an existing one.

Choose Next.

In Skype for Business SDN Manager Database Settings wizard page, choose the

credentials the SDN Manager will use to access the SQL Server database during

operation.

c) If the third option is selected, no further settings are needed as the single SDN Manager

instance will use its internal memory cache for tracking all ongoing call sessions.

Note:

If you choose this final option please ensure that the SDN Manager host has sufficient memory

for all concurrent ongoing sessions,

9. In the Ready to install panel, click the Install button to start the installation.

10. In the wizard completed panel, click Finish to exit the installation wizard.

Page 46: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 46

Installing the Dialog Listener

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

Follow these steps to use the Setup Wizard to install the Dialog Listener component.

Important

It is recommended that you first install the SDN Manager, and then install the Dialog Listener.

To install the Dialog Listener

1. Copy the SkypeForBusinessDialogListener.msi file to each Skype for Business Server front end and run

the installation package on each server computer by following these steps for each.

2. Choose the SkypeForBusinessDialogListener.msi. In the Welcome to the Microsoft Dialog Listener

Setup Wizard, then choose Next.

3. Accept the End-User License Agreement, and then choose Next.

4. Specify the installation folder and also specify the location of the application logs (see Figure 1). In the

destination folder field, keep the default or enter a custom Dialog Listener installation directory. Do

the same for the service logging directory and select the checkbox to activate debug level logging.

Page 47: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 47

Figure 1. Destination folder selection wizard page

Note

While the number of log files is limited, for production environments it is not recommended

that you activate debug logging unless investigating a particular issue, as extensive amounts

of logs are written.

The installer will attempt to locate a DNS SRV record referring to an SDN configuration service pool

and let you choose this SRV record to connect to the configuration service. If you

use this option, you will be prompted to specify a client certificate and an account under which the

Dialog Listener Windows Service should run before continuing the installation.

5. In SDN Interface Configuration Service wizard page, enter SDN configuration service URL, and then

choose Next.

Page 48: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 48

Figure 2. SDN Interface configuration service wizard page

The configuration service is part of SDN Manager. You may dedicate a particular SDN Manager to

serve as the configuration service, or refer to an entire pool of SDN Manager instances by using their

pool fully qualified domain name. The data store used by this SDN Manager or pool defines the

settings used by this SDN Interface system, including the settings used for all Dialog Listener

instances, the SDN Manager itself, and settings for all subscribers.

If you have a DNS SRV record configured, selecting the checkbox (Use the DNS SRV Record to get

the URIs) will use the DNS records instead of the URL to locate the configuration service. On the next

screen, you may optionally select a client certificate for authentication when using a https connection.

6. In Dialog Listener Service Account wizard screen, select the Network Service or Specify an

Account option, and then select Next.

Page 49: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 49

Figure 3. Dialog Listener service account

This wizard screen allows you to specify a user account to run the Dialog Listener Windows Service

or, alternatively, use the network service. If the Dialog Listener service fails to start using network

service, you may need to change the Windows service definition and specify different credentials. The

network service or the specified user account must be in the RTC Server Applications or RTC Local

Administrators local group.

7. In the Ready to install panel, choose the Install button to start the installation.

8. In the wizard completed panel, choose Finish to exit the installation wizard.

Additional resources Installing the SDN Manager

Skype for Business SDN Interface schema reference

Page 50: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 50

Unattended installation of SDN Manager and

Dialog Listener

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In this article

Unattended installation of the SDN Manager

Example unattended installations of the SDN Manager

Unattended installation of the Dialog Listener

Doing an unattended uninstall

Additional resources

In production, you often have to install the SDN Manager and Dialog Listener using installation scripts,

and therefore in an unattended mode. This article describes the parameters that are used for an

unattended installation.

Unattended installation of the SDN Manager

The following table lists installation parameters for an unattended installation of the SDN Manager.

Note

Using unattended installation is an advanced feature. Not all parameters may be validated or

report detailed errors. Use regular an installation and logging to investigate any issues you may

experience.

Parameter Description

INSTALLDIR Specifies the installation destination for the binaries.

LOGPATH Directory to contain the generated log files

Page 51: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 51

Parameter Description

TOPOLOGY describes the desired deployment scenario:

Value Description

0 (Cache) Use an in-memory

cache for settings and call

state

1 Obsolete. Not used.

2 (Database) Use the SDN

Manager database to store

and share the settings as

well as call state.

3 (REDIS) Use a REDIS cache

service as a data store for

settings and call state.

DOMAIN Domain name. This parameter is required if you set TOPOLOGY=2.

COMPUTERNAME Name of the server that is hosting the SDN Manager. This parameter is required is

you set TOPOLOGY=2. The parameter is used to create a machine account in the

SQL Server database.

DATABASE_SERVER (e.g. DATABASE_SERVER=ContosoBE\Monitoring) specifies the SQL Server as well

as SQL instance, if appropriate.

DATABASE Name of the database on the SQL Server. The default name is "SDNManager22".

SQL_ADMIN_USER Account to use to create and setup the database. Do not specify when using SQL

integrated security with the current user running the setup.

SQL_ADMIN_PASSWO

RD

Password for the SQL admin account if SQL Authentication is used.

SQLUSER Account that is used by the SDN Manager to access the SDN Manager database.

SQLPASSWORD Password for the SQL account if SQL Authentication is used

USE_SQL_AUTH Describes the authentication mode that should be used during run time.

Value Description

0 Use integrated security

based on the machine

account.

1 Use the SQL credentials

provided.

Page 52: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 52

Parameter Description

SETUPDB Setting this parameter to 1 causes the installer to create the SDN ManagerSDN

Manager database. This parameter must be set (SETUPDB=1) for the first

installation when a database for call state or settings should be created.

REDIS_CONNECTSTRI

NG

The connect string to access a REDIS cache server. For example, to connect to

Azure the connect string might appear as

follows:myname.redis.cache.windows.net,ssl=true,password=VeryLongKeyCopied

FromPortal

For more information, see How to Use Azure Redis Cache

REDIS_PASSWORD Password to access the REDIS server. For Microsoft Azure Redis Cache, enter the

key provided on the Azure Management panel.

Note

Most settings provided during the setup can be modified after installation by editing the

SDNManager.exe.config file

Example unattended installations of the SDN Manager

Database install

msiexec /i SkypeForBusinessSDNManager.msi /quiet /lv* install.log LOGPATH=c:\LogDir TOPOLOGY=2 DATABASE_SERVER=mysqlserver DEBUGLOGGING=All SETUPDB=1 SQL_ADMIN_USER=sa SQL_ADMIN_PASSWORD=mypwd SQLUSER=simpleuser SQLPASSWORD=simplepassword DOMAIN=contoso COMPUTERNAME=thiscomputername USE_SQL_AUTH=1 DATABASE_NAME=sdndb

REDIS install

msiexec /i SkypeForBusinessSDNManager.msi /quiet /lv* install.log LOGPATH=c:\LogDir TOPOLOGY=3 REDIS_CONNECTSTRING=redis.contoso.com;ssl=true REDIS_PASSWORD=myredispwd

Unattended installation of the Dialog Listener

Following are unattended installation parameters for the Dialog Listener.

Parameter Description

INSTALLDIR Specifies the installation destination for the binaries.

CONFIGURATIONURI URI to locate the SDN Manager or pool that serves

the configuration service http://localhost:9333/DL.

ACCOUNTYPE Type of account to run Dialog Listener: "0" for

Network Service account and "1" for a user account.

APPLIED_SERVICE_USERNAME Domain/username for the Dialog Listener Windows

Service account.

Page 53: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 53

Parameter Description

APPLIED_SERVICE_PASSWORD Password for the Dialog Listener Windows Service

account.

THUMBPRINT Thumbprint of the client certificate needed to

contact the SDN Manager.

USE_SRV_RECORD_BOOL If true, then instead of using the configuration

service URI, retrieve the location from the DNS SRV

record.

SKIPREGISTRATION During the installation, a script is executed to

register the Dialog Listener with the Skype for

Business Server. To skip executing this script, set

SKIPREGISTRATION=1.

You must manually perform this registration and

start the Dialog Listener Windows service. An

example of this script can be found under

C:\ProgramData\Microsoft\Skype for Business

Dialog Listener\Register.ps1.

Note

Most settings provided during the setup can be modified after the installation by editing the

DialogListener.exe.config file

Note

When DNS Service Location (SRV) records are used by the Dialog Listener, any configured value

for the parameter CONFIGURATIONURI is ignored. Instead, the URI specified in the SRV record is

used.

An installation using the SKIPREGISTRATION=1 option offers an interesting alternative installation. This

script executed has three major purposes: Perform the registration of Skype for Business SDN Interface

with Skype for Business, so that it forwards request and response messages to the Dialog Listener service,

attempt to activate sending of Incall Quality messages (if available), and to start the service itself.

The registration and activation are only required once for the entire pool and the Dialog Listener Windows

service can be started manually as well as using several other options. As the script also uses some

lengthy verifications whether the Skype for Business Server is ready and set up correctly, this step could

be skipped, speeding up deployment and specifically upgrade processes for experienced administrators.

Doing an unattended uninstall

To do an unattended uninstall, do the following:

For SDN Manager: In the command line, type C:\Windows\System32\msiexec.exe /X{60A580F2-

7B7A-4665-9696-07BE5D9AF15F}

Page 54: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 54

For Dialog Listener: In the command line, type C:\Windows\System32\msiexec.exe /X{640967B9-

CD8D-455F-BAB1-463EBFC51C38}

Note

The product code for the Dialog Listener has changed since the previous release.

Additional resources

Installing the SDN Manager

Skype for Business SDN Interface schema reference

Page 55: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 55

Upgrading from previous version of the SDN

Interface

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

The Skype for Business SDN Interface, version 2.2, supports features to help ensure a smooth upgrade

from versions 2.1 and 2.1.1 in a wide variety of scenarios, including the following:

Installation of the Dialog Listener does not require a restart or downtime of any Skype for Business

Server instance. Regardless, we recommend that you perform upgrades only during off-hours and

with minimal load on all components.

The Dialog Listener, version 2.2, may be installed on a front-end server that already has any previous

version installed. With the exception of the DNS SRV record, both installations can be run

independently.

The SDN Manager, version 2.2, allows you to configure the output schema to be "C" which means the

messages generated should be indistinguishable from what the SDN Manager 2.1.1 produced.

SDN Manager 2.2 can interoperate with Dialog Listener version 2.1 and 2.1.1. No other combination

or version is supported.

Note

It is recommended that you perform the upgrade in multiple steps; that is, first upgrade to 2.1.1

and then to version 2.2.

Upgrading to version 2.2 from version 2.1 or 2.1.1

When upgrading to version 2.2 from versions 2.1 or 2.1.1, use the following guidelines.

The data structure in the SQL Server data store is different and the database used for 2.1/2.1.1 cannot

be used for 2.2. You must set up a new database. In 2.2 you can choose a name for the database (the

default is "SDNManager22").

Upgrade the SDN Manager component first.

During the upgrade, observe the application logs and PerfMon for performance details to ensure that

the remaining system is able to handle the load.

When installing the Dialog Listener 2.2, executing the registration script is not necessary every time

and therefore using the msiexec’s command line option, SKIPREGISTRATION=1, is recommended. In

this case, the service needs to be started manually. (For more information, see Unattended installation

of SDN Manager and Dialog Listener.) You only need to perform the registration once for each pool

for 2.2, but the registration information has changed from 2.1.1.

You should expect a higher rate of errors during the transition to the new version due to missing

information about ongoing calls in the new system.

After the upgrade, you need to manually remove the registration of the previous version in the Skype

for Business Management Console.

Page 56: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 56

If you want to upgrade from a version of the Skype for Business SDN API that is earlier than 2.1, you

must first upgrade to 2.1 or 2.1.1 before upgrading to 2.2. Alternatively, you can simply uninstall the

previous version and reinstall 2.2.

Additional resources Installing the SDN Manager

Skype for Business SDN Interface schema reference

Page 57: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 57

Configuring Skype for Business SDN Interface

2.2

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

Skype for Business SDN Interface 2.2 supports three methods for configuring its components:

Default configuration provided during the setup.

Direct editing of the configuration files, DialogListener.exe.config and SDNManager.exe.config.

By using the SDNManager.exe command line interface.

Most configuration settings provided during the setup are stored in each component's respective

configuration file. In addition, the configuration files allow you to set more configuration settings, as well

as to configure logging behavior. The remaining configuration settings can be edited using the command

line interface.

In this section Configuring SDN Interface logging options

Configuring SDN Interface Dialog Listener

Configuring SDN Interface SDN Manager

Configuring the SDN manager by editing the config file

Configuring SDN Interface using the command prompt

Additional resources Overview of Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 58: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 58

Configuring SDN Interface logging options

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In this article

Configure logging options

Logging configuration options for the Dialog Listener

Logging configuration options for the SDN Manager

Additional resources

Skype for Business SDN Interface version 2.2 uses the logging infrastructure of the Enterprise Libraries 5.0.

You can inspect and modify the configuration file by using the Microsoft Enterprise Library Configuration

Tool. For a complete documentation on the options and capabilities of the logging infrastructure, see

Configuring the Logging Application Block.

The Enterprise Libraries also includes a configuration tool that provides an intuitive graphical user

interface for adding and changing settings for the logging configuration. You can use this tool to

configure the Dialog Listener logging options. This article explains how to configure the logging options

in the DialogListener.exe.config and SDNManager.exe.config files directly.

Configure logging options

To manually set the most common logging configurations, do the following:

1. Open the DialogListener.exe.config or SDNManager.exe.config file, as appropriate, using a text editor

of choice.

2. Search for the <loggingConfiguration> section and make appropriate changes to entries under the

<listeners>, <formatters> and <categorySource> elements.

The <listeners> element specifies the log output, including the log file location and file

rotation policies. They refer to a particular formatter to be used. Each <add> element entry

under <listeners> specifies a type of logging. You can add a new <add> entry to enable a

specified type of logging, remove an <add> entry to disable a specified type of logging, or

change an existing <add> entry to a different type of logging.

The <formatters> element specifies the style for each log entry.

The <categorySource> element specifiesDialog Listener and SDN Manager bindings to

listener log channels. The switchValue attribute can have a value of either Off or All,

indicating whether the log channel is active. For a more thorough investigation of issues, you

must start the debug channel by setting the switchValue to All, as shown in the example

below.

Page 59: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 59

The default configuration ensures that at most ten log files per type are written. Consequently, at most

only the last ten log files are available for each logging type.

Note

Modifying the log settings in the config files does NOT require a restart of the service. These

changes are picked up automatically by the Enterprise Logging functionality.

The examples illustrated updates to the logging configuration files. The first example shows setting the

switchValue to Off. The second example shows modifying the logging file path for the LNEAppLog

logging type.

XML

<add switchValue="All" name="Debug"> <listeners> <add name="LNEAppLog" /> </listeners> </add>

XML

<listeners> <add name="LNEAppLog" type="…" listenerDataType="…" fileName="C:\logdir\DialogListener.log" footer="" formatter="LNEDetailFormatter" header="" rollFileExistsBehavior="Increment" rollInterval="Day" rollSizeKB="100000" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack"/> </listeners>

Logging conf iguration options for the Dialog Listener

The Dialog Listener default configuration supports the following types of logging:

Logging type Description

LNEAppLog Logs the application execution states, including Info

and Error types of data as well as adding activated

debug channel. The output is recorded in the

DialogListener.log file. This file will not contain any

personal identifying information.

AllDataLog Logs all input data, including session initiation (SIP)

messages with session description (SDP) headers,

and raw quality of experience reports.

Page 60: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 60

Logging type Description

QoEInputDataLog Logs the quality of experience raw data from the

Skype for Business Server.

DialogDataLog Logs the dialog data, including SIP messages and

SDP headers.

Logging conf iguration options for the SDN Manager

The SDN Manager default configuration supports the following types of logging:

Logging type Description

LNEAppLog Logs the application execution states, including Info

and Error types of data as well as adding activated

debug channel. The output is recorded in the

SDNManager.log file. This file will not contain any

personal identifying information.

AllOutputLog Logs all output data sent to subscribers. The output

is recorded in the AllOutputManager.log file

AllInputLog Logs all input data received from Dialog Listeners.

This data can be replayed and the output is

recorded in the AllInputManager.log file.

ErrorMsgLog Logs individual messages about processing issues

and the respective error messages for further

investigation. The output is recorded in the

ErrorMsgManager.log file.

LogOutputLog Logs messages received at the Message Receiver

Log Service. The output is recorded in the

LogOutput.log file. For more information, see

Debugging the SDN Interface SDN Manager.

QoEInputDataLog Logs the quality of experience raw data of the

Skype for Business Server received from Dialog

Listeners. The output is recorded in the

QoEInputManager.log file.

QoEDataLog Logs the raw QoE reports. The output is recorded in

the QoEDataManager.log file.

DialogDataLog Logs the dialog data, including SIP messages,

received from the Dialog Listeners. The output is

recorded in the DialogData.log file.

Page 61: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 61

Caution

Both the DialogListener.log and SDNManager.log files do not contain person-identifiable

information, even in debug mode; however, the other log files might contain un-obfuscated user

aliases, names and telephone numbers. Activate these logs with caution.

Additional resources Configuring Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 62: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 62

Configuring SDN Interface Dialog Listener

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In general, the Skype for Business Dialog Listener component obtains its configuration settings using two

mechanisms:

From the DialogListener.exe.config file. These settings have the primary responsibility for locating the

applicable configuration service.

From configuration settings provisioned by the configuration service. These settings how the Dialog

Listener receives, processes and forwards data from the Skype for Business Server front end as well as

how the requests are processed by the SDN Manager.

This article explains how to configure Skype for Business Dialog Listener by editing the

DialogListener.exe.config file. The configuration file is located in the Dialog Listener installation directory,

whose default directory location is C:\Program Files\Microsoft Skype for Business Server\Microsoft Skype

for Business DialogListener\.

Editing the DialogListener.exe.conf ig f ile

You can modify some of the configuration options for the Dialog Listener by directly editing the

DialogListener.exe.config file. These options allow the Dialog Listener to locate the appropriate

configuration service so it can retrieve additional configuration settings. The configurations service is part

of the SDN Manager.

These additional settings that you need to set re execution options, which cannot be configured using the

configuration service, but must be modified manually in the configuration file for each Dialog Listener

instance.

To manually edit Dialog Listener execution options

1. Navigate to the Dialog Listener installation directory, which is located by default at C:\Program

Files\Microsoft Skype for Business Server\Microsoft Skype for Business DialogListener\

2. Open the DialogListener.exe.config file with a text editor of choice.

3. Locate the <appSettings> section and edit the relevant entries as appropriate.

The following example shows an excerpt of the Dialog Listener configuration file that contains the Dialog

Listener execution options:

XML

<appSettings> <add key="configurationserviceuri" value="http://localhost:9333/Settings" /> <add key="configurationcertificate" value="" /> <!-- thumbprint of a client certificate to use to authenticate the DL with the SM --> <add key="configurationrefresh" value="00:01:00" /> <!-- Period for refreshing the settings from the configuration service --> <add key="checkdns" value="false" /> <!-- use a URI provided by the DNS

Page 63: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 63

SRV record for locating the configuration service --> <add key="msplidentifier" value="SDN" /> </appSettings>

In the XML code example, the configurationserviceuri key value specifies the URI to the appropriate

configuration service. For HTTP, the default port number is 9333; for HTTPS the default port number is

9332.

The configurationrefresh key value specifies the time span between which the Dialog Listener checks for

updates to its settings. In the example, this value is set to one minute (00.01:00).

The configurationcertificate key value contains the thumbprint of an installed client certificate for

authenticating the current Dialog Listener to the SDN Manager if HTTPS is used and mutual

authentication is required.

The checkdns key value is used to override the configurationserviceuri key. If it is set to true, the Dialog

Listener is forced to use the URI defined in the DNS SRV record to locate the SDN Manager. For more

information, see Setting up a DNS service location record.

The msplidentifier key value allows you to change the identifier that is used to register with the Skype for

Business Server.

Configuring Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Setting up a DNS service location record

Page 64: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 64

Configuring SDN Interface SDN Manager

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

SDN Manager can run in three different operational modes: cache, database, and Redis. Which of these

three the SDN Manager uses depends on how it stores and shares the state of call streams, as well as its

configurations settings.

Cache mode. When in cache mode, stream state is kept only in local memory and is not shared

among SDN Manager instances. You can only use this option if you run the SDN Manager as a

singleton, or in a primary-secondary failover configuration. When using this option, ensure that there

is enough memory to hold call state data for all active calls during peak times.

Database mode. In the database mode, stream state is stored in a SQL Server database. All of the

configuration settings are shared among all SDN Manager instances that are connected to the same

database.

Redis mode. In Redis mode, the stream state is stored in a Redis in-memory cache system.

When the SDN Manager is asked for settings through its configuration service, it uses the same data store

to maintain these settings. In Cache mode, settings are persisted to prevent you from needing to

reconfigure them after a service restart.

Operational modes of the SDN Manager

The SDN Manager operational mode you select depends on how the Skype for Business SDN Interface is

deployed. For more information about the deployment scenarios, see Deploying Skype for Business SDN

Interface.

Typically, the SDN Manager installation determines all the necessary configuration settings, such as those

for selecting the deployment mode (mode), connecting to the database (statedbserver, statedbusername,

statedbpassword), or connecting to Redis. To change these settings, you must edit them directly in the

configuration file. After the configuration file is edited, you must restart the SDN Manager service for the

changes to take effect. Any further changes to the configuration settings must thereafter be completed by

using the command line interface.

You can also configure SDN Manager to maintain logging information to assist with debugging. For

information about setting or updating the logging configuration, see Configuring SDN Interface logging

options.

Configuring Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 65: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 65

Configuring the SDN manager by editing the

config f ile

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

You can edit the SDNManager.exe.config file to change configuration settings for the SDN Manager. The

SDNManager.exe.config file is located in the default installation directory, where you will also find

SDNManager.exe.

The following example shows how to edit the <appSettings> section in the configuration file:

XML

<appSettings> <add key="configurationserviceuri" value="http://localhost:9333/Settings" /> <add key="configurationrefresh" value="00:00:30" /> <!-- LSM: Period for refreshing the settings from the store --> <add key="configurationcertificate" value="" /> <!-- thumbprint of a client certificate to use to authenticate the SDNManager with the configuration service --> <add key="checkdns" value="false" /> <!-- Decide to choose the DNS record to locate the configuration service --> <add key="mode" value="Redis" /> <!-- Cache, Database, Redis - mode how to store call states and settings --> <add key="statedbserver" value="mySQLServer" /> <!-- Database server and credential for accessing call state and settings --> <add key="statedbname" value="sdnmanager22" /> <!-- Database name --> <add key="statedbusername" value="" /> <!-- empty for integrated security --> <add key="statedbpassword" value="" /> <add key="redisconnectstring" value="poolSdn.redis.cache.windows.net,ssl=true" /> <!-- Connect string to redis service --> <add key="redispassword" value="123456789012345678901234567890=" /> <!-- Password string to redis service --> <add key="Identifier" value="MySDN" /> <!-- Differentiator for LSM configurations --> </appSettings>

In the example code, the Mode key value describes the operational mode of the SDN Manager (cache,

database, or Redis). All SDN Manager instances in a SDN Manager pool must have the same setting. The

SDN Manager itself uses the configuration service to periodically retrieve updates to the configuration

settings. Usually, it will use its own configuration service, but the configurationserviceuri key value lets

you point to another SDN Manager to maintain the configuration data.

The configurationrefresh key value indicates how often the SDN Manager updates changes in its data

store. In the example, this value is set to every 30 seconds (00:00:30) The configurationcertificate key

value is used to authenticate the SDN Manager to the configuration service.

The checkdns key value is a Boolean and, if true, indicates there is an alternative to using a DNS SRV

record to locate the configuration service.

Page 66: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 66

The StateDbServer, StateDbName, StateDbUserName, and StateDbPassword key values describe the

connection to the shared SDN Manager database. If no user name is specified, integrated security is used.

The statedbserver value can be an SQL Server database name (other than "localhost") or an SQL Server

instance name.

Similarly, the RedisConnectString and RedisPassword key values are used to connect a Redis cache

service. The Identifier key value allows you to distinguish between different SDN Manager instances in a

pool using the same Redis data store.

Important

Changes to the configuration file will take effect only after restarting the service.

Configuring Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 67: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 67

Configuring SDN Interface using the

command prompt Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In this article

Command-line commands

Example commands for viewing settings

SDN manager configuration settings

Dialog Listener configuration settings

Subscriber configuration settings

Most settings used by the Dialog Listener and SDN Manager are kept in the central data store (local

cache, SQL Server database, or Redis cache) that is managed by the configuration service. These settings

can be accessed and modified through a command line tool (SDNManager.exe). SDNManager.exe can

also get and set limits for quality metrics of call streams from the QoEMetrics database.

Note

The command line tool must connect to running Connection Service/SDN Manager (or SDN

Manager pool). Using a local copy of the SDNManager.exe allows you to connect to any

configuration service, but the default instance is the one used by the installation itself.

Configuration settings are divided into three groups:

Manager. (m)anager settings are used by the SDN Manager component.

Listener. (l)istener settings are used by the Dialog Listener component installed on a specified pool

of Skype for Business Server front end machines. When a Dialog Listener installed on a new pool

connects to the configuration service (which is running on an SDN Manager) a new group of Dialog

Listener settings is generated for the fully qualified domain name of the Skype for Business Server

front end pool.

Subscriber. (s)ubscriber settings are used for a specified receiver of the media stream, call, and

quality messages. You need to manually create a settings group for each receiver.

Note

Listener and manager settings are populated by default, but subscriber settings are not set until a

subscriber is created. Also note that only one manager setting can be used.

This article contains the following section:

Command-line commands

Example commands for viewing settings

SDN manager configuration settings

Dialog Listener configuration settings

Subscriber configuration settings

Page 68: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 68

Command-line commands

The command-line executable, SDNManager.exe, is located in the SDN Manager installation directory,

which by default is located at C:\Program Files\Microsoft Skype for Business Server\Microsoft Skype for

Business SDN Manager. The command-line interface provides three categories of commands:

CRUD (create, read, update, delete) operation commands on listener, subscriber, and manager

settings.

A command to download and sync threshold limit settings from the QoEMetrics database.

Replay recorded log commands, which are debugging and test operations. For more information, see

Debugging the SDN Interface SDN Manager.

Each command allows you to explicitly specify the URI and, if necessary, client certificate thumbprint to

connect to the configuration service to update settings or to the SDN Manager service to execute a replay

file.

To access help on the available commands, enter the following at the command prompt: C:\ >

SDNManager.exe /?. The command produces the following output:

Skype for Business SDN Manager 2.2, Build Version: 6.0.9319.xx Copyright (C) Microsoft Corporation. All rights reserved. /? Help

/u(pload) m(anager) filename [http(s)://site] [thumbprint]

/u(pload) s(ubscriber) subscriberid filename [http(s)://site] [thumbprint]

/u(pload) l(istener) dialoglistenerid filename [http(s)://site] [thumbprint]

.... Upload & store

configuration into the datastore

through the SDN Manager service referred to by the url or the

local service

using the client certificate thumbprint.

/d(ownload) m(anager) [filename] [http(s)://site/Settings] [thumbprint]

/d(ownload) s(ubscriber) [subscriberid] [filename] [http(s)://site]

[thumbprint]

/d(ownload) l(istener) [dialoglistenerid] [filename] [http(s)://site]

[thumbprint]

.... Download configuration from the store into a local file from

the

SDN Manager service (referred to by the url or the local

service)

using the client certificate thumbprint.

/p(arameter) m(anager) name=value [http(s)://site] [thumbprint]

/p(arameter) s(ubscriber) subscriberid name=value [http(s)://site]

[thumbprint]

/p(arameter) l(istener) dialoglistenerid name=value [http(s)://site]

[thumbprint]

.... Set an individual

configuration value in the SDN Manager service (referred to

by the url

Page 69: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 69

or the local service) using the client certificate

thumbprint.

/r(emove) s(ubscriber) subscriberid [http(s)://site] [thumbprint]

/r(emove) l(istener) dialoglistenerid [http(s)://site] [thumbprint]

.... Remove or reset a settings group

in the SDN Manager service (referred to by the url

or the local service) using the client certificate

thumbprint.

/e filename [http(s)://site] [thumbprint]

.... Send content of the file as messages to the

SDN Manager service (referred to by the url or the local

service)

using the client certificate thumbprint

and process these messages.

/et filename [http(s)://site] [thumbprint]

.... Send content of file as messages to the

SDN Manager service (referred to by the url or the local

service)

using the client certificate thumbprint

and process these messages with the given timing preserved.

/q dbserver [user] [password] [http(s)://site] [thumbprint]

.... Retrieve threshold values from a QoE database with the

specified user

name and password and store them in the SDN Manager service

(referred to by the url or the local service)

using the client certificate thumbprint.

[] ... optional parameter

Example for SDNManager uris: http://server:9333/Settings or

http://localhost:9333/DL

Example commands for viewing settings

Use the following example commands to view settings.

Sdnmanager.exe d l

Displays all configured Dialog Listener settings. You will get one record after a Dialog Listener has

started up and requested settings.

Sdnmanager.exe d s

Displays all configured subscriber settings.

Sdnmanager.exe p s mynms submituri=http://my_nms/sdn

Page 70: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 70

Modifies the submituri setting for my_nms or creates new settings group for my_nms if one does

not already exist. Similarly, you can then modify other settings to adjust the output behavior

(signaling, quality, sendrawsdp, and so forth).

Sdnmanager.exe d s mynms mysettings.xml

https://sdnhost:9333/Settings 23991123649b4cfcb48ccf14f2d08601221caa2c

Connects to a configuration service running on sdnpool using https; a client certificate selected using

its thumbprint is used to authenticate the request. The request downloads the mynms subscriber

settings and saves them in the mysettings.xml file.

Sdnmanager.exe u s mynms mysettings.xml

Upload settings saved using the previous commands.

For a complete example of the output, see Appendix to Skype for Business SDN Interface. In addition, you

can get all the threshold settings from the Skype for Business Server QoEMetrics database. The SDN

Manager uses the downloaded thresholds to update the corresponding manager settings, as shown here

C:\>SDNManager.exe /q mySfB_BackEnd\monitoring. In the example, the fragment

mySfB_BackEnd\monitoring represents the SQL Server instance hosting the Skype for Business Server

QoEMetrics database. The command updates the threshold limits used to determine stream quality.

Page 71: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 71

SDN manager conf iguration settings

The manager settings group provides settings for the general operation of the SDN Manager. An

example of the output of the manager settings can be found in the Appendix to Skype for Business SDN

Interface.

Setting Description

calltimeout Maximum time expected for a call, after the call is

assumed to be terminated and cleaned up.

invitetimeout Maximum time expected for ringing, before either

an error should be processed or the user should

have picked up the call.

qoetimeout Maximum time to wait for the second raw QoE

report before forwarding a merged report to the

subscriber(s).

endedtimeout Maximum time to wait after an Ended message is

received before cleaning up the call if no raw QoE

report is received.

maxcachesize Maximum number of call states cached in the

internal cache when in cache mode.

timeouthandlerperiod Time interval between checks for call timeouts in

the data store.

hidepii Set to true (the default value) to obfuscate or hide

personal identifiable information (PII) in messages.

Set to false to see PII, in particular a full SIP UI that

includes the account name and telephone numbers.

In addition to these configuration settings, the configuration file also contains a list of threshold values

used by SDN Manager to determine stream quality. These threshold values are used for determining call

quality.

There are two threshold values for each metric: Optimal and Acceptable. The values define the three

quality bands for each modality. For a call stream to have the Good quality, all the quality metrics must be

below (better than) the Optimal level. A call is of Poor quality when all the metrics are below the

Acceptable threshold and one or more of them are above the Optimal threshold. A call is Bad when one

or more of the metrics are above (worse than) the Acceptable threshold.

You can modify these threshold settings by using the SDNManager.exe /p the /q command. The /p

command updates the value individually and the /q command downloads and updates all of the

threshold settings from the Skype for Business Server QoEMetrics database.

Page 72: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 72

Dialog Listener conf iguration settings

The listener settings group contains settings for the Dialog Listener running on a pool of Skype for

Business front-end servers. Each server pool connected to the configuration service has its own settings

group; however, all server front-ends in the pool use the same settings. Each pool is identified by its pool

fully qualified domain name. You can find examples of output for the listener settings in the Appendix to

Skype for Business SDN Interface.

Setting Description

submituri Specifies the URI to the SDN Manager instance or

pool.

alternativeuri Specifies an alternative SDN Manager or disaster

failover SDN Manager pool.

clientcertificateid If a HTTPS connection is used to connect with the

SDN Manager instance or pool, this parameter

contains the thumbprint of the client certificate to

use to authenticate the requests to the server.

submitqueuelen Sets the maximum unanswered and waiting

messages to the SDN Manager. Change this value

only if network conditions require a longer queue

length caused by fluctuating delays in message

deliveries to the SDN Manager instance or pool.

maxretry Specifies the maximum number of retransmission

attempts before a message is dropped.

maxdelaylimit Specifies the number of transmission failures before

slowing down the transmission of call and quality

messages.

maxbackoff Specifies the maximum number of seconds to delay

message delivery upon transmission errors. The

delay starts at one second and increments another

second with every failed delivery up to the specified

maxbackoff setting.

maxopen Specifies the maximum number of messages sent

concurrently.

maxretrybeforefailover Specifies the maximum number of message

transmission failures before attempting to fail over

to the alternative SDN Manager instance or pool, if

configured.

Page 73: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 73

Subscriber conf iguration settings

The subscriber settings group describes the behavior that each subscriber expects. You can see an

example of output from subscriber settings in the Appendix to Skype for Business SDN Interface.

Setting Description

submituri Specifies the URI of the receiver (network controller,

network management system, or ITPro tool) that

receives media stream and stream quality data.

outputschema Specifies the format of the output messages.

Choose "C" for generating the same message

structure as in Lync SDN Interface 2.1 and 2.1.1.

Select "D" (the default) for the new expanded

structure introduced with Skype for Business SDN

Interface 2.2. Both schemas are documented in

Skype for Business SDN Interface schema reference.

clientcertificateid If a HTTPS connection is used to connect to the

recipients, this parameter contains the thumbprint

of the client certificate for authenticating requests

to the server.

domainfilters A comma-separated list of partial domain names for

users. This subscriber receives call and quality

messages for users that are in the specified

domains. If no domain name is specified, no

messages are filtered.

subnetfilters A comma-separated list of subnets (IP4 or IPv6).

The subscriber receives data about calls originating

or being received in one of these subnets. To

specify a subnet, use the format: 196.168.0.0/16 or

2001:4898::dc76:194f%32.

tenantfilters A comma-separated list of TenantIds as used in

Skype for Business Online, for which the subscriber

receives call and stream quality data.

trunkfilters A comma-separated list of SIP trunk names defined

in Skype for Business, for which the subscriber

receives call and stream quality data.

quality Boolean that specifies whether to send the

subscriber QualityUpdate and InCallQuality

messages. True to send messages; False if no

messages are to be sent.

Page 74: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 74

Setting Description

signaling Boolean that specifies whether to send <Invite>,

<Error> and <Bye> messages to the subscriber.

True to send messages.

sendrawsdp Set value to True to forward SDP information to the

subscriber (using the <RawSDP> tag). Set to False

to prevent sending raw SDP content to this

subscriber.

maxretry Specifies the maximum number of retransmission

attempts before a message is dropped.

maxdelaylimit Specifies the number of transmission failures before

slowing down the transmission of call and quality

messages.

maxbackoff Specifies the maximum number of seconds to delay

message delivery upon transmission errors. The

delay starts at one second and increments another

second with every failed delivery up to the specified

maxbackoff setting.

maxopen Specifies the maximum number of messages sent

concurrently to the subscriber.

submitqueuelen Specifies the maximum unanswered and waiting

messages to send to this recipient. Change this

value only if network conditions require a longer

queue length caused by fluctuating delays in

messages delivered to the subscriber.

Configuring Skype for Business SDN Interface 2.2

Skype for Business SDN Interface schema reference

Page 75: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 75

Running and debugging Skype for Business

SDN Interface Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

This section describes how to run, log, and debug the Skype for Business SDN Interface.

In this article

Running the SDN Interface Dialog Listener

Running the SDN Interface SDN Manager

Debugging the SDN Interface Dialog Listener

Debugging the SDN Interface SDN Manager

Monitoring the SDN Manager and Dialog Listener

SDN Manager and Dialog Listener performance counters

Uninstalling the SDN Interface components

Configuring the Skype for Business Client

Using SIP Obfuscator for the SDN Interface

Page 76: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 76

Running the SDN Interface Dialog Listener Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

This section describes how to run the Dialog Listener as a Windows service and console application.

The Dialog Listener setup wizards install, configure, and start the Dialog Listener as a Windows service.

With the default configuration, the service is set to start automatically. You can restart it after the

configuration is changed or when the service fails. You can use the Windows Services panel to verify the

service and reconfigure it. The Windows Services panel lets you change the credentials that you use to run

the service. These credentials are used to access the Skype for Business, as long as the service is run from

an account that is in the RTC Server Applications group and granted the logon as service rights in the local

Group Policy.

In general, the Dialog Listener executes as Windows service. In some case, particularly for debugging and

for replay, you can run the Dialog Listener as a console application from the command prompt.

Note

Unlike the SDN Manager, you cannot run the service and the command line tool at the same time.

Running Dialog Listener as a Windows service

1. Start the Windows Services application as shown in Figure 1.

2. Locate the Dialog Listener entry.

Figure 1. The Windows services window

3. If Dialog Listener is not already started, right-click the entry to select the Properties menu item. Click

Start to restart the service, then click OK after the service is restarted.

Page 77: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 77

Figure 2. Dialog listener properties dialog box

If the service does not start, you may need different user credentials. The user must also be in the

local RTC Server Applications security group. You can change the user credentials to run the service by

using the Dialog Listener Properties dialog box as shown in Figure 2.

Running the Dialog Listener as a console application

To run the Dialog Listener as a console application, launch DialogListener.exe without any parameter; this

starts the service as a console application.

Running the Dialog Listener as a console application gives you more feedback from the Dialog Listener

service, in particular around issues related to startup and connecting to the Skype for Business Server. It

also helps you identify credential-related issues pertaining to the Dialog Listener having appropriate

access rights.

Page 78: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 78

Running the SDN Interface SDN Manager Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

This section describes how to run Skype for Business SDN Manager as a Windows service and as a console

application.

The SDN Manager setup wizard will install, configure, and start SDN Manager service. By default, the SDN

Manager service is configured to run automatically. However, you may need to restart the service after

changing the settings or if the service fails.

Open the Windows Services utility to determine whether the service is running and, if not, reconfigure and

start it. The Windows Services panel also let you change the credentials that are used to run the service.

In general, you run the SDN Manager as a Windows service. In some cases, especially for debugging, you

may want to run the SDN Manager as a console application.

Running the SDN Manager as a Windows service

1. Start Windows Services utility.

2. Search for SDN Manager entry.

3. If SDN Manager is not already started, right-click the entry to select the Properties menu item. Click

Start to restart the service. Click OK after the service is restarted.

Page 79: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 79

Figure 1. SDN Manager properties dialog box

Note

You can control the service using the windows net or sc commands, for example, sc start

"Skype for Business SDN Manager".

Running the SDN Manager as console application

Start SDNManager.exe without any parameter and it will start the SDN Manager service in a console

application.

Note

If you specify any command line parameter, SDN Manager will not start as a service but instead

attempts to execute specified command line arguments in an active SDN Manager instance or

pool.

Page 80: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 80

Debugging the SDN Interface Dialog Listener Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

Troubleshooting installation of Dialog Listener

DialogListener.exe is a Skype for Business Server application and uses SPL (MSPL) to connect to Skype for

Business Server. Therefore, it must be registered with the Skype for Business Server. When an installation

of the Dialog Listener fails, it may be due to the Dialog Listener not being properly registered. To

troubleshoot, verify that the application is registered by running the Get-CsServerApplication cmdlet from

the Skype for Business Server Management Shell.

Start the Skype for Business Server Management Shell.

Issue the following cmdlet in the Skype for Business Server Management Shell window:

Get-CsServerApplication

Verify that the following entry (or a similar one) is displayed as the cmdlet the output:

If such an entry is not shown in the output, ensure that you are running in an administrator account

that is also member of the RTC Server Applications local group before you install Dialog Listener. You

may manually configure a registration similar to the one shown.

Check whether the current Skype for Business front-end server is synchronized by executing the Get-

CsManagementStoreReplicationStatus command. This operation may take several minutes and may

time out if the synchronization fails.

Check whether QoE reporting is activated for this particular Skype for Business Server pool by using

the Get-CsQoEConfiguration command.

It is possible that the Dialog Listener service does not start due to incompatible or incorrect

credentials. You can verify and update the credentials by starting the Dialog Listener service at the

command prompt.

Page 81: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 81

An example of the registration script named "Register.ps1" can be found in the folder C:\Program

Files\Microsoft Skype for Business Server\Microsoft Skype for Business Dialog Listener.

Verifying operations of Dialog Listener service

To confirm that the installation is successful, do the following:

1. Verify that the DialogListener.exe service has started by opening Windows Task Manager.

2. After running the Setup, you can confirm that the installation is successful by checking the

Diagnostics.log file and verifying that there are no errors reported in the log file.

Page 82: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 82

Debugging the SDN Interface SDN Manager Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In this article

Activating WCF service logging

Using the Message Receiver log service

Replaying logs

The Skype for Business SDN Interface provides several advanced features to improve security and to help

you debug configuration issues.

Activating WCF service logging

The SDN Manager supports advanced debugging by using the Windows Communication Foundation

(WCF). Instead of detailing how to use or change this, we provide an example as an illustration as follows.

For complete information on this subject, see the WCF documentation. By uncommenting and

customizing the section that follows, which is an excerpt from an SDNManager.exe.config file, you can

receive low level debugging logs from the WCF service.

XML

<!--<system.diagnostics> <trace autoflush="true" indentsize="4"> <listeners> <add name="file" type="System.Diagnostics.TextWriterTraceListener" initializeData="trace.log"/> </listeners> </trace> <sources> <source name="System.Net"> <listeners> <add name="System.Net"/> </listeners> </source> <source name="System.Net.HttpListener"> <listeners> <add name="System.Net"/> </listeners> </source> <source name="System.Net.Sockets"> <listeners> <add name="System.Net"/> </listeners> </source> <source name="System.Net.Cache"> <listeners> <add name="System.Net"/> </listeners> </source> <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">

Page 83: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 83

<listeners> <add name="sdt" type="System.Diagnostics.XmlWriterTraceListener" initializeData= "c:\logdir\log.e2e" /> </listeners> </source> </sources> <switches> <add name="System.Net" value="Verbose"/> <add name="System.Net.Sockets" value="Verbose"/> <add name="System.Net.Cache" value="Verbose"/> <add name="System.Net.HttpListener" value="Verbose" /> </switches> <sharedListeners> <add name="System.Net" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\logdir\Tracing.log" traceOutputOptions = "DateTime" /> </sharedListeners> </system.diagnostics>-->

Using the Message Receiver log service

The SDN Manager contains a simple REST web service component that can act as a subscriber and receive

messages and log them for later analysis. You can use this built-in service to simulate a SDN Interface-

aware network controller or other subscriber.

The log service can be started using both HTTP and HTTPS and will receive random XML messages and to

log them to the "LogOutput.log" log file (RelayData – log channel).

<service name="Microsoft.Rtc.Enlightenment.Hub.LogService"> <endpoint address="http://localhost:9333/Log" behaviorConfiguration="webby" bindingConfiguration="wsHttpEndpointBindingNoSec" binding="webHttpBinding" name="ep1" contract="Microsoft.Rtc.Enlightenment.Hub.ILogService" /> <endpoint address="https://localhost:9332/Log" behaviorConfiguration="webby" binding="webHttpBinding" bindingConfiguration="wsHttpEndpointBindingNoCert" name="ep1" contract="Microsoft.Rtc.Enlightenment.Hub.ILogService"> <identity> <dns value="ServerSideCert" /> </identity> </endpoint> </service>

You can configure the subscriber to use the log service by setting the submitUri key value to

"http://localhost:9333/Log/PostStuffHere", instead of an actual network controller’s web service address

like SDNManager.exe p s logsrv submituri=http://localhost:9333/Log/PostStuffHere.

Note

You can also view the last megabyte of messages received by browsing to

http://localhost:9333/Log/GetStuffHere.

Page 84: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 84

Replaying logs

As another debugging feature, the SDN Manager allows you to replay recorded input logs. The SDN

Manager can log all messages it receives from the Dialog Listener. By using the SDN Manager command

line tool, you can send such a log to the SDN Manager service and have it replayed and executed.

Furthermore, the logs can be replayed with or without the original timing.

To replay logs, do the following:

1. Activate logging AllInputLog Listener in the SDNManager.exe.config file (see Configuring SDN

Interface logging options). Only the logs generated by the SDN Manager can be replayed from this

Listener.

2. Launch the SDNManager.exe using the /e or /et parameters to replay a portion of recorded logs, for

example, from the file AllInput.log.

3. Launch the DialogListener.exe using either the /e or /et parameters to replay recorded SIP log files

either recorded by the SDN Manager or from Skype for Business Server itself using OcsLogger.exe or

Snooper.exe.

Page 85: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 85

Monitoring the SDN Manager and Dialog

Listener Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In addition to supporting internal logging, the Dialog Listener and SDN Manager also send events to the

Windows event log. This lets you monitor the operational status of the Skype for Business SDN Interface

components by examining event entries in the Windows Event Viewer (Figure 1). For example, the

operational status message reports that the SDN Manager or Dialog Listener service has started or

stopped and also report error conditions that include connection failures to the Skype for Business Server

and database, or between the SDN Manager and Dialog Listener.

Figure 1. Windows Event Viewer

Page 86: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 86

SDN Manager and Dialog Listener

performance counters Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

The SDN Manager and Dialog Listener provide performance counters that you can access using Perfmon.

The performance counters are described in the following table and may be accessed using Perfmon.

Figure 1. Performance counters for Dialog Listener and SDN Manager

Page 87: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 87

SDN Manager performance counters

Performance counter Description

# Messages received Total number of call related messages received

# call messages sent overall Total number of call related messages sent

successfully - counting every destination

# unique call messages sent Total number of unique call related messages

attempted to send (regardless of how many

destinations)

# call messages failed Total number of send failures (regardless whether

resending succeeded)

# undelivered messages Total number messages that were not received at a

destination - even with attempting to resend

# messages failed processing Total number messages that failed during

processing

# messages / sec Number of messages sent per second

# length of longest queue Longest send message queue

# incoming messages / sec Rate of incoming call related messages

# messages processing time (ms) Processing time per message (ms)

# calls tracked in the cache Number of messages currently in the state cache

# collisions in the cache Number of colliding concurrent updates in the state

cache

# of past due calls being processed Number of calls being processed for a state update

being past due

# Average message delivery time Time in milliseconds from attempting to send a

message to actually receive a delivery confirmation

(including resending attempts).

# messages attempting to send Number of messages being attempted to send

concurrently.

# calls completed Number of calls completed.

# calls timed out Number of calls completed with a timeout.

# calls completed/sec Rate of calls completed per second.

# calls timed out/sec Rate of calls timing out per second.

Page 88: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 88

Dialog Listener performance counters

Performance counter Description

# Messages received Total number of call related messages received

# call messages sent overall Total number of call related messages sent

successfully - counting every destination

# unique call messages sent Total number of unique call related messages

attempted to send (regardless of to how many

destinations)

# call messages failed Total number of send failures (regardless whether

resending succeeded

# undelivered messages Total number messages that were not received at a

destination - even when there were attempts to

resend them.

# messages failed processing Total number messages that failed during

processing

# messages / sec Number of messages sent per second

# length of longest queue Longest send-message queue

# messages attempted to send Number of messages currently attempted to send.

# messages attempted to send overall Number of messages overall attempted to send.

# Average message delivery time Time in ms from attempting to send a message to

actually receive a delivery confirmation (including

resending attempts).

Page 89: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 89

Uninstalling the SDN Interface components Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In this article

Uninstalling the Skype for Business SDN Interface

Uninstall the Dialog Listener

Uninstall the SDN Manager

Unregister Dialog Listener

This section describes how to uninstall Skype for Business SDN Interface components, the Dialog Listener

and the SDN Manager services.

Uninstalling the Skype for Business SDN Interface

Removing the Skype for Business SDN Interface involves removing and unregistering the Dialog Listener,

and uninstalling the SDN Manager.

Uninstall the Dialog Listener

1. On the server on which the Dialog Listener is installed, open the Control Panel, then open Program

and Features.

2. Select Skype for Business Server Dialog Listener.

3. Right-click the selection and select Uninstall.

Uninstall the SDN Manager

1. On the server on which the SDN Manager is installed, open the Control Panel, then open Program

and Features.

2. Select Skype for Business ServerSDN Manager

3. Right-click the selection and select Uninstall.

Page 90: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 90

Unregister Dialog Listener

To unregister Dialog Listener as a Skype for Business Server application, do the following:

Start a Skype for Business Management Shell and invoke the following cmdlet:

Remove-CsServerApplication -Identity <app identity>

Where <app identity> is the application identity string.

Example: Service:registrar:pool1.contoso.com/Diagnostics. You can follow the example shown in Installing

Skype for Business SDN Interface 2.2 for using Get-CsServerApplication cmdlet to discover the <app

identity> value for the application.

Note

Removing the registration will deactivate all Dialog Listener instances on any front-ends deployed

in this pool.

Uninstalling all Dialog Listener instances in a pool won’t unregister the SDN Interface application.

You need to do this manual.

Page 91: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 91

Using SIP Obfuscator for the SDN Interface Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

The Skype for Business SDN Interface includes a utility named SIPObfuscator.exe for use by authorized

partners that you can use to obtain the obfuscated value of a user name. The resultant obfuscated name

can be used to query for dialog data involving the specified user when privacy protection is turned on.

SipObfuscator.exe requires that .NET Framework 4.5 be installed.

SIP Obfuscator

When privacy protection is turned on in the SDN Manager, personal identifiable information in Skype for

Business call and quality data is obfuscated by replacing identifying information with a SIP alias. For

example, the SIP Uri of sip:[email protected] might be replaced by

sip:[email protected]. When the network traffic patterns of a single user is specified, the

SIP Obfuscator utility allows you to determine the obfuscated user's identity.

SIP Obfuscator is a Windows console application that is installed along with installations of the SDN

Manager and Dialog Listener.

To use SIP Obfuscator, do the following:

1. Select a known user name, for example, adama.

2. Type the following command in a Windows console and press Enter.

SIPObfuscator adama

3. The obfuscated user name is displayed as output, for example:

CE6AF05C9705A05E

To search for the data records associated with this user (sip:[email protected]), you can search for the

records containing sip:[email protected]. An example of such an obfuscated data record

is shown as follows:

<Start Type="audio"> <From> <Id>87c1bcf104</Id> <EPId>1579d442a7</EPId> <URI>sip:[email protected]</URI> …… </From> </Start>

Note

IP addresses are never obfuscated in sfbSdn because they are essential information for identifying

the streams in the network.

Page 92: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 92

Appendix to Skype for Business SDN Interface Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

The Appendix contains examples of the SDN Manager and Dialog Listener configuration files, example

input and output for the Dialog Listener console application, and instructions for using the SIP Obfuscator

with the Skype for Business SDN Interface.

In this article

Installing the trusted root certificate

Dialog Listener configuration file example

SDN Manager configuration file example

SDN Manager command-line example

SDN Interface Bandwidth Estimates

SDN Interface Performance Overview

Page 93: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 93

Installing the trusted root certif icate Applies to: Lync Server 2010 | Lync Server 2013 | SharePoint Foundation 2013 | SharePoint Online |

SharePoint Server 2013 | Skype for Business 2015

Installing a trusted root certificate is necessary only if you are notified that the certificate of authority is

not trusted on any machine. This can occur when you use a private or custom certificate server instead of

acquiring certificates from an established public certificate of authority.

Installing a trusted root certif icate

1. On the machine that requires a certificate, in your web browser, navigate to your local certification

server. This should be the same certificate of authority used for generating the server and, optionally,

client certificates.

2. Choose Download a CA certificate, certificate chain, or CRL link, as needed.

3. Select the appropriate certificate of authority from the list and choose the Base 64 Encoding method.

4. Choose the Download CA certificate link and then choose Open option when prompted to open or

save the certificate.

5. When the certificate window opens, choose Install Certificate…. The Certificate Import wizard

appears.

6. In the wizard, choose Next. Then, when you are prompted for the Certificate Store, choose Place all

certificates in the following store. Select the Trusted Root Certification Authorities store.

7. Complete the remaining steps of the wizard and click Finish.

Upon completing the wizard, you next want to add the certificate snap-ins using the Microsoft

Management Console (MMC).

Adding certif icate snap-ins

1. Launch MMC (mmc.exe).

2. Choose File > Add/Remove Snap-ins.

3. Choose Certificates, then choose Add.

4. Choose My user account.

5. Choose Add again and this time select Computer Account.

6. Move the new certificate from the Certificates-Current User > Trusted Root Certification

Authorities into Certificates (Local Computer) > Trusted Root Certification Authorities.

Overview of Skype for Business SDN Interface 2.2

Appendix to Skype for Business SDN Interface

Page 94: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 94

Dialog Listener configuration f ile example Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

The following code sample is an example of the Dialog Listener configuration file.

A sample of DialogListener.exe.config f ile XML

<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/> </configSections> <loggingConfiguration name="" tracingEnabled="true" defaultCategory="Error"> <listeners> <add name="LNEAppLog" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="c:\logdir\DialogListener.log" footer="" formatter="LNEDetailFormatter" maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment" rollInterval="Day" rollSizeKB="10000" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack"/> <add name="AllDataLog" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="c:\logdir\AllData.log" footer="" formatter="SimpleOutput" maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment" rollInterval="Day" rollSizeKB="10000"/> <add name="QoEInputDataLog" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="c:\logdir\QoEInputData.log" footer="" formatter="SimpleOutput" maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment" rollInterval="Day" rollSizeKB="10000"/> <add name="DialogDataLog" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFil

Page 95: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 95

eTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" fileName="c:\logdir\DialogData.log" footer="" formatter="SimpleOutput" maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment" rollInterval="Day" rollSizeKB="10000"/> </listeners> <formatters> <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="{timestamp(local:O)}{tab}{message}{tab}{dictionary({tab}{key}: {value})}" name="LNEOverviewFormatter"/> <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="{timestamp(local:O)}{tab}[{category}]{tab}{message}{tab}{dictionary({tab}{key}: {value})}" name="LNEDetailFormatter"/> <add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="{message}{newline}" name="SimpleOutput"/> </formatters> <categorySources> <add switchValue="All" name="Debug"> <listeners> <add name="LNEAppLog"/> </listeners> </add> <add switchValue="All" name="Error"> <listeners> <add name="LNEAppLog"/> </listeners> </add> <add switchValue="All" name="QoEInputData"> <listeners> <add name="QoEInputDataLog"/> <add name="AllDataLog"/> </listeners> </add> <add switchValue="All" name="DialogData"> <listeners> <add name="AllDataLog"/> <add name="DialogDataLog"/> </listeners> </add> <add switchValue="All" name="Info"> <listeners> <add name="LNEAppLog"/> </listeners> </add> <add switchValue="All" name="TransmissionError"> <listeners> <add name="LNEAppLog"/> </listeners> </add>

Page 96: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 96

</categorySources> <specialSources> <allEvents switchValue="All" name="All Events"/> <notProcessed switchValue="ActivityTracing" name="Unprocessed Category"> <listeners> <add name="LNEAppLog"/> </listeners> </notProcessed> <errors switchValue="All" name="Logging Errors &amp; Warnings"> <listeners> <add name="LNEAppLog"/> </listeners> </errors> </specialSources> </loggingConfiguration> <appSettings> <add key="configurationserviceuri" value="http://localhost:9333/Settings"/> <add key="configurationcertificate" value=""/> <!-- thumbprint of a client certificate to use to authenticate the DL with the SM --> <add key="configurationrefresh" value="00:01:00"/> <!-- Period for refreshing the settings from the configuration service --> <add key="checkdns" value="False"/> <!-- use a URI provided by the DNS SRV record for locating the configuration service --> <add key="msplidentifier" value="SDN22"/> </appSettings> </configuration>

Page 97: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 97

SDN Manager configuration f ile example Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

The following is an example of the SDN Manager configuration file (SDNManager.exe.config).

A sample of the SDNManager.exe.conf ig f ile

XML

<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true"/> </configSections>

<loggingConfiguration name="" tracingEnabled="true" defaultCategory="Error">

<listeners>

<add name="LNEAppLog"

type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFil

eTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.Rol

lingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging,

Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fileName="c:\logdir\SDNManager.log" footer="" formatter="LNEDetailFormatter"

maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment"

rollInterval="Day" rollSizeKB="10000" traceOutputOptions="LogicalOperationStack,

DateTime, Timestamp, ProcessId, ThreadId, Callstack"/>

<add name="AllOutputLog"

type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFil

eTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.Rol

lingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging,

Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fileName="c:\logdir\AllOutputManager.log" footer="" formatter="SimpleOutput"

maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment"

rollInterval="Day" rollSizeKB="10000"/>

<add name="AllInputLog"

type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFil

eTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.Rol

Page 98: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 98

lingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging,

Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fileName="c:\logdir\AllInputManager.log" footer="" formatter="SimpleOutput"

maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment"

rollInterval="Day" rollSizeKB="10000"/>

<add name="ErrorMsgLog"

type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFil

eTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.Rol

lingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging,

Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fileName="c:\logdir\ErrorMsgManager.log" footer="---------------"

formatter="LNEDetailFormatter" maxArchivedFiles="10" header=""

rollFileExistsBehavior="Increment" rollInterval="Day" rollSizeKB="10000"/>

<add name="LogOutputLog"

type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFil

eTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.Rol

lingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging,

Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fileName="c:\logdir\LogOutput.log" footer="" formatter="SimpleOutput"

maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment"

rollInterval="Day" rollSizeKB="10000"/>

<add name="QoEInputDataLog"

type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFil

eTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.Rol

lingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging,

Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fileName="c:\logdir\QoEInputManager.log" footer="" formatter="SimpleOutput"

maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment"

rollInterval="Day" rollSizeKB="10000"/>

<add name="QoEDataLog"

type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFil

eTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.Rol

lingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging,

Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fileName="c:\logdir\QoEDataManager.log" footer="" formatter="SimpleOutput"

maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment"

rollInterval="Day" rollSizeKB="10000"/>

<add name="DialogDataLog"

type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFil

Page 99: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 99

eTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.Rol

lingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging,

Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fileName="c:\logdir\DialogData.log" footer="" formatter="SimpleOutput"

maxArchivedFiles="10" header="" rollFileExistsBehavior="Increment"

rollInterval="Day" rollSizeKB="10000"/>

</listeners>

<formatters>

<add

type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter,

Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

template="{timestamp(local:O)}{tab}{message}{tab}{dictionary({tab}{key}:

{value})}" name="LNEOverviewFormatter"/>

<add

type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter,

Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35"

template="{timestamp(local:O)}{tab}[{category}]{tab}{message}{tab}{dictionary({ta

b}{key}: {value})}" name="LNEDetailFormatter"/>

<add

type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter,

Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35" template="{message}{newline}"

name="SimpleOutput"/>

</formatters>

<categorySources>

<add switchValue="All" name="Debug">

<listeners>

<add name="LNEAppLog"/>

</listeners>

</add>

<add switchValue="All" name="Error">

<listeners>

<add name="LNEAppLog"/>

</listeners>

</add>

<add switchValue="All" name="Info">

<listeners>

<add name="LNEAppLog"/>

</listeners>

</add>

<add switchValue="All" name="QoEInputData">

<listeners>

<add name="AllInputLog"/>

Page 100: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 100

</listeners>

</add>

<add switchValue="All" name="QoEData">

<listeners>

<add name="QoEDataLog"/>

</listeners>

</add>

<add switchValue="All" name="RelayData">

<listeners>

<add name="LogOutputLog"/>

</listeners>

</add>

<add switchValue="All" name="DialogData">

<listeners>

<add name="AllInputLog"/>

</listeners>

</add>

<add switchValue="All" name="BreakingData">

<listeners>

<add name="ErrorMsgLog"/>

</listeners>

</add>

<add switchValue="All" name="OutputData">

<listeners>

<add name="AllOutputLog"/>

</listeners>

</add>

<add switchValue="All" name="TransmissionError">

<listeners>

<add name="LNEAppLog"/>

</listeners>

</add>

</categorySources>

<specialSources>

<allEvents switchValue="All" name="All Events"/>

<notProcessed switchValue="ActivityTracing" name="Unprocessed Category">

<listeners>

<add name="LNEAppLog"/>

</listeners>

</notProcessed>

<errors switchValue="All" name="Logging Errors &amp; Warnings">

<listeners>

<add name="LNEAppLog"/>

</listeners>

</errors>

</specialSources>

</loggingConfiguration>

Page 101: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 101

<appSettings>

<add key="configurationserviceuri" value="http://localhost:9333/Settings"/>

<add key="configurationrefresh" value="00:00:50"/> <!-- LSM: Period for

refreshing the settings from the store -->

<add key="configurationcertificate" value=""/> <!-- thumbprint of a client

certificate to use to authenticate the SDNManager with the configuration service

-->

<add key="checkdns" value="false"/> <!-- Decide to choose the DNS record to

locate the configuration service -->

<add key="mode" value="Redis"/> <!-- Cache, Database, Redis - mode how to

store call states and settings -->

<add key="statedbserver" value="mysql"/> <!-- Database server and credential

for accessing call state and settings -->

<add key="statedbname" value="SDNManager22"/> <!-- Database name -->

<add key="statedbusername" value=""/> <!-- empty for integrated security -->

<add key="statedbpassword" value=""/>

<add key="redisconnectstring" value="localhost"/> <!-- Connect string to

redis service -->

<add key="redispassword" value=""/> <!-- Password string to redis service --

>

<add key="Identifier" value="MySDNDB"/> <!-- Differentiator for LSM

configurations -->

</appSettings>

<system.web>

<httpRuntime targetFramework="4.5"/>

</system.web>

<startup>

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>

</startup>

<!--<system.diagnostics>

<trace autoflush="true" indentsize="4">

<listeners>

<add name="file" type="System.Diagnostics.TextWriterTraceListener"

initializeData="trace.log"/>

</listeners>

</trace>

<sources>

<source name="System.Net">

<listeners>

<add name="System.Net"/>

</listeners>

</source>

<source name="System.Net.HttpListener">

<listeners>

<add name="System.Net"/>

Page 102: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 102

</listeners>

</source>

<source name="System.Net.Sockets">

<listeners>

<add name="System.Net"/>

</listeners>

</source>

<source name="System.Net.Cache">

<listeners>

<add name="System.Net"/>

</listeners>

</source>

<source name="System.ServiceModel"

switchValue="Information, ActivityTracing"

propagateActivity="true">

<listeners>

<add name="sdt"

type="System.Diagnostics.XmlWriterTraceListener"

initializeData= "c:\logdir\log.e2e" />

</listeners>

</source>

</sources>

<switches>

<add name="System.Net" value="Verbose"/>

<add name="System.Net.Sockets" value="Verbose"/>

<add name="System.Net.Cache" value="Verbose"/>

<add name="System.Net.HttpListener" value="Verbose" />

</switches>

<sharedListeners>

<add name="System.Net"

type="System.Diagnostics.TextWriterTraceListener"

initializeData="C:\logdir\Tracing.log" traceOutputOptions = "DateTime"

/>

</sharedListeners>

</system.diagnostics>

-->

<system.serviceModel>

<bindings>

<webHttpBinding>

<binding name="wsHttpEndpointBindingNoSec" maxBufferPoolSize="400000"

maxReceivedMessageSize="400000" maxBufferSize="400000" transferMode="Streamed">

<readerQuotas maxDepth="32" maxArrayLength="400000"

maxStringContentLength="400000"/>

</binding>

<binding name="wsHttpEndpointBinding" maxBufferPoolSize="400000"

maxReceivedMessageSize="400000" maxBufferSize="400000" transferMode="Streamed">

<readerQuotas maxDepth="32" maxArrayLength="400000"

Page 103: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 103

maxStringContentLength="400000"/>

<security mode="Transport">

<transport clientCredentialType="Certificate"/>

</security>

</binding>

<binding name="wsHttpEndpointBindingNoCert" maxBufferPoolSize="400000"

maxReceivedMessageSize="400000" maxBufferSize="400000" transferMode="Streamed">

<readerQuotas maxDepth="32" maxArrayLength="400000"

maxStringContentLength="400000"/>

<security mode="Transport">

<transport clientCredentialType="None"/>

</security>

</binding>

</webHttpBinding>

</bindings>

<services>

<service behaviorConfiguration="CustomValidator"

name="Microsoft.Rtc.Enlightenment.Hub.LyncHandler">

<endpoint address="http://localhost:9333/LDL"

behaviorConfiguration="webby" binding="webHttpBinding"

bindingConfiguration="wsHttpEndpointBindingNoSec" name="ep0"

contract="Microsoft.Rtc.Enlightenment.Hub.ILyncHandler"/>

<endpoint address="https://localhost:9332/LDL"

behaviorConfiguration="webby" binding="webHttpBinding"

bindingConfiguration="wsHttpEndpointBinding" name="ep1"

contract="Microsoft.Rtc.Enlightenment.Hub.ILyncHandler">

<identity>

<dns value="ServerSideCert"/>

</identity>

</endpoint>

<endpoint address="http://localhost:9333/Settings"

behaviorConfiguration="webby" binding="webHttpBinding"

bindingConfiguration="wsHttpEndpointBindingNoSec" name="ep2"

contract="Microsoft.Rtc.Enlightenment.Hub.ILyncHandler"/>

<endpoint address="https://localhost:9332/Settings"

behaviorConfiguration="webby" binding="webHttpBinding"

bindingConfiguration="wsHttpEndpointBinding" name="ep3"

contract="Microsoft.Rtc.Enlightenment.Hub.ILyncHandler">

<identity>

<dns value="ServerSideCert"/>

</identity>

</endpoint>

</service>

<service name="Microsoft.Rtc.Enlightenment.Hub.LogService">

<endpoint address="http://localhost:9333/Log"

behaviorConfiguration="webby" bindingConfiguration="wsHttpEndpointBindingNoSec"

binding="webHttpBinding" name="ep1"

Page 104: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 104

contract="Microsoft.Rtc.Enlightenment.Hub.ILogService"/>

<endpoint address="https://localhost:9332/Log"

behaviorConfiguration="webby" binding="webHttpBinding"

bindingConfiguration="wsHttpEndpointBindingNoCert" name="ep1"

contract="Microsoft.Rtc.Enlightenment.Hub.ILogService">

<identity>

<dns value="ServerSideCert"/>

</identity>

</endpoint>

</service>

</services>

<behaviors>

<serviceBehaviors>

<behavior name="CustomValidator">

<serviceCredentials>

<clientCertificate>

<authentication certificateValidationMode="Custom"

customCertificateValidatorType="Microsoft.Rtc.Enlightenment.Hub.AcceptAndLogValid

ator, SDNManager"/>

</clientCertificate>

</serviceCredentials>

<!-- To avoid disclosing metadata information, set the values below to

false before deployment -->

<!--<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>-->

<!-- To receive exception details in faults for debugging purposes, set

the value below to true. Set to false before deployment to avoid disclosing

exception information -->

<serviceDebug includeExceptionDetailInFaults="false"/>

<serviceThrottling maxConcurrentCalls="300" maxConcurrentSessions="300"

maxConcurrentInstances="600"/> <!-- maxconcurrentcalls: default is 16 * cpus,

maxconcurrentsessions: default 100*cpus, maxconcurrentinstances= sum of others --

>

</behavior>

</serviceBehaviors>

<endpointBehaviors>

<behavior name="webby">

<webHttp/>

</behavior>

</endpointBehaviors>

</behaviors>

<protocolMapping>

<add binding="webHttpBinding" scheme="https"/>

</protocolMapping>

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"

multipleSiteBindingsEnabled="true"/>

</system.serviceModel>

Page 105: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 105

</configuration>

Page 106: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 106

SDN Manager command-line example Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

In this article

Manager settings

Listener settings

Subscriber settings

The following code examples show the input and output resulting from running the SDN Manager

console application. Examples are shown for the Manager, the Listener, and the Subscriber.

Manager settings XML

C:\Program Files\Microsoft Skype for Business Server\Microsoft Skype for Business SDN Manager>SDNManager.exe d m Response code: SUCCESS Detail: TimeStamp: 2015-05-02T11:26:48.7393744Z <Configuration Version="2.0" culture="en-US" Kind="Manager" Identifier="DEFAULT"> <parameter key="calltimeout">1.00:00:00</parameter> <parameter key="endedtimeout">00:00:15</parameter> <parameter key="invitetimeout">00:03:00</parameter> <parameter key="maxcachesize">20000</parameter> <parameter key="qoetimeout">00:00:05</parameter> <parameter key="timeouthandlerperiod">00:00:10</parameter> <parameter key="hidepii">False</parameter> <parameter key="applicationsharing-AppliedBandwidthLimitAcceptable">500000</parameter> <parameter key="applicationsharing-AppliedBandwidthLimitOptimal">1000000</parameter> <parameter key="applicationsharing-JitterInterArrivalAcceptable">100</parameter> <parameter key="applicationsharing-JitterInterArrivalOptimal">50</parameter> <parameter key="applicationsharing-RDPTileProcessingLatencyAverageAcceptable">400</parameter> <parameter key="applicationsharing-RDPTileProcessingLatencyAverageOptimal">200</parameter> <parameter key="applicationsharing-RDPTileProcessingLatencyBurstDensityAcceptable">200</parameter> <parameter key="applicationsharing-RDPTileProcessingLatencyBurstDensityOptimal">100</parameter> <parameter key="applicationsharing-RelativeOneWayAverageAcceptable">1.75</parameter> <parameter key="applicationsharing-RelativeOneWayAverageOptimal">1</parameter> <parameter key="applicationsharing-RelativeOneWayBurstDensityAcceptable">2000</parameter> <parameter key="applicationsharing-RelativeOneWayBurstDensityOptimal">1000</parameter> <parameter key="applicationsharing-SpoiledTilePercentTotalAcceptable">36</parameter> <parameter key="applicationsharing-

Page 107: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 107

SpoiledTilePercentTotalOptimal">11</parameter> <parameter key="audio-DegradationAvgAcceptable">1</parameter> <parameter key="audio-DegradationAvgOptimal">0.6</parameter> <parameter key="audio-DeviceCaptureNotFunctioningEventRatioAcceptable">0.3</parameter> <parameter key="audio-DeviceCaptureNotFunctioningEventRatioOptimal">0.1</parameter> <parameter key="audio-DeviceHalfDuplexAECEventRatioAcceptable">0.3</parameter> <parameter key="audio-DeviceHalfDuplexAECEventRatioOptimal">0.1</parameter> <parameter key="audio-DeviceRenderNotFunctioningEventRatioAcceptable">0.3</parameter> <parameter key="audio-DeviceRenderNotFunctioningEventRatioOptimal">0.1</parameter> <parameter key="audio-JitterInterArrivalAcceptable">25</parameter> <parameter key="audio-JitterInterArrivalOptimal">15</parameter> <parameter key="audio-PacketLossRateAcceptable">0.05</parameter> <parameter key="audio-PacketLossRateOptimal">0.02</parameter> <parameter key="audio-RatioCompressedSamplesAvgAcceptable">1</parameter> <parameter key="audio-RatioCompressedSamplesAvgOptimal">1</parameter> <parameter key="audio-RatioConcealedSamplesAvgAcceptable">0.07</parameter> <parameter key="audio-RatioConcealedSamplesAvgOptimal">0.03</parameter> <parameter key="audio-RatioStretchedSamplesAvgAcceptable">1</parameter> <parameter key="audio-RatioStretchedSamplesAvgOptimal">1</parameter> <parameter key="audio-RoundTripAcceptable">500</parameter> <parameter key="audio-RoundTripOptimal">200</parameter> <parameter key="video-DynamicCapabilityPercentAcceptable">10</parameter> <parameter key="video-DynamicCapabilityPercentOptimal">5</parameter> <parameter key="video-LowFrameRateCallPercentAcceptable">10</parameter> <parameter key="video-LowFrameRateCallPercentOptimal">5</parameter> <parameter key="video-LowResolutionCallPercentAcceptable">10</parameter> <parameter key="video-LowResolutionCallPercentOptimal">5</parameter> <parameter key="video-RecvFrameRateAverageAcceptable">7</parameter> <parameter key="video-RecvFrameRateAverageOptimal">12</parameter> <parameter key="video-VideoFrameRateAvgAcceptable">7</parameter> <parameter key="video-VideoFrameRateAvgOptimal">12</parameter> <parameter key="video-VideoLocalFrameLossPercentageAvgAcceptable">10</parameter> <parameter key="video-VideoLocalFrameLossPercentageAvgOptimal">5</parameter> <parameter key="video-VideoPacketLossRateAcceptable">0.1</parameter> <parameter key="video-VideoPacketLossRateOptimal">0.05</parameter> <parameter key="video-VideoPostFECPLRAcceptable">0.1</parameter> <parameter key="video-VideoPostFECPLROptimal">0.05</parameter> <parameter key="build">6.0.9323.0</parameter> </Configuration>

Listener settings XML

C:\Program Files\Microsoft Skype for Business Server\Microsoft Skype for Business SDN Manager>SDNManager.exe d l pool1.enlightenment.contoso.com

Response code: SUCCESS Detail: TimeStamp: 2015-05-02T11:27:49.6606590Z

<Configuration Version="2.0" culture="en-US" Kind="Listener"

Identifier="pool1.enlightenment.contoso.com" LastModified="2015-05-

02T11:27:49.6606590Z">

<parameter key="submituri">http://localhost:9333/LDL</parameter>

Page 108: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 108

<parameter key="alternativeuri"></parameter>

<parameter key="clientcertificateid"></parameter>

<parameter key="submitqueuelen">1000</parameter>

<parameter key="maxbackoff">30</parameter>

<parameter key="maxdelaylimit">25</parameter>

<parameter key="maxopen">100</parameter>

<parameter key="maxretry">100</parameter>

<parameter key="maxretrybeforefailover">10</parameter>

<parameter key="Requester">FirstFEServer</parameter>

</Configuration>

Subscriber settings XML

C:\Program Files\Microsoft Skype for Business Server\Microsoft Skype for Business SDN Manager>SDNManager.exe d s first Response code: SUCCESS Detail: TimeStamp: 2015-05-06T06:45:10.2224428Z <Configuration Version="2.0" culture="en-US" Kind="Subscriber" Identifier="first"> <parameter key="submituri">http://localhost:9333/Log/poststuffhere</parameter> <parameter key="outputschema">D</parameter> <parameter key="clientcertificateid"></parameter> <parameter key="domainfilters"></parameter> <parameter key="subnetfilters"></parameter> <parameter key="tenantfilters"></parameter> <parameter key="trunkfilters"></parameter> <parameter key="quality">True</parameter> <parameter key="signaling">False</parameter> <parameter key="sendrawsdp">False</parameter> <parameter key="maxbackoff">30</parameter> <parameter key="maxdelaylimit">25</parameter> <parameter key="maxopen">100</parameter> <parameter key="maxretry">100</parameter> <parameter key="submitqueuelen">1000</parameter> </Configuration>

Page 109: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 109

SDN Interface Bandwidth Estimates Provides bandwidth estimate data for Skype for Business SDN Interface.

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

Skype for Business SDN Interface, version 2.2, provides some estimates on the bandwidth that will be used

during a call for each stream as a consequence of the codecs being used. The following table shows the

raw estimates for each codec. The Bandwidth xml tag contains an exponential running weighted average

based on the codecs that might be used during the call. This Bandwidth tag shows 0 bandwidth if the

given stream direction is inactive.

Bandwidth Estimates

Codec Media Typical Maximum

X-MSRTA/16000 audio 49600 91000

X-MSRTA/8000 audio 33100 56600

G722/8000 audio 85400 164600

G722/8000/2 audio 108400 228600

G722/16000/2 audio 108400 228600

G7221/16000 audio 44800 81000

PCMU/8000 audio 83200 161000

PCMA/8000 audio 83200 161000

SIREN/16000 audio 39300 68600

SILK/16000 audio 47700 105000

SILKNARROW/8000 audio 31200 59000

SILKWIDE/16000 audio 47700 105000

SILK/8000 audio 31200 59000

X-ULPFECUC/90000 audio 29000 64000

AAL2-G726-32/8000 audio 38600 62000

X-RTVC1/90000 video 500000 2510000

X-H264UC/90000 video 500000 4010000

H264 video 500000 4010000

X-ULPFECUC/90000 video 29000 64000

X-DATA/90000 applicationsharing 439000 943000

Page 110: Skype for Business Software Defined Networking (SDN) · PDF fileSkype for Business Software Defined Networking (SDN) Interface 2.2 The Microsoft Skype for Business SDN Interface provides

July 2015 Skype for Business SDN Interface 2.2 p. 110

SDN Interface Performance Overview Provides some guidelines on performance benchmarks for Skype for Business SDN Interface.

Applies to: Lync Server 2010 | Lync Server 2013 | Skype for Business 2015

Version 2.2 of the Skype for Business SDN Interface was tested in a production environment and in lab

setups but no formal scalability testing has been conducted. Nevertheless, the following performance data

should give you an idea what you can expect. Please consider these numbers as example only.

Performance benchmarks A pool of two SDN Manager servers can support the traffic from 48 Skype for Business front-end

servers supporting around 80,000 users in one continent. CPU and memory impact of the Dialog

Listener on the front-ends is hardly noticeable, while the load in the two SDN Manager servers

reaches overall 50% in high load situations.

Memory consumption is low and fairly stable.

Sample machine configuration:

Stand-alone SDN Manager server: Windows Server 2012 R2

CPU: 8 Cores, 8GB of memory

Hard drive: 1 TB

In lab scenarios, we execute load of 400 audio calls per minute against two front-end servers and two

SDN Manager instances. These topologies consist of virtual machines only with not more than two

cores and 8 GB of memory each.

Bandwidth includes the RTCP stream, which may use a different port.

If a pool configuration is used around a database, the SQL Server is expected to be production level

server with state-of-the art memory and CPU. Similarly, a REDIS cache server must be configured to

handle the load.


Recommended