cisco unified presence 8d2zmdbbm9feqrf.cloudfront.net/2011/mex/pdf/brkucc-2785.pdf•understand...
TRANSCRIPT
Message + Replay: London - Calcuta
• 1800: 2 years (sailing ship)
• 1914: 1 month (steamship)
• 1950: 1 week (air mail)
• 1980: 2 days (overnight mail)
• 1993: 10 minutes (commercial email)
• 1999: 1 second (instant messaging)
Presence is the dial tone of the real-time Internet
Integrated, Multidimensional Presence Unlock the Power of Unified Communications
Use Contextual Communications to Get Answers and Make Decisions Faster
Status Generated from Multiple Sources
Status Published in Multiple Applications
“Gartner clients making collaboration and communications decisions are increasingly realizing the central role IM and presence play”
Rich Presence Worker Benefits
• Accelerate communications
See who is available and the best communications mode to reach people
See and control your current state
• Enhance workflow and output
• Eliminate communication delays
• Increased productivity for desktop and mobile users
• Accelerate business processes through unified communication integration
• Improve customer satisfaction
Federa
tions
Open XMPP clients
Choic
e o
f C
lients
Cisco Unified Presence Overview Always-On, Network-Based Availability
• Rich network presence
Always-on telephony and calendar integration
Aggregation from multiple sources and clients
• Unified contact lists
Corporate, business partner, and personal contacts
• IT controls
Policy, compliance
History and logging controls
• Standards-based federation
XMPP and SIP/SIMPLE
• Client choices
Cisco desktop and mobile clients
Third-party XMPP clients
Extensible web SDK and applications
Unified Personal
Communicator
Mobile
IM Clients
Contact Center
Integration
Expert Advisor
Agent Desktop
Third-Party XMPP Clients
B2B and B2C Federations
Cisco Unified Presence 8.0
MS Exchange Calendaring
Always-On Network Presence
CUCM 7.x/8.0 Integration
Business App and Process Integration
APIs and
SDKs
At the end of the session, the participants should be able to:
• Understand Cisco Unified Presence Components
• Understand Cisco Unified Presence 8.x Deployment Modes
• Understand Cisco Unified Presence 8.x HA and Sizing
• Understand IM and Federation considerations
• Design a solution for enterprise presence and instant messaging
• Bonus Track: Cisco Jabber user Experience
Session Objectives
What Is Presence?
• Examples of presence in action today
IM “Buddy List” status indication (Available, Idle, Away)
“Busy” tone on traditional phone
Contact Center Agent status
• Publish/Subscribe/Notify
A Person can publish presence information to other users via a Presence Service
Users of the Presence Service can subscribe to receive Notification of Status Change of a Person
Information About a Person’s Availability and Willingness to
Communicate
Presence Presentity and Watcher—Publish and Subscribe
• A Person will PUBLISH the status of communication Services/Devices to the PRESENCE SERVICE using their PRESENTITY
• A WATCHER can SUBSCRIBE (for a period of time) to receive updates on status changes for the PRESENTITY
• A WATCHER can (and most likely will) also have a Presentity
Person [email protected]
Presentity
Presence
Service
PERSON “A”
(RFC-3903)
A Registration
Will Have Preceded
the PUBLISH
PERSON “B”
(RFC-3265)
WATCHER
Presence Presentity and Watcher—Notify
Person (jsmith)
Presentities
Presence
Service
PERSON “A” PERSON “B”
On a Change of status the PRESENTITY is updated on the Presence Service
The Presence Service will NOTIFY all the subscribers of the PRESENTITY
WATCHER
NOTIFY
(RFC-3265)
(RFC-3265)
Off-Hook Status
Event
Unified CM
Presence “In Action” with CUCM—BLF Speed Dial and Call History
Off-Hook
John Smith Makes a Call
Steve Jones Is Monitoring
John Smith Status
John Smith
5553004
Steve Jones
5553003
John Smith Status Is Advertised
to a Presence Network
Contact: John Smith Ext: 5553004
John Smith
From John Smith
5553004 BLF
Speed Dial BLF
Call History
Cisco
Unified Presence
Server
Cisco Unified Presence
Operation Models
Cisco Unified Communications Manager Cluster
Cisco Unified Presence Server
Cisco Unified Personal Communicator
Cisco Unified IP Phone Messenger
Cisco Unified Presence Server provides:
•SIP/SIMPLE / XMPPPresence Server
•OCS/LCS Remote Call Control Gateway for Cisco Unified Communications Manager
•SIP Proxy for Cisco Voice Portal
Cisco Unified
CM Microsoft Office
Communicator/Lync Click to Call Integration
MS OCS or LCS
Microsoft
LCS/OCS
IBM Lotus
Sametime
Carriers /
other vendors
PBXs
Unified CM 6.x, 7.x, 8.x Cisco Unified
Presence 8.x
SIP/SIMPLE
CTI/QBE
CSTA over SIP
H.323
SCCP
IMAP
LDAPv3
SOAP
HTTP/HTTPS
Cisco Unity/Unity Connection
Unified Personal
Communicator 7.x
MeetingPlace/
MeetingPlace
Express
LDAP
Microsoft
Exchange
WebDAV/EWS
Third Party
Open API
CUMA
JTAPI
XMPP
Unified Mobility
Advantage
Cisco
WebEx
GoogleTalk
Jabber
Unified Personal
Communicator 8.x Third Party
XMPP
Client
Cisco Unified Presence Components
Cisco Unified Presence 8.x
SIP Proxy
Presence Engine / Instant Message Bridge
Instant Messaging Compliance and
Logging
Jabber Session Manager
Jabber XCP
XCP Route Fabric
Third Party Open API
Calendar
Unified CM Sync Agents
Third Party XMPP Client (Spark, Adium, Pidgin,
MomentIM, etc)
Unified Personal Communicator 8.x
PostgreSQL
Unified Personal Communicator 7.x
CUMA
Unified Application Environment
SIP Interface
Unified Mobility Advantage 7.x
ODBC
XDB
XMPP
SIP/SIMPLE
Unified CM AXL/SOAP
SIP/SIMPLE
XMPP
Microsoft
Exchange Cisco Agent
Desktop
ICMICM
Expert Advisor
Cisco Agent
Desktop
ICMICM
Expert Advisor future
Third Party
Compliance
Server
Cisco Unified Presence 8.x Architecture
Cisco Unified Presence 8.x
SIP Proxy
Presence Engine / Instant Message Bridge
Instant Messaging Compliance and
Logging
Jabber Session Manager
Jabber XCP
XCP Route Fabric
Third Party Open API
Calendar
Unified CM Sync Agents Unified Personal
Communicator 7.x
CUMA
Unified Mobility Advantage 7.x
Unified CM
AXL/SOAP
SIP/SIMPLE
XMPP
All messages, SIP
and XMPP, are routed
through the Jabber
Session Manager.
Cisco Agent
Desktop
ICMICM
Expert Advisor
Cisco Agent
Desktop
ICMICM
Expert Advisor
Unified Application Environment
SIP Interface
future
Third Party XMPP Client (Spark, Adium, Pidgin,
MomentIM, etc)
Unified Personal Communicator 8.x
SIP and XMPP Client Interoperability
IDS Global User Data Replication
Cisco Unified Communications
Manager Publisher
Cisco Unified Presence 8.x Cluster
1A 3A 2A
Sub-cluster 2 Sub-cluster 3 Sub-cluster 1
Database Sync
Cisco Unified Presence 8.x Cluster Basic Deployment
• Cluster:
up to 6 servers, including publisher
Up to 30000 users full UC (no HA)
Up to 45000 users IM only
• Subcluster
Up to 2 servers
Up to 3 subclusters per cluster
Cisco Unified Presence 8.x Cluster Basic Deployment Interactions
© 2011 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 18
Cisco Unified Presence 8.x
SIP Proxy
Presence Engine / Instant Message Bridge
Instant Messaging Compliance and
Logging
Jabber Session Manager
Jabber XCP
XCP Route Fabric
Third Party Open API
Calendar
Unified CM Sync Agents
Cisco Unified Communications
Manager
Call Control
CTI Manager
Licensing
Database
AXL SOAP
User and Device
configuration on Unified
Communications Manager
remains consistent with
previous releases
User Assignment
on Cisco Unified
Presence remains
consistent with
previous releases
Cisco Unified Presence User Assignment
Database Sync
Cisco Unified Communications
Manager Publisher
Cisco Unified Presence 8.x Cluster
Sub-cluster 1
1A
1B
Sub-cluster 2
2A
2B
Sub-cluster 3
3A
3B
IDS Global User Data Replication
Volatile Persistent Data (Login state)
Times Ten Soft State Data (Presence info)
Cisco Unified Presence 8.x Cluster High Availability Deployment
CoW Support A minimum of 5 Mb bandwidth required between nodes of each subcluster with up to 80 ms delay
Database Sync
Cisco Unified Communications
Manager Publisher
Cisco Unified Presence 8.x Cluster
Sub-cluster 1
1A
1B
Sub-cluster 2
2A
2B
Sub-cluster 4
3A
4A
Sub-cluster 3
IDS Global User Data Replication
Volatile Persistent Data (Login state)
Times Ten Soft State Data (Presence info)
Cisco Unified Presence 8.x Cluster Mixed Deployment
2A
Cisco Unified Presence 8.x
Sub-cluster 1
1A
1B
Sub-cluster 2
3A
Sub-cluster 3
Cisco Unified Presence 8.0
2A
Sub-cluster 2
4A
Sub-cluster 4
1A
Sub-cluster 1
3A
Sub-cluster 3
Cisco
Unified CM
6.x/7.x/8.x
Cisco
Unified CM
6.x/7.x/8.x
Cisco
Unified CM
6.x/7.x
Cisco Unified Presence 7.x
SIP Trunk
Intercluster Peer IDS Global User Data Replication
AXL/SOAP CTI/QBE
XMPP
SIP SIP
Volatile Persistent Data (Login state) Times Ten Soft State Data (Presence info)
Cisco Unified Presence 8.x Cluster Multi-cluster Deployment
IM Only Deployment Model
Cisco Unified
Presence Cluster
Unified CM for
user database
Deployment
Cisco Unified Presence cluster
• One to six nodes on any Cisco Unified Presence supported hardware
Unified CM hardware for user database and licensing
• No additional user licensing for Unified CM software
Clients Supported
Cisco Unified Personal Communicator 8.x and 3rd party XMPP clients
Cisco Unified Personal Communicator 8.x
3rd party
XMPP clients
Server Recovery Manager
monitors the following:
* IDS Database
* Presence Engine
* XCP Router
* Message Archiver
* SIP Proxy
* SIP Federation CM
Configuration Agent
monitors the TimesTen
replication between the
nodes within the
subcluster for use with
CoW and High Availability
Cisco Unified Presence 8.5 Cluster
Sub-cluster
1A
1B
Server
Recovery
Manager
Server
Recovery
Manager
SIP/SIMPLE
SIP/SIMPLE List Subscription
SOAP
IDS Global User Data Replication
Volatile Persistent Data (Login state)
Times Ten Soft State Data (Presence info)
Server Recovery Manager Heartbeat
Cisco Unified Presence XCP HA Server Recovery Manager / Configuration Agent
Cisco Unified Presence XCP Failover Database Failure
Unified Personal
Communicator 8.x
user123
Cisco Unified Presence 8.5 Cluster
Sub-cluster
1A
1B
Server
Recovery
Manager
Server
Recovery
Manager
Server Recovery Manager
determines IDS database is
no longer communicating
and initiates a user move
operation from 1A to 1B.
Presence Engine and XCP
Router are still operational;
therefore, a XMPP message
is sent from 1A that the user
has been moved, forcing
Unified Personal
Communicator 8.x to
disconnect from 1A and
move to 1B
user123 moved from home
server 1A and is now homed
to server 1B
SOAP
IDS Global User Data Replication
Volatile Persistent Data (Login state)
Times Ten Soft State Data (Presence info)
XMPP
Server Recovery Manager Heartbeat
Cisco Unified Presence XCP Failover Presence Engine Failure
Cisco Unified Presence 8.5 Cluster
Sub-cluster
1A
1B
Server
Recovery
Manager
Server
Recovery
Manager
Server Recovery Manager
determines Presence Engine
is no longer communicating
and initiates a user move
operation from 1A to 1B.
XCP Router on 1A is still
operational; therefore,
Presence Engine on 1B
triggers a XMPP message
sent from 1A that the user
has been moved, forcing
Unified Personal
Communicator 8.x to
disconnect from 1A and
move to 1B
user123 moved from home
server 1A and is now homed
to server 1B
SOAP
IDS Global User Data Replication
Volatile Persistent Data (Login state)
Times Ten Soft State Data (Presence info)
XMPP
Server Recovery Manager Heartbeat
Unified Personal
Communicator 8.x
user123
Cisco Unified Presence XCP Failover XCP Router Failure (Graceful)
Cisco Unified Presence 8.5 Cluster
Sub-cluster
1A
1B
Server
Recovery
Manager
Server
Recovery
Manager
Server Recovery Manager
determines XCP Router is no
longer communicating and
initiates a user move
operation from 1A to 1B.
With XCP Router not
functional Unified Personal
Communicator 8.x looses
connectivity with 1A, tears
down the connection when
the XMPP stream goes away
with 1A, and re-establishes
connectivity with 1B
user123 moved from home
server 1A and is now homed
to server 1B
SOAP
IDS Global User Data Replication
Volatile Persistent Data (Login state)
Times Ten Soft State Data (Presence info)
XMPP
Server Recovery Manager Heartbeat
Unified Personal
Communicator 8.x
user123
Cisco Unified Presence XCP Failover XCP Router Failure (Non-graceful)
Cisco Unified Presence 8.5 Cluster
Sub-cluster
1A
1B
Server
Recovery
Manager
Server
Recovery
Manager
Server Recovery Manager
determines XCP Router is no
longer communicating and
initiates a user move
operation from 1A to 1B.
With XCP Router not
functional Unified Personal
Communicator 8.x looses
connectivity with 1A, tears
down the connection after
the “whitespace ping”
interval indicates a failure
with 1A, and re-establishes
connectivity with 1B
user123 moved from home
server 1A and is now homed
to server 1B
SOAP
IDS Global User Data Replication
Volatile Persistent Data (Login state)
Times Ten Soft State Data (Presence info)
XMPP
Server Recovery Manager Heartbeat
Unified Personal
Communicator 8.x
user123
Cisco Unified Presence SIP Failover Cisco Unified Personal Communicator 7.x
Cisco Unified Presence 8.5 Cluster
Sub-cluster
1A
1B
SIP/SIMPLE
SIP/SIMPLE List Subscription
SOAP
IDS Global User Data Replication
Volatile Persistent Data (Login state)
Times Ten Soft State Data (Presence info)
Unified Personal
Communicator 7.x
Terminating NOTIFY for
Presence & UCCN
Subscription-State: deactivated
Re-SUBSCRIBE for
Presence & UCCN
Subscription-State: active
Cisco Unified Presence Sizing
MCS Platform Users Supported per Platform
7816 500
7825 1000
7835 2500
7845 5000
There is no binding between hardware and user licenses
There is no administrative limit on the number of users configured
BHCA of three (Unified CM PUBLISH rate of six/device/hour)
Contact list size is 200 (Presence & Non-Presence)
© 2011 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 31
Cisco Unified Presence Sizing
Cisco Unified Presence 8.x
Supported (EOS) Servers
MCS-7816-H3
MCS-7816-I3
MCS-7825-H2-IPC2
MCS-7825-I2-IPC2
MCS-7825-H3-IPC1
MCS-7825-I3-IPC1
MCS-7835-H2-IPC1
MCS-7835-I2-IPC1
MCS-7845-H2-IPC1
MCS-7845-I2-IPC1
Cisco Unified Presence 8.5 Hardware Cisco Unified Presence 8.5 Supported Servers
MCS-7816-I4, MCS-7816-I5
MCS-7825-H4-IPC1
MCS-7825-I4-IPC1, MCS-7825-I5-IPC1
MCS-7835-H2-IPC2
MCS-7835-I2-IPC2
MCS-7835-H3-IPC1
MCS-7835-I3-IPC1
MCS-7845-H2-IPC2
MCS-7845-I2-IPC2
MCS-7845-H3-IPC1
MCS-7845-I3-IPC1
UCS C-Series - C200, C210 M1, and C210 M2
UCS B-Series Blade (7835 equivalent)
2 vCPU, 4 GB RAM, 80 GB Drive, 1 vNIC
UCS B-Series Blade (7845 equivalent)
4 vCPU, 4 GB RAM, Two 80 GB Drive, 1 vNIC
Internet Unified
Presence 8.x
Unified Personal
Communicator 7.x
Unified
CM
Adaptive Security
Appliance
DMZ DMZ
Unified
Presence
8.x
Unified
Presence
8.x
SIP/SIMPLE
Intercluster Peer
Domain A
Domain B
Unified
Presence 8.x XMPP
Unified Personal
Communicator 8.x
IBM Lotus Sametime Connect Clients
IBM Lotus Sametime 8.x
IBM Lotus Sametime Gateway
Adaptive Security
Appliance
Unified Presence 8.5 XMPP Federation
Microsoft Office Communicator /
Lync 2010
Microsoft Office Communications Server 2007 / Lync Server 2010
Unified
CM Internet
Access Proxy
DMZ DMZ
Unified
Presence
8.x
Unified
Presence
8.x
SIP/SIMPLE
Intercluster Peer Domain A Domain B
Unified Personal
Communicator 7.x
Unified Personal
Communicator 8.x
Unified
Presence 8.5
XMPP
Adaptive Security
Appliance AOL SIP Access
Gateway
User Communities
aol.com, icq.com, aim.com
Hosted Domains
Clearing House
Unified Presence 8.5 SIP Federation
• Federating with users of AOL communities
Users would be fall under the following domains
@aol.com, @aim.com, @icq.com
• Federating with hosted domains
[email protected] of Enterprise hosteddomain123.com whose domain is hosted by AOL
• Federating with enterprises that are using AOL as a Clearing House
[email protected] of Enterprise somehostedcompany123.com who at the far end is federating with AOL
Cisco Unified Presence Federation AOL SIP Federation
Microsoft Office Communicator
Microsoft Office Communications
Server 2007 / Live Communications
Server 2005
Unified CM
SIP/SIMPLE
Unified Personal
Communicator
Cisco Unified
Presence 8.6
XMPP
Unified Presence Intra-Domain Federation
Shared
Active
Directory
Domain A
Partitioned SIP Intra-Domain Federation is enabled via configured static routes or internal DNS entries
on both Unified Presence and Live/Office Communications Server
External SIP
Federated
Enterprise
External XMPP
Federated
Enterprise
Public DNS records are required to enable external federation for each domain
Unified Presence Users Unified Presence and Communications Server Users
• Static routes must be configured on each Unified Presence cluster to point to each Office Communications Server
• Unified Presence static routes must be configured for:
The local domain: com.domaina.*
Each server of Office Communications Server / Live Communications Server within the domain: com.domaina.server1
Unified Presence Intra-Domain Federation Unified Presence Static Routes to Office Communications Server
Unified Presence 8.6
Unified Presence 8.6
Office
Communications
Server 2007
Office
Communications
Server 2007
• Routing Unified Presence server will forward to home node
• A static route, which maps the local domain to the routing Unified Presence server, must be configured for each Office Communications / Live Communications pool/server.
• Each Office Communications / Live Communications pool/server may configure the static route to point to a different Unified Presence server, or hardware load balancer, to further balance the load.
Unified Presence Intra-Domain Federation Office Communications Server Static Routes to Unified Presence
Unified Presence 8.6
Unified Presence 8.6
Unified Presence 8.6
Office
Communications
Server 2007
Office
Communications
Server 2007
• Each Unified Presence cluster performs a DNS SRV lookup to the internal DNS server for the default route to the Office Communications / Live Communications server which accepts incoming requests.
TCP: _sip._tcp.domaina.com
TLS: _sips._tcp.domaina.com
• This approach removes the need for Static Route configuration on Unified Presence; however, is dependent on the DNS SRV records being unused within the domain.
Unified Presence Intra-Domain Federation Unified Presence DNS SRV Lookup
Unified Presence 8.6
Unified Presence 8.6
Office
Communications
Server 2007
Office
Communications
Server 2007
Internal DNS Server
Unified Presence Intra-Domain Federation Unified Presence Administration
Based on msRTCSIP-PrimaryUserAddress
Cisco Unified Presence 8.x Persistent Chat
Database Sync
IDS Global User Data Replication
Cisco Unified Communications
Manager Publisher
Cisco Unified Presence 8.x Cluster
Sub-cluster 4
1A
4A
Sub-cluster 6
3A
6A
Sub-cluster 5
2A
5A
Sub-cluster 2 Sub-cluster 3 Sub-cluster 1
ODBC
• Each server in the Unified Presence cluster requires a separate database instance for
persistent chat. The database instances can share the same hardware, but are not required to.
•PostgreSQL is the only supported DB
Unique Separate Database Instance
PostgreSQL
Cisco Unified Presence 8.x Native Compliance/Message Archiving
• DB supported: PostgreSQL, 1 instance per cluster
• Non blocking compliance and archive
Database Sync
IDS Global User Data Replication
Cisco Unified Communications
Manager Publisher
Cisco Unified Presence 8.x Cluster
Sub-cluster 4
1A
4A
Sub-cluster 6
3A
6A
Sub-cluster 5
2A
5A
Sub-cluster 2 Sub-cluster 3 Sub-cluster 1
ODBC
PostgreSQL
Cisco Unified Presence 8.x Blocking 3rd Party Compliance
Database Sync
IDS Global User Data Replication
Cisco Unified Communications
Manager Publisher
Cisco Unified Presence 8.x Cluster
1A 3A 2A
Sub-cluster 2 Sub-cluster 3 Sub-cluster 1
XDB
Third Party
Compliance
Server
XDB XDB
Third Party
Compliance
Server
Third Party
Compliance
Server
• 1 compliance server per cluster each server
• Each user confugures visibility and reachability rules
• Feature storage
Persistent chat requires an external database to store chat rooms and conversations.
Ad-hoc group chat is stored in memory on Cisco Unified Presence if persistent chat disabled, or is stored in external database for duration of chat if persistent chat enabled
Offline IM is stored in IDS on Cisco Unified Presence.
• Native compliance/message archiver
Recommendation is to have one instance per cluster.
• Persistent group chat
Required to have a separate database instance PER Cisco Unified Presence SERVER, not just per cluster.
• Third party compliance
Required to have a separate compliance server PER Cisco Unified Presence SERVER
IM Message Storage Summary
© 2011 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 48
IM Message Store sizing
User Assignment IDS Global User Data Volatile Persistent Data Times Ten Soft State Data
Cisco Unified Presence 7.x
Sub-cluster 1
1A
1B
2A
Sub-cluster 2
3A
Sub-cluster 3 Sub-cluster 4
4A
4B
Cisco Unified Presence 8.x
Sub-cluster 1
1A
1B
2A
Sub-cluster 2
3A
Sub-cluster 3 Sub-cluster 4
4A
4B
Migration to Cisco Unified Presence 8.x
• 4000 user Commercial deployment
HA is not required, All Cisco components, IM logging required
Cisco Unified Presence 8.5
PostgreSQL
Single MCS-7845 for Unified CM, could use Pub and Sub if desired
Single MCS-7845 for Unified Presence (supports up to 5000 users)
External database (PostgreSQL) for archiving
Cisco Unified CM 8.x
4000 User Commercial Deployment
Cisco Unified Presence 8.5
Cisco Unified CM 8.x
10,000 user Higher Education Presence/IM deployment
Presence and IM solution only
MCS-7845 for Unified CM, publisher and one or two subscribers
Three MCS-7845 for Unified Presence equal user balance
10,000 users is a borderline scale number, even though 5000 users
are supported per MCS-7845 it is best to allow for some growth
10,000 User Higher Education Deployment
Cisco Unified Presence 8.5
PostgreSQL
Cisco Unified CM 8.x
PostgreSQL PostgreSQL
100,000 user Enterprise deployment
HA is required, Cisco and non-Cisco components, Open APIs, IM logging and persistent chat required
MAXIMUM 15,000 per cluster deployment for full HA; therefore, need
seven clusters
Unified CM cluster configured with multiple subscribers for HA, most likely
using MCS-7845 servers but other combinations will work
Unified Presence cluster configure with three MCS-7845 full capacity, or up
to six MCS-7845 with equal user balance
External database (likely more than one) for archiving, where each server
in the Unified Presence cluster has a separate DB instance for chat
100,000 User Enterprise Deployment
• Predictive contact and directory search Recent contacts history
Even if party is not in contacts list
Corporate contacts
Personal contacts
Federated business partner contacts
• Adding contacts Click and drag into your contact list
Personalize with alternate numbers or photos
• Enhances collaboration and effectiveness Across campus or across the globe
• Simple user interface Click-to-call for voice and/or video
Single number for voice and/or video
• Media escalation to multiparty video
• Standards-based H.264 Video
• Advanced video call control Yields tremendous call/video user experience
• Video resolution choices QCIF, CIF, VGA, HD ( 720p 30fps)
• Accelerate team collaboration
Reduce travel expenses with fewer in-person meetings
• No scheduling needed Impromptu multiparty video calls
• Standards-based HD video endpoint interoperability
Video phones, soft clients, room end points, Cisco TelePresence
Sample vendors: Cisco Tandberg, Polycom, LifeSize, etc.
• Collaborate more effectively Improve operational effectiveness
Speed up decision making
• Share documents, applications, and presentations
Overcome geographic boundaries
Scale content to interface automatically
Collaborate with white boarding
z
• Unified Pane
• Call Logs
• Visual Voicemail Message waiting indicator with counter
• Chat Easily find past chats
• Presence everywhere
• One-click to return the communication
Voice, video, IM, email
Communications Integrated for Easy Access
• View availability and initiate communications
Dynamic presence status
Click-to-chat & call (audio/video)
Point-to-point & multi-party
• Microsoft Outlook, SharePoint, Office
• Browsers, Web–applications
• Cisco commitment to desktop experience
• Cisco Unified Presence 8.x delivers Enterprise IM and Presence in a highly available deployment
• Third Party Interoperability
• Open APIs extend the reach of Cisco Unified Presence
Key Takeaways
You can find additional information about the topics and products covered in this session at the following links:
Cisco Unified Presence: http://www.cisco.com/en/US/products/ps6837/index.html
Cisco Unified Personal Communicator: http://www.cisco.com/en/US/products/ps6844/index.html
Cisco Unified Presence APIs http://developer.cisco.com/web/cupapi
Unified Communications Sizing Tool: http://tools.cisco.com/TSTVMS/
Additional Resources
• Receive 25 Cisco Preferred Access points for each session evaluation you complete.
• Give us your feedback and you could win fabulous prizes. Points are calculated on a daily basis. Winners will be notified by email after July 22nd.
• Complete your session evaluation online now (open a browser through our wireless network to access our portal) or visit one of the Internet stations throughout the Convention Center.
• Don’t forget to activate your Cisco Live and Networkers Virtual account for access to all session materials, communities, and on-demand and live activities throughout the year. Activate your account at any internet station or visit www.ciscolivevirtual.com.
Complete Your Online Session Evaluation
XMPP Protocol
An open Extensible Markup Language (XML) protocol for near-real-time
messaging, presence, and request-response services
The base XMPP RFCs:
http://www.xmpp.org/rfcs/rfc3920.html
http://www.xmpp.org/rfcs/rfc3921.html
XML Streams XML Stanzas
<stream> </stream> <presence> </presence>
<message> </message>
<iq> </iq>
Common attributes to all stanzas, although not required
to
from
id
type
xml:lang
Jabber Identifier - JID
Entities that can be addressed in Jabber must have a Jabber ID, and are
typically made up of three main components:
Node identifier – client username on the server or a room name for conference
Domain identifier – primary identifier; typically identifies the primary server
Resource identifier – represents a specific session, connection (i.e. device or
location), or object (i.e. participant in a multi-user chat room).
The JID takes the form of: node@domain/resource
The domain identifier is the only required identifier, and the node and resource
identifier allow for increased granularity for user, room, or device.
XMPP XML Streams
XML Streams
<stream> </stream>
| ---------------------------------- |
| <stream> |
|----------------------------------- |
| <presence> |
| <show/> |
| </presence> |
|----------------------------------- |
| <message to = ‘foo’> |
| <body/> |
| </message> |
|----------------------------------- |
| ………. |
|----------------------------------- |
|</stream> |
|----------------------------------- |
Server to
Server
Client to
Server
XMPP Presence Stanza
The ‘type’ attribute determines usage and can take one of the following values:
available - The user is available.
unavailable – Typically sent by client before logging out.
probe - Sent by a server to poll for a users presence.
subscribe - Sent by a user when subscribing to another users presence
unsubscribe - Sent by a user when unsubscribing to another users presence
subscribed- Sent by a user in response to a subscribe when accepting a
subscription
unsubscribed - Sent by a user in response to an unsubscribe when accepting
an unsubscribe request.
The presence stanza contains up to three child elements.
<show/> - users availability: away, chat, dnd, normal or xa
<status/> - qualifier for availability – a text string containing more
information e.g. “on the phone”
<priority/> - priority of this entity (defines the priority of this resource)
XMPP Presence Stanza Example
serverA UserB@serverA/home userA@serverA/laptop
<presence> <status>I’m busy</status>
<show>dnd</show><priority>1</priority>
</presence>
<presence from=“userA@serverA/laptop"
to=“userB@serverA"><status>I’m
busy</status><show>dnd</show>
<priority>1</priority>
</presence>
Server sends
presence
update for
User A to all
subscribed for
User As
presence
XMPP Message Stanza
The 'type' attribute of a message stanza is RECOMMENDED. If included, the
'type' attribute MUST have one of the following values:
chat - The message is sent in the context of a one-to-one chat conversation
error - An error has occurred related to a previous message sent by the sender
groupchat - The message is sent in the context of a multi-user chat environment
headline - The message is typically generated by an automated service that
delivers or broadcasts content (news, sports, market info, RSS feeds, etc.)
normal - The message is a single message that is sent outside the context of a
one-to-one conversation or groupchat, and to which it is expected that the
recipient will reply.
The message stanza can contains up to three child elements
<subject/> - the subject or title of the message
<body/> - the main body of the message
<thread/> - unique identifier linked to a conversation.
XMPP Message Stanza Example
serverA UserB@serverA/home userA@serverA/laptop
<message from=“userA@serverA/laptop"
to=“userB@serverA"
type="chat"><body>hi</body></message>
<message from=“userA@serverA/laptop"
to=“userB@serverA"
type="chat"><body>hi</body></message>
<message from=“userB@serverA/home"
to=“userA@serverA" type="chat"><body>hi there
user A</body></message>
<message
from=“userB@serverA/home
" to=“userA@serverA"
type="chat"><body>hi there
user A</body></message>
XMPP IQ Stanza
Command response based messages that can be either ‘set’ or ‘get’. The
response is either ‘result’ or ‘error’. ‘set’, ‘get’, ‘result’ or ‘error’ is set in the type
field of the iq stanza.
The iq stanza is very flexible and can be used in for many purposes. Examples
include Roster Management, Privacy List Management, Non SASL
Authentication, and Service Discovery.
IQ get usually contains a sub element with a qualifying namespace that defines
the essence of the get activity. <iq type='get' to=‘alice'>
<query xmlns='jabber:iq:version'/>
</iq>
IQ set usually contains the qualifying namespace and also child tags that hold
the data to be set. Example of a vCard being updated: <iq type='set'>
<vCard xmlns='vcard-temp' version='3.0'>
... [vCard information] ...
</vCard>
</iq>
XMPP IQ Stanza Example
serverA UserB@serverA/home userA@serverA/laptop
<iq id=”id123”
type=”get”><query
xmlns=jabber:iq:roster”/>
</iq>
<iq from='userA@serverA/laptop'
id='jcl_16' type='result'>
<query xmlns='jabber:iq:roster'>
<item jid=‘johndoe@serverA'
name=‘johndoe'
subscription='none'><group>Friends
</group></item>
<item ask='subscribe'
jid=‘janedoe@serverA'
name=‘janedoe'
subscription='none'><group>Friends
</group></item>
<item jid=‘jendoe@serverA'
name=‘jendoe'
subscription='none'><group>Friends
</group></item>
<item jid=‘jimdoe@serverA'
name=‘jimdoe'
subscription='none'><group>Friends
</group></item>
</query>
</iq>
Server stores
user As roster.
Server serves up
the roster to
userA when
requested