Поделиться через


функция TSPI_lineAddToConference (tspi.h)

Функция TSPI_lineAddToConference добавляет вызов, указанный в hdConsultCall , в конференцию, указанную в hdConfCall.

Синтаксис

LONG TSPIAPI TSPI_lineAddToConference(
  DRV_REQUESTID dwRequestID,
  HDRVCALL      hdConfCall,
  HDRVCALL      hdConsultCall
);

Параметры

dwRequestID

Идентификатор асинхронного запроса.

hdConfCall

Дескриптор конференции. Состояние вызова hdConfCall может быть onHoldPendingConference или onHold.

hdConsultCall

Дескриптор звонка, добавляемого в конференцию. Этот вызов не может быть родителем другой конференции или участником какой-либо конференции. В зависимости от возможностей устройства, указанных в lineADDRESSCAPS, параметр hdConsultCall не обязательно был установлен с помощью TSPI_lineSetupConference или TSPI_linePrepareAddToConference. Состояние вызова hdConsultCall может быть подключено, onHold, proceeding или ringback.

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

Возвращает dwRequestID или номер ошибки при возникновении ошибки. Фактический параметр lResult соответствующего ASYNC_COMPLETION равен нулю при успешном выполнении функции или номеру ошибки при возникновении ошибки. Возможные возвращаемые значения:

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_CONFERENCEFULL, LINEERR_RESOURCEUNAVAIL LINEERR_NOMEM.

Комментарии

Поставщик услуг возвращает LINEERR_INVALCALLHANDLE, если hdConsultCall является родительским элементом другой конференции или уже участником конференции, или hdConsultCall не может быть добавлен по другим причинам, например, он должен быть создан с помощью TSPI_lineSetupConference или TSPI_linePrepareAddToConference.

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

Конференц-связь устанавливается через TSPI_lineSetupConference или TSPI_lineCompleteTransfer. Как правило, звонок, добавляемый в конференцию, устанавливается с помощью TSPI_lineSetupConference или TSPI_linePrepareAddToConference. Некоторые переключатели могут позволить добавить произвольный вызов на конференцию, и такой звонок может быть настроен с использованием TSPI_lineMakeCall и быть на (жестком) удержании. Все звонки, которые являются частью конференции, должны находиться в одной открытой строке.

Любой мониторинг (мультимедиа, тона, цифры) в конференции применяется только к параметру hdConfCall , а не к отдельным участвующим вызовам.

Эта функция не имеет ограничений на основе привилегий, как в соответствующей функции на уровне TAPI. Нет явного требования к поставщику услуг отслеживать связи между "родительской" конференции и его участниками, так как нет соответствия TSPI функции TAPI. Многим поставщикам услуг может потребоваться внутренне отслеживать эти связи для реализации других функций управления конференц-звонками.

Требования

Требование Значение
Целевая платформа Windows
Header tspi.h

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

LINE_CALLSTATE

TSPI_lineCompleteTransfer

TSPI_linePrepareAddToConference

TSPI_lineRemoveFromConference

TSPI_lineSetupConference