Live Meeting Service Developers Blog

  • API updates for Live Meeting 2007 Service Release 3

    The updated API guide for Service Release 3 of the 2007 Live Meeting Service is now available via the Live Meeting Developer Center on MSDN.  The most substantial change in this release is the addition of Easy Assist.  Easy Assist is a simple and powerful tool for remote support scenarios.  At its core is a lightweight client that can be quickly installed on an end users machine.  This client allows a support agent to take control of the end users desktop, enabling quick troubleshooting and resolution of issues.  The Microsoft support organization has been using this tool for a while now, so if you have called our support group you may have already come across Easy Assist.  I have seen it in action a couple of times and I was very impressed.

     

    Easy Assist is available to all LiveMeeting Professional customers, and as of today is deployed to most if not all conference centers.  Easy Assist sessions are scheduled through the same API’s as regular Live Meeting sessions.  They are differentiated by setting the tag option with the value “_EA”.  A handfull of new options were added at the meeting and user levels for supporting Easy Assist.  As usual we have designed the changes so that well behaving applications will not be affected.  I have included an excerpt of the new API guide which has more details of the change.

  • TechNet webcast on the Live Meeting Service Portal.

    For those of you who are not familiar with it, the Live Meeting service portal is a component LM customers can deploy to allow SSO against the an on-premise Active Directory.  This is an incredibly helpful tool for simplifying administration of the service and improve end user usability.  The portal also exposes web service to support these SSO scenarios in XML-API programs.

     

    If you are interested in learning more you should check out this TechNet webcast describing how the Microsoft IT department deployed the service portal to maximize their users LM experience.  You can register here… http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380133&Culture=en-US

  • Live Meeting XML API’s at TechEd Developers 2008

    I’ll be speaking about the XML-API’s this summer at the TechEd developer conference.  So if you are interested in learning more about the API’s, or developing MS unified communications applications in general, check it out.  Also, if you already signed up be sure to register for my session.

     

    Link to Event: http://www.microsoft.com/events/teched2008/developer/default.mspx

    TechED Developers 2008 | North America

    Orange County Convention Center

    Orlando, FL

    Date: June 3-6, 2008

    Session: UNC202: Programming Conferencing Solutions with the Microsoft Office Live Meeting Service XML API

  • Writing Robust Live Meeting Client Applications

    A new version of the Live Meeting API developers Guide is in the process of being released.  In it we have added a new section to highlight best practices for writing applications that can handle minor changes to the API’s that may be introduced in service releases.  We have traditionally introduced certain types of changes with the expectation that a well written program will not be broken, with this update these expectations are documented.  You can find the new section in the attached word doc.

  • XML snippets from "Using the Live Meeting XML API"

    If you have ever heard me present on the XML-API and wished you had access to the xml snippets that I used as examples, today is your lucky day.  Attached is a doc showing the requests and response I use to demonstrate common XML-API scenarios in those presentations.


    Also, if you haven’t yet seen my introduction to the XML-API, it is available as an on demand webcast on msdn.  Check it out. 

     

    http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032361162&Culture=en-US

  • MSDN XML-API Webcast this week!

    I just got back from the holiday break so this notice is a little late, but I will be presenting a webcast on using the LiveMeeting XML-API's.  Here is the description of the talk.

    The Microsoft Office Live Meeting Service XML APIs provide robust and versatile programmatic access to Live Meeting functionality. Microsoft, partners, independent software vendors (ISVs), and customers have applied the APIs to integrate Live Meeting scenarios into a diverse set of applications. In this webcast, we introduce you to the API library and its capabilities. We walk through several basic integration scenarios, including scheduling a meeting, launching an ad hoc meeting, and gathering usage or billing data from the service. We also discuss additions to the API for the new version of Live Meeting launching this month and provide information on the Live Meeting API beta program currently under way.

    The presentation is this Thursday 11 AM PST.  You can register here.  http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032361162&Culture=en-US

     

  • It’s finally here!

    The 2007 update of the LiveMeeting service began its rollout to production last week.  At this point all new LiveMeeting conference centers will be provisioned on the new version.  This includes trial cc’s, so if you’ve been wondering what LiveMeeting  is all about now’s as good a time to see what we have to offer.   https://trials.messaging.microsoft.com/

     

    For you API developers the updated developer guide is now available on Microsoft Download Center.  http://www.microsoft.com/downloads/details.aspx?FamilyID=429e61d6-a172-4bcc-9184-d5f34e9d5e30&displaylang=en  The guide includes a description of all API modifications, some updated tutorials and best practices, and as usual a complete reference.

     

    I want to once again urge anyone responsible for existing XML-API applications to join the Beta program and test them against the new service version.

  • The new version of Live Meeting is coming, get ready, join the Beta.

    Just wanted to remind you all that the Live Meeting service is in for a major upgrade.  It’s a very exciting new release with big improvements to help make your meetings more engaging and productive.

     

    As an XML API developer you need to be prepared for the migration.  We are still using version 4 of the XML-API, and our goal is not to break existing programs.  However, some changes have been made to support the new features available in LM8.  You should take the time to test your applications against the new version.  To help you in this effort we are offering an API specific beta.  Details of that Beta are below.  Please sign up soon as the nomination period will end soon.

     

     

    LM8 API Beta Overview

    Office Live Meeting (8.0) builds on the foundations of the current Live Meeting offering for Web conferencing with multi-party audio, video and data collaboration.  The LM8 API Beta program will provide participants early access to the next generation of Office Live Meeting.  Benefits to LM8 API Beta participants include:

    ·         Early access to Office Live Meeting and related technologies

    o   Live Meeting console (8.0)

    o   Live Meeting Outlook Add-ins

    o   Live Meeting APIs

    o   Live Meeting documentation

    ·         Access to Office Live Meeting conference center

    o   Dedicated conference center, isolated from your existing production environment, to assist with development and testing efforts

    ·         Access to dedicated program site

    o   Program and product announcements

    o   Software and documentation for download

    o   Feedback and bug submission channel

    ·         Dedicated program support

    o   Newsgroup to discuss product-related issues with other LM8 API Beta customers and LM8 API Beta vTeam

    o   Support through dedicated “Beta Buddies

     

    Program Requirements

    ·         An existing Live Meeting conference center

    ·         Commitment to upgrade/migrate existing applications leveraging the Live Meeting (7.0) APIs to the Live Meeting (8.0) APIs

    ·         Participation in the LM8 API Beta newsgroup

    ·         Commitment to collaborate with and support other program participants in their development and testing efforts

    ·         Commitment to provide feedback (bugs, surveys and testimonials)

     

    Nomination Instructions

    If the LM8 API Beta program is of interest to you, please complete the following steps in order to be considered for the program.

    1.    Go to http://connect.microsoft.com/

    2.    From the menu on the left-hand side, select Invitations

    3.    Sign into Microsoft Connect with your Passport ID

    NOTE: If you do not have a Passport account, please click on Sign Up Now and create one.

    4.    In the Invitation ID field, enter API1-W8DR-MGYX

    NOTE: First-time users will be presented with the Terms of Use

    1.        Please select I Agree after reviewing the TOU

    2.        Complete the Connect registration form and select Register

    5.    Complete the nomination survey and select Submit

    6.    Your nomination is complete!

     

     

  • Tech Ed 2007

    Anyone is going to this years Tech Ed in Orlando should make sure to stop by the Unified Communication Technical Learning Center to check out Live Meeting 2007 and all of the other great UC products. 

    Along with spending some time at the demo booths I will be doing an interactive theater session on the XML_API's.  The talk is titled "Integrate with the Microsoft Office Live Meeting Service through the XML APIs" and is 10:30AM-11:45AM on 6/4.  The session ID is UNC06-TLC.  I'm looking forward to the chance to meet with you.

    Also don't miss my boss's talk.  UNC243 - "Hosted Conferencing: Delivering Enterprise-Class Voice, Video, and Web Conferencing with Microsoft Office Live Meeting 2007"  Thursday, June 7 9:45 AM - 11:00 AM, N220 E. 

  • XML API Version 1.0 Deprecated in LM2007

    Just wanted to let the community at large know that the 1.0 version of the XML-API's will be deprecated in LiveMeeting 2007.  Version 3 and 4 will continue to be supported.

     

  • Meeting invitations and the XML-API’s

    Some of you have noticed that when creating a meeting with the XML-API’s the LiveMeeting service does not send out meeting invitations.

     

    People often are confused by the existence of two meeting options,

    audienceListEmail and presenterListEmail that seem to suggest that it will do just that.  Specifying email addresses in this filed will not result in email being sent.  These options are there to allow you to specify the email addresses of presenters and attendees of the meetings.  These email addresses will be visible in the LiveMeeting UI, where invitations can in fact be sent to these users.

     

    So how do you send an invitation.  The easiest approach is to take advantage of the meeting options audienceInviteText and presenterInviteText.  Request these options when creating or listing a meeting and the service will return the text of the meeting invitation for this meeting.  Here is an example request.

     

    <PlaceWareConfCenter authUser="apiuser" authPassword="Pa$$w0rd">

      <CreateMeetingRequest

          maxUsers="100"

          name="kick"

          title="Tailspin Toys 2000 Kickoff">

        <OptionList>

          <TimeOption name="startTime" value="2004-04-01T18:00:00Z"/>

          <TimeOption name="endTime" value="2004-04-01T20:00:00Z"/>

          <StringOption name="timeZone" value="America/Los_Angeles"/>

        </OptionList>

        <FieldList>

          <Name>mid</Name>

          <Name>audiencePassword</Name>

          <Name>presenterPassword</Name>

          <Name>AudienceInviteText</Name>

          <Name>presenterInviteText</Name>

        </FieldList>

      </CreateMeetingRequest>

    </PlaceWareConfCenter>

     

    You can take the text directly out of the response and send it via email, IM, or anything else.

  • Using non-ASCII characters in the XML API

    The Live Meeting Service is localized for 8 languages including English. There are many strings that will only accept ASCII characters (like password and userID). However, there are other strings that will accept non-ASCII characters.

    The Live Meeting Manager web interface allows you to enter non-ASCII characters where they are supported.The Live Meeting XML API requires a different encoding for non-ASCII characters.  The encoding expected by the APIs has the from &#xHHHH; where 'H' is a hexadecimal digit. This encoding can be used for single-byte or multi-byte characters. The hexadecimal value for the character can vary depending on the character set used to display that character.

    The following options are allowed to contain non-ASCII characters.

    • billing
    • company
    • firstName
    • infoA
    • infoP
    • lastName
    • lobbyMessage
    • opaque1
    • opaque2
    • seatLabelBlue
    • seatLabelGreen
    • seatLabelPurple
    • seatLabelRed
    • seatLabelYellow
    • seatPrompt
    • title
    • userName

    Here are some example name with example encodings:


    Name                        XML encoding
    Göktug Oguz                 G&#xF6;ktug Oguz
    József Kránitz              J&#xF3;zsef Kr&#xE1;nitz
    José Saraiva                Jos&#xE9; Saraiva
    Francisco Javier Castrejón  Francisco Javier Castrej&#xF3;n
    Stefan Rißling              Stefan Ri&#xDF;ling
    Kálmán Béres                K&#xE1;lm&#xE1;n B&#xE9;res
    Ralf Riethmüller            Ralf Riethm&#xFC;ller
    Anders B. Skjønaa           Anders B. Skj&#xF8;naa

    API Example

    <PlaceWareConfCenter authUser="apiuser" authPassword="Pa$$w0rd">

    <ModifyUserRequest userID="jkranitz">

    <OptionList>

    <StringOption name="firstName" value="J&#xF3;zsef" />

    <StringOption name="lastName" value="Kr&#xE1;nitz" />

    </OptionList>

    </ModifyUserRequest>

    </PlaceWareConfCenter>

    For more information about XML character encoding, see the following documentation:

    Extensible Markup Language (XML) 1.0 (Third Edition)
    Section 2.2 Characters
    http://www.w3.org/TR/2004/REC-xml-20040204/#charsets

    Sean D. Wheeler
    Escalation Team Lead
    Microsoft Office Live Meeting

  • Accessing recordings

    Downloading a recording from the live meeting service requires two steps.  This first is an API call that fetches a url for a specific recording.  For example the following XML snippet ...

    <PlaceWareConfCenter authUser="caller id" authPassword="caller password">
      <GetURLRequest>
        <StringQuery fieldName="name" operator="=" value="meetingName"/>
        <OptionList>
          <StringOption name="recViewerCompany" value="Company"/>
          <StringOption name="recViewerName" value="jondoe"/>
          <StringOption name="recViewerEmail" value="jondoe@company.com"/>
          <EnumerationOption name="resourceType" value="WindowsMediaMovieRecordingDownload">
            <String>ESS</String>
            <String>PWP</String>
            <String>WindowsMediaMovieRecording</String>
            <String>WindowsMediaMovieRecordingDownload</String>
            <String>BasicRecording</String>
          </EnumerationOption>
        </OptionList>
      </GetURLRequest>
    </PlaceWareConfCenter>

    will return a reply with a url to a media file of the recording. 

    <GetURLReply
       url = “string”>
    </GetURLReply>

    The returned URL can then be plugged into Microsoft Windows Media Player. The following code snippet shows how:

    Importing WMPLib; // the dll is %windir%\system32\wmpl.dll
    WMPLib.WindowsMediaPlayer player = null;
    
    public void ViewResource(string url)
    {
          player = new WMPLib.WindowsMediaPlayer();
          player.openPlayer(url);
    }
    

    A client application can also let a user save the recording to a local drive for viewing at a later time. This requires that the client application make an explicit (HTTPS GET) request to the conference center to retrieve the stream containing the recording.

    The following is C# implementation of the HTTPS GET request for downloading a resource stream from a conference center.

    public Stream GetResource(string url)
    {
        
        // Get resource using HTTP GET with the url of a resource;
        HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(url);
        myReq.Method = "GET";
        
        Stream respStream = null;
    
        HttpWebResponse myResp = null;
        myResp = (HttpWebResponse)myReq.GetResponse();
    
        if (myResp.ContentType == "application/octet-stream")
        {
            respStream = myResp.GetResponseStream();
        }
    
        return respStream;
    }

    The stream can then be saved to a file. The following is one example in C#.

    public void DownloadResource(string url, string filePath)
    {
        Stream res = GetResource(url);
        if (res == null)
            return;
    
        FileStream fileStream = new FileStream(filePath, 
                                               FileMode.OpenOrCreate);
        int length = 1024;
        Byte[] buffer = new Byte[length];
        int bytesRead = res.Read(buffer, 0, length);
        while (bytesRead > 0)
        {
            fileStream.Write(buffer, 0, bytesRead);
            bytesRead = res.Read(buffer, 0, length);
        }
        fileStream.Close();
        res.Close();
    }
  • Intro to the Live Meeting API's

    If you are interested in learning more about Live Meeting, and the opportunities the Live Meeting API’s afford for integration and expansion of the service, take a look at this presentation.  It gives a good overview of what is possible and is a good starting point for API development.

  • Using Get Posting URL

    GetPostingURL is used to get the correct URL for a specific conference centers Live Meeting API processor.  This call should be made at the start of each API session.  Your conferences center's posting URL may change.  So the result of this call must not be hard coded in your application.  Also, long running applicitons should periodically refresh their posting URL.

    The posting URL for a conference center can be retrieved using an https GET to the following URL. 

    https://www.livemeeting.com/cc/<conference_center>/xml/4.0/GetPostingURLRequest

    I have included a C# code sample that uses HttpWebRequest/Response to return the posting URL of a specific conference center.

    Enjoy. And remember that this code is for informational purposes only, I make no warranties ... blah, blah, blah ... (don't sue me if it doesn't work).

    public string GetPostingURLRequest(string confCenter){
    string strUrl = string.Empty;
    XmlDocument xmldoc = new XmlDocument();
       // Get the posting URL.
    getPostingUrl = String.Format(
    https://www.livemeeting.com/cc/{0}/xml/4.0/GetPostingURLRequest,
    confCenter);

    // Send the GetPostingURLRequest message to the conference center;
    HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(getPostingUrl);
    myReq.Method = "GET";
    HttpWebResponse myResp = null;

    try
    {
    // Get the response from the conference center
    myResp = (HttpWebResponse)myReq.GetResponse();
    Stream respStream = myResp.GetResponseStream();
    if (myResp.ContentType == "application/xml")
    {
    StreamReader reader = new StreamReader(
    respStream, Encoding.UTF8);
    xmldoc.Load(respStream);


    // Retrieve the url attribute of <GetPostingURLReply>
    XmlNode attrUrl = xmldoc.SelectSingleNode(
    /PlaceWareConfCenter/GetPostingURLReply/@url);
    if (attrUrl != null)
    strUrl = attrUrl.Value;
    }
    }
    catch (Exception e)
    {
    // Log the error message or do other error handling routines.
    Console.WriteLine("Exception: {0}\nTrace: {1}",
    e.Message, e.StackTrace);
    }
    finally
    {
    if (myResp != null)
    myResp.Close();
    }
    return strUrl;
    }
More Posts Next page »

© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker