Partager via


fonction lineCompleteTransfer (tapi.h)

La fonction lineCompleteTransfer termine le transfert de l’appel spécifié à la partie connectée dans l’appel de consultation.

Syntaxe

LONG lineCompleteTransfer(
  HCALL   hCall,
  HCALL   hConsultCall,
  LPHCALL lphConfCall,
  DWORD   dwTransferMode
);

Paramètres

hCall

Gérez l’appel à transférer. L’application doit être propriétaire de cet appel. L’état de l’appel de hCall doit être onHold ou onHoldPendingTransfer.

hConsultCall

Gérez l’appel qui représente une connexion avec la destination du transfert. L’application doit être propriétaire de cet appel. L’état de l’appel de hConsultCall doit être connecté, ringback, occupé ou continuer.

lphConfCall

Pointeur vers un emplacement de mémoire où un handle hCall peut être retourné. Si dwTransferMode est LINETRANSFERMODE_CONFERENCE, la conférence téléphonique nouvellement créée est retournée dans lphConfCall et l’application devient le seul propriétaire de la téléconférence. Sinon, ce paramètre est ignoré par TAPI.

dwTransferMode

Comment la demande de transfert initiée doit être résolue. Ce paramètre utilise l’une des constantes LINETRANSFERMODE_.

Valeur retournée

Retourne un identificateur de requête positif si la fonction est terminée de manière asynchrone, ou un numéro d’erreur négatif si une erreur se produit. Le paramètre dwParam2 du message LINE_REPLY correspondant est égal à zéro si la fonction réussit ou s’il s’agit d’un numéro d’erreur négatif si une erreur se produit. Les valeurs de retour possibles sont les suivantes :

LINEERR_INVALCALLHANDLE, LINEERR_NOTOWNER, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCONSULTCALLHANDLE, LINEERR_OPERATIONFAILED, LINEERR_INVALTRANSFERMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED, LINEERR_NOMEM.

Remarques

Le LINE_REPLY message envoyé en réponse à un appel à la fonction lineCompleteTransfer est basé sur le status de l’appel spécifié par le paramètre hCall.

Cette opération termine le transfert de l’appel d’origine, hCall, à la partie actuellement connectée par hConsultCall. L’appel de consultation est généralement composé sur l’appel de consultation alloué dans le cadre de lineSetupTransfer, mais il peut s’agir de n’importe quel appel vers lequel le commutateur est capable de transférer hCall.

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 par hCall et hConsultCall sont connectées les unes aux autres, et hCall et hConsultCall sont généralement effacées de la ligne de l’application et passent à l’état inactif . Le handle d’appel de l’application reste valide une fois le transfert terminé. L’application doit libérer son handle avec lineDeallocateCall lorsqu’elle n’est plus intéressée par l’appel transféré.

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é .

Si lineGetConfRelatedCalls est appelé immédiatement après lineCompleteTransfer , ce qui entraîne une conférence des appels, lineGetConfRelatedCalls peut ne pas renvoyer la liste complète des appels associés. En effet, TAPI attend de recevoir un message LINE_CALLSTATE indiquant que l’appel est entré LINECALLSTATE_CONFERENCED avant de considérer que l’appel fait partie de la conférence. Autrement dit, il attend que le fournisseur de services confirme l’état conférence. Une fois que l’application a reçu le message LINE_CALLSTATE, lineGetConfRelatedCalls retourne des informations complètes .

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

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête tapi.h
Bibliothèque Tapi32.lib
DLL Tapi32.dll

Voir aussi

LINE_CALLSTATE

LINE_REPLY

Fonctions de service de ligne supplémentaires

Vue d’ensemble de la référence TAPI 2.2

Vue d’ensemble du transfert

lineBlindTransfer

lineDeallocateCall

lineGetConfRelatedCalls

lineSetupTransfer