Функция lineAddToConference (tapi.h)

Функция lineAddToConference добавляет вызов, заданный параметром hConsultCall , в конференцию, указанную параметром hConfCall.

Синтаксис

LONG lineAddToConference(
  HCALL hConfCall,
  HCALL hConsultCall
);

Параметры

hConfCall

Дескриптор к конференции. Приложение должно быть владельцем этого вызова. Любой мониторинг (мультимедиа, тона, цифры) на конференции применяется только к hConfCall, а не к отдельным участвующим звонкам. Состояние вызова hConfCall должно быть onHoldPendingConference или onHold.

hConsultCall

Дескриптор звонка, добавляемого в конференцию. Приложение должно быть владельцем этого вызова. Этот вызов не может быть родителем другой конференции или участником какой-либо конференции. В зависимости от возможностей устройства, указанных в lineADDRESSCAPS, hConsultCall не обязательно был установлен с помощью lineSetupConference или linePrepareAddToConference. Состояние вызова hConsultCall должно быть подключено, onHold, proceeding или ringback. Многие УАТС позволяют добавлять звонки на конференции до фактического ответа.

Возвращаемое значение

Возвращает положительный идентификатор запроса, если функция выполняется асинхронно, или отрицательный номер ошибки при возникновении ошибки. Параметр dwParam2 соответствующего сообщения LINE_REPLY равен нулю, если функция завершается успешно, или отрицательным номером ошибки при возникновении ошибки. Возможные возвращаемые значения:

LINEERR_CONFERENCEFULL, LINEERR_NOTOWNER, LINEERR_INVALCONFCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALCALLSTATE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM LINEERR_UNINITIALIZED.

Комментарии

Если возвращается LINEERR_INVALCALLHANDLE, указанный дескриптор вызова для добавленного вызова является недопустимым; hConsultCall является родителем другой конференции или уже участником конференции; hConsultCall не может быть добавлен по другим причинам (например, он должен быть установлен с помощью lineSetupConference или linePrepareAddToConference); или hConsultCall и hConfCall — это вызовы в разных открытых строках.

Дескриптор вызова добавленной стороны остается действительным после добавления звонка в конференцию. Его состояние обычно изменяется на конференцию, а состояние конференц-связи обычно становится подключенным. С помощью lineGetConfRelatedCalls можно получить список дескрипторов вызовов, которые являются частью той же конференции, что и указанный вызов. Указанный вызов является конференцией или вызовом участника в конференции. Для тех вызовов, для которых у приложения еще нет дескрипторов, создаются новые дескрипторы, и приложению предоставляется разрешение монитора для этих вызовов. Дескриптор отдельного звонка можно использовать позже, чтобы удалить эту сторону из конференции с помощью lineRemoveFromConference.

Если lineGetConfRelatedCalls вызывается сразу после lineAddToConference, он может не вернуть полный список связанных вызовов, так как TAPI ожидает получения LINE_CALLSTATE сообщения о том, что звонок поступил LINECALLSTATE_CONFERENCED, прежде чем считать вызов фактически частью конференции (то есть состояние конференции подтверждается поставщиком услуг). После того как приложение получит сообщение LINE_CALLSTATE, lineGetConfRelatedCalls возвращает полные сведения.

Примечание Все звонки, которые являются частью конференции, должны находиться в одной открытой строке.
 
Состояния звонков, участвующих в конференции, не являются независимыми. Например, при удалении конференции все участвующие звонки могут автоматически стать бездействующими. Приложение должно ознакомиться с возможностями устройства линии, чтобы определить, какая форма удаления конференции доступна. Приложение должно отслеживать LINE_CALLSTATE сообщения, чтобы определить, что произошло с задействованными вызовами.

Конференц-связь устанавливается либо lineSetupConference , либо lineCompleteTransfer. Вызов, добавляемый к конференции, обычно устанавливается с помощью lineSetupConference или linePrepareAddToConference. Некоторые переключатели позволяют добавлять произвольные вызовы к конференции, и такой вызов можно настроить с помощью lineMakeCall и быть на (жестком) удержании. Приложение может проверить член dwAddrCapFlags структуры LINEADDRESSCAPS, чтобы определить разрешенные операции.

Требования

Требование Значение
Целевая платформа Windows
Header tapi.h
Библиотека Tapi32.lib
DLL Tapi32.dll

См. также раздел

Обзор конференции

LINEADDRESSCAPS

LINE_CALLSTATE

Дополнительные функции линейной службы

lineCompleteTransfer

lineGetConfRelatedCalls

lineMakeCall

linePrepareAddToConference

lineRemoveFromConference

lineSetupConference