Conference Audio Recording Server

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.

Conference Audio Recording Server is a console application built from Unified Communications Managed API 2.0 Core SDK. It can be deployed as a trusted server application in any Microsoft Office Communications Server 2007 R2 production environment. The application has the following conferencing capabilities.

  • On startup, the application publishes online presence and contact card information, and listens for incoming conference invitations.

  • The application can be added to any multiparty Office Communicator conference at any time.

  • The application plays a welcome message (using Text to Speech), to announce the presence of the application in the conference.

  • The application starts recording audio from the conference immediately after the welcome message is played.

  • Participants can be added or removed at any time from the conference. The application records everything spoken in the conference by each participant.

  • If the leader ejects the application in the middle of a conference, the application sends an instant message that includes the path to the recorded audio content to each participant.

  • If the application is the last participant to leave the conference, the application sends an instant message with the path to the recorded audio to all participants, following the conference termination.

  • When PSTN users are in the conference, CAS (Conference Announcement Server) is likely to be one of the participants. The application identifies the situation in which CAS is the only participant in a conference, and starts the IM procedure without waiting for conference termination.

  • The application’s presence changes from Online to Busy when it is recording audio from one or more conferences, and from Busy to Online when it is not recording audio (when the number of active conferences is zero).

  • The application publishes notes that display the number of active conferences in which the application is a participant at that time.

Prerequisites

The system hosting this application must install:

  • The Text to Speech(TTS) engine—UCMASpeechRedist.msi.

  • One or more language packs—MSServerSpeechLangPack_enUS.msi is the language pack for U. S. English prompts.

  • OCSCore.msi

  • Microsoft Office Communications Server 2007 R2, Microsoft Unified Communications Managed API 2.0 Core Redist —UcmaRedist.msi.

In addition, a trusted service entry and at the least one contact object for the application must be created. ApplicationProvisioner.exe, which is shipped as part of the UCMA 2.0 Core SDK, (UcmaSdk.msi) can be used to create the trusted service entry and contact objects.

Dependencies

Conference Audio Recording Server has the following dependencies on external components:

  • Microsoft.Speech.dll—To play the welcome message (included in UcmaRedist.msi).

  • Microsoft.Rtc.Collaboration.dll—The UCMA 2.0 Core SDK library (included in UcmaRedist.msi).

  • ApplicationProvisioning.dll—Used for application provisioning purposes (included in UCMASdk.msi).

  • SIPEPS.dll—Used in conjunction with the UCMA library mentioned above (included in UcmaRedist.msi).

Creating a Trusted Service Entry and Contact Objects

The UCMA 2.0 Core SDK includes ApplicationProvisioner.exe, which can be used to create a trusted service entry and one or more contact objects for a trusted application. For more information about ApplicationProvisioner, see Using ApplicationProvisioner.

Configuration File

The configuration file for the Conference Audio Recording Server application, app.config, contains settings that are used when the application starts. All of the settings, except ApplicationName and CertificateIssuer, are configurable.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="UcmaConferenceAudioRecordingServer.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <userSettings>
    <UcmaConferenceAudioRecordingServer.Properties.Settings>
      <setting name="UncDiskStorage" serializeAs="String">
        <value>\\rtcfile1\Teams\Media</value>
      </setting>
      <setting name="ArchiveFolder" serializeAs="String">
        <value>temp</value>
      </setting>
      <setting name="WelcomePrompt" serializeAs="String">
        <value>Hi everyone, audio archiving server has joined the conference. Recording starts now</value>
      </setting>
      <setting name="ApplicationName" serializeAs="String">
        <value>ConferenceAudioRecordingServer</value>
      </setting>
      <setting name="CertificateIssuer" serializeAs="String">
        <value>EastLab</value>
      </setting>
      <setting name="InstantMessagingSubject" serializeAs="String">
        <value>Conference Audio Recording Path :</value>
      </setting>
    </UcmaConferenceAudioRecordingServer.Properties.Settings>
  </userSettings>
</configuration>

The following table describes the values to be set in the configuration file.

Setting name

Description

UncDiskStorage

The path of the directory in which the bot writes recorded audio content for the conference. The bot must be operating under an account that has write privileges to the directory.

ArchiveFolder

Local folder name under HOMEDRIVE for temporary storage of recorded files.

WelcomePrompt

Text that is fed into the speech engine to play the welcome prompt

ApplicationName

The name of the application. This is the name that you provided to ApplicationProvisioner.exe when you created the trusted server entry.

CertificateIssuer

The Common Trusted Certificate Issuer that issues certificates for your production environment.

InstantMessagingSubject

The instant message text that is sent to all participants. The message text should include the path to the recorded file.