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


Запуск сеанса

Основными фрагментами информации, которые предоставляет приложение для запуска сеанса связи, являются тип адреса, тип носителя или типы, а также целевой адрес.

Целевой адрес может потребовать перевода адресов, чтобы поместить сведения, введенные пользователем в правильный формат для заданного типа адреса. Например, номер телефона, который был в электронной адресной книге в каноническом формате, потребует перевода в формат набора.

Для некоторых сеансов могут потребоваться специальные параметры установки, если поддерживается поставщиком услуг. Например, TSP ISDN может передавать сведения о пользователе, а некоторые MSPs требуют сведений о направлении потока мультимедиа. Сведения о сеансе см. в разделе "Сведения о сеансе" для проверки данных, которые могут быть заданы или получены в отношении сеанса.

После инициирования сеанса TAPI сообщит приложению о ходе вызова с помощью механизма уведомлений о событиях, настроенного во время инициализации.

TAPI 2.x. Приложения инициируют сеанс с помощью функции lineMakeCall . Функция lineTranslateAddress используется для перевода адресов при необходимости.

Параметры настройки вызова можно хранить в структуре данных LINECALLPARAMS, а затем указатель на эту структуру используется в качестве параметра lineMakeCall. Если структура LINECALLPARAMS не предоставляется в lineMakeCall, вызов голосового класса POTS по умолчанию запрашивается с набором значений по умолчанию.

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

TAPI 3.x. Приложения инициируют сеанс связи, вызывая метод ITAddress::CreateCall для адреса, который может обрабатывать тип адреса и тип носителя, необходимый. Если адрес предоставляет интерфейс ITTerminalSupport , терминалы выбираются в потоках мультимедиа объекта вызова. См. пример кода вызова для иллюстрации этого процесса.

Параметры настройки вызова можно хранить или изменять с помощью методов, предоставляемых интерфейсом ITCallInfo .

Если сеанс настроен успешно, TAPI возвращает указатель интерфейса ITBasicCallControl, который можно использовать для дальнейших операций сеанса или для получения указателя интерфейса ITCallInfo, который можно использовать для получения дополнительных сведений о сеансе. Интерфейс ITCallStateEvent обрабатывает события состояния вызова TAPI.

Примечание.

TAPI не следует использовать для передачи факсов. Вместо этого используйте функции, доступные с помощью MAPI, API Сообщения (Майкрософт).

 

Перевод адресов

Конечное приложение или серверное приложение может хранить адреса в формате, несовместимом с потребностями данного поставщика услуг. Например, номер телефона может храниться в электронной адресной книге в каноническом формате, но для большинства поставщиков услуг, обрабатывающих номера телефонов, требуется формат набора.

TAPI предоставляет операции преобразования адресов, которые помогают приложению представить правильный тип адреса в TSP. Поставщик услуг указывает TAPI, какие типы адресов он поддерживает, и не требуется включать какой-либо вид преобразования адресов.

TAPI 2.x: см. lineTranslateAddress.

TAPI 3: См. ITAddressTranslation, ITAddressTranslationInfo.

Списки платных сборок

В некоторых местах в Северная Америка все телефонные звонки, размещенные в коде местного района, являются местными звонками. В других местах некоторые вызовы, размещенные в коде локальной области, являются длинным расстоянием и должны быть набраны префикс "1". Первые три цифры адреса (префикс) определяют, является ли вызов в коде локальной области платным вызовом.

Список платных номеров — это список префиксов в коде локальной области, адреса которых должны быть набраны как адреса с длинным расстоянием, и оцениваются плата за длинное расстояние.

Списки платных услуг не относятся к поставщикам услуг или к приложениям, которые не обращаются к телефонной сети.

TAPI 2.x: см. строку LineTranslateAddress (LINETRANSLATERESULT_INTOLLLIST и LINETRANSLATERESULT_NOTINTOLLLIST биты в структуре LINETRANSLATEOUTPUT), lineSetTollList.

TAPI 3. См. сведения об ITAddressTranslation::TranslateAddress, ITAddressTranslationInfo::get_TranslationResults.