Troubleshooting the SIP container session repository
When troubleshooting the SIP container session repository, you might need the SIP session details to dump to a specified trace file.
About this task
You can use the SIP session memory dump utility to help debug problems related to SIP container sessions. The SIP container uses the SipContainerMBean method to perform several serviceability type operations on the SIP container, including the initiation of a server quiesce through wsadmin (command-line interface). This task describes how you can use the SipContainerMBean method to dump SIP Application Session and SIP Session information that is contained in the in-memory session repository for SIP containers. By configuring the SIPContainerMBean method to use various trace methods, you can specify the SIP session details to dump to the specified trace file.
When the session dump methods are started using wsadmin scripting, the requested information about the sessions prints, by default, into the SystemOut.log file or sent to a predefined source, if set through the setDumpMethod method.
If you use the succinct session dump methods, only the session IDs are printed for every dump method execution.
- Transaction user details, along with the SIP session details, if they exist, print for every dump method execution.
- The only attributes that dump to the trace file are those attributes that the JSR 289 specification permits for exposure.
- The verbose methods print the following information in the trace file: appName, callID, dialog state, creation time, attribute names.
The trace printouts occur per SIP application; therefore, the sorting of all the SIP session data structures occurs before printing. You can use the SIPContainerMBean dump facility for a production server by dispatching the work to a low priority thread so that all dumps are on a separate thread and the tracing does not affect the call processing latency of the overall system.
The dump distinguishes between a transaction user that has a SIP session created versus a transaction user that has no SipSession object. Also included in the dump, in a delineated fashion, are SIP sessions that no longer exist, those that are no longer valid, or those that exist at the time of the trace snapshot.
Method | Description |
---|---|
dumpAllSASIds() | Prints a number of all SIP application sessions and the SIP application session IDs. |
dumpAllTUSipSessionIds() | Prints a number of transaction users and the SIP session IDs within the transaction user (TU), if one exists. |
Method | Description |
---|---|
dumpAllSASDetails() | Prints a number of all SIP application sessions and the SIP application session ID details. |
dumpAllTUSipSessionDetails() | Prints a number of transaction users and details of the SIP session IDs within the transaction user (TU), if one exists. |
dumpSASDetails(String sasId) | Prints the details of the SIP application session that is specified by the sasId parameter. |
dumpSipSessionDetails(String sessionId) | Prints the details of the SIP session that is specified by the sessionId parameter. |
- For all print output, the first line provides an application name and a number of records.
- The delimiter between the output is a
TAB
. - The delimiter between session attributes is a
;
(semi-colon).
Procedure
Results
You have configured the SIP session memory dump utility to print the level of trace information that you want for the SIP application session and SIP session to help you troubleshoot problems with the SIP container.
Example
- Using the succinct dumpAllSASIds method:
- Using Jacl:
$AdminControl invoke $apps dumpAllSASIds
- Using Jython:
AdminControl.invoke (apps, "dumpAllSASIds")
This information is provided in the following format:dump.ids.test.app1 2 local.1347524282775_8 local.1347524282775_7
[SAS_ID]
- Using Jacl:
- Using the verbose dumpAllSASDetails method and specifying that
the dump output print to the /opt/IBM/output.log file:
- Using Jacl:
$AdminControl invoke $apps setDumpMethod {{FILE} {/opt/IBM/output.log}} $AdminControl invoke $apps dumpAllSASDetails
- Using Jython:
AdminControl.invoke (apps, "setDumpMethod", ["FILE", "/opt/IBM/output.log"]) AdminControl.invoke (apps, "dumpAllSASDetails")
This information is provided in the following format:dump.ids.test.app1 1 local.1348147884986_2 Sep 20,2012 16:31 DumpSasDetailsAttr;
[SAS_ID] [CreationTime] [attributes]
- Using Jacl:
- Using the succinct dumpAllTUSipSessionIds method to print the
number of transaction users and the SIP session IDs within the transaction
user:
- Using Jacl:
$AdminControl invoke $apps dumpAllTUSipSessionIds
- Using Jython:
AdminControl.invoke (apps, "dumpAllTUSipSessionIds")
This information is provided in the following format:DumpSessionsTest 1 local.1349965420866_1_0 true local.1349965420866_1_0_1
[TU_ID] [hasSIPSession] [SipSessionId]
- Using Jacl:
- Using the verbose dumpAllTUSipSessionDetails method to print the
of transaction users and details of the SIP session IDs within the
transaction user:
- Using Jacl:
$AdminControl invoke $apps dumpAllTUSipSessionDetails
- Using Jython:
AdminControl.invoke (apps, "dumpAllTUSipSessionDetails")
This information is provided in the following format: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;
[TU_ID] [hasSIPSession] [SipSessionId] [Call-Id] [DialogState] [hasOutgoingTransaction] [initialMethod] [SAS_ID] [CreationTime] [attributes]
- Using Jacl:
- Using the verbose dumpSASDetails method to print the details of
the SIP application session that is specified by the sasID parameter:
- Using Jacl:
$AdminControl invoke $apps dumpSASDetails $sasId
- Using Jython:
AdminControl.invoke (apps, "dumpSASDetails ", "sasId")
If the requested session does not exist, an error message is given; for example:local.1358950127352_20 Jan 23,2013 16:19 TestSASAttr1; TestSASAttr2;
ERROR: Requested session <local.1358950127352_20> does not exist.
- Using Jacl:
- Using the verbose dumpSipSessionDetails method to print the details
of the SIP session that is specified by the sessionId parameter:
- Using Jacl:
$AdminControl invoke $apps dumpSipSessionDetails $sessionId
- Using Jython:
AdminControl.invoke (apps, "dumpSipSessionDetails", "sessionId")
If the requested session does not exist, an error message is given; for example:local.1358950127352_21_20_1 local.1358950127352_21 Jan 23,2013 16:22 TestSSAttr1; TestSSAttr2;
ERROR: Requested session <local.1358950127352_21_20_1> does not exist.
- Using Jacl: