启动会话

应用程序为启动通信会话提供的主要信息片段是 地址类型媒体类型 以及目标 地址

目标地址可能需要 地址转换 ,以便将用户输入的信息设置为给定地址类型的正确格式。 例如,电子通讯簿中采用 规范 格式的电话号码需要转换为 可拨号 格式。

如果服务提供商支持,某些会话可能需要特殊的设置参数。 例如,ISDN TSP 可以传输用户-用户信息,而某些 MSP 需要有关媒体流方向的信息。 有关可能设置或获取的有关会话的数据的查看,请参阅会话 信息

启动会话后,TAPI 将使用初始化期间设置的事件通知机制通知应用程序呼叫进度。

TAPI 2.x: 应用程序使用 lineMakeCall 函数启动会话。 如果需要, lineTranslateAddress 函数用于执行地址转换。

调用设置参数可以存储在 LINECALLPARAMS 数据结构中,然后指向此结构的指针用作 lineMakeCall 的参数。 如果没有向 lineMakeCall 提供 LINECALLPARAMS 结构,则会使用一组默认值请求默认 POTS 语音级呼叫。

如果会话设置成功,则会将具有 所有者权限的 呼叫句柄返回到应用程序,TAPI 向应用程序发送 LINE_CALLSTATE 消息,其中包含有关呼叫进度的信息。 应用程序通常使用这些消息向用户显示状态报告。

TAPI 3.x: 应用程序通过在能够处理所需地址类型和媒体类型的地址上调用 ITAddress::CreateCall 方法来启动通信会话。 如果地址公开 ITTerminalSupport 接口,则会在调用对象的媒体流上选择终端。 有关此过程的插图,请参阅 Make a Call 代码示例。

可以使用 ITCallInfo 接口公开的方法存储或更改调用设置参数。

如果会话设置成功,TAPI 将返回可用于进一步会话操作 的 ITBasicCallControl 接口指针,或获取可用于获取其他会话信息的 ITCallInfo 接口指针。 ITCallStateEvent 接口处理 TAPI 调用状态事件。

注意

TAPI 不应用于传真传输。 请改用通过 MAPI(Microsoft 消息 API)提供的函数。

 

地址转换

最终用户或服务器应用程序可能会以不符合给定服务提供商需求的格式存储地址。 例如,电话号码可以以 规范格式存储在电子通讯簿中,但处理电话号码的大多数服务提供商需要 可拨号格式

TAPI 提供地址转换操作,可帮助应用程序向 TSP 提供正确的地址类型。 服务提供商向 TAPI 指定它支持的地址类型,并且不需要包括任何形式的地址转换。

TAPI 2.x: 请参阅 lineTranslateAddress

TAPI 3: 请参阅 ITAddressTranslationITAddressTranslationInfo

收费单

在 北美 的某些位置,所有拨打本地区号的电话都是本地呼叫。 在其他位置,某些拨打本地区号的呼叫是长途电话,需要“1”前缀才能拨打。 地址的前三位数字 (前缀) 确定本地区号内的呼叫是否为收费电话。

收费列表是本地区号中的前缀列表,其地址必须拨打为长途地址,并评估长途费用。

收费表与服务提供商或无法访问电话网络的应用程序无关。

TAPI 2.x:请参阅 LINETRANSLATEOUTPUT 结构) lineSetTollList 中的 lineTranslateAddress (LINETRANSLATERESULT_INTOLLLIST 和 LINETRANSLATERESULT_NOTINTOLLLIST 位。

TAPI 3: 请参阅 ITAddressTranslation::TranslateAddressITAddressTranslationInfo::get_TranslationResults