microsoft ® lync™ server 2010 voice applications module 17 microsoft corporation

86
Microsoft ® Lync™ Server 2010 Voice Applications Module 17 Microsoft Corporation

Upload: bennett-knight

Post on 24-Dec-2015

220 views

Category:

Documents


3 download

TRANSCRIPT

Microsoft® Lync™ Server 2010Voice ApplicationsModule 17

Microsoft Corporation

2

Session Objectives

• Describe the mission and features of the Lync Server 2010 voice applications

• Understand how these applications get deployed

• Understand how these applications get managed

Agenda• Review the following Lync Server2010 voice applications

• PSTN Conferencing Services (CAA)

• Response Group Application (RGA)

• Call Park Application (CPA)

• The topic areas that will be covered are

• Mission and goals

• Features

• Management

• Topologies

• Coexistence3

What Are the Voice Applications?

A lot of commonalities:• All handle Voice• A similar deployment model• The same routing model and very similar call

flows

4

PSTN Conferencing Services

Response Group Application

Call Park Application

Where Do the Voice Applications Reside?

5

Voice apps

PSTN Conferencing Services (CAA)

6

PSTN Conferencing Services (CAA)• Meeting Types

• Mission and goals

• Features• Dual Tone Multi-Frequency (DTMF) Commands

• Entry/Exit Announcements

• PIN Simplifications

• User experience (UX) Settings

• Deployment Steps

• Demo

• Architecture and Components

• Language Support

• Coexistence with OCS 2007 R2 and Migration

7

Mission and Goals

MissionMove 85% of your audio conferencing provider (ACP) calls on premise

Goals• Provide all the features needed to handle small/mid-size

meetings• Make join simpler and more reliable• Provide a best in class UX on both the PSTN and Lync Server

2010 sideNon Goals• Move all meetings to ACP: large meetings which require operator

assistance will remain on ACPA

8

New Features

• Standard DTMF controls• Entry/exit announcements

Provide all the features needed to handle small/mid-size meetings

• Lobby support for restricted meetings• Allows unauthorized users to wait in the lobby to be admitted vs being

disconnected in OCS 2007 R2• Name recording for unauthenticated users• By default PIN never expires for dial-in conferencing

Make join simpler and more reliable

• Discussed in separate session

Provide a best in class UX on both the PSTN and Lync Server 2010 side

9

Feature ComparisonFeature sets OCS 2007 R2 Lync Server 2010

Participant Passcode

Leader Passcode (Corp User PIN) (Corp User PIN)

Music on Hold (not apply to corporate user) (not apply to corporate user)

Multiple access numbers with multiple languages and Toll free support

Entry/Exit Announcement (Tone only) (Tone or Name)

Scheduled Meeting

Reservationless Meeting

Mute/Un-mute Notification

DTMF in-meeting control x

Announce late participants/Recorded name x

Operator/Moderator Assisted Conference x x

Reference code (Billing) x x

Silent mode Partial (Live Meeting Console)

Roll Call Partial (Roster)

10

DTMF Commands• Commands

• *1 - Automated help• *3 - Private roll-call• *4 - Toggle silent mode (leaders only)• *6 - Mute/unmute self• *7 - Lock/unlock (leaders only)• *8 - Open lobby (leaders only)• *9 - Entry/exit announcements on/off (leaders only)

• Admin customizable• Each command can be configured as * / # + 0-9• Each command can be disabled (unset key mapping)

• End user discoverable• Shown on the Dial-in Conferencing webpage• Discoverable in conference by issuing help command

11

Entry/Exit Announcements

Entry/exit announcements with names

• Announcements are made when participants join and leave• Batching reduces # of announcements

• Anonymous PSTN users record name

• Authenticated users’ names are announced by text-to-speech (TTS)

• Can skip name recording, join as “unknown participant”

12

Entry/Exit Announcements

How name is played with announcements on and TTS on (default)

Federated user TTS of display name

PSTN authenticated

TTS of display name

PSTN anonymous Recorded name

Lync authenticated

TTS of display name

Lync/Lync Web App anonymous

TTS of name provided by user

MCU

AliceAuthenticated user

John(federated user)

Bill(PSTN user – authenticated)

SimonAnonymous OC/CWA user(provides his display name)

Jane(PSTN user – anonymous)

13

PIN SimplificationsSimplify PIN usage for end user

14

• New default policy for PIN to never expire

• Default onMake join easier

• Dial-in page is made more discoverable

• Windows PowerShell™ scripts for admins to send mail to users whose PIN is about to expire

Increase awareness

Important User Experience SettingsSettings related to the join UX• Default meeting policy (set by admin, can be changed by user)• Lobby bypass for PSTN users (set by user)

 Meeting policy 

Phone, Anonymous Phone auth’d with ph# + PIN 

Invited Not invited

Organizer only (locked) Lobby(MoH)

Lobby(MoH) unless organizer

Lobby(MoH)

People I invite Lobby (MoH), unless PSTN lobby bypass turned on IN Lobby(MoH)

People from my company IN, unless PSTN lobby bypass turned off IN IN

Everyone IN, unless no authenticated users are in IN INRecommended default. Also gives a constant conference ID, i.e. Closest Experience to ACP. 15

Settings Impact In-Meeting User Experience Admin settings:• Set and order of DTMF controls can be configured (global/site)• Entry/exit announcements configuration

• Off• Beep• Name

• TTS for known users• Recording for unauthenticated users

Organizer:• Turn announcements on/off at schedule time for non default

meetings

Presenters:• Turn announcements on/off during the meeting

16

Deploying PSTN Conferencing Services

1. Plan additional Direct Inward Dialing (DID) numbers and PSTN trunk capacity for access numbers.

2. Configure dial plans with a valid dial-in conferencing region

3. Deploy PSTN gateways or configure SIP trunking

4. Configure access numbers globally or per site*

a) Manage order of access numbers per conference region (PS cmdlet only).

5. Configure DTMF commands globally or per site*

6. Configure PIN security settings (complexity, expiration, etc.)

7. Enable user for PSTN dial-in (via conferencing policy)a) Populate correct phone numbers for users (msRTCSIP-Line property)b) Generate PIN and send welcome email via PS1 script*

* New in Lync Server 201017

DemoConfiguring PSTN Conferencing Settings using

PowerShell

18

Front End Server

Audio Conferencing Architecture

Backend SQL DB Server

AV Conferencing Server

ConferencingDatabase

Focus

Focus Factory

Web Components (IIS)

Join Launcher

Reach Server

Dial-in Conferencing Page

IM Conferencing Server

Web Conferencing Server

App Sharing Conferencing Server

AV MCU

Machine Boundary Process Boundary Web Application Audio Conferencing

Conference Auto AttendantConference

Announcement Service

Personal Virtual Assistant

Group Virtual Assistant

19

PSTN Conferencing Service Components

20

• Handles the IVR for the user join flow• Joins the user to the conference• Plays music if conference hasn’t been

activated

Conferencing Auto Attendant (CAA)

• Handles prompts played only to a user/group of users in their language (you have been muted/unmuted, help, lobby notifications, roll call)

Personal Virtual Assistant (PVA)

• Handles prompts played to ALL users in the conference in their language (Entry/Exit Announcements)

Group Virtual Assistant (GVA)

Multi-language SupportDial-in experience• Language is taken from the contact object, configured with PowerShell• IVR offers users the choice of languages found on the CO

In meeting experience• Personal announcements (played by PVA)

• In the language which the caller had at dial-in time• Global announcements (CAS, GVA)

• Announcements are played to all users grouped by language• Dial-out

• The person being dialed out to gets the language of the person dialing out

If the language of the user can’t be matched, the closest language is used (ex: FR-CA -> FR-FR)

21

Conference Announcement Service

Group Virtual Assistant

Voice Applications

Group Virtual Assistant (C1/C2)

English

Caller 1 joins and requests English

Caller 2 joins and requests English

Caller 3 joins and requests FrenchGroup Virtual Assistant (C3)

French

Personal Virtual Assistant (C2)

Personal Virtual Assistant (C1)

Personal Virtual Assistant (C3)

Multi-language Support

22

Coexistence with OCS 2007 R2• Problem:

• All CA access numbers globally available• User can call OCS 2007 R2 CA trying to join a conference

hosted on Lync Server 2010 pool• OCS 2007 R2 CA cannot handle lobby

• Solution: • Inter-pool transfer (requires OCS 2007 R2 cumulative update

#5)• CA will only accept transfers from another CA, will only transfer

if conference is homed in Lync Server 2010 pool

23

Call picked up by Conference homed in other 2007 R2 pool

Conference homed in other Lync Server 2010 pool

OCS 2007 R2 CA No transfer Transfer

Lync Server 2010 CA No transfer Transfer

Coexistence with OCS 2007 R2

24

PSTN

WAN

Datacenter Asia

OCS 2007 R2OCS 2007

R2 CAPSTN

PSTN

Datacenter USOCS 2007 R2

OCS 2007 R2 CA

CAA Dial-In +33 …

CAA Dial-In +1 …

CAA Dial-In +65 …

2

1

3

4

1. 2007 R2 CA picks up PSTN call

2. ResolveConference3. ResolveConference response with Lync Server CA

GRUU4. 2007 R2 CA transfers call with context

Lync Server CA

Datacenter Europe Lync

Server

Summary of Migration Steps1. Getting to Coexistence State

a) Deploy inter-pool transfer CU (CU #5) to all CAA 2007 R2s in deployment

b) Install and activate Conference Auto Attendant (CAA) in a new Lync Server 2010 pool

c) Create a new Lync Server CAA and test

d) Move data from OCS 2007 R2 WMI to Lync Server 2010 CMS by running:

i. Import-Cslegacyconfiguration

e) Move/add users to Lync Server 2010 pool, migrate users’ meetings to Lync Server 2010 pool

2. Decommissioning OCS 2007 R2 pool

a) Using PowerShell cmdlets, migrate contact so that they point to a Lync Server 2010 pool instead of the OCS 2007 R2 pool

b) Meeting invites that still have OCS 2007 R2 access numbers will now be handled by CAA

c) Decommission OCS 2007 R2 pool25

Response Group Application (RGA)

26

Response Group Application• Mission and goals• Product positioning• Feature overview

• IVR• Call queuing• Routing• Agent side UX• Infrastructure

• RG management• Call flow – with and without anonymity• Unassigned number call flow• Demo• Coexistence

27

Response Group Application

MissionOffer a best in class departmental ACD to help you move off your PBX

28

Goals• Provide all basic ACD features for departmental needs• Provide voice treatment for unassigned number service• Simplify manageability

Non Goals• Support contact center solutions

Current PBX SituationBasic PBX features

(Basic Hunt group)

Add-on ACD solutionFully featured

Additional licensing costs

Dedicated ACDHigh scale

High Additional Costs

• Basic hunt groups• Agent sign-in/out• Various hunting

methods

• MoH Business hours

• Basic CDRs

Departmental Solutions

• Supervisor • Live views• Advanced CDRs

• High Scale• High Availability• Advanced CDRs• Interop with LoB apps

Internal helpdesks, Small CCs

Large CCs

29

Positioning of Response Group

Response Group Application

• Hunt groups and basic IVRs• Integration with OCS presence• Agent anonymity• Announcements (unassigned

numbers)• Speech recognition and TTS• Music on hold• Basic CDRs

Dedicated ACDHigh scale

High additional costs• Supervisor

• Live views

• Advanced CDRs

• High Scale• High Availability• Advanced CDRs• Interop w/ LoB apps

Internal helpdesks

, Small CCs

Large CCs

Basic PBX features

(Basic Hunt group)

Add-on ACD solution

Fully featuredAdditional licensing costs

30

New Feature Overview

IVR

Call queuing

Routing

Agent side UX

Infrastructure

IVR features• Input: DTMF or Speech Recognition

• Playback: .wma or TTS• SR/TTS supported in 26 languages

• Rich IVR tree configuration • Customized messages before

transferring/disconnecting and MoH• Support any number of questions & answers

31

New Feature OverviewIVR

Call queuing

Routing

Agent side UX

Infrastructure

Call queuing • Music on hold• Queue time out/queue overflow/disconnect

action • On first call/last call: route to PSTN, other

queue, SIP URI or Voicemail

32

New Feature Overview

IVR

Call queuing

Routing

Agent side UX

Infrastructure

Routing• Serial, parallel, longest idle, round robin• Integration with receptionist console to

route all calls independent of presence state and allow receptionist to select call in the queue (‘attendant routing’)

• Agent groups defined by DGs or custom groups

33

New Feature Overview

IVR

Call queuing

Routing

Agent side UX

Infrastructure

Agent/caller UX• Inbound and outbound calls can be

anonymized (i.e. hide agent ID)• Call context on incoming call (options selected by

caller during the IVR)• Agent page to sign in/out of groups• Ring time out configured by admin• Presence icon do identify Response Groups

34

New Feature Overview

IVR

Call queuing

Routing

Agent/caller side UX

Infrastructure

Infrastructure• BW management support• Draining• New application store for settings

35

RGS to RGA Tool Migration

OCS 2007 R2 Lync Server 2010

36

Contact object command line

tool

RGS webconfiguration

tool

RGS MMC

RGA webconfiguration

tool

Lync Server Control Panel

PowerShell

Choose your IVR template1. Define Name of Response Group

Note: Creates contact object under the hood

2. Choose language3. Configure text/message to be played4. Business hours and holidays5. IVR and queue selection

More complex IVRs as well as all RGA settings can be configured over PowerShell

RGA Management – Tools and Deployment Steps

RGA web configuration

tool

Lync Server Control Panel

37

RGA Web Configuration Tool

38

RGA Web Configuration Tool

39

RGA Management – Tools and Deployment Steps

RGA web configuration

tool

Lync Server Control Panel

1. Define agent groups1. Configure routing method2. Alert timeouts3. Group membership (DL or

custom) 2. Define queues

1. Associate groups to queues2. Define timeout and overflow

actions

40

Lync Server Control Panel

41

RGA Management – PermissionsA new permission model based on Role-based Access Control (RBAC)• Lync Server 2010 Administrator

• The “all-powerful” admin

• Lync Server 2010 Response Group Administrator• Can do everything inside Response Group (but nothing outside

of the application)• Can create/edit response groups (including contact objects),

queues, agent groups

• The “manager role” has been removed

42

Call Flow – Without Anonymity

43

Ringing

RGA

1. Caller Alice calls a non anonymous response group via Lync 2010

Caller Alice

Call Flow – Without Anonymity

44

RGA

2. Caller Alice has an established call with RGA and is listening to music. RGA is trying to reach an available agent

Established

Ringing

Agent Bob

Caller Alice

Call Flow – Without Anonymity

45

RGA

Established

3. Agent Bob picks up and RGA connects the two calls. Caller Alice is now talking directly with Agent Bob and she can see in Lync 2010 that she is speaking to Bob

Agent Bob

Caller Alice

Call Flow – With Anonymity

46

Ringing

RGA

1. Caller Alice calls an anonymous response group via Lync 2010

Caller Alice

Call Flow – With Anonymity

47

RGA

2. Caller Alice has an established call with RGA and is listening to music. RGA is trying to reach an available agent

Established

Ringing

Agent Bob

Caller Alice

Call Flow – With Anonymity

48

3. Agent Bob picks up and RGA connects the two calls. Caller Alice and Agent Bob are now talking to the RGA. In Lync 2010 Alice sees that she is talking to the response group

Agent Bob

Caller Alice

RGA

Established

Established

Media Flow

Unassigned Number Call Flow

User Bob

Mediation Server

Front-End

Caller Alice

mediaflow

49

1. Caller Alice has dialed a phone number she believes belongs to User Bob. The vacant number routing determines that this is not a valid number. Alice is connected to a special RGA workflow and is notified that this number is not in use

media flow

Unassigned Number Call Flow

User Bob

Mediation Server

Front-End

mediaflow

50

2. This special RGA workflow now transfers Caller Alice to User Charlie as configured by the vacant number routing

User Charlie

call transfer

media flow

Caller Alice

Unassigned Number Call Flow

Mediation Server

media flow

51

3. Caller Alice is now connected in a voice call to User Charlie

User Charlie

media flow

Caller Alice

DemoResponse Group Application

52

Coexistence

User Bob OC 2007 R2

register

User CharlieLync 2010

register Pool AOCS 2007 R2

Pool BLync Server

2010

53

Coexistence

User Bob OC 2007 R2

User CharlieLync 2010

Pool AOCS 2007 R2

Pool BLync Server

2010

54

RG call

RG call

Coexistence

User Bob OC 2007 R2

User CharlieLync 2010

Pool AOCS 2007 R2

Pool BLync Server

2010

55

RG call

RG call

Coexistence

56

• This works well from an agent/service level however there is a challenge in this coexistence state with respect to the use of the agent sign in tab

• If an agent is homed on OCS but is listed as an agent in a Lync 2010 RG they will not be able to sign in or out of a formal agent group using the OCS agent tab

• Likewise, if an agent is homed on Lync 2010 but is listed as an agent in an OCS RG they will not be able to sign in or out of a formal agent group using the Lync 2010 agent tab

Call Park Application(CPA)

57

Call Park Application

• Mission and Goals• Features• Management• Call Flow – Park and Retrieve• Demo• Migration and Coexistence

58

Call Park Application

MissionEnable PBX replacement for customers requiring call park and retrieve functionality

59

Goals• Offer all basic call park and retrieve functionality required to replace your

PBX

Non Goals• Provide a paging solution

Call Park – Features• Call Park and Retrieve

• Orbit (i.e. number) returned when call is parked• Parked user is listening to MoH• Call can be retrieved from PBX phone dialing orbit• Safe-retrieve: only retrieve my parked call

• Ringback• Calls not retrieved are transferred to the person who parked the call (after

timeout)

• Transfer to Fallback Destination• Calls not retrieved and ringback failed are forwarded to configurable target

(e.g. receptionist, response group…)

• Supported clients• Lync, attendant console, Tanjay, Aries to park calls• Any client to retrieve a parked call 60

Lync 2010 Park Action

Park action

61

Lync 2010 Park Action

Orbit received

62

Lync 2010 Retrieve Action

• Dial orbit like any other extension

• Click retrieve button (performs a safe retrieve)

• Parker receives notification who retrieved the call

63

Lync 2010 Ringback Action

• Call is ringing• User can click Accept call

button• Call can be declined• Call cannot be redirected• Call is not forwarded to

voice mail

64

Call Park Management

• User Voice Policy to enable/disable call park (off by default)

• Configure orbit range and destination pool (global scope)

• Optional: change defaults for:• Music-on-hold can be changed or disabled (service scope)• Ringback attempts (1-10) (site/global scope)• Ringback timeout (10-600s) (site/global scope)• Fallback destination (site/global scope)

• Configuration through PowerShell except range in UI

65

Park and Retrieve Call Flow

Mediation Server

Front-End

Caller Alice

incoming call

66

User Bob

incoming call

1. Caller Alice calls user Bob who is running Lync 2010

Park and Retrieve Call Flow

User Bob

Mediation Server

Front-End

Caller Alice

med

ia fl

ow

67

media flow

2. Caller Alice is now connected to User Bob

Park and Retrieve Call Flow

User Bob

Mediation Server

Front-End

Caller Alice

med

ia fl

ow

68

park call

media flow

3. Caller Alice wishes to speak to User Charlie. User Bob issues a call park command to the Call Park Application requesting an orbit

Park and Retrieve Call Flow

User Bob

Mediation Server

Front-End

Caller Alice

69

orbit 123

mediaflow

media flow

4. Caller Alice is now on hold, receiving MOH from the Call Park Application. User Bob receives a call park orbit

Park and Retrieve Call Flow

User Bob

Mediation Server

Front-End

Caller Alice

70

mediaflow

User Charlie

orbit 123(paging)

media flow

5. User Bob now shares the call park orbit with User Charlie via an internal paging system, IM, or some alternate method

Park and Retrieve Call Flow

Mediation Server

Front-End

Caller Alice

71

mediaflow

User Charlie

retrieve 123

media flow

6. User Charlie dials the orbit number in an attempt to retrieve the parked call

Park and Retrieve Call Flow

Mediation Server

Front-End

Caller Alice

72

User Charlie

media flowmedia flow

7. Caller Alice is now speaking directly with User Charlie

DemoCall Park Application

73

Coexistence

User Bob OC 2007 R2

register

User CharlieLync 2010

register Pool AOCS 2007 R2

Pool BLync Server

2010

74

Coexistence

User Bob OC 2007 R2

User CharlieLync 2010

Pool AOCS 2007 R2

Pool BLync Server

2010

75

park/retrieve

park/retrieve

76

Q&A

77

Appendix

Call Flows

78

Conferencing ArchitectureConferencing flow

Focus

PSTN phone

CAS

AV Conf Server

Focus Factory

SQL Backend

SchedulingClient

CC

CP

/SIP

SQL

SQL

Conferencing Server FactoryCCCP/

HTTP

CAA

PVA/GVA

Mediation Server

79

Conferencing ArchitectureConferencing flow

Focus

PSTN phone

CAS

AV Conf Server

SIMPLE/SIP

(S)RTP

Focus Factory

SQL Backend

SchedulingClient

CC

CP

/SIP

SQL

SQL

Conferencing Server FactoryCCCP/

HTTP

1

CAA

PVA/GVA

Mediation Server

80

Conferencing ArchitectureConferencing flow

Focus

PSTN phone

CAS

AV Conf Server

SIMPLE/SIP

Focus Factory

SQL Backend

SchedulingClient

CC

CP

/SIP

SQL

SQL

Conferencing Server FactoryCCCP/

HTTP

1

CAA

PVA/GVA

CCCP/SIP

CCCP/SIP

Mediation Server

81

2

(S)RTP

Conferencing ArchitectureConferencing flow

Focus

PSTN phone

CAS

AV Conf Server

SIMPLE/SIP

Focus Factory

SQL Backend

SchedulingClient

CC

CP

/SIP

SQL

SQL

Conferencing Server FactoryCCCP/

HTTP

1

CAA

PVA/GVA

CCCP/SIP

CCCP/SIP

Mediation Server

82

2

(S)RTP

CCCP/SIP

3

Conferencing ArchitectureConferencing flow

Focus

PSTN phone

CAS

AV Conf Server

SIMPLE/SIP

Focus Factory

SQL Backend

SchedulingClient

CC

CP

/SIP

SQL

SQL

Conferencing Server FactoryCCCP/

HTTP

1

CAA

PVA/GVA

CCCP/SIP

CCCP/SIP

Mediation Server

83

2

CCCP/SIP

3

Focus

PSTN phone

CAS

AV Conf Server

SIMPLE/SIP

(S)RTP

Focus Factory

SQL Backend

SchedulingClient

CC

CP

/SIP

SQL

SQL

Conferencing Server FactoryCCCP/

HTTP

Conferencing ArchitectureConferencing flow

Focus

PSTN phone

CAS

AV Conf Server

SIMPLE/SIP

(S)RTP

Focus Factory

SQL Backend

SchedulingClient

CC

CP

/SIP

SQL

SQL

Conferencing Server FactoryCCCP/

HTTP

1

CAA

PVA/GVA

CCCP/SIP

CCCP/SIP

Mediation Server

84

43CCCP/SIP

2

Conferencing ArchitectureConferencing flow

Focus

PSTN phone

CAS

AV Conf Server

SIMPLE/SIP

(S)RTP

Focus Factory

SQL Backend

SchedulingClient

CC

CP

/SIP

SQL

SQL

Conferencing Server FactoryCCCP/

HTTP

1

CAA

PVA/GVACCCP/SIP

CCCP/SIP

CCCP/SIP

Mediation Server

85

4

5

3CCCP/SIP

2

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

86

© 2011 Microsoft Corporation.  All rights reserved.  Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  This document may contain information related to pre-release software, which may be substantially modified before its first commercial release. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED  OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place or event is intended or should be inferred.