Partager via


fonction lineMakeCall (tapi.h)

La fonction lineMakeCall place un appel sur la ligne spécifiée à l’adresse de destination spécifiée. Si vous le souhaitez, les paramètres d’appel peuvent être spécifiés si des paramètres d’installation d’appel par défaut sont demandés.

Syntaxe

LONG lineMakeCall(
  HLINE                  hLine,
  LPHCALL                lphCall,
  LPCSTR                 lpszDestAddress,
  DWORD                  dwCountryCode,
  LPLINECALLPARAMS const lpCallParams
);

Paramètres

hLine

Gérez vers l’appareil de ligne ouverte sur lequel un appel doit provenir.

lphCall

Pointeur vers un handle HCALL. Le handle n’est valide qu’après la réception du message LINE_REPLY par l’application indiquant que la fonction lineMakeCall s’est terminée avec succès. Utilisez ce handle pour identifier l’appel lors de l’appel d’autres opérations de téléphonie sur l’appel. L’application est initialement le seul propriétaire de cet appel. Ce handle est void si la fonction retourne une erreur (de manière synchrone ou asynchrone par le message de réponse).

lpszDestAddress

Pointeur vers l’adresse de destination. Cela suit le format de numéro de numérotation standard. Ce pointeur peut être NULL pour les adresses non composées (comme avec un téléphone à chaud) ou lorsque tous les appels sont effectués à l’aide de lineDial. Dans ce dernier cas, lineMakeCall alloue une apparence d’appel disponible qui reste généralement dans l’état de la numérotation jusqu’à ce que la numérotation commence. Les fournisseurs de services qui ont des fonctionnalités de multiplexage inverse peuvent autoriser une application à spécifier plusieurs adresses à la fois.

dwCountryCode

Code du pays ou de la région de la partie appelée. Si la valeur 0 est spécifiée, une valeur par défaut est utilisée par l’implémentation.

lpCallParams

Pointeur vers une structure LINECALLPARAMS . Cette structure permet à l’application de spécifier la façon dont elle souhaite que l’appel soit configuré. Si NULL est spécifié, un appel vocal de 3,1 kHz par défaut est établi et une adresse d’origine arbitraire sur la ligne est sélectionnée. Cette structure permet à l’application de sélectionner des éléments tels que le mode du porteur de l’appel, le débit de données, le mode multimédia attendu, l’adresse d’origine, le blocage des informations d’ID de l’appelant et les paramètres de numérotation.

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 nombre d’erreur négatif si une erreur se produit. Les valeurs de retour possibles sont les suivantes :

LINEERR_ADDRESSBLOCKED, LINEERR_INVALLINEHANDLE, LINEERR_BEARERMODEUNAVAIL, LINEERR_INVALLINESTATE, LINEERR_CALLUNAVAIL, LINEERR_INVALMEDIAMODE, LINEERR_DIALBILLING, LINEERR_INVALPARAM, LINEERR_DIALDIALTONE, LINEERR_INVALPOINTER, LINEERR_DIALPROMPT, LINEERR_INVALRATE, LINEERR_DIALQUIET, LINEERR_NOMEM, LINEERR_INUSE, LINEERR_OPERATIONFAILED, LINEERR_INVALADDRESS, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESSID, LINEERR_RATEUNAVAIL, LINEERR_INVALADDRESSMODE, LINEERR_ RESOURCEUNAVAIL, LINEERR_INVALBEARERMODE, LINEERR_STRUCTURETOOSMALL, LINEERR_INVALCALLPARAMS, LINEERR_UNINITIALIZED, LINEERR_INVALCOUNTRYCODE, LINEERR_USERUSERINFOTOOBIG.

Remarques

Si LINEERR_INVALLINESTATE est retourné, la ligne n’est actuellement pas dans un état dans lequel cette opération peut être effectuée. Vous trouverez la liste des opérations actuellement valides dans le membre dwLineFeatures (de type LINEFEATURE_) de la structure LINEDEVSTATUS . L’appel de lineGetLineDevStatus met à jour les informations dans LINEDEVSTATUS. Si LINEERR_DIALBILLING, LINEERR_DIALQUIET, LINEERR_DIALDIALTONE ou LINEERR_DIALPROMPT est retourné, aucune des actions effectuées par lineMakeCall n’a eu lieu ; par exemple, aucune adresse de numérotation avant le caractère incriminé n’a été compose, aucun état d’commutateur de raccordement n’a changé, et ainsi de suite.

Une fois la numérotation terminée, plusieurs messages LINE_CALLSTATE sont généralement envoyés à l’application pour la notifier de la progression de l’appel. Aucune séquence généralement valide de transitions d’état d’appel n’est spécifiée, car aucune séquence fixe unique de transitions ne peut être garantie dans la pratique. Une séquence classique peut entraîner la transition d’un appel de la numérotation, de la numérotation, de la poursuite, de la sonnerie, à la connexion. Avec les lignes sans numérotation, l’appel peut généralement passer directement à l’état connecté .

Une application a la possibilité de spécifier une adresse d’origine sur l’appareil de ligne spécifié. Un fournisseur de services qui modélise toutes les stations d’un commutateur en tant qu’adresses sur un seul appareil de ligne permet à l’application d’émettre des appels à partir de l’une de ces stations à l’aide de lineMakeCall.

Les paramètres d’appel permettent à l’application d’effectuer des appels non vocaux ou de demander des options de configuration d’appel spéciales qui ne sont pas disponibles par défaut.

Une application peut composer partiellement à l’aide de lineMakeCall et continuer la numérotation à l’aide de lineDial. Pour plus d’informations sur la numérotation partielle, consultez lineDial et TSPI_lineMakeCall. Pour abandonner une tentative d’appel, utilisez lineDrop.

Une fois que lineMakeCall a retourné un message de réponse de réussite à l’application, un message LINE_CALLSTATE est envoyé à l’application pour indiquer l’état actuel de l’appel. Cet état n’est pas nécessairement LINECALLSTATE_DIALTONE.

Cette fonction peut envoyer des données sur le réseau sous forme non chiffrée ; par conséquent, une personne qui écoute sur le réseau peut être en mesure de lire les données. Le risque de sécurité lié à l’envoi des données en texte clair doit être pris en compte avant d’utiliser cette méthode.

Attention TAPI écrit les données retournées dans la mémoire tampon référencée par lphCall lorsque le message LINE_REPLY est retourné. Cela signifie que la mémoire tampon doit rester valide jusqu’à ce que le message LINE_REPLY soit retourné . dans le cas contraire, une altération des données et des exceptions peuvent se produire.
 

Configuration requise

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

Voir aussi

Informations de référence sur les services de téléphonie de base

Adresses accessibles

LINECALLPARAMS

LINEDEVSTATUS

LINE_CALLSTATE

LINE_REPLY

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

lineDial

lineDrop

lineGetLineDevStatus