Zum Hauptinhalt springen

5.4. Appearance Agent

Ein in dieser Spezifikation definierter Appearance Agent MUSS einen Dialogpaket-Zustandsagenten für die gegen den AOR registrierten UAs implementieren. Der Appearance Agent MUSS die in Abschnitt 5.2 definierten Erscheinungsdialogpaketerweiterungen unterstützen und den 'shared' Event-Header-Feldparameter verwenden. Der Appearance Agent MUSS Veröffentlichungen und Abonnements für dieses Ereignispaket unterstützen.

Der Appearance Agent MUSS eine Möglichkeit haben, den Zustand aller mit dem AOR verbundenen Dialoge zu entdecken. Wenn diese Informationen nicht von einem anrufzustandsbehafteten Proxy oder Back-to-Back User Agent (B2BUA) verfügbar sind, kann der Appearance Agent das Registrierungsereignispaket [RFC3680] verwenden, um von mit dem AOR verbundenen UAs zu erfahren und deren Dialogereigniszustand zu abonnieren. Ein Appearance Agent kann auch den Dialogereigniszustand einer UA abonnieren, um den Zustand zu rekonstruieren. Infolgedessen MUSS der Registrar das Registrierungsereignispaket unterstützen.

Dialogpaketbenachrichtigungen werden von RFC 4235 empfohlen, "nur Informationen über die Dialoge zu enthalten, deren Zustand oder Teilnahmeinformationen sich geändert haben". Diese Spezifikation erweitert RFC 4235 wie folgt. Der Appearance Agent SOLLTE Dialogereigniszustandsbenachrichtigungen senden, wann immer die folgenden Ereignisse bei UAs in der AOR-Gruppe auftreten:

  1. Ein Anruf wird empfangen, getätigt, beantwortet oder beendet.

  2. Ein Anruf wird in die Warteschleife gestellt oder aus der Warteschleife genommen.

  3. Ein Anruf wird verbunden oder ersetzt.

  4. Eine Erscheinungsnummer wird reserviert oder freigegeben.

Der Appearance Agent MUSS für alle eingehenden Anrufe eine Erscheinungsnummer zuweisen und sofortige Benachrichtigungen an die UAs senden, die den gemeinsamen Gruppen-AOR abonniert haben. Eine neue Erscheinungsnummer wird zugewiesen, außer wenn ein Anruf einen anderen Anruf ersetzt, in welchem Fall die Erscheinungsnummer des ersetzten Anrufs verwendet wird.

Der Appearance Agent MUSS ausgehenden Anrufen eine Erscheinungsnummer zuweisen, entweder wenn die Anfrage veröffentlicht wird oder wenn ein INVITE ohne vorherige Veröffentlichung gesendet wird. Wenn eine UA einen Versuch veröffentlicht, eine Erscheinung für einen ausgehenden Anruf zu besetzen, oder wenn eine UA einen Konsultationsanruf veröffentlicht (d. h. die Veröffentlichung enthält keine Erscheinungsnummer), reserviert der Appearance Agent die Erscheinungsnummer für diese UA. Wenn die reservierte Erscheinungsnummer nicht innerhalb eines Zeitraums (empfohlener Wert: 30 Sekunden) verwendet wird, gibt der Appearance Agent die Erscheinungsnummer frei, damit sie einer anderen UA zugewiesen werden kann.

Wenn ein eingehender Anruf für eine Gruppe ankommt und keine verfügbaren Erscheinungsnummern vorhanden sind, wird der eingehende Anruf dennoch an alle abonnierten UAs verzweigt, enthält jedoch keine Erscheinungsnummer in der Benachrichtigung. Außerdem hat der Anruf keinen Erscheinungsparameter im Alert-Info-Header-Feld, wenn er bei einer UA ankommt. Wenn alle abonnierten UAs in der Gruppe den eingehenden Anruf ablehnen, erfolgt eine normale Anrufbehandlung (wahrscheinlich Weiterleitung an Voicemail oder einen anderen AOR).

Die Zuweisung von Erscheinungsnummern wird vom Appearance Agent verwaltet; dies ist für UAs nicht direkt beobachtbar. UAs, die den gemeinsamen Gruppen-AOR abonniert haben, werden jedoch benachrichtigt, wann immer eine Erscheinungsnummer vom Appearance Agent zugewiesen oder freigegeben wird.

Der Appearance Agent ist für die Zuweisung von Erscheinungsnummern zu neuen von UAs erstellten Dialogen und für die Lösung von Erscheinungsnummernkonflikten verantwortlich. Ein Konflikt kann auftreten, wenn zwei UAs gleichzeitig versuchen, dieselbe Erscheinungsnummer zu besetzen. Der Appearance Agent erkennt Konflikte, indem er Veröffentlichungen von UAs mit derselben Erscheinungsnummer innerhalb kurzer Zeit erhält. Wenn ein Konflikt erkannt wird, MUSS der Appearance Agent nur eine der UAs auswählen, der die Erscheinungsnummer zugewiesen wird. Die anderen UAs erhalten eine Fehlerantwort auf ihre Veröffentlichung. Die Kriterien für die Auswahl, welche UA den Konflikt gewinnt, sind eine Entscheidung der Appearance Agent-Richtlinie. Ein Ansatz besteht darin, die erste eingetroffene Veröffentlichung auszuwählen. Der Appearance Agent kann bestimmen, welche Veröffentlichung zuerst eingetroffen ist, indem er die SIP-Zeitstempel in Via-Header-Feldern betrachtet oder auf anderen lokalen Verarbeitungszeitstempeln basiert.