Función lineAddToConference (tapi.h)

La función lineAddToConference agrega la llamada especificada por hConsultCall a la llamada de conferencia especificada por hConfCall.

Sintaxis

LONG lineAddToConference(
  HCALL hConfCall,
  HCALL hConsultCall
);

Parámetros

hConfCall

Controle la llamada de conferencia. La aplicación debe ser propietario de esta llamada. Cualquier supervisión (multimedia, tonos, dígitos) en una llamada de conferencia solo se aplica a hConfCall, no a las llamadas participantes individuales. El estado de llamada de hConfCall debe ser onHoldPendingConference o onHold.

hConsultCall

Controle la llamada que se va a agregar a la llamada de conferencia. La aplicación debe ser propietario de esta llamada. Esta llamada no puede ser un padre de otra conferencia o un participante en ninguna conferencia. Según las funcionalidades del dispositivo indicadas en LINEADDRESSCAPS, es posible que hConsultCall no se haya establecido necesariamente mediante lineSetupConference o linePrepareAddToConference. El estado de llamada de hConsultCall debe estar conectado, onHold, proceeding o ringback. Muchos PBX permiten agregar llamadas a conferencias antes de que se respondan realmente.

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_CONFERENCEFULL, LINEERR_NOTOWNER, LINEERR_INVALCONFCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.

Comentarios

Si se devuelve LINEERR_INVALCALLHANDLE, el identificador de llamada especificado para la llamada agregada no es válido; hConsultCall es un padre de otra conferencia o ya participante en una conferencia; hConsultCall no se puede agregar por otros motivos (por ejemplo, debe haberse establecido mediante lineSetupConference o linePrepareAddToConference); o hConsultCall y hConfCall son llamadas en diferentes líneas abiertas.

El identificador de llamada de la entidad agregada sigue siendo válido después de agregar la llamada a una conferencia. Su estado normalmente cambia a conferenciado mientras que el estado de la llamada de conferencia normalmente se conecta. Con lineGetConfRelatedCalls, puede obtener una lista de identificadores de llamada que forman parte de la misma llamada de conferencia que la llamada especificada. La llamada especificada es una llamada de conferencia o una llamada de participante en una llamada de conferencia. Se generan nuevos identificadores para las llamadas para las que la aplicación aún no tiene identificadores y se concede privilegios de supervisión a esas llamadas. El identificador de una llamada participante individual se puede usar más adelante para quitar esa parte de la llamada de conferencia mediante lineRemoveFromConference.

Si se llama a lineGetConfRelatedCalls inmediatamente después de lineAddToConference, es posible que no devuelva una lista completa de llamadas relacionadas porque TAPI espera a recibir un mensaje de LINE_CALLSTATE que indica que la llamada ha escrito LINECALLSTATE_CONFERENCED antes de considerar que la llamada forma parte realmente de la conferencia (es decir, el estado de conferencia lo confirma el proveedor de servicios). Una vez que la aplicación haya recibido el mensaje LINE_CALLSTATE, lineGetConfRelatedCalls devuelve información completa.

Nota Todas las llamadas que forman parte de una conferencia deben existir en la misma línea abierta.
 
Los estados de llamada de las llamadas que participan en una conferencia no son independientes. Por ejemplo, al quitar una llamada de conferencia, todas las llamadas participantes pueden volverse inactivas automáticamente. Una aplicación debe consultar las funcionalidades del dispositivo de la línea para determinar qué forma de eliminación de conferencia está disponible. La aplicación debe realizar un seguimiento de los mensajes de LINE_CALLSTATE para determinar qué ha ocurrido con las llamadas implicadas.

La llamada de conferencia se establece mediante lineSetupConference o lineCompleteTransfer. La llamada agregada a una conferencia se establece normalmente mediante lineSetupConference o linePrepareAddToConference. Algunos modificadores pueden permitir la adición de llamadas arbitrarias a la conferencia, y esta llamada se puede haber configurado mediante lineMakeCall y estar en suspensión (dura). La aplicación puede examinar el miembro dwAddrCapFlags de la estructura LINEADDRESSCAPS para determinar las operaciones permitidas.

Requisitos

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

Consulte también

Introducción a la conferencia

LINEADDRESSCAPS

LINE_CALLSTATE

Funciones de servicio de línea complementarias

lineCompleteTransfer

lineGetConfRelatedCalls

lineMakeCall

linePrepareAddToConference

lineRemoveFromConference

lineSetupConference