Microsoft Unified Communications Virtual User Group

John | Uncategorized | Friday, May 22nd, 2009

I stayed up way past my bedtime to join into the UCVUG Kick-Off meeting tonight (midnight BST) but it was well worth it.

I’ve long believed that the regional user groups are great, but a vestige of slightly dated concept.   I’m a “Yank” living in the UK and I’ve travelled the world for work and fun.  The people I connect with for support and to collaborate with are just as likely to be in the US, Australia, Kenya, Singapore or Slovenia as they are to be in the UK.   The virtual user group addresses that by being the first truly global user group for Microsoft Unified Communications technologies. 

The best part:  The virtual user group meets by using the very technologies that are being discussed.  A very loopy Escher-like event indeed!
escher2

Jeff Schertz (resident OCS rock star at PointBridge in Chicago) kicked-off the first presentation with a great overview of the OCS 2007 R2 feature set.

Congrats to Dustin Hannifin and the gang for pulling this together.  Doing this kind of thing requires a lot of time.  If you’re interested in OCS, get in there and ask questions, answer questions, offer to help.  The success of the group is up to you and me. 

To participate: http://ucvug.org/

-John Lamb, Modality Systems

OCS Development – The APIs

Paul N | Development, Office Communications Server, Office Communicator | Wednesday, March 25th, 2009

When it comes to developing against Office Communications Server, choosing the appropriate API can be a task in itself. The number of available APIs can be a bit overwhelming at first glance, and the selection task is not helped by concerns over which APIs are compatible with which release.

This post aims to shine a small light on each of the APIs, and give an idea of which APIs can be used against which version of Office Communications Server. (Disclaimer: version compatibility was determined by the information available on MSDN at the time of writing, and a small amount of testing)

The APIs currently available are:

Client side:

Server side:

 

Office Communicator Automation API (2007 and R2)

This is a client side COM API that allows an application to automate the running instance of communicator. Communicator 2007/R2 must be installed on the target machine, and must be running in order for an application to make use of it.

Using this API, a custom application can perform the same tasks as communicator – for example:

  • Sign into/out of communicator
  • Display a list of contacts, with presence information (including the signed-in user’s presence) and profile information
  • Manage contacts and contact groups
  • Start voice/video/IM conversations (these will open a new Communicator conversation window, as if the call had been initiated from Communicator)
  • Send text to an IM conversation
  • Manipulate the main Communicator window (size, positioning)

This allow the developer to integrate presence and “click to communicate” functionality into applications, and also allows for the possibility of passing information from one instance of an application to another – for example, User A initiates a conversation about a customer with user B. User B’s application updates to show the customer records of the customer being discussed.

 

Unified Communications Client API (2007 and R2)

This is a client side COM API that allows custom applications to be written that include communication capabilities, without the restriction of having Communicator installed on the target machine. Although more complicated to use than the Communicator Automation API, it does allow full control over communications capabilities.

To contrast this API and the Communicator Automation API this example should give a flavour of the differences:

  • When starting a conversation in an application using the Communicator Automation API, a new Communicator conversation window is opened (i.e. the conversation window is not integrated into the application).
  • Using the Unified Communications Client API, we could start a conversation from an application, and also embed conversation windows into the application. While this is more development work, it provides a much more integrated feel.

This API allows the developer to integrate all of the same capabilities that Communicator provides into a custom application. As well as this, it gives the developer a lower-level insight into the SIP messages – for example, SIP headers can be examined.

 

Unified Communications AJAX API (2007 and R2)

This API allows custom web pages to be created that include communication capabilities. It requires that Communicator Web Access be enabled in the OCS environment.

The API allows the developer to include the following capabilities into web pages:

  • Presence subscribing/publishing
  • Contact management
  • Start and accept IM conversations/conferences (no voice/video)

 

Communicator Custom Tabs (2007 and R2)

Custom Tabs can be added into communicator. These host an Internet Explorer control, so can be used to display a web page. The web page is sent the SIP URI of the signed-in user, and also the SIP URIs of any selected contacts.

This allows the developer to display further information related to the user and the user’s contacts, within the main communicator window. Not strictly an API, custom tabs are enabled through registry settings and xml config files.

 

Unified Communications Managed API 1.0 (2007 only)

This is a server-side API that can be used to create applications that interact with OCS, and appear as users with their own SIP URI. This is the API that is typically used for creating query/response agents (Bots), or Broadcast IM bots that send IMs in response to certain events.

This API allows the application to behave as a user, with the following limitations:

  • There is no support for querying presence
  • IM is the only modality supported
  • There is no support for conferencing

Using this API, the developer can create applications that:

  • Provide an end-point for users to query to get information – for example, a bot that responds to queries for stock prices
  • Broadcast information to users when certain events happen – for example, when a stock price falls below a certain threshold

 

Unified Communications Managed API 2.0 Core (R2 only)

This API builds on UCMA 1.0 by adding the following support:

  • Querying presence
  • Audio
  • Conferencing

As well as the application scenarios that UCMA 1.0 enables, this API allows the developer to create applications that:

  • Ask users for information as part of a workflow – for example, User A submits an expense claim, the bot starts a conversation (IM or Voice) with User B when they are available, provides details of the expense claim, and asks User B for authorisation
  • Initiate or join conferences – for example, schedules a conference and IM’s participants 15 minutes beforehand

 

Unified Communications Managed API 2.0 Speech (R2 only)

This API provides Speech Recognition and Text-to-Speech capabilities for applications, allowing the developer to create applications that:

  • Place a voice call, and read textual information to the call recipient – for example, the contents of an email
  • Understand and respond to voice commands

 

Unified Communications Managed API 2.0 Workflow Activities (R2 only)

Windows Workflow Foundation is a technology for building applications, which allows business processes to be modelled as Workflows (think Flow Charts). Each step in the workflow relates to an “Activity”, which is a block of code that performs a specific task – for example, email a user using this template. This (in theory) cuts development time and makes changes to the business process easier to accommodate.

The UCMA 2.0 Workflow Activities are pre-defined workflow activities which provide the following capabilities (and more):

  • Answer an incoming call (Voice or IM)
  • Ask the user questions
  • Respond to commands

This primary scenario this API enables is Interactive Voice Response applications.

 

Office Communications Server Application API (2007 only)

This API allows modification of standard OCS functionality at the SIP message level.

Using this API, a developer can create applications that inspect messages as they pass through a given server, and take actions based on information in that message, for example:

  • Modify the message in some way – for example, add a disclaimer to the body text
  • Reject certain messages – for example, those that contain hyperlinks
  • Log messages to a database
  • Perform routing tasks

 

Office Communications Server Application R2 API (R2 only)

As above, but 64 bit, and with some minor additions.

 

Office Communications Server Management API (2007 and R2)

This API provides the ability to manage an OCS installation, via WMI. It can perform a huge range of tasks, for example:

  • Modifying users Communicator contacts and groups
  • Modifying edge server settings

The relevant WMI classes are installed on any machine that has the Office Communications Server administrative tools installed.

 

I hope this clarifies the options available. Quite a few already, and I haven’t even mentioned the APIs available to integrate with other server products e.g. Exchange, SharePoint, Live Meeting…!

- Paul Nearney, Modality Systems

Microsoft OCS 2007 R2 Launch

John | Uncategorized | Tuesday, February 3rd, 2009

Modality Systems is proud to be a sponsor of the OCS 2007 R2 launch 

uclaunch

The event will take place Tuesday, Feb 3rd, 2009 at 5:30 PM GMT, with a live Keynote hosted by Stephen Elop, President Microsoft Business Division. 

The virtual event experience will be available at www.OCSR2LAUNCH.com. The site is packed with useful and entertaining content where you can:

  • Discover the new product capabilities in the Product Discovery area.
  • Visit the Breakout Sessions area to get a deeper understanding of the product.
  • Watch customer stories in the Case Studies area to hear firsthand accounts of the momentum.
  • Learn about our Sponsors in the Partner Pavilion and see the opportunities for your company.
  • Download product, partner and case study collateral through an electronic Backpack.
  • Sign up for a 5 Day Trial of Office Communications Server 2007 R2 with no server installation!

The keynote and materials will be available on-demand after the event takes place.

-John Lamb, Modality Systems

Next Meeting of the UK Microsoft Messaging & Mobility User Group

John | Uncategorized | Monday, February 2nd, 2009

Details for the February Meeting of the MMMUG

The excellent Nathan Winters asked me to post this to help raise visibility of the event that he chairs.  I’ve seen Nathan present on several occasions, and he always does a great job.

When: Wednesday 18th February.

Where: The Microsoft offices in Cardinal Place, London (nearest tube: Victoria Station).

What:

This month they have a evening about managing and automating Exchange led by Jonathan Medd from Hampshire County Council and Will Rawlings from Truconsulting.   They will start with an introduction to PowerShell and then discuss how you can use PowerShell to manage Exchange 2003.  After the break, they will dive into how to ensure your PowerShell scripts don’t do any damage and look at how PowerShell can be used to manage large Exchange environments.

Why:  A great chance to meet people and learn something new.

To sign up, or for more information see the link below:

http://www.mmmug.co.uk/forums/thread/26352.aspx

OCS Server API: SimpleProxy

John | Uncategorized | Monday, November 17th, 2008

“Hidden” property on Request Object -  Secret revealed!

We were working through the OCS SDK samples a few weeks ago and found this little gem in the “Archiver” sample.  SimpleProxy is a property on the Request object - in the SDK example below, the developer sets this property to true before proxying the request.    

//
// Mark the request as simple proxy. This will turn on
// performance optimizations that would otherwise be not
// possible.
//
e.Request.SimpleProxy = true;
e.ServerTransaction.EnableForking = false;

//
// Proxy the request.
//
e.ServerTransaction.CreateBranch().SendRequest(e.Request);

 

We searched and couldn’t find any reference to this in MSDN and other obvious places.

We wondered about these mysterious, “otherwise not possible” performance enhancements.  What are the implications of using this?  Is there any risk of creating a black hole that would destroy the universe?

We got in contact with Kyle Marsh at Microsoft who generously enlightened us on the topic. 

According to Kyle, the SimpleProxy is a performance optimization that tells OCS  “to not clone requests or responses nor create unnecessary extra transactions.”

Simple Proxy can be enabled by doing the following in managed code.

  • Set ServerTransaction.EnableForking to false.
  • Set Request.SimpleProxy (new API) to true.

In script-only applications (using SIP Processing Language), all non-INVITEs are automatically simple proxied unless BeginFork/EndFork is called.

INVITE’s are never simple proxied, so if the SimpleProxy flag is enabled it is silently ignored.

An attempt to set the Request.SimpleProxy flag after any of the transaction level properties have changed will raise an exception. Similarly, once the SimpleProxy flag has been set, any attempt to change the transaction level properties will raise an exception.

The simple proxy is purely a performance optimization. Specifically, it reduces the amount of data marshaled, and reduces the amount of buffer cloning necessary.

This is a very good find indeed.

-John Lamb, Modality Systems

IBM Announces OCS-Sametime Interop

John | Uncategorized | Thursday, November 13th, 2008

Crossing the Chasm

At Voicecon today, IBM and Microsoft communicated that Sametime and OCS will offer Inter-domain Federation in Q4 of 2008.

The interoperability will include federated identity, presence and instant messaging.   Although this seems to be targeted at company-to-company federation scenarios, this could easily be deployed within organisations as well.   However, note that since the interoperability is through the federation interface, Sametime users and OCS users will need to be on separate SIP domains.

Both OCS 2007 and OCS 2007 R2 will be supported on the Microsoft side.

I haven’t seen any official press releases, but this IBM blog has some details:

http://www.thesametimeblog.com/sametimeblog/sametimeblog.nsf/dx/sametime-ocs-2007-interop2.htm

This will require an update to the Sametime Gateway version 8.0.2. 

-John Lamb, Modality Systems

Why did Cisco buy email start-up PostPath for $215 million?

John | Uncategorized | Wednesday, November 5th, 2008

I really, honestly try to view Cisco’s moves in the UC space in a positive light, but they keep doing things that leave me shaking my head in disbelief.

Cisco appears to be attempting to build a comprehensive suite of collaboration products by acquiring a variety of companies related to communications and collaboration:

IM – Jabber integration with MeetingPlace in 2006

Web Conferencing – WebEx acquisition in 2007

Social Networking – 5 Across acquisition in 2007

Email – PostPath acquisition in 2008

IM (again) – Jabber acquisition in 2008

The integration of these various components is a non-trivial task.  Even if it’s successful, we’ll surely see a lot of seams.  Are they going to ship a consultant with every system, just to set it up?  If they think there’s a market for pre-configured cookie-cutter deployments, then they’ve never spoken to an actual Enterprise customer.

The “spin” is that instead of offering PostPath as an Enterprise email application (the purpose for which PostPath was designed) they are going to offer it as a hosted service to compliment WebEx.  What makes absolutely no sense whatsoever is that they are taking a world-class, market leading product like WebEx and pairing it with a 3rd rate web-based email client.

Does the world need another email application?  (We’ve got MSFT, IBM and Oracle with 10 year head starts in the Enterprise, and no shortage of really decent webmail applications from Google, MS, Yahoo, etc). Enterprise don’t do hosted services – not for email anyway - so who is this targeting?

The more recent Jabber acquisition is more interesting, if only because Jabber actually has a pretty decent installed base and relatively unique features like group chat.

The battle between Microsoft and Cisco in the UC space is going to be more fun to watch than I ever realised.

Here Come the Analysts!

James | Office Communications Server, Telephony, Unified Communications | Friday, August 22nd, 2008

For two years now Microsoft has been building its assault on the global corporate telephony market. What appeared to be a bold, new approach has now been ratified by the latest Gartner research.

Some may say that the big news is Microsoft making it on to the Gartner Magic Quadrant for Corporate Telephony – (report published on 8th August 2008) – albeit only in the “Visionaries” quadrant. However, the real news is in the text of the report itself.

The report’s introduction immediately positions the importance of Unified Communications as a framework in which Telephony is merely a component. This is a critical distinction that should not be overlooked.

“…decisions to invest in unified communications take precedence over telephony”

“…although companies are still deploying PBX and IP telephony, most should make the decision in the context of a broader unified communications strategy”

With respect to Microsoft, the report is specifically talking about Microsoft’s Unified Communications platform product Office Communications Server (OCS) 2007 emerging as a credible contender for corporate voice communications, while cautioning that OCS does not offer a like for like replacement for PBX and IP-PBX solutions.

This should come as no surprise to anyone following the entrance of Microsoft into the Voice market. Gurdeep Singh Pall (Sr. VP of Microsoft’s UC division) summed it up at Voicecon last year by saying “Microsoft is not building a replacement PBX, it is building an alternative to a PBX”.

Microsoft’s placement in the visionaries quadrant is a powerful statement and will surely guarantee their inclusion in future voice RFP’s and tenders – but is the position as a Visionary while scoring low on the “Ability to Execute” axis a major concern? The report also cautions that OCS 2007 “lacks key [PBX] functionality, questions scalability and considers OCS 2007 expensive as a voice only solution.”

Our opinion is “absolutely not.” The report talks about the changing role of the IP PBX and highlights 2010 as the year many users will be using an integrated set of collaboration tools beyond telephony, encouraging companies to consider their telephony partners in the broader context of a UC strategy.

It’s only been 10 months since OCS 2007 officially shipped, so it’s not surprising that widespread adoption has been a slow burn rather than a wildfire. History tells us that Microsoft is extremely good at iterating on a product strategy over multiple releases and any questions around functionality and scalability will be addressed over time.

One cannot dismiss the significance that Microsoft, as the industry leader in corporate desktop software, will play over the coming years with current and future versions of Office Communications Server. If you’re serious about a long-term UC strategy that includes telephony, it’s time to give that OCS pilot project a kick start to see what all of the fuss is about.

 

Technorati Tags: ,,,

Note to Self

John | Instant Messaging, Unified Communications | Thursday, August 14th, 2008

Note to self:  When starting a company with the potential for global market reach, don’t put the name of a specific country in the company name.

Capture

Chart courtesy of EQO.  Thanks to Om for picking this up and posting it.

-John Lamb, Modality Systems

The Opposite of Unified Communications

John | Unified Communications | Tuesday, August 12th, 2008

Straight to voicemail

The New York Times brings us news about an innovate new communications technology:

Don’t Want to Talk About It? Order a Missed Call
“The technology, called Slydial, lets callers dial a mobile phone but avoid an unwanted conversation — or unwanted intimacy — on the other end. The incoming call goes undetected by the recipient, who simply receives the traditional blinking light or ping that indicates that a voice mail message has been received. Ms. Gorman used a test version of Slydial that has been available for months. But since the finished product was unveiled to the public last week, more than 200,000 people have used the service…

The article goes on to state that the concept may sound like the antithesis of interactivity, but “[products like] Slydial turn out to be only the latest in a breed of new technologies that fit squarely into an emerging paradox: tools that let users avoid direct communication.” 

The tools it’s referring to are things like email, blogging, twitter, text messaging, etc, which allow users to publish communication asynchronously while avoiding 2-way synchronous communication entirely.

So is Voice Mail just another communications modality?  Why shouldn’t the caller be able to choose “straight to voice mail” in the same way that the call recipient can do so today?  This balances the power to avoid far more equally.  After all, one person’s ability to communicate is another person’s ability to interrupt.

Software, like any good tool or product, should encourage appropriate behaviour through its design.  I won’t begin to pretend that this sort of thing doesn’t happen at work, but there’s no need to lower productivity.  Text-based systems are a far more efficient way to avoid someone.   

-John Lamb, Modality Systems

Technorati Tags: ,

Next Page »

© 2007–2008 Modality Systems Limited