lineSetupTransfer 関数 (tapi.h)
lineSetupTransfer 関数は、hCall パラメーターで指定された呼び出しの転送を開始します。 これは、転送の宛先になる可能性があるパーティをダイヤルできる、相談呼び出 し lphConsultCall を確立します。 アプリケーションは 、lphConsultCall パラメーターに対する所有者特権を取得します。
構文
LONG lineSetupTransfer(
HCALL hCall,
LPHCALL lphConsultCall,
LPLINECALLPARAMS const lpCallParams
);
パラメーター
hCall
転送する呼び出しを処理します。 アプリケーションは、呼び出しの所有者である必要があります。 hCall の呼び出し状態は接続されている必要があります。
lphConsultCall
hCall ハンドルへのポインター。 この場所には、一時的なコンサルテーション呼び出しを識別するハンドルが読み込まれます。 転送の呼び出しを設定すると、通話の新しい転送先に関連付けられているアドレスを lineDial でダイヤルできるようにするコンサルテーション コールが自動的に割り当てられます。 発信側は、転送を完了する前に、この相談の呼び出しを介して会話を続けることができます。 hConsultCall の呼び出し状態は適用されません。
この転送手順は、一部の回線デバイスでは無効な場合があります。 アプリケーションでは、新しいコンサルテーション呼び出しを無視し、既存の保留通話を保留にして ( lineUnhold を使用して) 転送先を識別する必要がある場合があります。 クロスアドレスコール転送をサポートするスイッチでは、コンサルテーションコールは転送されるコールとは異なるアドレスに存在することができます。 また、 lineMakeCall による転送先へのまったく新しい呼び出しとして、コンサルテーション呼び出しを設定する必要がある場合もあります。 呼び出しのアドレス機能で指定されている転送の形式を指定します。
lpCallParams
コンサルテーション呼び出しを確立するときに使用する呼び出しパラメーターを含む LINECALLPARAMS 構造体へのポインター。 特別な呼び出しセットアップ パラメーターが必要ない場合は、このパラメーターを NULL に設定できます。
戻り値
関数が非同期的に完了した場合は正の要求識別子を返し、エラーが発生した場合は負のエラー番号を返します。 対応するLINE_REPLY メッセージの dwParam2 パラメーターは、関数が成功した場合は 0、エラーが発生した場合は負のエラー番号です。 可能な戻り値は次のとおりです。
LINEERR_BEARERMODEUNAVAIL、LINEERR_INVALRATE、LINEERR_CALLUNAVAIL、LINEERR_NOMEM、LINEERR_INUSE、LINEERR_NOTOWNER、LINEERR_INVALADDRESSMODE、LINEERR_OPERATIONFAILED、LINEERR_INVALBEARERMODE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLHANDLE、LINEERR_RATEUNAVAIL、LINEERR_INVALCALLPARAMS、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_STRUCTURETOOSMALL、LINEERR_INVALLINESTATE、LINEERR_UNINITIALIZED、LINEERR_INVALMEDIAMODE、LINEERR_USERUSERINFOTOOBIG、LINEERR_INVALPOINTER。
解説
lineSetupTransfer 関数は、hCall で指定された呼び出しの転送を設定します。 転送のセットアップ フェーズでは、アプリケーションが転送先のアドレス (転送先のパーティ) をスイッチに送信できるコンサルテーション呼び出しが確立され、転送される通話は保留されます。 この新しい呼び出しは、コンサルテーション呼び出し (hConsultCall) と呼ばれ、元の呼び出しとは別にドロップまたは操作できます。
コンサルテーション コールが ダイヤルトーン コール状態に達したら、アプリケーションは宛先アドレスにダイヤルして進行状況を追跡するか、既存のコールを保留にすることによって、コールの転送を続行できます。 選択した宛先への元の呼び出しの転送は、 lineCompleteTransfer を使用して完了します。
コンサルテーション呼び出しが存在する間、元の呼び出しは通常 、onholdPendingTransfer 状態に 遷移します。 アプリケーションでは、 lineSwapHold を使用して、コンサルテーション呼び出しと元の呼び出しを切り替えることができます。 相談呼び出しは、 それに対して lineDrop を呼び出すことによって取り消すことができます。 コンサルテーション コールを削除すると、通常、元の呼び出しは 接続 状態に戻ります。 元の呼び出しの呼び出し状態が onholdPendingTransfer の場合、 lineUnhold 関数を使用して呼び出しを回復できます。 この場合、コンサルテーション呼び出しの呼び出し状態はアイドル状態に設定 されます。
また、アプリケーションは、 lineBlindTransfer を使用して、介入するコンサルテーション呼び出しを処理することなく、1 つのステップで呼び出しを転送することもできます。
要件
対象プラットフォーム | Windows |
ヘッダー | tapi.h |
Library | Tapi32.lib |
[DLL] | Tapi32.dll |