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.
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 |