拨号

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

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

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

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

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

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

  • LINEERR_DIALBILLING
  • LINEERR_DIALQUIET
  • LINEERR_DIALDIALTONE
  • LINEERR_DIALPROMPT

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

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

TAPI 2.x: 请参阅 lineDial

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