the sametime mobile experience

72
Deploying Instant Messaging For Mobile Devices Gabriella Davis Technical Director The Turtle Partnership [email protected]

Upload: gabriella-davis

Post on 22-Jan-2018

1.342 views

Category:

Mobile


0 download

TRANSCRIPT

Page 1: The Sametime Mobile Experience

Deploying Instant Messaging For Mobile Devices

Gabriella DavisTechnical DirectorThe Turtle [email protected]

Page 2: The Sametime Mobile Experience

Who Am I?

Adminofallthingsandespeciallyquitecomplicatedthingswherethefunis

Workingwithsecurity,healthchecks,singlesignon,designanddeploymentofDomino,ST,Connec>onsandthingsthattheytalkto

Stubbornandrelentlessproblemsolver

LivesinLondonabouthalfofthe>[email protected]:gabturtle

AwardedthefirstIBMLife>meAchievementAwardforCollabora>onSolu>ons

Page 3: The Sametime Mobile Experience

Architecture

Page 4: The Sametime Mobile Experience

DB2❖ Licensed as part of Sametime Communicate or Complete

❖ Used to store data for the Apple push notification activity

❖ If you aren’t using iOS devices then the DB2 database for STProxy isn’t being used

❖ In default mode when coming out of the IM or Meeting application on iOS it is remains backgrounded and you remain logged in and available to other users

❖ Backgrounding can be disabled as a server setting

Page 5: The Sametime Mobile Experience

Sametime System Console

❖ The SSC is used to manage all the Sametime components

❖ It must be aware of all servers in order to integrate their services

❖ It also manages all policies

❖ A Sametime Proxy server doesn’t have to be installed as part of the SSC Cell

Page 6: The Sametime Mobile Experience

Domino❖ Sametime 9.0.1 still requires Domino and is still a 32bit application

❖ You must first install Domino before you can install the 32bit Community Server using it

Page 7: The Sametime Mobile Experience

Community Server❖ Installs on top of Domino

❖ Is a subtask of the HTTP server

❖ load staddin

❖ Create a deployment plan in the SSC and install using that so it’s federated

❖ All the other servers need to know about it

❖ Using Domino’s proprietary directory standard is no longer supported for any components, you must use LDAP

❖ Using Domino as LDAP is supported

Page 8: The Sametime Mobile Experience

Sametime Proxy Server❖ The Sametime Proxy server is a HTTP proxy which connects to the

Sametime Community Server

❖ By default it will attempt to consume any server in the domain

❖ Any server document with “Is Sametime Server” set to “yes”

❖ The Sametime Proxy server is used by

❖ Web clients

❖ Web meetings

❖ Mobile applications

❖ Awareness in applications

❖ Connections integration

Page 9: The Sametime Mobile Experience

Sametime System ConsoleDeployment PlanSametime Server

Server ConfigurationServer Policies

DB2SSC Policies (STSC)STProxy for iOS push

Sametime Proxy ServerWeb Proxy

Sametime Community Server

Client Mobile Request

Request access for chat or meetings over port 443

Request is passed to the Community server for

validation

LDAP Server Community server authenticates credentials

Policies are applied

Policies are read

Mobile Access Architecture

Page 10: The Sametime Mobile Experience

Client Mobile

Request

InternalMobile DMZ

DB2SSC Policies (STSC)STProxy for iOS push

Sametime System ConsoleDeployment PlanSametime Server

Server ConfigurationServer Policies

LDAP Server

Sametime Community Server

Sametime Proxy Server

Request is passed to the Community

server for validation

Community server authenticates credentials

443

1516

Mobile Access and Security

Page 11: The Sametime Mobile Experience

Configuration

Page 12: The Sametime Mobile Experience

Create A Proxy Database❖ Create a DB2 database to be used by iOS applications

❖ createProxyDb STPROXY db2admin

script to create the database

database schema

Page 13: The Sametime Mobile Experience

It can take a few minutes to run but when complete

you should see this message

Page 14: The Sametime Mobile Experience

Add It To The SSC

db2 server hostname & port

Newly created db name

stdb.turtlehost.net

Page 15: The Sametime Mobile Experience

Create A Deployment Plan

Only visible to administrators not

users

Page 16: The Sametime Mobile Experience

Create A Deployment Plan

Each cluster can only have one primary node

Each cell can only have one cluster of

each server type

Page 17: The Sametime Mobile Experience

Adding A Primary Node To The SSC

Add the new node to the existing Cell (the

System Console)

Page 18: The Sametime Mobile Experience

Create A Deployment Plan

One option is to install additional Sametime Proxy Servers in their

own cells

Page 19: The Sametime Mobile Experience

Hostname for the install

WebSphere credentials for the install. If the server is federated

into an existing cell these are removed

Page 20: The Sametime Mobile Experience
Page 21: The Sametime Mobile Experience

Confirming The Install

Page 22: The Sametime Mobile Experience

Verifying SSC-Proxy

host and credentials the SSC uses to open the proxy

server

Page 23: The Sametime Mobile Experience

If this page opens successfully you have

confirmed the routing from SSC to Proxy

Page 24: The Sametime Mobile Experience

Installing Standalone

❖ The Sametime Proxy server can only be federated into the SSC as a single cluster

❖ When WAS servers are clustered horizontally with a primary and several secondary nodes , they are all considered “equal”

❖ Horizontal clusters are not suitable if you want to manage access by location

Page 25: The Sametime Mobile Experience

Virtual Hosts❖ Create a specific virtual host for all the hostname:port

combinations your Sametime Proxy Server will use

❖ These should be unique within your cell as they tell WebSphere how to route traffic to the application

❖ avoid using wildcard hostnames

application ports

Page 26: The Sametime Mobile Experience

Mapping Virtual Hosts❖ Once our virtual host is created we need to map the modules

associated with the application to use it instead of “default_host”

Page 27: The Sametime Mobile Experience

Proxy Server Configuration

how a web meeting is started.

Servers should share a LtpaToken

specific community clusters by name to use or specific

community servers

Page 28: The Sametime Mobile Experience

Mobile Configuration

server -wide settings to determine client

behaviour

Page 29: The Sametime Mobile Experience

Meeting Server Configuration

Page 30: The Sametime Mobile Experience

Server-Wide Mobile Security Settings

Page 31: The Sametime Mobile Experience

Meeting Server Configuration

❖ There are additional settings that can be force users to upgrade their mobile clients if they are using versions older than X

❖ That’s a very specific, and potentially painful, admin use case❖ mobile.Android.currentVersion / mobile.Android.minVersion

❖ mobile.iOS.currentVersion / mobile.iOS.minVersion

Page 32: The Sametime Mobile Experience

Clustering❖ Each cluster must be managed by a deployment manager

❖ That deployment manager can be, but does not have to be, the SSC

❖ There can be only one primary node in a cluster

❖ Deployment plans can only be created for one cluster of Sametime Proxy Servers

❖ but a different cluster can be added manually

❖ Servers in the same cluster are considered the same for serving user requests and users could be directed to any available member

Page 33: The Sametime Mobile Experience

Security

Page 34: The Sametime Mobile Experience

Reverse Proxies❖ A reverse or authenticating proxy can provide secure

access through a DMZ to your meeting servers

❖ For larger deployments you may want to keep the Sametime Proxy and Meeting Servers on the internal network and use a reverse proxy in the DMZ

❖ These proxies will authenticate with the LDAP servers directly before passing the authorisation through to the application servers

Page 35: The Sametime Mobile Experience

Deploying A SSL Certificate❖ Never deploy to mobile clients without SSL

❖ A trusted SSL certificate is particularly important when deploying mobile clients

❖ Both the Chat and Meeting applications allow users to accept untrusted SSL certificates

❖ You can turn that off in the server configuration

❖ Replace the installed internal SSL certificate with one you have purchased

Page 36: The Sametime Mobile Experience

Adding A New SSL Certificate❖ Under Security - SSL Certificates and Key Management

❖ We want to import the trusted roots of the CA into the Trust Store

❖ In this example GoDaddy suppled a CRT bundle that I simply “Added”

Page 37: The Sametime Mobile Experience

Adding A New SSL Certificate

❖ I then had the IBM signer created during install and the GoDaddy signer that will be used to create my certificate

Page 38: The Sametime Mobile Experience

Creating A CSR❖ The simplest method of getting a certificate into WebSphere is to create the CSR

there

❖ Then you can simple “receive” the new certificate into the DefaultKeyStore

BEWARE!!

Page 39: The Sametime Mobile Experience

Adding A Personal Certificate❖ If you can’t do that, then a P12 works well

❖ You must have the private key component of the certificate you want to add

Page 40: The Sametime Mobile Experience

Replacing The Default Certificate❖ In my environment I have purchased a wildcard turtlehost.net certificate I want each

server to use

❖ Rather than individually change each server, I can replace the default certificate with my new wildcard once it’s imported

❖ Select the “default” certificate and choose “Replace”

Page 41: The Sametime Mobile Experience

Or..Apply To EndPoints❖ If I want to apply different certificates to different servers

I can do this by mapping the server endpoints to each one

Page 42: The Sametime Mobile Experience

You MUST map both the inbound and outbound endpoints , sync and restart the servers

Page 43: The Sametime Mobile Experience

Beware! 4096 Certificates❖ WebSphere Application Server does not support 4096

certificates out of the box

❖ Previously if you attempted to add one you would get an error “RSA Premaster Secret” and it would refuse to add

❖ Now you don’t get the error, it does add

❖ It just doesn’t work

❖ There’s an easy fix

Page 44: The Sametime Mobile Experience

Unrestricted Java Policy Files❖ Downloaded the unrestricted java policy files from IBM Fix Central

❖ There are two files local_policy.jar and US_export_policy.jar that overwrite those in

❖ <websphere install directory>/java/jre/lib/security

❖ Shutdown your servers

❖ Replace the files

❖ Start the servers

❖ Not doing this and deploying 4096 certificates will lead to

❖ servers being unable to talk to each other

❖ you being unable to stop your servers cleanly

❖ audio and video not working

Page 45: The Sametime Mobile Experience

Chat Policies

Page 46: The Sametime Mobile Experience

Meeting Policies

❖ There are no specific policy settings for mobile users in Meeting Rooms

❖ Mobile specific settings are in the Meeting server configuration itself as they apply to all users

❖ Meeting policies apply to a user whether they are on a mobile device or not

Page 47: The Sametime Mobile Experience

Media Policies❖ The line rate will affect how much video data is broadcast

to the mobile client

Page 48: The Sametime Mobile Experience

Client Behaviour

Page 49: The Sametime Mobile Experience

Apple Push Notification Service❖ To enable push notifications for iOS devices you must allow traffic outbound

❖ gateway.push.apple.com 2195

❖ feedback.push.apple.com 2196

❖ find the file apns-prod.pkcs12 which is on the Proxy server node

❖ <websphere profile>/config/cells/cellName/nodes/stproxyPNNodename/apns-prod.pkcs12

❖ Copy it to the Node directory for any Sametime Proxy server under the Deployment manager e.g.

❖ /STSCDMgrProfile/config/cells/balticcell/nodes/stproxynodename

❖ Always check fix central for an updated version of this certificate which needs to be deployed

Page 50: The Sametime Mobile Experience

Google Cloud Messaging❖ Used for Sametime notifications on Android devices

❖ Use “Retrieve from port” in the Trust Store to bring the Google certificate into your deployment manager

Page 51: The Sametime Mobile Experience

Google Cloud Messaging

Page 52: The Sametime Mobile Experience

Tablet

Phone

Page 53: The Sametime Mobile Experience

TabletPhone

Page 54: The Sametime Mobile Experience

Tablet

Contact list

audio & video if you are both ableRecent audio and

video calls

Page 55: The Sametime Mobile Experience

iOS Meetings

Phone - add files

Phone

Page 56: The Sametime Mobile Experience

Tablet

Screen sharing with pointer activity

Conference dial in

Page 57: The Sametime Mobile Experience

Phone landscape mode

Phone portrait mode

Page 58: The Sametime Mobile Experience

Creating A Meeting❖ Shared files are commonly URLs or Photos

❖ The mobile application can’t access the mobile file system

Page 59: The Sametime Mobile Experience

Whiteboard Meeting on the iPad

Page 60: The Sametime Mobile Experience

Video Meeting on the iPad

click to call via phone

(not my number :-))

Page 61: The Sametime Mobile Experience

Pre-Configuring Clients❖ Create a custom URL for users that will provision their mobile chat

client

❖ sametime://@stproxy.turtlehost.net:443/?AddCommunity&ssl=true

❖ creates a new community for the server stproxy.turtlehost.net using the secure 443 port and prompts the user for their name

❖ Other optional parameters include

❖ savePassword (true/false)

❖ communityName (if you want to give it a specific name)

Page 62: The Sametime Mobile Experience

Sharing Meeting Server Configuration

Sharing options also available on Android devices

Page 63: The Sametime Mobile Experience

Troubleshooting

Page 64: The Sametime Mobile Experience

Trusted IPsLong time bug.

When WAS writes the Trusted IPs as a string

rather than a list

Until this is fixed by saving the

document in stconfig.nsf nothing

will work

Page 65: The Sametime Mobile Experience

Trusted IPs

❖ This has been a recurring problem since 8.5.2

❖ With this bug if you change the Trusted IPs in WebSphere the next time the Community server is restarted, they will be broken

❖ On 9.0.1 I’ve also seen an error where a single trusted ip is listed with a “.” at the end, causing it to fail

Page 66: The Sametime Mobile Experience

Routing To The Correct Server❖ Regardless which Community server you configure the Sametime

Proxy server to use in its deployment plan

❖ It can and will connect to any server in the Domino domain configured as a “Sametime” server

❖ Edit the Sametime Proxy configuration to force routing to a specific server, servers or cluster

❖ Check the SystemOut.log on the Sametime Proxy server to determine which server it is trying to connect to

❖ Check the sametimexxx.log in the \Domino\Trace directory to verify if connections are being refused and why

Page 67: The Sametime Mobile Experience

This is left empty on install so by default all domain

Sametime servers can be consumed

Page 68: The Sametime Mobile Experience

Re-Mapped Virtual Host

❖ During fix updates or patches it’s common for the Virtual Hosts of each application to be reset to “default_host” instead of the specific one we created

❖ If you get an error 500 or “SRVE0255E: A WebGroup/Virtual Host to handle /mapping has not been defined” these are commonly associated with an incorrect virtual host

Page 69: The Sametime Mobile Experience

Bandwidth❖ The largest consumption of resource for a Sametime

Proxy Server is the network

❖ If the server is virtualised, make sure the network card assigned isn’t shared

❖ Monitor the network traffic to the server

❖ Audio and Video streams on mobile services are sent via the Sometime Proxy server which was probably not designed for media traffic

Page 70: The Sametime Mobile Experience

Mobile Bandwidth

❖ There is a maximum number of video feeds that are supported for a Meeting on mobile devices

❖ the setting (which can’t be changed) is 4 + you

❖ This can be further limited if bandwidth goes beyond the configured allowable amount

Page 71: The Sametime Mobile Experience

Media Using The Wrong Server❖ Random media errors can be the result of the Conference Manager

attempting to connect to the wrong Community Server

❖ If everything else appears started with no errors, verify the SystemOut.log of the Conference Manager for any errors relating to other servers

❖ If a server exists in the domain (Domino Directory) and has “Is This A Sametime Server?” field marked as “yes” it will be consumed by the servers in the SSC

Page 72: The Sametime Mobile Experience

Questions?