Aller au contenu principal

5.4. Agent d'apparence

Un agent d'apparence défini dans cette spécification DOIT implémenter un agent d'état de paquet de dialogue pour les UA enregistrés auprès de l'AOR. L'agent d'apparence DOIT prendre en charge les extensions de paquet de dialogue d'apparence définies dans la section 5.2 et utiliser le paramètre de champ d'en-tête Event 'shared'. L'agent d'apparence DOIT prendre en charge les publications et les abonnements pour ce paquet d'événements.

L'agent d'apparence DOIT avoir un moyen de découvrir l'état de tous les dialogues associés à l'AOR. Si ces informations ne sont pas disponibles à partir d'un proxy avec état d'appel ou d'un agent utilisateur dos à dos (B2BUA), l'agent d'apparence peut utiliser le paquet d'événements d'enregistrement [RFC3680] pour connaître les UA associés à l'AOR et s'abonner à leur état d'événement de dialogue. Un agent d'apparence peut également s'abonner à l'état d'événement de dialogue d'un UA afin de reconstruire l'état. En conséquence, le registraire DOIT prendre en charge le paquet d'événements d'enregistrement.

Les notifications de paquet de dialogue sont recommandées par la RFC 4235 pour "ne contenir que des informations sur les dialogues dont l'état ou les informations de participation ont changé". Cette spécification étend la RFC 4235 comme suit. L'agent d'apparence DEVRAIT envoyer des notifications d'état d'événement de dialogue chaque fois que les événements suivants se produisent pour les UA du groupe AOR:

  1. Un appel est reçu, passé, répondu ou terminé.

  2. Un appel est mis en attente ou repris.

  3. Un appel est rejoint ou remplacé.

  4. Un numéro d'apparence est réservé ou libéré.

L'agent d'apparence DOIT allouer un numéro d'apparence pour tous les appels entrants et envoyer des notifications immédiates aux UA abonnés à l'AOR de groupe partagé. Un nouveau numéro d'apparence est alloué sauf lorsqu'un appel remplace un autre appel, auquel cas le numéro d'apparence de l'appel remplacé est utilisé.

L'agent d'apparence DOIT attribuer un numéro d'apparence aux appels sortants soit lorsque la demande est publiée, soit lorsqu'un INVITE est envoyé sans publication préalable. Lorsqu'un UA publie une tentative de saisir une apparence pour un appel sortant ou lorsqu'un UA publie un appel de consultation (c'est-à-dire que la publication ne contient pas de numéro d'apparence), l'agent d'apparence réserve le numéro d'apparence pour cet UA. Si le numéro d'apparence réservé n'est pas utilisé dans un délai (valeur recommandée: 30 secondes), l'agent d'apparence libère le numéro d'apparence afin qu'il puisse être alloué à un autre UA.

Si un appel entrant arrive pour un groupe et qu'il n'y a pas de numéros d'apparence disponibles, l'appel entrant sera toujours bifurqué vers tous les UA abonnés mais n'aura pas de numéro d'apparence inclus dans la notification. De plus, l'appel n'aura pas de paramètre d'apparence dans le champ d'en-tête Alert-Info lorsqu'il arrive à un UA. Si tous les UA abonnés du groupe rejettent l'appel entrant, un traitement d'appel normal se produit (probablement transfert vers la messagerie vocale ou un autre AOR).

L'allocation des numéros d'apparence est gérée par l'agent d'apparence; cela n'est pas directement observable par les UA. Cependant, les UA abonnés à l'AOR de groupe partagé seront notifiés chaque fois qu'un numéro d'apparence est alloué ou libéré par l'agent d'apparence.

L'agent d'apparence est responsable de l'attribution de numéros d'apparence aux nouveaux dialogues créés par les UA et de la résolution des conflits de numéros d'apparence. Un conflit peut se produire lorsque deux UA tentent simultanément de saisir le même numéro d'apparence. L'agent d'apparence détecte le conflit en recevant des publications d'UA avec le même numéro d'apparence dans un court laps de temps. Lorsqu'un conflit est détecté, l'agent d'apparence DOIT sélectionner un seul des UA pour se voir attribuer le numéro d'apparence. Les autres UA recevront une réponse d'erreur à leur publication. Les critères de sélection de l'UA qui remporte le conflit sont une décision de politique de l'agent d'apparence. Une approche consiste à sélectionner la première publication arrivée. L'agent d'apparence peut déterminer quelle publication est arrivée en premier en examinant les horodatages SIP dans les champs d'en-tête Via ou en se basant sur d'autres horodatages de traitement locaux.