Fehlerbehebung beim Sitzungsrepository des SIP-Containers

Für die Fehlerbehebung beim Sitzungsrepository des SIP-Containers kann es erforderlich sein, die SIP-Sitzungsdetails in eine angegebene Tracedatei auszugeben.

Informationen zu diesem Vorgang

Sie können das Dienstprogramm für SIP-Sitzungsspeicherauszug verwenden, um Probleme im Zusammenhang mit SIP-Containersitzungen zu beheben. Der SIP-Container verwendet die Methode SipContainerMBean, um mehrere Operationen bezüglich der Funktionsfähigkeit des SIP-Containers durchzuführen, einschließlich der Einleitung eines Server-Quiesce (Stilllegung) über wsadmin (Befehlszeilenschnittstelle). Diese Task beschreibt, wie Sie mit der Methode SipContainerMBean einen Speicherauszug der SIP-Anwendungssitzungs- und SIP-Sitzungsinformationen erstellen, die im speicherinternen Sitzungsrepository für SIP-Container enthalten sind. Indem Sie die Methode SIPContainerMBean für die Verwendung verschiedener Tracemethoden konfigurieren, können Sie die SIP-Sitzungsdetails angeben, deren Speicherauszug in der angegebenen Tracedatei erstellt werden soll.

Wenn die Methoden für den Sitzungsspeicherauszug über wsadmin-Scripting gestartet werden, werden die angeforderten Informationen zu den Sitzungen standardmäßig in "SystemOut.log" ausgegeben oder an eine vordefinierte Quelle gesendet, falls diese mit der Methode "setDumpMethod" festgelegt wurde.

Wenn Sie die komprimierten Methoden für den Sitzungsspeicherauszug verwenden, werden für jede Ausführung der Speicherauszugsmethode nur die Sitzungs-IDs ausgegeben.

Wenn Sie die ausführlichen Methoden für den Sitzungsspeicherauszug verwenden, geschieht Folgendes:
  • Für jede Ausführung der Speicherauszugsmethode werden die Details des Transaktionsbenutzers zusammen mit den Details der SIP-Sitzung, falls vorhanden, ausgegeben.
  • In den Tracedateien werden nur der Speicherauszug der Attribute ausgegeben, die gemäß der Spezifikation JSR 289 angezeigt werden dürfen.
  • Die ausführlichen Methoden geben die folgenden Informationen in der Tracedatei aus: Anwendungsname (appName), Anruf-ID (callID), Dialogstatus, Erstellungszeit und Attributnamen.

Die Traceausgabe erfolgt nach SIP-Anwendung. Daher werden alle SIP-Sitzungsdatenstrukturen sortiert, bevor die Daten ausgegeben werden. Sie können die Speicherauszugsfunktion SIPContainerMBean für einen Produktionsserver verwenden, indem Sie die Ausführung einem Thread mit niedriger Priorität zuteilen, so dass sich alle Speicherauszüge in einem separaten Thread befinden und sich das Tracing nicht auf die Latenzzeit bei der Anrufverarbeitung im Gesamtsystem auswirkt.

Im Speicherauszug wird unterschieden zwischen einem Transaktionsbenutzer, der eine SIP-Sitzung erstellt hat, und einem Transaktionsbenutzer, der kein SipSession-Objekt hat. Außerdem enthält der Speicherauszug skizzenartige Darstellungen von SIP-Sitzungen, die nicht mehr existieren oder nicht mehr gültig sind bzw. SIP-Sitzungen, die zum Zeitpunkt des Trace-Snapshot existieren.

Tabelle 1. Komprimierte SipContainerMBean-Methoden zum Ausgeben von SIP-Sitzungsinformationen. Die folgenden komprimierten SipContainerMBean-Methoden werden verwendet, um SIP-Sitzungs-IDs auszugeben.
Methode Bescheibung
dumpAllSASIds() Gibt die Anzahl aller SIP-Anwendungssitzungen und die SIP-Anwendungssitzungs-IDs aus.
dumpAllTUSipSessionIds() Gibt die Anzahl der Transaktionsbenutzer aus und die SIP-Sitzungs-IDs im Transaktionsbenutzer, falls vorhanden.
Tabelle 2. Ausführliche SipContainerMBean-Methoden zum Ausgeben von SIP-Sitzungsinformationen. Die folgenden ausführlichen SipContainerMBean-Methoden werden verwendet, um SIP-Sitzungsdetails auszugeben.
Methode Bescheibung
dumpAllSASDetails() Gibt die Anzahl der SIP-Anwendungssitzungen und die Details der SIP-Anwendungssitzungs-ID aus.
dumpAllTUSipSessionDetails() Gibt die Anzahl der Transaktionsbenutzer aus und die Details der SIP-Sitzungs-IDs im Transaktionsbenutzer, falls vorhanden.
dumpSASDetails(String sasId) Gibt die Details der mit dem Parameter sasId angegebenen SIP-Anwendungssitzung aus.
dumpSipSessionDetails(String sessionId) Gibt die Details der mit dem Parameter sessionId angegebenen SIP-Sitzung aus.
Anmerkung: Beachten Sie folgende Punkte beim Parsen von Druckausgabe:
  • In jeglicher Druckausgabe enthält die erste Zeile einen Anwendungsnamen und eine Anzahl Datensätze.
  • Das Begrenzungszeichen zwischen den Abschnitten der Ausgabe ist eine Registerkarte.
  • Das Begrenzungszeichen zwischen Sitzungsattributen ist ein ; (Semikolon).

Vorgehensweise

  1. Starten Sie den Scripting-Client "wsadmin".
  2. Entscheiden Sie, ob die komprimierten oder die ausführlichen SipContainerMBean-Methoden verwendet werden sollen.
  3. Legen Sie die Variable apps für alle Objekte in der Methode SipContainerMBean fest. Beispiel:
    • Mit Jacl:
      set apps [$AdminControl queryNames type=SipContainerMBean,*]
    • Mit Jython:
      apps = AdminControl.queryNames('WebSphere:type=SipContainerMBean,*')
    Dieser Befehl gibt die folgende Ausgabe zurück:
    • Mit Jacl:
      wsadmin>set apps [$AdminControl queryNames type=SipContainerMBean,*]
      WebSphere:cell=<Zellenname>,version=<WAS-Version>,spec=1.0,name=SipContainerMBeanId,mbeanIdentifier=SipContainerMBeanId,
      type=SipContainerMBean,node=<Knotenname>,process=server1
    • Mit Jython:
      wsadmin>apps = AdminControl.queryNames('WebSphere:type=SipContainerMBean,*')
      	wsadmin>print apps
      WebSphere:cell=<Zellenname>,version=<WAS-Version>,spec=1.0,name=SipContainerMBeanId,mbeanIdentifier=SipContainerMBeanId,
      type=SipContainerMBean,node=<Knotenname>,process=server1
  4. (Optional) Verwenden Sie die Methode SipContainerMBean, um festzulegen, dass die Traceausgabe in eine bestimmte Datei ausgegeben werden soll. Wenn Sie die Methode SipContainerMBean verwenden möchten, um eine Ausgabemethode zu konfigurieren, rufen Sie die Methode setDumpMethod auf, bevor Sie die komprimierten oder ausführlichen Methoden zum Erstellen eines Speicherauszugs verwenden. Beispiel:
    setDumpMethod(String_method, String_description) 
    Der Parameter string_method gibt an, dass die Ausgabemethode "file" verwendet werden soll, und der Parameter string description gibt den Dateipfad einschließlich Dateinamen an. Diese Methode gibt eine Zeichenfolge zurück, die den Erfolg oder das Scheitern anzeigt. Mit dieser Methode kann nur eine bestimmte Datei für die Ausgabe festgelegt werden. Beispiel:
    setDumpMethod("file", “/opt/IBM/output.log”)
    Der Wert des Parameters file an, dass die Tracedaten in eine Datei ausgegeben werden sollen, und /opt/IBM/output.log gibt den vollständigen Pfad der Ausgabedatei an.

    Wenn Sie diese optionale Methode nicht angeben, wird die Ausgabe an die Datei "SystemOut.log" gesendet.

  5. Starten Sie die Methode des Dienstprogrammms für SIP-Speicherauszug, die in der Methode SipContainerMBean verwendet werden soll. Geben Sie eine komprimierte oder eine ausführliche Methode an. Beispiel:
    • Mit Jacl:
      $AdminControl invoke $apps<Methodenname>
    • Mit Jython:
      AdminControl.invoke (apps, "<Methodenname>")
  6. (Optional) Rufen Sie eine Liste aller verwendeten SipContainerMBean-Methoden ab. Beispiel:
    • Mit Jacl:
      $Help all $apps
    • Mit Jython:
      print Help.all(apps)
    Dieser Befehl gibt die folgende Ausgabe zurück:
    Name: WebSphere:cell=<Zellenname>,version=<WAS-Version>,spec=1.0,name=SipContainerMBeanId,mbeanIdentifier=SipContainerMBeanId,type=SipContainerMBean,node=<node_name>,process=<Servername>
    Description: null
    Class name: javax.management.modelmbean.RequiredModelMBean
    
    Attribute                       Type                            Access
    
    Operation
    void quiesce(boolean)
    void setWeight(int)
    int getWeight()
    int dumpAllSASIds()
    int dumpAllTUSipSessionIds()
    int dumpAllSASDetails()
    int dumpAllTUSipSessionDetails()
    int dumpSASDetails(java.lang.String)
    int dumpSipSessionDetails(java.lang.String)
    java.lang.String setDumpMethod(java.lang.String, java.lang.String)
    
    
    Notifications
    sip.container.overloaded
    sip.container.overload.cleared
    jmx.attribute.changed
    
    Constructors

Ergebnisse

Sie haben das Dienstprogramm für SIP-Sitzungsspeicherauszug so konfiguriert, dass die für die SIP-Anwendungssitzung und SIP-Sitzung gewünschte Traceinformationstufe ausgegeben wird, um Sie bei der Behebung von Fehlern im Zusammenhang mit dem SIP-Container zu unterstützen.

Beispiel

Die folgenden Beispiele veranschaulichen die wsadmin-Scripting-Befehle und die Tracedatenausgabe bei Verwendung von SipContainerMBean-Methoden in einer einzelnen Anwendungsserverkonfiguration.
  • Komprinierte Methode dumpAllSASIds:
    • Mit Jacl:
      $AdminControl invoke $apps dumpAllSASIds
    • Mit Jython:
      AdminControl.invoke (apps, "dumpAllSASIds")
    Das Ergebnis dieser Methode sind die folgenden Informationen in der Datei "SystemOut.log":
    dump.ids.test.app1	2
    local.1347524282775_8
    local.1347524282775_7
    Diese Informationen werden im folgenden Format bereitgestellt:
    [SAS_ID]  
  • Ausführliche Methode "dumpAllSASDetails" und Ausgabe der Speicherauszugsinformationen in die Datei "/opt/IBM/output.log":
    • Mit Jacl:
      $AdminControl invoke $apps setDumpMethod {{FILE} {/opt/IBM/output.log}}
      $AdminControl invoke $apps dumpAllSASDetails
    • Mit Jython:
      AdminControl.invoke (apps, "setDumpMethod", ["FILE", "/opt/IBM/output.log"])
      AdminControl.invoke (apps, "dumpAllSASDetails")
    Das Ergebnis dieser Methode sind die folgenden ausführlichen Informationen in der Datei /opt/IBM/output.log:
    dump.ids.test.app1	1
    local.1348147884986_2	Sep 20,2012 16:31	DumpSasDetailsAttr; 
    Diese Informationen werden im folgenden Format bereitgestellt:
    [SAS_ID]  [CreationTime] [Attribute]
  • Komprimierte Methode dumpAllTUSipSessionIds zur Ausgabe der Anzahl der Transaktionsbenutzer und der SIP-Sitzungs-IDs im Transaktionsbenutzer:
    • Mit Jacl:
      $AdminControl invoke $apps dumpAllTUSipSessionIds
    • Mit Jython:
      AdminControl.invoke (apps, "dumpAllTUSipSessionIds")
    Das Ergebnis dieser Methode sind die folgenden Informationen in der Datei "SystemOut.log":
    DumpSessionsTest	1
    local.1349965420866_1_0	true	local.1349965420866_1_0_1
    Diese Informationen werden im folgenden Format bereitgestellt:
    [TU_ID] [hasSIPSession] [SipSessionId] 
  • Ausführliche Methode dumpAllTUSipSessionDetails zur Ausgabe der Transaktionsbenutzer und der Details der SIP-Sitzungs-IDs im Transaktionsbenutzer:
    • Mit Jacl:
      $AdminControl invoke $apps dumpAllTUSipSessionDetails
    • Mit Jython:
      AdminControl.invoke (apps, "dumpAllTUSipSessionDetails")
    Das Ergebnis dieser Methode sind die folgenden Informationen in der Datei "SystemOut.log":
    DumpSessionsTest	1
    local.1349965420866_1_0	true	local.1349965420866_1_0_1	8-8548@9.148.57.128	2	false	INVITE
    		local.1349965420866_1	Jan 24,2013 14:41	TestSSAttr1; TestSSAttr2;
    Diese Informationen werden im folgenden Format bereitgestellt:
    [TU_ID] [hasSIPSession] [SipSessionId] [Call-Id] [DialogState] [hasOutgoingTransaction] [initialMethod] [SAS_ID]  [CreationTime] [Attribute]
  • Verwendung der ausführlichen Methode "dumpSASDetails" zur Ausgabe der Einzeldaten der vom Parameter "sasID" angegebenen SIP-Anwendungssitzung:
    • Mit Jacl:
      $AdminControl invoke $apps dumpSASDetails  $sasId 
    • Mit Jython:
      AdminControl.invoke (apps, "dumpSASDetails ", "sasId")
    Das Ergebnis dieser Methode sind die folgenden Informationen in der Datei "SystemOut.log":
    local.1358950127352_20	Jan 23,2013 16:19	TestSASAttr1; TestSASAttr2; 
    Wenn die angeforderte Sitzung nicht vorhanden ist, wird eine Fehlernachricht angezeigt. Beispiel:
    ERROR: Requested session <local.1358950127352_20> does not exist.
  • Verwendung der ausführlichen Methode "dumpSipSessionDetails" zur Ausgabe der Einzeldaten der vom Parameter "sessionId" angegebenen SIP-Sitzung:
    • Mit Jacl:
      $AdminControl invoke $apps dumpSipSessionDetails $sessionId
    • Mit Jython:
      AdminControl.invoke (apps, "dumpSipSessionDetails", "sessionId")
    Das Ergebnis dieser Methode sind die folgenden Informationen in der Datei "SystemOut.log":
    local.1358950127352_21_20_1	local.1358950127352_21	Jan 23,2013 16:22	TestSSAttr1; TestSSAttr2; 
    Wenn die angeforderte Sitzung nicht vorhanden ist, wird eine Fehlernachricht angezeigt. Beispiel:
    ERROR: Requested session <local.1358950127352_21_20_1> does not exist.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsip_troublesipcontainersess
Dateiname:tsip_troublesipcontainersess.html