Dial
Операции набора номера позволяют приложению отправлять дополнительные цифры в ранее созданном сеансе. Примером использования частичного набора номера является набор расширений. Частичный набор иногда называется добавочным или отложенным набором номера.
Если указанный адрес неполный, набирание некоторых цифр может быть отложено путем помещения точки с запятой (;) в конце числа. Затем операция набора используется для отправки дополнительных данных адреса в существующем сеансе, например для набора адреса стороны, на которую будет выполнен звонок.
Каждый поставщик услуг должен отклонить строку набора, содержащую символ ? , и разрешить приложению работать с ней соответствующим образом. Например, приложение может использовать частичный набор для набора строки вплоть до символа ? , но не включая его, а затем отобразить диалоговое окно, чтобы пользователь мог сигнализировать, когда должна быть набрана остальная часть строки набора.
Еще одна причина, по которой приложение использует частичный набор номера, заключается в том, что поставщик услуг не поддерживает один или несколько управляющих символов обнаружения хода вызова. Эти символы, которые могут встречаться в набираемом адресе, — W (ожидание звонка); @ (дождитесь спокойного ответа); и $ (дождитесь вызова карта подсказки). Эти и все остальные символы, используемые в адресных строках, более подробно рассматриваются в разделе Dialable Addresss (Адреса с доступом к телефону).
Поставщик указывает, какие модификаторы строки набора "ожидание" он поддерживает. Приложение TAPI 2 находит эти данные в элементе dwDevCapFlags структуры LINEDEVCAPS , возвращаемой lineGetDevCaps. Приложение TAPI 3 вызывает ITAddressCapabilities::get_AddressCapability с параметром AddressCap , для AC_DEVCAPFLAGS членомADDRESS_CAPABILITY.
Приложение может предварительно сканировать коммутируемые строки на наличие неподдерживаемых символов или передавать "необработанную" строку при инициации сеанса. Если строка содержит неподдерживаемый модификатор или "?", поставщик вернет ошибку, указывающую, какой из них впервые произошел в строке:
- LINEERR_DIALBILLING
- LINEERR_DIALQUIET
- LINEERR_DIALDIALTONE
- LINEERR_DIALPROMPT
Затем приложение может найти в строке обидный модификатор, принять цифры слева от модификатора, добавить точку с запятой и инициировать сеанс, используя частичный адрес. Оставшуюся часть строки можно отправить с помощью операции набора номера.
Не все поставщики услуг поддерживают использование этой операции.
TAPI 2.x: См. lineDial.
TAPI 3.x: См. раздел ITBasicCallControl::D ial.