




DM3 Conferencing

Component Interface Specification



Sign Off Authorization


Christina Young_________________	__________________________________	Date:	__________
Author	Signature
















	Date:	August 9, 2001
	Revision	0.19from Summary Info dialog box Subject  field
	Filename: 	ConfDefs.doc
	Author: 	Christina Youngfrom Summary Info dialog box Author field
	Document #:	SWS-XXXfrom Summary Info dialog box Keywords field


DIALOGIC CONFIDENTIAL

TABLE OF CONTENTS
1 OVERVIEW	5
1.1 REVISION HISTORY	5
1.2 PURPOSE	5
1.3 SCOPE	6
1.4 REFERENCES	6
2 THE CONFERENCING RESOURCE	7
2.1 INTRODUCTION	7
2.2 INITIALIZATION AND EXIT	7
2.3 PARAMETERS	7
2.4 MESSAGE STRUCTURE	7
3 ENVIRONMENTAL REQUIREMENTS	8
3.1 HARDWARE	8
3.2 DIALOGIC SOFTWARE	8
3.3 FILE NAMES	8
4 COMMUNICATION PROTOCOL	9
4.1 COMPONENT INTERFACE	9
4.2 ERROR HANDLING	9
5 USING THE CONFERENCING RESOURCE	10
5.1 ESTABLISHING A CONFERENCE	10
5.2 ADDING A PARTY TO A CONFERENCE	10
5.3 REMOVING A PARTY FROM A CONFERENCE	10
5.4 CHANGING AND READING RESOURCE PARAMETERS	11
5.5 CHANGING AND READING CONFERENCE PARAMETERS	11
5.6 CHANGING AND READING CONFERENCE PARTY PARAMETERS	12
5.7 DTMF DETECTION	12
5.8 VOLUME CONTROL	12
5.9 USING THE ACTIVE TALKER FEATURE	13
5.10 DELETING A CONFERENCE	13
5.11 RESETTING THE SYSTEM	13
6 MESSAGE SET	14
6.1 ESTCONF	15
6.2 ESTCONFCMPLT	17
6.3 ADDPTY	19
6.4 ADDPTYCMPLT	20
6.5 SETPTYPARM	21
6.6 SETPTYPARMCMPLT	22
6.7 GETPTYPARM	23
6.8 GETPTYPARMCMPLT	24
6.9 RMVPTY	25
6.10 RMVPTYCMPLT	26
6.11 DELCONF	27
6.12 DELCONFCMPLT	28
6.13 GETCONFLIST	29
6.14 GETCONFLISTCMPLT	30
6.15 RESOURCECOUNT	31
6.16 RESOURCECOUNTCMPLT	32
6.17 DELETEALLCONFS	33
6.18 DELETEALLCONFSCMPLT	34
6.19 GETACTIVETALKERS	35
6.20 GETACTIVETALKERSCMPLT	36
6.21 SETXPTYPARMS	37
6.22 SETXPTYPARMSCMPLT	38
6.23 GETXPTYPARMS	39
6.24 GETXPTYPARMSCMPLT	40
7 PARAMETERS	41
8 DEBUG PARAMETER OPTIONS	45
9 ERROR CODES	46
10 ATTRIBUTES	47
11 EVENT TYPES	48
11.1 DETECTEVT	48
11.2 CANCELEVT	50
11.3 EVTSTATUSCHANGED	51
11.4 EVTACTIVETALKER	52
11.5 EVTDTMFDETECTION	53
11.6 DETECTXEVTS	55
11.7 CANCELXEVTS	57
12 MISCELLANEOUS EQUATES	58

1 
Overview
The DM3 CP Conferencing Component is a control processor firmware component of the DM3 Conferencing Resource.  It is the Primary Firmware Component for this resource supporting the front-end processing of all messages from the client application.  This component supports messages from the Standard Mercury Kernel Message Set (see Ref. #3), the Standard Component Message Set (see Ref. #5) as well as its own component specific message set.  This document describes the component specific message set for the DM3 CP Conferencing Component. 
A list of parameters, event types and error codes supported by this component are also provided.
In addition to the written description of each message there is a Mercury Message Definition Language (MMDL) representation of each of the messages embedded in the description. This allows a C header file of equates and definitions defining field descriptors and message types to be generated for each of the messages from this document using the MMDL Translation Utility. These values are then used as input to the appropriate kernel messaging service routines for reading and writing messages to and from this component.
1.1 Revision History

REVISION HISTORY
Rev.
Date of Change
Description of Change
Rev Originator
0.01
8/31/98
Initial Release
Christina Young
0.02
9/18/98
Revised per review
Christina Young
0.03
9/22/98
Revised per review
Christina Young
0.04
11/4/98
Revised with formal Component Type
Christina Young
0.05
01/20/00
Took out NumConfInst. Now the FCD file will specify the amount
Ray Bailey
0.06
01/27/00
Put back NumConfInst
Ray Bailey
0.07
02/24/00
Replaced NumConfInst with PCMEncodingFormat
Ray Bailey
0.08
06/06/00
Added Party Group to EstConf.  Added ResourceCount and DeleteAllConfs messages.
Ray Bailey
0.09
07/21/00
Added ParmNumPartyGroups and MuteAllButBroadcastEn parameters
Ray Bailey
0.10
08/04/00
Added ActiveTalker and EvtStatusChanged.  Added Conf_Act_Talk_Dis, ActTalkerNotifyInterval
Ray Bailey
0.11
09/07/00
Added SmartScalingPartiesMinNum and ActTalkerPartiesMinNum
parameters
Ray Bailey
0.12
09/25/00
Increase CF_MAXCONFINST to 120, which the firmware is now using.
Ray Bailey
0.13
10/10/00
Removed certain CF_ variables and added Party Group Id to ConfEstCmplt
Ray Bailey
0.14
1/10/01
Added Tone Clamping as a SetParm for Component , Instance level and SetPtyParm. 
Added SetxPtyParm, SetxPtyParmCmplt, GetxPtyParm and GetxPtyParmCmplt.
Moved Party Group Id from Pty structure.
Added INITIAL to the operation field of  EvtStatusChanged
Ray Bailey


0.15
01/25/01
Added Default values for parameters
Ray Bailey
0.16
03/02/01
Changed Default of ActiveTalkerNotifyInterval  to 100
Ray Bailey
0.17
04/30/01
Added MaxTotalParties parameter
Ray Bailey
0.18
05/23/01
Added DTMFDigitMask parameter, DTMFDection event, DetectxEvts and CancelxEvts
Ray Bailey
0.19
06/12/01
Changed EvtDTMFDetection digits to ascii
Ray Bailey
    0.20
08/09/01
Changed confdefs,h to mconfdefs.h
Jayanthi Bhagavathula
1.2 Purpose

This purpose of this document is to describe the message interface to the DM3 CP Conferencing Component on the DM3 platform.  The defined message set is the method by which all other components, including the client application software, communicate with the CP Conferencing Component.  Developers of application software and firmware will use this document for the DM3 Conferencing Resource.
1.3 Scope

This document defines all of the component specific messages that the DM3 CP Conferencing Component may send and receive.
For each message, all of the message-specific data is specified. 
This document also defines all of the parameters, event types and error codes that apply to this component and a description of the functionality of each message.
1.4 References

Ref. #
Description
Revision
Date
Document #

Mercury Kernel Architecture Specification
1.0
November 1994
SWS-0048

Mercury Kernel API Specification
1.01
November 1994
SWS-0049

Mercury Kernel Standard Messages Set
1.0
April 1995
SWS-0191

Mercury Message Definition Language Specification
0.4
November 1994
SWS-0138

Standard Interface Spec for Mercury Components
A
July 1995
SWS-0143

DM3 Conferencing Resource Software Requirements Specification
0.4
July 1998
SYS-FR-XX

DM3 Conferencing Resource System Architecture Specification
0.2
September 1998
SYS-XX-XX

2 The Conferencing Resource
2.1 Introduction

The DM3 Conferencing Resource provides a method for creating, destroying, and managing audio conferences. The CP Conferencing Component provides the front-end message processing for all requests from the client application software to implement the conferencing features.  An instance of the CP Conferencing Component is known as a Conference Instance, and controls a single conference.
The Dialogic DM3 Conferencing Component abides by a set of guidelines for Dialogic DM3 messages as documented in the Ref. #5.
2.2 Initialization and Exit

The DM3 Conferencing Component must be started before it becomes active in the system.  At initialization time a Std_MsgInit message is sent to the DM3 CP Conferencing Component level.  This is usually sent from a host configuration manager. On receiving this message the Component performs its own proprietary initialization sequence, initializes any component level data, and creates the required number of instances.
Likewise, the DM3 Conferencing Component may be stopped or shut down.  The DM3 Conferencing Component receives the Std_MsgExit message and shuts itself down in its own proprietary way, destroying any running conferences, removing its instances, and releasing memory.
2.3 Parameters

Parameters are defined for controlling the behavior of the DM3 Conferencing Component and its instances.  All resource parameters are defined at the component level, while all conference parameters are defined at the instance level.  All parameters will have the Dialogic factory settings as their defaults when started.  The DM3 Conferencing Component uses the Std_MsgSetParm and Std_MsgGetParm messages to allow their parameters to be set and read.  Parameters may be set or read while a component or instance is active or idle.
2.4 Message Structure

The Mercury Kernel API Specification defines the standard DM3 Message Format and the methods for building and reading DM3 messages.
3 Environmental Requirements
3.1 Hardware

The DM3 CP Conferencing Component firmware resides on the control processor of the standard DM3 platform.
3.2 Dialogic Software

The DM3 Conferencing Component firmware will be downloaded to the platform using the standard DM3 Downloader for the operating system of choice on the host.  Once downloaded it communicates with other components in the system and with the host via the DM3 Kernel.  To complete the process the DM3 CP Conferencing Component will interact with the Party Preprocessor Component on the control processor, and with SP Conferencing Components on the various signal processors on the platform.  These other components must be present along with the CP Conferencing Component in order to successfully build and manipulate conferences.
The DM3 CP Conferencing Component may be accessed directly from host software.
3.3 File Names

The CONFDEFS.H file will contain the definitions of all DM3 CP Conferencing Component messages, parameters and equates.
4 Communication Protocol
4.1 Component Interface

The DM3 CP Conferencing Component receives standard DM3 messages as input.  The content of these messages will determine the functionality required.  Messages are sent and received using the qMsgWrite and qMsgRead functions provided by the DM3 Kernel.
4.2 Error Handling

All error conditions are returned using the Std_MsgError message with the message that caused the error and the reason for error identified in this message.
5 Using the Conferencing Resource
This section explains how the DM3 Conferencing Component messages are used to implement various features visible to the client application software.
5.1 Establishing a Conference

Step 1:
The Conferencing Component receives an EstConf message request to establish a conference from an application. This request may specify multiple initial conference parties, and the attributes, the connection mode (full duplex, receive only, transmit only, or null), and the timeslots for each party.

Step 2:
The Conferencing Component establishes the conference and adds all specified parties to it.  If no errors occurred, the EstConfCmplt message is returned, containing the address of the instance of the new conference.  All future messages relating to this specific conference must be sent to that instance.

Error Processing:
If any errors are encountered in either the received EstConf message, or in the process of establishing the conference, the Std_MsgError message is returned with the error code denoting the reason for the error.  The conference is NOT established.

5.2 Adding a Party to a Conference

Step 1:
The application sends the AddPty message to the conference instance of a conference to which it desires to add a party.  This message specifies the attributes, the connection mode, and the timeslots for the party.

Step 2:
The conference instance adds the specified party to the conference.  If no errors occurred, the AddPtyCmplt message is returned, containing the party handle of the newly added party.  This handle is used to specify the party in all subsequent messages that manipulate the party's parameters or remove it from the conference.

Error Processing:
If any errors are encountered in either the received AddPty message, or in the process of adding the party to the conference, the Std_MsgError message is returned with the error code denoting the reason for the error.  The party is NOT added to the conference.
5.3 Removing a Party From a Conference

Step 1:
The application sends the RmvPty message to the conference instance from which it wishes to remove the party.  This message specifies the party handle, denoting which party to remove.

Step 2:
The conference instance removes the specified party from the conference, disconnecting any associated timeslots.  If no errors occurred, the RmvPtyCmplt message is returned.

Error Processing:
If any errors are encountered in either the received RmvPty message, or in the process of removing the party from the conference, the Std_MsgError message is returned with the error code denoting the reason for the error.  The party is NOT removed from the conference.

5.4 Changing and Reading Resource Parameters

Several parameters are set on a resource level basis.  That is, they apply to all conferences or conference parties managed by the resource.  These include:

Number of Conference Instances (used at initialization time only)
Notify on Add Tone Frequency
Notify on Add Tone Duration
Notify on Add Tone Volume
Notify on Add Tone Interval
Tariff Tone Frequency
Tariff Tone Duration
Tariff Tone Volume
Tariff Tone Interval

Step 1:
The application sends a Std_MsgSetParm message to the Conferencing Component, specifying the parameter and the new value.

Step 2:
The Conferencing Component checks for parameter validity, and if valid, sets the parameter accordingly.  Any current processing using the previous value of the parameter is unchanged.  For processing that is initiated subsequent to the changing of the parameter, the new value will be used.  For example, if a party is receiving a tariff tone (the tariff tone has already been enabled), and the application changes the tariff tone frequency, the party will continue to receive the original tone.  All parties which have a tariff tone enabled subsequent to the parameter change will receive the new tone.  Following the successful setting of the parameter, the Conferencing Component will return the Std_MsgSetParmCmplt message to the application.

Error Processing:
If an error is encountered or the received parameter is invalid, the Std_MsgError message is returned, specifying the reason for the error.
5.5 Changing and Reading Conference Parameters

Certain parameters are set on a conference level basis.  These include:

Notify on Add Enable
Maximum Number of Summed Parties
Active Talker Enable
DTMF Detection Enable
DTMF Filter Mask
Tone Clamping Enable
Volume Digit Enable
Volume Up Digit
Volume Down Digit
Volume Reset Digit

Step 1:
The application sends a Std_MsgSetParm message to the conference instance, specifying the parameter and the new value.

Step 2:
The conference instance checks for parameter validity, and if valid, sets the parameter accordingly.  The instance initiates the appropriate action for enabling parameters, such as DTMF Detection Enable.  Following the successful setting of the parameter, the Conferencing Component will return the Std_MsgSetParmCmplt message to the application.

Error Processing:
If an error is encountered or the received parameter is invalid, the Std_MsgError message is returned, specifying the reason for the error.

5.6 Changing and Reading Conference Party Parameters

Certain parameters manipulate and control the behavior of individual conference parties.  These include:

Party Mode
Transmit SCBus Timeslot
Receive SCBus Timeslot
Echo Cancel Enable
Echo Cancel Performance Select
Tariff Tone Enable
AGC Enable
Broadcast Enable
Coach Enable
Pupil Enable
Party Volume

Step 1:
The application sends a SetPartyParm message to the conference instance, specifying the party handle, the parameter, and the new value.

Step 2:
The conference instance checks for parameter validity, and if valid, sets the parameter accordingly.  The instance initiates the appropriate action for enabling parameters, such as Tariff Tone Enable.  Following the successful setting of the parameter, the Conferencing Component will return the SetPartyParmCmplt message to the application.

Note:
When setting a party's mode, the appropriate SCBus timeslots for that party must have previously been set, either in the conference establish or add party messages, or via the SetPartyParm message.  If the timeslots necessary for the new mode have not been set, the Std_MsgError message is returned.  A null SCBus timeslot is specified by the value of "-1" (i.e. a GetPartyParmCmplt message for a SCBus timeslot returning a value of -1 means that this timeslot has not been set yet).

Error Processing:
If an error is encountered or the received party handle or parameter is invalid, the Std_MsgError message is returned, specifying the reason for the error.

5.7 DTMF Detection

DTMF detection is enabled and the DTMF filter mask is set via conference parameters (see section 5.5).

Step 1:
The application sets the DTMF filter mask of digits of interest by sending Std_MsgSetParm to the conference instance.

Step 2:
The application enables DTMF detection via Std_MsgSetParm to the conference instance.

Step 3:
If a conference party initiates a DTMF digit that matches the filter mask, the conference instance sends a Std_MsgEvtDetected to the application, containing the party handle and digit.
5.8 Volume Control

Volume Control is the ability to change the volume of the conference output going to a conference party during run-time.  There are two ways to perform volume control on individual parties in a conference.  The first is a direct setting from the application via a conference party parameter, specifying the new volume setting and the party handle (see Section 5.6).  The second is by designating volume digits then enabling the volume digit feature for the conference, via conference parameters (see Section 5.5).  Once enabled, the party can change its volume directly by initiating the designated volume control DTMF tones.  If DTMF detection is enabled, the volume digit DTMF tones are NOT sent to the application, even if they are specified in the DTMF digit mask.
5.9 Using the Active Talker Feature

TBD.
5.10 Deleting a Conference

Step 1:
The application sends the DelConf message to the conference instance for the conference it desires to delete.

Step 2:
The conference instance destroys the conference, disconnecting any associated timeslots.  If no errors occurred, the DelConfCmplt message is returned.

Error Processing:
If any errors are encountered, the Std_MsgError message is returned with the error code denoting the reason for the error.  The conference is NOT deleted.

5.11 Resetting the System

A system-wide reset is initiated by the application via the Std_MsgExit message sent to the Conferencing Component.  Upon receipt of this message, all conferences are destroyed, all parameters are reset to their default values, and the resource makes an orderly transition back to the INIT state.

6 Message Set
The messages are defined using the Mercury Message Definition Language (MDL) with accompanying written descriptions.
The output header file from this message description will be CONFDEFS.H

.file	"mconfdefs.h"
.author	"Christina Young"
.version	"A0.01"

<< 
This file describes the list of DM3 messages, parameters and equates supported by the DM3 Conferencing Component and its Instances.
>>

The DM3 Kernel definitions.
.sysdefs	"mercdefs.ext"

The Standard DM3 Component definitions.
.predefs	"stddefs.ext"

For now we define the range for Conferencing messages, error codes and parameters here. In future this may be automatically generated by the MMDL based on the Component Type.
.min	.message	0x3900
.max	.message	0x39FF
.min	.parameter	0x3900
.max	.parameter	0x39FF
.min	.error		0x3900
.max	.error		0x39FF

<<
Conferencing Component Definition
>>
.component	Conf = 0x39
{
<<
The Conferencing Component uses messages from the Standard Kernel Message Set, the Standard Component Message Set and the SP Conferencing Component Message Set.
>>
.uses
{
	<<
	Mercury Kernel Standard Message Set defined in mercdefs.doc
	>>
	<<
	Standard Component Message Set defined in stddefs.doc.
	>>
}

<< 
Conferencing Component Message Definitions
>>
.defines
{	


6.1 EstConf

. message .in		EstConf
{
	.uint16	Count
	       .uint16   PartyGroup
	.varstart
	.mbuf	Pty
	{
		.uint8	Mode	{NULL = 0, FULL = 1, RCV = 2, XMIT = 3}
		.uint32	Attributes
		.uint16	RecvTS
		.uint16	XmitTS
	}
}
n Description - Command
<<
The EstConf message is sent to the Conferencing Component Level 0 to establish a new conference.  The EstConfCmplt message is returned when the conference is successfully established.  The Std_MsgError message is returned if an error was found in the message, or if one occurred during processing.

Count	-	number of parties initially in the conference
PartyGroup   - 	Specifies which party group to establish conference. Party Group zero (0) means any party group for 
		 backward compatible functionality.
Party	-	For each conference party:
	Mode	-	party connection mode
Attributes	-	party attributes
		Values:
			Bit 0:		Echo Cancel Enable
			Bits 1-2:		Echo Cancel Performance Select
			Bit 3:		AGC Enable
			Bit 4:		Tariff Tone Enable
			Bit 5:		Coach Enable
			Bit 6:		Pupil Enable
			Bit 7:		Broadcast Enable
			Bit 8:		FEP Enable - allocate FEP if enabled
			Bit 9:		Tone Clamping Enable - If not enabled , instance parameter used. 
						         - Note FEP must be enabled to have Tone Clamping.  

			Bits 10-31:	RFU
RecvTS	-	Receive SCBus timeslot
XmitTS	-	Transmit SCBus timeslot
 >>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrUnexpectedMsg
Unexpected message.  If Conference Component state is not idle then this error is returned.

Std_ErrParmValue
Invalid parameter value was specified in either mode, attributes, RecvTS or XmitTS fields for one or more parties.




ErrClusterActivate
Cluster could not be activated

ErrClusterInfo
Cluster information could not be obtained

Std_ErrParmNum
Invalid parameter number for Party Group

Conf_ErrResExhausted
No free conference in the Party Group

Conf_ErrMaxConferences
No free conference available

n Related Messages
EstConfCmplt, DelConf
n Cautions
This message is only for Conferencing Component Level 0.  An error will be returned if sent to any of the conference instances.


6.2 EstConfCmplt

. message .out	EstConfCmplt
{
	.compdesc	Conference
	.uint16	Count
	.uint16  	PartyGroupId
	.varstart
	.mbuf	Pty
	{
		.uint16	PtyHndle
		.uint8	Mode	{NULL = 0, FULL = 1, RCV = 2, XMIT = 3}
		.uint32	Attrs
		.uint16	RecvTS
		.uint16	XmitTS
	}
}
n Description - Response
<<
The EstConfCmplt message is sent as a response to the EstConf command when the message has been received and processed.

Conference	-	component instance descriptor of the conference
Count	-      The number of parties 
PartyGroupId - The party group associated with this conference

Party	-	For each conference party:
	PartyHandle	-	Handle use to identify the party in subsequent communications with the conference instance.
	Mode	-	party connection mode
Attributes	-	party attributes
		Values:
			Bit 0:		Echo Cancel Enable
			Bits 1-2:		Echo Cancel Performance Select
			Bit 3:		AGC Enable
			Bit 4:		Tariff Tone Enable
			Bit 5:		Coach Enable
			Bit 6:		Pupil Enable
			Bit 7:		Broadcast Enable
			Bit 8:		FEP Enable - allocate FEP if enabled
			Bit 9:		Tone Clamping Enable - If not enabled , instance parameter used. 
						       	          - Note FEP must be enabled to have Tone Clamping.  

		Bits 10-31:	RFU

	RecvTS	-	Receive SCBus timeslot
XmitTS	-	Transmit SCBus timeslot
	
 >>
n Errors
None.
n Related Messages
EstConf
n Cautions
None.


6.3 AddPty

. message .in		AddPty
{
	.uint8	Mode	{NULL = 0, FULL = 1, RCV = 2, XMIT = 3}
	.uint32	Attributes
	.uint16	RecvTS
	.uint16	XmitTS
}
n Description - Command
<<
The AddPty message is sent to a conference instance to add a party to the conference.  The AddPtyCmplt message is returned the party has been successfully added to the conference.

Mode	-	party connection mode
Attributes	-	party attributes
	Values:
		Bit 0:		Echo Cancel Enable
		Bits 1-2:		Echo Cancel Performance Select
		Bit 3:		AGC Enable
		Bit 4:		Tariff Tone Enable
		Bit 5:		Coach Enable
		Bit 6:		Pupil Enable
		Bit 7:		Broadcast Enable
		Bit 8:		FEP Enable - allocate FEP if enabled
		Bit 9:		Tone Clamping Enable - If not enabled , instance parameter used. 
						         - Note FEP must be enabled to have Tone Clamping.  

		Bits 10-31:	RFU
			
RecvTS	-	Receive SCBus timeslot
XmitTS	-	Transmit SCBus timeslot

>>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 




n Related Messages
AddPtyCmplt, RmvPty
n Cautions


6.4 AddPtyCmplt

. message .out	AddPtyCmplt
{
	.uint16	PtyHndle
	.uint8	Mode	{NULL = 0, FULL = 1, RCV = 2, XMIT = 3}
	.uint32	Attributes
	.uint16	RecvTS
	.uint16	XmitTS
}

n Description - Response
<<
The AddPtyCmplt message is returned from a conference instance as a response to the AddPty command, when the party has been successfully added to the conference.

PartyHandle	-	Handle use to identify the party in subsequent communications with the conference instance.
Mode	-	party connection mode
Attributes	-	party attributes
	Values:
		Bit 0:		Echo Cancel Enable
		Bits 1-2:		Echo Cancel Performance Select
		Bit 3:		AGC Enable
		Bit 4:		Tariff Tone Enable
		Bit 5:		Coach Enable
		Bit 6:		Pupil Enable
		Bit 7:		Broadcast Enable
		Bit 8:		FEP Enable - allocate FEP if enabled
		Bit 9:		Tone Clamping Enable - If not enabled , instance parameter used. 
						         - Note FEP must be enabled to have Tone Clamping.  
		Bits 10-31:	RFU

RecvTS	-	Receive SCBus timeslot
XmitTS	-	Transmit SCBus timeslot

 >>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 



n Related Messages
AddPty
n Cautions
None.


6.5 SetPtyParm

. message .in		SetPtyParm
{
	.uint16	PtyHndle
	.parameter	Num
	.uint32	Val
}
n Description - Command
<<
The SetPtyParm message is sent to a conference instance to set the value of a parameter for a conference party.  The SetPtyParmCmplt message is returned if the parameter has been successfully set.

PartyHandle	-	Identifier of the individual conference party
Num		-	Parameter number
Val		-	New parameter value

>>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 

Std_ErrBusy
Busy executing previous command.

Std_ErrParmNum
Invalid parameter number.

Conf_ErrInvalidPty
Invalid party handle.

Std_ErrParmVal
Invalid parameter value.

n Related Messages
SetPtyParmCmplt, GetPtyParm
n Cautions


6.6 SetPtyParmCmplt

. message .out	SetPtyParmCmplt
{
	.uint16	PtyHndle
	.parameter	Num
	.uint32	Val
}

n Description - Response
<<
The SetPtyParmCmplt message is returned from a conference instance as a response to the SetPtyParm command, when the parameter of a conference party has been successfully set.

PartyHandle	-	Handle use to identify the party
Num		-	Parameter number
Val		-	Parameter value

 >>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 



n Related Messages
SetPtyParm
n Cautions
None.


6.7 GetPtyParm

. message .in		GetPtyParm
{
	.uint16	PtyHndle
	.parameter	Num
}
n Description - Command
<<
The GetPtyParm message is sent to a conference instance to get the value of a parameter of a conference party.  The GetPtyParmCmplt message is returned, containing the parameter value.

PartyHandle	-	Identifier of the individual conference party
Num		-	Parameter number

>>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 

Std_ErrBusy
Busy executing previous command.

Std_ErrParmNum
Invalid parameter number.

Conf_ErrInvalidPty
Invalid party handle.

n Related Messages
GetPtyParmCmplt, SetPtyParm
n Cautions


6.8 GetPtyParmCmplt

. message .out	GetPtyParmCmplt
{
	.uint16	PtyHndle
	.parameter	Num
	.uint32	Val
}

n Description - Response
<<
The GetPtyParmCmplt message is returned from a conference instance as a response to the GetPtyParm command.

PartyHandle	-	Handle use to identify the party
Num		-	Parameter number
Val		-	Parameter value

 >>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 



n Related Messages
GetPtyParm
n Cautions
None.


6.9 RmvPty

. message .in		RmvPty
{
	.uint16	PtyHndle
}
n Description - Command
<<
The RmvPty message is sent to a conference instance to remove a specific party from the conference.  The RmvPtyCmplt message is returned the party has been successfully removed from the conference.

PartyHandle	-	Handle use to identify the party in subsequent communications with the conference instance.

>>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrUnexpectedMsg
Unexpected message. 




n Related Messages
RmvPtyCmplt, AddPty
n Cautions
None.


6.10 RmvPtyCmplt

. message .out	RmvPtyCmplt
{
	.uint16	PtyHndle
}

n Description - Response
<<
The RmvPtyCmplt message is sent as a response to the RmvPty command when a party has been successfully removed from a conference. 

PartyHandle	-	Handle use to identify the party in subsequent communications with the conference instance.

 >>
n Errors
None.
n Related Messages
RmvPty
n Cautions
None.


6.11 DelConf

. message .in		DelConf
n Description - Command
<<
The DelConf message is sent to a conference instance to be destroyed. The DelConfCmplt message is returned if the conference has been successfully destroyed.
>>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 

Std_ErrBusy
Busy executing previous command.




n Related Messages
DelConfCmplt, EstConf
n Cautions
None.


6.12 DelConfCmplt

. message .out	DelConfCmplt

n Description - Response
<<
The DelConfCmplt message is sent as a response to the DelConf command when the conference has been successfully destroyed. 
 >>
n Errors
None.
n Related Messages
DelConf
n Cautions
None.




6.13 GetConfList

. message .in		GetConfList

n Description - Command
<<
The GetConfList message is sent to a conference instance to get the list of parties within the conference. The GetConfListCmplt message is returned if the message has been successfully processed.
>>
n Errors
None.
n Related Messages
GetConfListCmplt
n Cautions
None.


6.14 GetConfListCmplt

. message .out	GetConfListCmplt
{
	.compdesc	Conference
	.uint16	Count
	.varstart
	.mbuf	Pty
	{
		.uint16	PtyHndle
		.uint8	Mode	{NULL = 0, FULL = 1, RCV = 2, XMIT = 3}
		.uint32	Attrs
		.uint16	RecvTS
		.uint16	XmitTS
	}
}
n Description - Response
<<
The GetConfListCmplt message is sent as a response to the GetConfList command when the message has been received and processed.

Conference	-	component instance descriptor of the conference
Party	-	For each conference party:
	PartyHandle	-	Handle use to identify the party in subsequent communications with the conference instance.
	Mode	-	party connection mode
Attributes	-	party attributes
		Values:
			Bit 0:		Echo Cancel Enable
			Bits 1-2:		Echo Cancel Performance Select
			Bit 3:		AGC Enable
			Bit 4:		Tariff Tone Enable
			Bit 5:		Coach Enable
			Bit 6:		Pupil Enable
			Bit 7:		Broadcast Enable
			Bit 8:		FEP Enable - allocate FEP if enabled
			Bit 9:		Tone Clamping Enable - If not enabled , instance parameter used. 
							         - Note FEP must be enabled to have Tone Clamping.  
			Bits 10-31:	RFU
			
		
	RecvTS	-	Receive SCBus timeslot
XmitTS	-	Transmit SCBus timeslot
 >>
n Errors
None.
n Related Messages
GetConfList
n Cautions
None.



6.15  ResourceCount

. message .in		ResourceCount
{
	.uint16	PartyGroup 
}

n Description - Command
<<
The ResourceCount message is sent to conference component to get the number of free parties and maximum parties for the specified party group.

PartyGroup	-	Valid values are from 1 through n. where n is total number of party groups.

 >>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrParmNum
Invalid parameter number.



n Related Messages
ResourceCountCmplt
n Cautions
None.



6.16  ResourceCountCmplt

. message .out		ResourceCountCmplt
{
.uint16	numFreeParties
	.uint16	maxNumParties
}

n Description - Response
<<
The ResourceCountCmplt message is returned from a conference component as a response to the ResourceCount command.

numFreeParties	- Number of free parties in the group
maxNumParties   - Maximum number of parties supported by the Party Group.

 >>
n Errors
None
n Related Messages
ResourceCount
n Cautions
None.



6.17  DeleteAllConfs

. message .in		DeleteAllConfs
{
.uint16	PartyGroup  
			 
}

n Description - Command
<<
The DeleteAllConfs message is sent to conference component to delete the conferences within a specific party group.

PartyGroup	-	Value of zero (0) implies deleting all the conferences.
		Values 1 through n (total number of party groups) implies delete all the conferences in the specified party group.
 >>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 

Std_ErrBusy
Busy executing previous command.



n Related Messages
DeleteAllConfsCmplt
n Cautions
None.


6.18  DeleteAllConfsCmplt

. message .out		DeleteAllConfsCmplt

n Description - Response
<<
The DeleteAllConfsCmplt message is returned from a conference component as a response to the DeleteAllConfs command.
 >>
n Errors
None
n Related Messages
DeleteAllConfs
n Cautions
None.





6.19  GetActiveTalkers

. message .in		GetActiveTalkers
{
.uint16	PartyGroup  
}

n Description - Command
<< 
The GetActiveTalkers message is sent to get the current list of actively talking parties in the party group.  This message pair is supported at both the component level and the instance level. At the component level it is a must we specify the valid PartyGroupId in the GetActiveTalkers message. But at the instance level the PartyGroupId field in GetActiveTalkers message is not applicable.


PartyGroup	- Valid values are from 0 through n. where n is total number of party groups. Value of zero (0) implies all the 
	party groups in the system.

 >>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

ErrInvPartyGroupId
The specified party group id is invalid
n Related Messages
GetActiveTalkersCmplt
n Cautions
None.




6.20 GetActiveTalkersCmplt

. message .out	GetActiveTalkersCmplt
{
.uint32	count

.varstart
              .mbuf	PtyIdentInfo
              {
	.uint16	     PtyHndle
	.uint16        PartyGroupId
	.compdesc  Conference
               }
}

n Description - Response
<<
The GetActiveTalkersCmplt message is returned from a conference component as a response to the GetActiveTalkers command.

count	-  count represents number of entries in the variable part of the message.

PtyIdentInfo-	Each entry in the variable part represents the party identification information of the actively talking party.
	PtyHndle	-	Handle use to identify the party in the conference
		PartyGroupId - 	Party Group Id of the party
	Coference	-	component instance descriptor of the conference

 >>
n Errors
None
n Related Messages
GetActiveTalkers
n Cautions
None.


6.21 SetxPtyParms

. message .in		SetxPtyParms
{
	.uint16	Count
	.uint16	PtyHndle
	.varstart
	.mbuf	Pty
	{
		.parameter	Num
		.uint32	Val
	}
}
n Description - Command
<<
The SetxPtyParms message is sent to a conference instance to set the value of a parameter for a conference party.  The SetxPtyParmsCmplt message is returned if the parameter has been successfully set.

Count -  The number of entries
Pty     -  Structure for the party and value 
	PartyHandle	-	Identifier of the individual conference party
	Num		-	Parameter number
	Val			-	New parameter value

>>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 

Std_ErrBusy
Busy executing previous command.

Std_ErrParmNum
Invalid parameter number.

Conf_ErrInvalidPty
Invalid party handle.

Std_ErrParmVal
Invalid parameter value.

n Related Messages
SetxPtyParmsCmplt, GetxPtyParms
n Cautions
Conferencing will try to set all of the requested parameter until an error occurs.  If an error occurs, GetxPtyParms should be used to determine which parameters were not set.

6.22 SetxPtyParmsCmplt

. message .out	SetxPtyParmsCmplt

n Description - Response
<<
The SetxPtyParmsCmplt message is returned from a conference instance as a response to the SetxPtyParms command, when the parameter of a conference party has been successfully set.

 >>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 



n Related Messages
SetxPtyParms
n Cautions
None.


6.23 GetxPtyParms

. message .in		GetxPtyParms
{
	.uint16	Count
	.uint16	PtyHndle
	.varstart
	.mbuf	Pty
	{
		.parameter	Num
	}
}
n Description - Command
<<
The GetxPtyParms message is sent to a conference instance to get the value of a parameter of a conference party.  The GetxPtyParmsCmplt message is returned, containing the parameter value.

Count -  The number of entries.  If count = 0, all the party parameter will be returned in the GetxPtyParmsCmplt.
PartyHandle	-	Identifier of the individual conference party

Pty     -  Structure for the party and value 
		Num    -   Parameter number
	
>>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 

Std_ErrBusy
Busy executing previous command.

Std_ErrParmNum
Invalid parameter number.

Conf_ErrInvalidPty
Invalid party handle.

n Related Messages
GetxPtyParmsCmplt, SetxPtyParms
n Cautions


6.24 GetxPtyParmsCmplt

. message .out	GetxPtyParmsCmplt
{
	.uint16	Count
	.uint16	PtyHndle
.varstart
	.mbuf	Pty
	{
		.parameter	Num
		.uint32	Val
	}
}

n Description - Response
<<
The GetxPtyParmsCmplt message is returned from a conference instance as a response to the GetxPtyParms command.

Count -  The number of entries
PartyHandle	-	Handle use to identify the party
Pty     -  Structure for the party and value 
           Num			-	Parameter number
          Val			-	Parameter value

 >>
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.
The following errors may be returned as a Std_MsgError:

Error
Description

Std_ErrSystem
System error. 



n Related Messages
GetxPtyParm
n Cautions
None.
7 Parameters
The following is a list of parameters for the DM3 Conferencing Component.

Parameter access is classified as read only I, write only (W), and as read/write (R/W).

Parameter level is classified as Component I, Instance (I), or Component and Instance (C/I).

<< 
Conferencing Parameter Definitions
>>

Parameter type and name
Access
Level
Description
.parameter .uint32 PCMEncodingFormat  {ALAW=1, MULAW}
R/W
C/I
<<
PCM Encoding Format. Default = MULAW
>>
.parameter .uint32 NotifyToneFreq
R/W
I
<<
Notify on Add tone frequency.  Default = 975.
>>
.parameter .uint32 NotifyToneDuration
R/W
I
<<
Notify on Add tone duration.  Default =30.
>>
.parameter .uint32 NotifyToneVolume
R/W
I
<<
Notify on Add tone volume.  Default = 1677721.
>>
.parameter .uint32 NotifyToneInterval
R/W
I
<<
NOT USED
>>
.parameter .uint32 TariffToneFreq
R/W
I
<<
Tariff Tone frequency.  Default = 750.
>>
.parameter .uint32 TariffToneDuration
R/W
I
<<
Tariff Tone duration.  Default = 50.
>>
.parameter .uint32 TariffToneVolume
R/W
I
<<
Tariff Tone volume.  Default = 838860.
>>
.parameter .uint32 TariffToneInterval
R/W
I
<<
Tariff Tone interval.  Default = 6000.
>>
.parameter .uint32 ParmState {INIT=0, DEALLOCATED,  IDLE, ESTABLISH, RUNNING,  DELETE}
R
C/I
<<
The state of the Conference Instance
>>
.parameter .uint16 Num_Parties

R
I
<<
Number of parties in the conference.
>>
.parameter .uint8 Notify_Enable
R/W
I
<<
Notify on Add enable. Default = 1 (Enable)
>>
.parameter .uint16 Act_Talk_Num
R/W
C/I
<<
Number of summed parties.
>>
.parameter .uint8 Act_Talk_En
R/W
C
<<
Enable Active Talker for a particular Party Group.   Value of zero (0) implies all Party Group.  Valid values are 1 through n (total number of party groups).  Default = 0.   
>>
.parameter .uint8 Reserved_1
R/W
I
<<
Reserved for further use
>>
.parameter .uint16 Reserved_2
R/W
I
<<
Reserved for further use
>>
.parameter .uint8 Vol_Dig_En
R/W
I
<<
Volume digit enable. 
>>
.parameter .uint8 Vol_Up_Dig
R/W
I
<<
Volume up digit.
>>
.parameter .uint8 Vol_Down_Dig
R/W
I
<<
Volume down digit.
>>
.parameter .uint8 Vol_Res_Dig
R/W
I
<<
Volume reset digit.
>>


<< 
Conference Party Parameter Definitions used by SetPtyParm  where specified, the rest are used by SetParm
>>

Parameter type and name
Access
Level
Description
.parameter .uint8 Party_Mode
R/W
I
<<
Connection mode for specified party used by SetPtyParm.
>>
.parameter .uint16 Tx_ID
R/W
I
<<
Transmit timeslot for specified party used by SetPtyParm.
>>
.parameter .uint16 Rx_ID

R/W
I
<<
Receive timeslot for specified party used by SetPtyParm.
>>
.parameter .uint8 Echo_Cancel_En
R/W
I
<<
Echo cancel enable for specified party used by SetPtyParm.
>>
.parameter .uint8 Echo_Cancel_Sel
R/W
I
<<
Echo cancel performance select for specified party used by SetPtyParm.
>>
.parameter .uint8 Tariff_En
R/W
I
<<
Tariff tone enable for an instance.  Default = 1(Enable)This can also be used by SetPtyParm. (Instance level supersedes party level)
>>
.parameter .uint8 AGC_En
R/W
C/I
<<
Automatic Gain Control enable for an instance.
Default = 1 (Enable)  This can also be used by SetPtyParm.
>>
.parameter .uint8 Broadcast_En

R/W
I
<<
Broadcast enable for specified party used by SetPtyParm.
>>
.parameter .uint8 Coach_En
R/W
I
<<
Coach enable for specified party used by SetPtyParm.
>>
.parameter .uint8 Pupil_En
R/W
I
<<
Pupil enable for specified party used by SetPtyParm.
>>
.parameter .uint16 Party_Vol
R/W
I
<<
Party volume for specified party used by SetPtyParm. Default = 2097152
>>




.parameter .uint16  ParmNumPartyGroups
R
C
<<
Number of Party Groups
>>
.parameter .uint16  MuteAllButBroadcastEn {Off = 0, On}
R/W
I
<<
Mute all parties except for broadcasting ones, On/Off. Default = 1 (On)
>>
.parameter .uint8 Act_Talk_Dis
R/W
C
<<
Disable Active Talker for a particular Party Group.     Values 1 through n, where n is the  total number of party groups.  Value of zero (0) implies all Party Group.  Default = 0 (All).   
>>
.parameter .uint16  ActTalkerNotifyInterval
R/W
C
<<
Active Talker Notification interval time.  (10ms Units) Default  = 100.
>>
.parameter .uint16  SmartScalingPartiesMinNum
R/W
C/I
<<
Minimum number of parties in a conference for Smart Scaling conferencing mode. Default = 0
>>
.parameter .uint16  ActTalkerPartiesMinNum
R/W
C/I
<<
Minimum number of parties in a conference for Active Talker conferencing mode.   Default = 0
>>
.parameter .uint16  ToneClamping {Disable =0, Enable}
R/W
C/I
<<
Notifies FEP to Enable or Disable Tone Clamping .  Default = 1 (Enable).  This can also be used by SetPtyParm
>>
.parameter .uint16  MaxTotalParties 
R/W
C
<<
The total number of parties allowed. Default = 60.
>>
.parameter .uint16  DTMFDigitMask
R/W
I
<<
The following Digit mask can be ORed :

CF_DIGNULLMASK
CF_DIG0
CF_DIG1
CF_DIG2
 CF_DIG3
 CF_DIG4
 CF_DIG5
 CF_DIG6
 CF_DIG7
 CF_DIG8
 CF_DIG9
 CF_DIGSTAR
 CF_DIGPOUND
 CF_DIGA
 CF_DIGB
 CF_DIGC
 CF_DIGD

Default CF_DIGNULLMASK

Together with the Digit Mask one must also OR together the intended operation. The following are the operations on the Mask.
CF_DTMF_ADD_MASK, CF_DTMF_SUB_MASK and   CF_DTMF_SET_MASK    
>>
>>


8 Debug Parameter Options
The following is a list of options for the debugging parameters (ParmDebugLevel, and ParmSPDebugLevel) of the DM3 Conferencing Component. 

<< 
Conferencing Debug Parameter Options
>>

Parameter type and name
Description
<
enum Conf_DebugOptions {
Conf_DbgStateMachineMsgs = 0x01,
>
<<
Print all debugging messages associated with the state machine.
>>
<
Conf_DbgStdMsgs = 0x02,
>
<<
Print all debugging messages associated with the standard messages.
>>
<
Conf_DbgSummerMsgs = 0x04,
>
<<
Print all debugging messages pertaining to the summer associated with the conf component.
>>
<
Conf_DbgKernelMsgs = 0x08,
>
<<
Print all debugging messages associated with kernel calls and messages.
>>
<
Conf_DbgInitializationMsgs = 0x10,
>
<<
Print all debugging messages associated with initialization.
>>
<
Conf_DbgOtherResourceMsgs = 0x40,
>
<<
Print all debugging messages associated with other resources.
>>
<
Conf_DbgVerbose = 0x8000};
>
<<
Specifying DbgVerbose enables a longer, detailed printout for those areas in which it available. Typically, this will be in printing an entire message body, rather than message arrival notice. The default is the brief version, where the option exists.
>>

Options are "Ored " together to form the value of the parameter. The value:

DbgStateMachineMsgs | DbgStdMsgs 
will enable printouts associated with the state machine and the kernel. The printouts will be in brief (default) format.

9 Error Codes 
The following is a list of error codes for the DM3 Conferencing Component. They are returned in the Errorcode field of the Std_MsgError message.
<< 
Conferencing Error Code Definitions
>>
Error name
Description
.error ErrInvalidParty
<<
Invalid party handle was specified.
>>
.error ErrCoach
<<
Invalid coach request.
>>
.error ErrPupil
<<
Invalid pupil request.
>>
.error ErrBroadcast
<<
Invalid broadcast party request.
>>
.error ErrMode
<<
Invalid mode change requested, mode or timeslot info missing.
>>
.error ErrInvalidTS
<<
Invalid timeslot specified.
>>
.error ErrMaxConferences
<<
Attempt to exceed the maximum number of conferences.
>>
.error ErrMaxParties
<<
Attempt to exceed the maximum number of parties.
>>
.error ErrResExhausted
<<
Operation failed due to exhausted resources.
>>
.error ErrInvalidParmValue
<<
Parameter value is out of range.
>>
.error ErrInvType
<<
Wrong type specified
>>
.error ErrInvPartyGroupId
<<
The specified party group id is invalid
>>

10 Attributes
The following is a list of attributes for the DM3 Conferencing Component.

<<
Standard Attribute Definition
>>
Attribute name
Description
.external .attribute Std_ComponentType 
{ Std_ComponentType = 0x39}

<<
Conferencing Component Type definition.
>>
.external .attribute Std_ComponentId {DIALOGIC = 1}
<<
Dialogic Id.
>>


11 Event Types
The following is a list of event types for the DM3 Conferencing Component.  The DM3 Conferencing Component and its Instances support them.  They may ALL be used as conditions for Run Time Control.  When enabled, these events are sent to the Component specified in the ReturnAddress field of the Std_MsgSetParm message that enabled them.  They are sent using the Std_MsgEventDetected message.
Some of these messages return extra data as part of the message.  This extra data may be ignored if these events are used for Run Time Control.

<< 
Conferencing Event Type Definitions.
>>

11.1  DetectEvt

.message!	DetectEvt
{
	.compdesc	ReturnAddress
	.uint32	               Type  {StatusChange=0x3900, ActiveTalker, DTMFDetection}
	.uint32                 Label
	.uint32                 PartyGroupId
}
n Description - Command
<<
This message will cause this Component to add an RTC detect condition.  Note, the message number is still Std_DetectEvt, however this message body contains an extra field called PartyGroupId.
ReturnAddress -	 The address of where to send the event detected message.
Type	-	The detect condition.
Label	-	This is sent with the event detected message.
PartyGroupId  -	Interested in the event from a particular party group id. Note PartyGroupId is only valid if component level message.  For instance level message this field is ignored.  PartyGroupId of zero means events from all the party groups.  
>> 
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.

Error
Description

ErrInvType
Wrong type specifies.

ErrInvPartyGroupId
The specified party group id is invalid
n Related Messages.
Std_MsgDetectEvt, Std_MsgDetectEvtCmplt,  Std_MsgError

n Cautions
None.




11.2  CancelEvt

.message!	CancelEvt
{
.uint32	Type
.uint32	PartyGroupId
}

n Description -Command
<<
This message will cause this Component to cancel an RTC detect condition.  Note, the message number is still Std_MsgCancelEvt, however this message body contains an extra field called PartyGroupId.
	Type        - The detect condition to cancel such as StatusChange, ActiveTalker or DTMFDetection.
 PartyGroupId   - Interested in the event from a particular party group id. Note PartyGroupId is only valid if component level message.  For instance level message this field is ignored.  PartyGroupId  of zero means events from all the party groups.
>> 
n Errors
If an error occurs in the execution of the command then an Std_MsgError message will be sent in place of the command's response message.

Error
Description

ErrInvPartyGroupId
The specified party group id is invalid

ErrInvType
Invalid event type specified

n Related Messages.
Std_MsgCancelEvt, Std_MsgCancelEvtCmplt, Std_MsgError
n Cautions
None.








11.3 EvtStatusChanged

.message!	EvtStatusChanged
{
	.uint32	EventLabel   
	.uint32	Count
.varstart
              .mbuf	PtyDiff
              {
	.uint8          	Operation {ADD=0, UPDATE, REMOVE,  DELETECONF, DELETEPTYGRP, INITIAL}
	.uint16        	PartyGroupId
	.compdesc  	Conference
	.uint16	PtyHndle
	.uint8	Mode {NULL = 0, FULL = 1, RCV = 2, XMIT = 3}
	.uint32	Attributes
	.uint16	 RecvTS
	.uint16	 XmitTS
}
}
n Description - Response
<<
The EvtStatusChanged message is sent as a response to the DetectEvt command of type StatusChange when the message has been received and processed and the status of the conference has been changed.

EventLabel  	-	the label used during DetectEvt
Count	-	count represents number of entries in the variable part of the message.
PtyDiff	-	For each conference party:
	Operation  	-  The following is the explanation of the Operation:
				ADD : The party is added.
			UPDATE: The existing party information has changed
			REMOVE: The existing party has been removed.
			DELETECONF: All the parties pertaining to the specifies conference in the payload has been 
				removed.
			DELETEPTYGRP: All the parties in the specified PartyGroupId have been removed. 
				If the PartyGroupId is zero(0) then all the party in the system have been removed.
		PartyGroupId 	- 	Party Group Id of the party
	Coference	-	component instance descriptor of the conference
PtyHndle	-	Handle use to identify the party in the conference
	Mode	-	party connection mode
Attributes	-	party attributes
		Values:
			Bit 0:		Echo Cancel Enable
			Bits 1-2:		Echo Cancel Performance Select
			Bit 3:		AGC Enable
			Bit 4:		Tariff Tone Enable
			Bit 5:		Coach Enable
			Bit 6:		Pupil Enable
			Bit 7:		Broadcast Enable
			Bits 8-31:	RFU
RecvTS	-	Receive SCBus timeslot
XmitTS	-	Transmit SCBus timeslot
 >>
n Errors
None.
n Related Messages
DetectEvt
n Cautions
None.




11.4 EvtActiveTalker

.message!	EvtActiveTalker
{
	.uint32	EventLabel
	.uint32	Count
	.varstart
	.mbuf	PtyIdentInfo
               {
		.uint16	     PtyHndle
		.uint16        PartyGroupId
		.compdesc  Conference
}
}

n Description - Response
<<
The EvtActiveTalker message is sent as a response to the DetectEvt command of type ActiveTalker when the message has been requested.

EventLabel  	-	the label used during DetectEvt
count	-	count represents number of entries in the variable part of the message.
PtyIdentInfo-	Each entry in the variable part represents the party identification information of the actively talking party.
	PtyHndle	-	Handle use to identify the party in the conference
		PartyGroupId 	- 	Party Group Id of the party
	Coference	-	component instance descriptor of the conference
 >>
n Errors
None.
n Related Messages
DetectEvt
n Cautions
None.










11.5 EvtDTMFDetection

.message!	EvtDTMFDetection
{
	.uint32		EventLabel
	.uint16        	PartyGroupId
               .compdesc  	Conference
	.uint16		PtyHndle
.uint8	Digit {DTMF_0 = 0x30, DTMF_1, DTMF_2, DTMF_3, DTMF_4, DTMF_5, DTMF_6, DTMF_7, DTMF_8, DTMF_9, DTMF_POUND = 0x23, DTMF_STAR = 0x2A, DTMF_A = 0x41, DTMF_B, DTMF_C, DTMF_D}
}
n Description - Response
<<
The EvtDTMFDigit message is sent as a response to the DetectEvt command of type DTMFDetection when the message has been received and processed and the status of the conference has been changed.

		EventLabel  		-	the label used during DetectEvt
		PartyGroupId 	- 	Party Group Id of the party
	Coference		-	component instance descriptor of the conference
PtyHndle		-	Handle use to identify the party in the conference
		Digit		- 	The DTMF digit detected defined above.
 >>
n Errors
None.
n Related Messages
DetectEvt
n Cautions
None.


11.6  DetectxEvts

.message!	DetectxEvts
{
	.compdesc	ReturnAddress
	.uint32                 PartyGroupId
    	.uint32		Count
	.varstart
	.struct		List
{
		.uint32	               Type  {StatusChange=0x3900, ActiveTalker, DTMFDetection}
		.uint32                 Label
}
}
n Description - Command
<<
This message will cause this Component to add an RTC detect condition.  Note, the message number is still Std_DetectEvt, however this message body contains an extra field called PartyGroupId.
ReturnAddress -	 The address of where to send the event detected message.
PartyGroupId  -	Interested in the event from a particular party group id. Note PartyGroupId is only valid if component level message.  For instance level message this field is ignored.  PartyGroupId of zero means events from all the party groups.
Count		-	Number of entries
Type		-	The detect condition.
Label		-	This is sent with the event detected message.
>> 
n Errors
If an error occurs in the execution of the command then a Std_MsgError message will be sent in place of the command's response message.

Error
Description

ErrInvType
Wrong type specifies.

ErrInvPartyGroupId
The specified party group id is invalid
n Related Messages.
Std_MsgDetectEvt, Std_MsgDetectxEvtCmplt,  Std_MsgError

n Cautions
None.




11.7  CancelxEvts

.message!	CancelxEvts
{
.uint32                 PartyGroupId
    	.uint32		Count
	.varstart
	.struct		List
{
.uint32	Type
	}
}

n Description -Command
<<
This message will cause this Component to cancel an RTC detect condition.  Note, the message number is still Std_MsgCancelxEvt, however this message body contains an extra field called PartyGroupId.
PartyGroupId   - Interested in the event from a particular party group id. Note PartyGroupId is only valid if component level message. For instance level message this field is ignored.  PartyGroupId  of zero means events from all the party groups.
		Type        - The detect condition to cancel such as StatusChange, ActiveTalker or DTMFDetection.
>> 
n Errors
If an error occurs in the execution of the command then an Std_MsgError message will be sent in place of the command's response message.

Error
Description

ErrInvPartyGroupId
The specified party group id is invalid

ErrInvType
Invalid event type specified

n Related Messages.
Std_MsgCancelEvt, Std_MsgCancelxEvtCmplt, Std_MsgError
n Cautions
None.



12 Miscellaneous Equates
<
/*
*  Party attribute masks for EstCnf and AddPty messages
*/
#define CF_ECHOXCLEN	0x0001		/* Echo cancel enable */
#define CF_ECHOXCLPERF	0x0002		/* Echo cancel performance select */
#define CF_AGCENABLE	0x0008		/* AGC enable */
#define CF_TARIFFENABLE	0x0010		/* Tariff tone enable */
#define CF_COACHENABLE	0x0020		/* Coach enable */
#define CF_PUPILENABLE	0x0040		/* Pupil enable */
#define CF_BROADCASTEN	0x0080		/* Broadcast enable */
#define CF_FEPENABLE		0x0100		/* FEP enable */
#define CF_TONECLAMPEN	0x0200		/* Tone Clamping Enable */


/*
*  Party connection mode equates
*/
#define CF_NULLMODE		0x00		/* Null mode */
#define CF_FULLDUPLEX	0x01		/* Full duplex */
#define CF_RCVONLY		0x02		/* Receive only */
#define CF_XMTONLY		0x03		/* Transmit only */

/*
*  DTMF digit mask equates
*/
#define CF_DIGNULLMASK	0x0000	/* Null mask */
#define CF_DIG0		0x2000		/* Digit 0 */
#define CF_DIG1		0x0001		/* Digit 1 */
#define CF_DIG2		0x0002		/* Digit 2 */
#define CF_DIG3		0x0004		/* Digit 3 */
#define CF_DIG4		0x0010		/* Digit 4 */
#define CF_DIG5		0x0020		/* Digit 5 */
#define CF_DIG6		0x0040		/* Digit 6 */
#define CF_DIG7		0x0100		/* Digit 7 */
#define CF_DIG8		0x0200		/* Digit 8 */
#define CF_DIG9		0x0400		/* Digit 9 */
#define CF_DIGSTAR		0x1000		/* Digit * */
#define CF_DIGPOUND		0x4000		/* Digit # */
#define CF_DIGA		0x0008		/* Digit A */
#define CF_DIGB		0x0080		/* Digit B */
#define CF_DIGC		0x0800		/* Digit C */
#define CF_DIGD		0x8000		/* Digit D */
#define CF_DTMF_ADD_MASK	0x100000	/* Add digit to the mask */
#define CF_DTMF_SUB_MASK   0x200000	/* Remove digit from the mask */
#define CF_DTMF_SET_MASK    0x400000	/* Set Mask */

/*
*  Parameter bounds
*/
#define CF_MINNUMSUMMED		2	/* Min number of parties summed in a conference */
#define CF_MAXNUMSUMMED		10	/* Max number of parties summed in a conference */
#define CF_DEFNUMSUMMED		3	/* Default number of parties summed in a conference */
#define CF_MAXTS			1023	/* Max timeslots */
#define CF_MAXCONFINST		240	/* Max conference instances */
#define CF_MINNOTTONEFREQ		0	/* Min notify on add tone frequency, 31.25 Hz units */
#define CF_MAXNOTTONEFREQ	128	/* Max notify on add tone frequency, 31.25 Hz units */
#define CF_DEFNOTTONEFREQ		975	/* Default notify on add tone frequency */
#define CF_MINNOTTONEDUR		0	/* Min notify on add tone duration, 10 msec units */
#define CF_MAXNOTTONEDUR		30	/* Max notify on add tone duration, 10 msec units */
#define CF_DEFNOTTONEDUR		0	/* Default notify on add tone duration, 10 msec units */
#define CF_MINNOTTONEVOL		0	/* Min notify on add tone volume, 3 db units */
#define CF_MAXNOTTONEVOL		15	/* Max notify on add tone volume, 3 db units */
#define CF_DEFNOTTONEVOL		1677721	/* Default notify on add tone volume */
#define CF_MINTARIFFFREQ		0	/* Min tariff tone frequency, 31.25 Hz units */
#define CF_MAXTARIFFFREQ		128	/* Max tariff tone frequency, 31.25 Hz units */
#define CF_DEFTARIFFFREQ		750	/* Default tariff tone frequency, 31.25 Hz units */
#define CF_MINTARIFFDUR		0	/* Min tariff tone duration, 10 msec units */
#define CF_MAXTARIFFDUR		65535	/* Max tariff tone duration, 10 msec units */
#define CF_DEFTARIFFDUR		50	/* Default tariff tone duration, */
#define CF_MINTARIFFVOL		0	/* Min tariff tone volume, 3 db units */
#define CF_MAXTARIFFVOL		15	/* Max tariff tone volume, 3 db units */
#define CF_DEFTARIFFVOL		838860	/* Default tariff tone volume, 3 db units */
#define CF_MINTARIFFINT		0	/* Min tariff tone interval, 10 msec units */
#define CF_MAXTARIFFINT		65535	/* Max tariff tone interval, 10 msec units */
#define CF_DEFTARIFFINT		6000	/* Default tariff tone interval, 10 msec units */
#define CF_MINPARTYVOL		0	/* Min party volume, 3 db units */
#define CF_MAXPARTYVOL		15	/* Max party volume, 3 db units */
#define CF_DEFPARTYVOL		2097152	/* Default party volume */

>
<<
End of all DM3 Conferencing Component Definitions
>>
}
}

I/F SPEC APPROVAL FORM

I/F Title		DM3 Conferencing Component Interface SpecificationI/F No.	SWS-xx-xxx
Revision	0.04



Christina Young 					                             
Author (print or type)	Signature	Dept.	Date
							
Name (print or type)	Signature	Dept.	Date
							
Name (print or type)	Signature	Dept.	Date
							
Name (print or type)	Signature	Dept.	Date
							
Name (print or type)	Signature	Dept.	Date
							
Name (print or type)	Signature	Dept.	Date
							
Name (print or type)	Signature	Dept.	Date
							
Name (print or type)	Signature	Dept.	Date
							
Name (print or type)	Signature	Dept.	Date
							
Name (print or type)	Signature	Dept.	Date
							
Name (print or type)	Signature	Dept.	Date


DM3 Conferencing Component Interface Specification
SYS-XX-XX - 09/22/99 Messaging Interface for Conferencing Resource



DIALOGIC CONFIDENTIAL
Page 5 of 59

