Перенос
Операция передачи позволяет приложению отправлять подключенный сеанс связи на другой адрес.
TAPI предоставляет два механизма передачи текущего сеанса на другой адрес. Слепая передача позволяет перенести существующий сеанс на указанный адрес назначения в один этап. Для передачи консультаций требуется проведение консультаций в дополнение к текущей сессии для организации передачи, а затем завершения передачи. Выбор между этими двумя типами часто зависит от возможностей поставщика услуг, так как некоторые поставщики услуг не поддерживают слепую передачу. В некоторых случаях потребности приложения могут сделать консультативный перенос предпочтительным методом, даже если возможна слепая передача.
Операция слепой передачи в основном одинакова при TAPI 2 и TAPI 3, но консультативный перенос следует немного другим шаблонам.
TAPI 2.x: Консультационная передача начинается с вызова lineSetupTransfer, который помещает существующий вызов на удержание консультации и определяет этот вызов в качестве целевого объекта для следующего запроса на завершение передачи. Функция lineSetupTransfer также выделяет консультационный звонок, который можно использовать для установления консультационного звонка с стороной, которой будет передан звонок. Приложение может набирать расширение целевой стороны во время консультационного звонка (с помощью lineDial) или может удалить и отменить звонок консультации, а вместо этого активировать существующий удержанный звонок (с помощью lineUnhold), если этот параметр поддерживает. В то время как первоначальный звонок находится на удержании консультации, а звонок на консультацию активен, приложение может переключаться между этими вызовами с помощью lineSwapHold.
TAPI 2.x: Приложения завершают консультативный перенос с помощью lineCompleteTransfer. Оба вызова отменить изменения в состояние простоя.
Приложения могут использовать функцию "одношаговая передача" нескольких УАТС (нажатие одной кнопки для передачи консультаций), задав параметру lpCallParamsзначение LINECALLPARAMFLAGS_ONESTEPTRANSFER члена LINECALLPARAMFLAGS_ констант при вызове lineSetupTransfer.
TAPI 3.x: Передача консультаций начинается с использования ITAddress::CreateCall для создания консультационного звонка по новому адресу назначения. Затем метод ITBasicCallControl::Transfer вызывается для исходного объекта вызова с помощью указателя на новый объект вызова консультации в качестве параметра. Вызов ITBasicCallControl::Finish в объекте вызова консультации завершает передачу.
Приложение должно освободить ресурсы сеанса после успешного завершения операции передачи.
Не все поставщики услуг поддерживают использование этой операции.
TAPI 2.x: См . lineBlindTransfer, lineSetupTransfer, lineCompleteTransfer.
TAPI 3.x: См . раздел ITBasicCallControl::BlindTransfer, ITAddress::CreateCall, ITBasicCallControl::Transfer, ITBasicCallControl::Finish.