Die SIP-Klassen SipSession und SipApplicationSession
Die Klassen SipSession und SipApplicationSession sind wahrscheinlich die komplexesten Teile der Spezifikation SIP Servlet 1.0.
Die SIP-Klassen SipSession und SipApplicationSession
Beide Klassen erfüllen mehrere nützliche Zwecke und können als ein primärer Bereich zum Speichern von Daten in Anwendungen dienen, die für verteilte Umgebungen oder für Umgebungen mit hoher Verfügbarkeit entworfen wurden.
Die Klasse SipSession ist die beste Darstellung einer spezifischen Punkt-zu-Punkt-Kommunikation zwischen zwei Entitäten und ist dem Objekt HttpSession am ähnlichsten. Weil ursprünglich für die HTTP-Anforderung in HTTP-Servlets keine Weiterleitung und keine Verzweigung existierte, gab es keinen Bedarf nach etwas komplexerem als einer einzelnen Punkt-zu-Punkt-Sitzung. Aber selbst HTTP-Benutzer können den wachsenden Bedarf nach dieser Art von Funktion erkennen, weil Portlets inzwischen HTTP-Anforderungen verzweigen. Die SIP-Benutzer erwarten Weiterleitungs- und Verzweigungsaktivitäten, für die mehrere Schichten der SIP-Sitzungsverwaltung erforderlich sind. Die Klasse SipSession ist die niedrigste Punkt-zu-Punkt-Schicht.
Die Klasse SipApplicationSession stellt die höhere Schicht der SIP-Sitzungsverwaltung dar. Eine SipApplicationSession-Klasse kann Eigner einer oder mehrerer SipSession-Objekte sein. Allerdings kann jede SipSession-Klasse nur einem SipSession-Objekt zugeordnet sein. Die Klasse SipApplicationSession unterstützt auch die Verwendung einer beliebigen Anzahl anderer Protokollsitzungen. Derzeit werden von allen Implementierungen nur HTTP-Sitzungen unterstützt. Die Klasse SipApplicationSession verfügt über die Methode getSessions, die den Typ des angeforderten Protokolls als Argument verwendet.
Für viele Anwendungen kann die Kombination von HTTP und SIP vorteilhaft sein. Beispielsweise können Sie diese Vorgehensweise verwenden, um HTTP- und SIP-Sitzungen miteinander zu verbinden und zur Überwachung eines Telefonanrufs oder zum Starten eines Telefonanrufs über eine erweiterte grafische HTTP-Benutzerschnittstelle zu verwenden.