PREV TOC HOME INDEX NEXT


ms_estconf( )


Cautions | Errors | Example | See Also

Name: int ms_estconf (devh, cdt, numpty, confattr, confID)
Inputs:

int devh

  • MSI board device handle

MS_CDT *cdt

  • pointer to conference descriptor table

int numpty

  • number of parties in a conference

int confattr

  • conference attributes

int *confID

  • pointer to memory location to receive the conference identifier
Returns:

0 on success

-1 on failure

Includes:

srllib.h

dtilib.h

msilib.h

Category:

Conference Management

Mode:

synchronous

Platform:

DI, Springware

Description

The ms_estconf( ) function establishes a conference of up to four parties. ms_addtoconf( ) must be used to increase the size of the conference beyond four and up to eight parties.

Parameter

Description

devh MSI board device handle
cdt pointer to the conference descriptor table. See the MS_CDT data structure page for details.
numpty number of parties in the conference. When this function completes successfully, the conference is established and numpty resources are used.
confattr bitmask describing the properties of the conference. These properties affect all parties in the conference.
  • MSCA_ND
    All parties in conference are notified by a tone if another party is being added or removed from a conference.
  • MSCA_NN
    If MSCA_ND is set, do not notify participants if a party joins the conference in "receive-only" mode or as a monitor.
  • MSCA_NULL
    No special attributes.
Note: The default MSCA_NULL must be used if the conference attribute is not specified.
confID pointer to the memory location containing the conference ID number

In SCbus mode, this function returns the listen TDM bus time slot number for the MSPN_TS party. The number is placed in the MS_CDT structure for the MSPN_TS party. For an MSPN_STATION party, such information is not returned because the conferenced signal is not placed on the TDM bus. In SCbus mode, the chan_attr field in the MS_CDT structure is redefined as follows:

#define   chan_lts     chan_attr  
Note: In SCbus mode, the MS_CDT structure is reused to return the listen TDM bus time slot information. The application is responsible for maintaining the integrity of the data in the structure.

Cautions

Errors

If this function returns -1 to indicate failure, obtain the reason for the error by calling the SRL standard attribute function ATDV_LASTERR( ) or ATDV_ERRMSGP( ) to retrieve either the error code or a pointer to the error description, respectively.

Refer to the error type tables found in Chapter 5, "Error Codes". Error defines can be found in dtilib.h or msilib.h.

Example

#include <windows.h>          /* For Windows applications only */
#include <errno.h>
#include "srllib.h"
#include "dtilib.h"
#include "msilib.h"  
#define        NUM_PARTIES     3  
int  dev1;                    /* Board dev descriptor variables */
int  chdev1,chdev2;           /* Channel dev descriptor */
MS_CDT cdt[NUM_PARTIES];      /* Conf. desc. table */
int  confID;                  /* Conf. ID */
int  ts1, ts2;  
/* Open board 1 device */
if ((dev1 = ms_open("msiB1",0)) == -1) {
    printf( "Cannot open MSI B1: errno=%d", errno);
    exit(1);
}  
/* Assume MSI/SC is connected to a DTI via SCbus. */
/* Need to do a dt_open() for DTI time slots */
/* This returns tsdev1 and tsdev2 as 2 device handles
/* for 2 time slots. Follow this by dt_getxmitslot()
/* to get SCbus time slots */
/* These SCbus time slots are passed on to the CDT */  
/*
 * Continue processing
 */  
/* Set up CDT structure */
/* Include station 2 on MSI board in conference */
cdt[0].chan_num = 2;
cdt[0].chan_sel = MSPN_STATION;
cdt[0].chan_attr = MSPA_NULL;  
/* The chan_num below is the SCbus time slot for tsdev1 on which */
/* DTI time slot is transmitting. It is received as a result of  */
/* dt_getxmitslot() function above */
cdt[1].chan_num = ts1;
cdt[1].chan_sel = MSPN_TS;
cdt[1].chan_attr = MSPA_PUPIL;  
/* Set up another SCbus time slot for tsdev2 to be part of a 3 party conference. Another DTI time slot transmits on this SCbus time slot, just like above */  
cdt[2].chan_num = ts2;
cdt[2].chan_sel = MSPN_TS;
cdt[2].chan_attr = MSPA_COACH;  
/* Establish conference */
if (ms_estconf(dev1, cdt, NUM_PARTIES, MSCA_ND, &confID) != 0) {
    printf("Error Message = %s",ATDV_ERRMSGP(dev1));
    exit(1);
}  
/* Note no listen required for cdt[0] because it is a station */
/* Do a listen for cdt[1] */
/* Set up SC_TSINFO structure for SCbus tslot */
tsinfo.sc_numts = 1;
tsinfo.sc_tsarray = &cdt[1].chan_lts;  
/* Now, listen to  TS */
if (dt_listen(tsdev1,&tsinfo) == -1){
    printf("Error Message = %s",ATDV_ERRMSGP(tsdev1));
    exit(1);
}  
/* Do a listen for cdt[2] */
/* Set up SC_TSINFO structure for SCbus tslot */
tsinfo.sc_tsarray = &cdt[2].chan_lts;  
/* Now, listen to  TS */
if (dt_listen(tsdev2,&tsinfo) == -1) {
    printf("Error Message = %s",ATDV_ERRMSGP(tsdev2));
    exit(1);
}  
/*
 * Continue processing
 *
 */
if (ms_delconf(dev1, confID) == -1){
    printf("Error Message = %s",ATDV_ERRMSGP(dev1));
    exit(1);
}  
/* Continue processing  */  

See Also


PREV TOC HOME INDEX NEXT

Click here to contact Telecom Support Resources

Copyright 2003, Intel Corporation
All rights reserved
This page generated January, 2003