Función lineSetupConference (tapi.h)

La función lineSetupConference configura una llamada de conferencia para agregar el tercero.

Sintaxis

LONG lineSetupConference(
  HCALL                  hCall,
  HLINE                  hLine,
  LPHCALL                lphConfCall,
  LPHCALL                lphConsultCall,
  DWORD                  dwNumParties,
  LPLINECALLPARAMS const lpCallParams
);

Parámetros

hCall

Controle la llamada inicial que identifica a la primera parte de una llamada de conferencia. En algunos entornos (como se describe en funcionalidades del dispositivo), debe existir una llamada para iniciar una llamada de conferencia y la aplicación debe ser propietaria de esta llamada. En otros entornos de telefonía, inicialmente no existe ninguna llamada, hCall debe dejar NULL y se debe especificar hLine para identificar la línea en la que se va a iniciar la llamada de conferencia. El estado de llamada de hCall debe estar conectado.

hLine

Identificador de la línea. Este identificador se usa para identificar el dispositivo de línea en el que se origina la llamada de conferencia si hCall es NULL. El parámetro hLine se omite si hCall no es NULL.

lphConfCall

Puntero a un controlador HCALL. A continuación, esta ubicación se carga con un identificador que identifica la llamada de conferencia recién creada. La aplicación es el único propietario inicial de esta llamada. El estado de llamada de hConfCall no es aplicable.

lphConsultCall

Puntero a un controlador HCALL. Al configurar una llamada para la adición de una nueva entidad, se asigna automáticamente una nueva llamada temporal (llamada de consulta). Inicialmente, la aplicación es el único propietario de esta llamada.

dwNumParties

Número esperado de partes en la convocatoria de conferencia. Este número se pasa al proveedor de servicios. El proveedor de servicios es libre de hacer lo mismo que con este número: omitirlo, usarlo como sugerencia para asignar el puente de conferencia de tamaño correcto dentro del conmutador, etc.

lpCallParams

Puntero a una estructura LINECALLPARAMS que contiene parámetros de llamada que se usarán al establecer la llamada de consulta. Este parámetro se puede establecer en NULL si no se desea ningún parámetro de configuración de llamada especial.

Valor devuelto

Devuelve un identificador de solicitud positivo si la función se completa de forma asincrónica o un número de error negativo si se produce un error. El parámetro dwParam2 del mensaje de LINE_REPLY correspondiente es cero si la función se ejecuta correctamente o es un número de error negativo si se produce un error. Los valores devueltos posibles son:

LINEERR_BEARERMODEUNAVAIL, LINEERR_UNINITIALIZED, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_CONFERENCEFULL, LINEERR_INVALPOINTER, LINEERR_INUSE, LINEERR_INVALRATE, LINEERR_INVALADDRESSMODE, LINEERR_NOMEM, LINEERR_INVALBEARERMODE, LINEERR_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLPARAMS, LINEERR_RATEUNAVAIL, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_ INVALLINESTATE, LINEERR_STRUCTURETOOSMALL, LINEERR_USERUSERINFOTOOBIG.

Comentarios

Si se devuelve LINEERR_INVALLINESTATE, la línea no se encuentra actualmente en un estado en el que se puede realizar esta operación. Puede encontrar una lista de operaciones válidas actualmente en el miembro dwLineFeatures (del tipo LINEFEATURE) en la estructura LINEDEVSTATUS . (Al llamar a lineGetLineDevStatus, se actualiza la información de LINEDEVSTATUS). Si se devuelve LINEERR_INVALMEDIAMODE, compruebe si hay tipos de medios admitidos en la línea del miembro dwMediaModes de la estructura LINEDEVCAPS .

La función lineSetupConference proporciona dos maneras de establecer una nueva llamada de conferencia, en función de si se requiere una llamada normal de dos partes para existir previamente o no. Al configurar una llamada de conferencia desde una llamada de dos partes existente, el parámetro hCall es un identificador de llamada válido que inicialmente se agrega a la llamada de conferencia mediante la solicitud lineSetupConference ; hLine se omite. En los conmutadores en los que la configuración de la llamada de conferencia no comienza con una llamada existente, hCall debe ser NULL y hLine debe especificarse para identificar el dispositivo de línea en el que iniciar la llamada de conferencia. En cualquier caso, se asigna una llamada de consulta para conectarse a la parte que se va a agregar a la llamada. Después, la aplicación puede usar lineDial para marcar la dirección de la otra parte.

La llamada de conferencia normalmente pasa al estado onHoldPendingConference , la llamada de consulta al estado dialtone y la llamada inicial (si hay alguna) al estado con conferencia .

Una llamada de conferencia también se puede configurar mediante una lineCompleteTransfer que se resuelve en una conferencia triple. La aplicación puede alternar entre la llamada de consulta y la llamada de conferencia mediante lineSwapHold.

Se puede cancelar una llamada de consulta invocando lineDrop en ella. Al quitar una llamada de consulta, la llamada de conferencia existente normalmente vuelve al estado conectado . La aplicación debe observar los mensajes de LINE_CALLSTATE para determinar exactamente lo que sucede con las llamadas. Por ejemplo, si la llamada de conferencia vuelve a una llamada periódica de dos partes, la llamada de conferencia se vuelve inactiva y la llamada de participante original puede revertir a conectada.

Si una aplicación especifica el identificador de la llamada original (hCall) en una llamada a la función lineUnhold , la llamada de conferencia y la llamada de consulta normalmente van a inactivas.

Requisitos

   
Plataforma de destino Windows
Encabezado tapi.h
Library Tapi32.lib
Archivo DLL Tapi32.dll

Consulte también

Introducción a la conferencia

LINECALLPARAMS

LINEDEVCAPS

LINEDEVSTATUS

LINE_CALLSTATE

Funciones complementarias del servicio de línea

lineCompleteTransfer

lineDial

lineDrop

lineGetLineDevStatus

lineSwapHold

lineUnhold