Files d’attente d’appels et points de routage
Une file d’attente d’appels ou un point de routage est une adresse spéciale au sein du commutateur où les appels sont temporairement en attente d’action. Cette caractéristique est représentée par les bits LINEADDRCAPFLAGS_QUEUE et LINEADDRCAPFLAGS_ROUTEPOINT dans le membre dwAddrCapFlags dans LINEADDRESSCAPS. Tous les appels apparaissant sur une telle adresse sont en attente d’action de la part de l’application, et des actions par défaut peuvent avoir lieu (par exemple, un transfert vers un agent ou une jonction) si l’application n’effectue aucune action dans un délai défini. L’application doit être configurée par l’administrateur système afin qu’il sache quelles actions elle doit effectuer en ce qui concerne les appels apparaissant sur chaque adresse de file d’attente ou de point de routage, et le temps disponible pour décider de l’action à entreprendre.
Les applications peuvent déterminer le nombre d’appels en attente dans une file d’attente ou un point de routage à l’aide de lineGetAddressStatus. La fonction lineGetCallInfo peut être utilisée pour obtenir des informations telles que l’ID d’appel, l’ID appelé, l’origine entrante ou sortante, et ainsi de suite, et utilisée par l’application pour prendre des décisions sur la gestion des appels ; Les appels peuvent être redirigés, transférés en aveugle, supprimés, etc., ou simplement autorisés à passer automatiquement de la file d’attente vers une destination. Un appel est envoyé à LINECALLSTATE_DISCONNECTED s’il est abandonné. Les appels sont inactifs lorsqu’ils quittent la file d’attente ; lineGetCallInfo peut être utilisé pour lire l’identificateur de redirection afin de déterminer où ils ont été transférés.
Certains commutateurs permettent aux appels dans une file d’attente ou en attente de recevoir un traitement particulier comme le silence, la sonnerie, le signal occupé, la musique ou l’écoute d’une annonce enregistrée. La fonction lineSetCallTreatment permet à l’application de contrôler le traitement. La structure délimitée par les membres dwCallTreatmentListSize et dwCallTreatmentListOffset dans LINEADDRESSCAPS permet aux applications de déterminer les traitements pris en charge. Le membre dwCallTreatment dans LINECALLINFO indique le traitement en cours, et un message LINE_CALLINFO avec LINECALLINFOSTATE_TREATMENT indique quand cela change. Le bit LINECALLFEATURE_SETTREATMENT dans le membre dwCallFeatures dans LINECALLSTATUS indique quand l’application est autorisée à modifier le traitement. L’ensemble LINECALLTREATMENT_ de constantes définit un ensemble limité de traitements d’appel prédéfinis ; les fournisseurs de services peuvent en définir beaucoup plus.