Partager via


fonction TSPI_lineCompleteTransfer (tspi.h)

La fonction TSPI_lineCompleteTransfer termine le transfert de l’appel spécifié à la partie connectée dans l’appel de consultation. Si dwTransferMode est LINETRANSFERMODE_CONFERENCE, le handle d’appel d’origine est remplacé par une téléconférence. Dans le cas contraire, le fournisseur de services doit envoyer des messages d’état d’appel qui changent les appels en inactifs.

Syntaxe

LONG TSPIAPI TSPI_lineCompleteTransfer(
  DRV_REQUESTID dwRequestID,
  HDRVCALL      hdCall,
  HDRVCALL      hdConsultCall,
  HTAPICALL     htConfCall,
  LPHDRVCALL    lphdConfCall,
  DWORD         dwTransferMode
);

Paramètres

dwRequestID

Identificateur de la requête asynchrone.

hdCall

Le handle du fournisseur de services pour l’appel à transférer. L’état de l’appel de hdCall peut être surHoldPendingTransfer.

hdConsultCall

Handle de l’appel qui représente une connexion à la destination du transfert. L’état de l’appel de hdConsultCall peut être connecté, ringback, occupé ou continuer.

htConfCall

Ce paramètre n’est valide que si dwTransferMode est spécifié comme LINETRANSFERMODE_CONFERENCE. Le fournisseur de services doit enregistrer cette valeur de paramètre et l’utiliser dans tous les appels suivants à la procédure LINEEVENT rapportant les événements sur l’appel. Sinon, ce paramètre est ignoré.

lphdConfCall

Pointeur vers un HDRVCALL représentant l’identificateur du fournisseur de services pour l’appel. Ce paramètre n’est valide que si dwTransferMode est spécifié comme LINETRANSFERMODE_CONFERENCE. Le fournisseur de services doit remplir cet emplacement avec son handle pour la nouvelle téléconférence avant de revenir à partir de cette fonction.

dwTransferMode

Spécifie la façon dont la demande de transfert initiée doit être résolue. Ce paramètre utilise l’une des constantes LINETRANSFERMODE_.

Valeur retournée

Retourne dwRequestID ou un numéro d’erreur si une erreur se produit. Le paramètre réel lResult de la ASYNC_COMPLETION correspondante est zéro si la fonction réussit ou un numéro d’erreur si une erreur se produit. Les valeurs de retour possibles sont les suivantes :

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_NOMEM, LINEERR_RESOURCEUNAVAIL.

Remarques

Cette fonction termine le transfert de l’appel d’origine, hdCall, à la partie actuellement connectée via hdConsultCall. L’appel de consultation est généralement composé sur l’appel de consultation alloué dans le cadre de TSPI_lineSetupTransfer, mais il peut s’agir de n’importe quel appel vers lequel le commutateur est capable de transférer hdCall.

La demande de transfert peut être résolue sous la forme d’un transfert ou d’une conférence téléphonique triple. Lorsqu’ils sont résolus en tant que transfert, les parties connectées via hdCall et hdConsultCall sont connectées les unes aux autres, et hdCall et hdConsultCall passent à l’état inactif.

Lorsqu’elles sont résolues en tant que conférence, les trois parties entrent dans une téléconférence. Les deux handles d’appel existants restent valides, mais passent à l’état de conférence . Un handle d’appel de conférence est créé et retourné, et il passe à l’état connecté .

Il peut également être possible d’effectuer un transfert aveugle d’un appel à l’aide de TSPI_lineBlindTransfer.

Cette fonction diffère de la fonction TAPI correspondante en ce qu’elle suit le modèle TSPI pour commencer la durée de vie d’un appel. TAPI et le fournisseur de services échangent des handles opaques représentant l’appel entre eux. En outre, le fournisseur de services est autorisé à effectuer des rappels pour le nouvel appel avant qu’il ne retourne à partir de cette procédure. Dans tous les cas, le fournisseur de services doit également traiter le handle qu’il a retourné comme « non encore valide » jusqu’à ce que l’ASYNC_COMPLETION message correspondant signale la réussite. En d’autres termes, il ne doit pas émettre de message LINEEVENT pour le nouvel appel ni l’inclure dans le nombre d’appels dans les messages ou status structures de données pour la ligne.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête tspi.h

Voir aussi

ASYNC_COMPLETION

LINEEVENT

constantes LINETRANSFERMODE_

LINE_CALLSTATE

TSPI_lineBlindTransfer

TSPI_lineCloseCall

TSPI_lineSetupTransfer