拨号

拨号作允许应用程序在以前创建的会话上发送其他数字。 部分拨号的示例用法是拨号分机。 部分拨号有时称为增量拨号或延迟拨号。

当提供的地址不完整时,拨打某些数字可能会延迟,方法是将分号(;)放在号码末尾)。 然后,拨号作用于在现有会话上发送其他地址数据,例如拨打呼叫将转移到的参与方的地址。

每个服务提供商都应拒绝包含 的拨号字符串? 字符,让应用程序适当地处理它。 例如,应用程序可以使用部分拨号来拨号字符串,但不包括 字符,然后显示一个对话框,让用户在应拨打其余拨号字符串时发出信号。

应用程序使用部分拨号的另一个原因是服务提供商不支持一个或多个呼叫进度检测控制字符。 这些字符可以在可拨号地址中出现,即 W(等待拨号音):@ (等待安静答案):和 $ (等待呼叫卡提示音调)。 可拨号地址更详细地讨论了地址字符串中使用的这些字符和所有其他字符。

提供程序指示它支持的“等待”拨号字符串修饰符。 TAPI 2 应用程序在由 lineGetDevCaps返回的 LINEDEVCAPS 结构 成员 dwDevCapFlags 中找到此数据。 TAPI 3 应用程序调用 ITAddressCapabilities::get_AddressCapabilityAddressCap 设置为 ADDRESS_CAPABILITYAC_DEVCAPFLAGS 成员。

应用程序可以选择为不受支持的字符预扫描可拨号字符串,也可以将“原始”字符串作为启动会话的一部分传递。 如果字符串包含不受支持的修饰符或“?”,提供程序将返回一个错误,指示在字符串中首先发生哪个有问题的修饰符:

  • LINEERR_DIALBILLING
  • LINEERR_DIALQUIET
  • LINEERR_DIALDIALTONE
  • LINEERR_DIALPROMPT

然后,应用程序可以在字符串中找到有问题的修饰符,将数字带到修饰符左侧,追加分号,并使用部分地址启动会话。 可以使用拨号作发送字符串的其余部分。

并非所有服务提供商都支持使用此作。

TAPI 2.x: 请参阅 lineDial

TAPI 3.x: 请参阅 ITBasicCallControl::D ial