fonction TSPI_lineMonitorTones (tspi.h)
La fonction TSPI_lineMonitorTones active et désactive la détection des tonalités inband sur l’appel. Chaque fois qu’un ton spécifié est détecté, un message est envoyé à l’application cliente via TAPI.
Syntaxe
LONG TSPIAPI TSPI_lineMonitorTones(
HDRVCALL hdCall,
DWORD dwToneListID,
LPLINEMONITORTONE const lpToneList,
DWORD dwNumEntries
);
Paramètres
hdCall
Handle de l’appel pour lequel la détection de tonalité doit être effectuée. L’état de l’appel de hdCall peut être n’importe quel état, sauf inactif.
dwToneListID
Identificateur unique de cette liste de tons. Plusieurs listes de tonalités peuvent être exceptionnelles à la fois. Le fournisseur de services doit remplacer toute ancienne liste ayant le même dwToneListID par la nouvelle liste de tonalités. Si lpToneList a la valeur NULL, la liste de tonalités avec dwToneListID est simplement supprimée. Dans tous les cas, les autres listes de tonalités avec des dwToneListIDdifférents sont conservées inchangées.
lpToneList
Liste de tonalités à surveiller, de type LINEMONITORTONE. Chaque tonalité de cette liste a un champ de balise défini par l’application qui est utilisé pour identifier les tons individuels dans la liste afin de signaler une détection de tonalité. L’analyse de tonalité en cours est annulée ou modifiée en appelant cette opération avec null pour lpToneList ou avec une autre liste de tonalités. Le fournisseur de services doit copier la liste de tonalités dans sa propre mémoire pour une référence ultérieure, au lieu de simplement conserver le pointeur dans la mémoire de l’application.
dwNumEntries
Nombre d’entrées dans lpToneList. Le paramètre dwNumEntries est ignoré si lpToneList a la valeurNULL. TAPI ne valide pas ce paramètre lorsque cette fonction est appelée.
Valeur retournée
Retourne 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_INVALTONE, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_INVALPOINTER.
Remarques
Cette fonction retourne zéro (réussite) lorsque l’analyse de tonalité est correctement lancée, et non lorsque l’analyse de tonalité est terminée. Comme pour la surveillance des médias, la surveillance de la tonalité reste en vigueur pour une liste de tonalités donnée jusqu’à ce que cette liste de tonalités soit explicitement désactivée en appelant TSPI_lineMonitorTones avec le même dwToneListID et une autre liste de tonalités (ou une liste de tonalités NULL ), ou jusqu’à ce que l’appel passe à inactif.
Bien que cette fonction puisse être appelée dans n’importe quel état d’appel, sauf inactif, les tonalités ne peuvent généralement être détectées que lorsque l’appel est dans l’état connecté . La détection de tonalité nécessite généralement des ressources de calcul. Selon le fournisseur de services et d’autres activités qui sont en concurrence pour de telles ressources, le nombre de tonalités qui peuvent être détectées peut varier au fil du temps. En outre, une quantité équivalente de ressources peut être consommée pour la surveillance d’un seul tonalité de fréquence triple par rapport à trois tonalités de fréquence unique. Si les ressources sont surcommises, le fournisseur de services retourne LINEERR_RESOURCEUNAVAIL.
Le fournisseur de services surveille simultanément toutes les tonalités de toutes les listes de tonalités. Lorsqu’un ton est détecté, chaque tonalité correspondante de chaque liste de tons est signalée séparément à l’aide d’un message LINE_MONITORTONE . Chaque rapport de tonalité inclut à la fois l’identificateur de liste de tonalités et la balise spécifique à l’application. Certains fournisseurs de services peuvent ne pas être en mesure de discriminer des tons très proches, de sorte que plusieurs correspondances peuvent être signalées même pour les tons dont les descriptions ne sont pas strictement identiques.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | tspi.h |