Maintenance and Troubleshooting

show mbcd errors

The show mbcd errors command displays statistics related to MBCD task errors. The following fields are explained:

  • XCode Internal Errors—Number of uncategorized errors due to Transcoding session error.
  • XCode Alloc Errors—Number of times that buffer allocation failed for transcoding tasks.
  • XCode Update Errors—Number of errors encountered when attempting to update an entry in the Transcoding table upon receipt of the first packet for a media flow.
  • XCode Delete Errors—Number of errors encountered when attempting to delete an entry in the Transcoding table.
  • XCode Over Cap Errors—Number of Transcoding sessions denied once session capacity is reached.
  • XCode Over License Cap—Number of Transcoding sessions denied once capacity is reached.
    ORACLE# show mbcd errors
    13:22:50-126
    MBC Errors/Events              ---- Lifetime ----
                            Recent      Total  PerMax
    Client Errors                0          0       0
    Client IPC Errors            0          0       0
    Open Streams Failed          0          0       0
    Drop Streams Failed          0          0       0
    Exp Flow Events              0          0       0
    Exp Flow Not Found           0          0       0
    Transaction Timeouts         0          0       0
    Server Errors                0          0       0
    Server IPC Errors            0          0       0
    Flow Add Failed            180        180     180
    Flow Delete Failed           0          0       0
    Flow Update Failed           0          0       0
    Flow Latch Failed            0          0       0
    Pending Flow Expired         0          0       0
    ARP Wait Errors              0          0       0
    Exp CAM Not Found            0          0       0
    Drop Unknown Exp Flow        0          0       0
    Drop/Exp Flow Missing        0          0       0
    Exp Notify Failed            0          0       0
    Unacknowledged Notify        0          0       0
    Invalid Realm                0          0       0
    No Ports Available           0          0       0
    Insufficient Bandwidth       0          0       0
    Stale Ports Reclaimed        0          0       0
    Stale Flows Replaced         0          0       0
    Telephone Events Gen         0          0       0
    Pipe Alloc Errors            0          0       0
    Pipe Write Errors            0          0       0
    Not Found In Flows           0          0       0
    XCode Internal Errors        0          0       0
    XCode Alloc Errors           0          0       0
    XCode Update Errors          0          0       0
    XCode Delete Errors          0          0       0
    XCode Over Cap Errors      180        180     180
    XCode Over License Cap       0          0       0
    SRTP Capacity Exceeded       0          0       0

show xcode api-stats

The show xcode api-stats command shows the client and server side message counts for the XClient and XServer software components. The main messages are allocate, update, and free of the transcoding resource. The command uses a 100 second window to show recent counts within the sliding window as well as the total and per max (maximum in a sliding window interval). This command is useful for comparing the client and server side counts and seeing where errors may have occurred with the transcoding resources.

ORACLE#show xcode api-stats
                      --------- Client --------   --------- Server --------
Message/Event         Recent      Total  PerMax   Recent      Total  PerMax
                      ------  ---------  ------   ------  ---------  ------
Allocs                     0       5197    4897        0       6355    6055
Updates                    0       1776    1676        0        888     788
Frees                      0       6355    6015        0       6355    6015
Error-Allocs               0          0       0        0         45      45
Error-Updates              0          0       0        0        888     888
Error-Frees                0          0       0        0          0       0
Total                      0      13328   12588        0      14531   13791	

show xcode dbginfo

The debug information command shows the packet API statistics for the host to DSP path. There is one session/connection opened with each DSP. The command displays the total packet counts as well as the round trip time statistics for the packets. The recent field shows the count since the last time the command was executed

ORACLE#show xcode dbginfo
Startup Time    : 2006-09-08 01:11:50.522
Last Clear Time : 2006-09-08 01:11:50.522
Last Read Time  : 2006-09-08 17:14:52.351
Current Time    : 2006-09-08 17:14:52.351
Up Time         : 0 Days, 16 Hours 3 Minutes 2 Seconds
                             -- Life Time --    -- Recent --
PktApiStats:
    OpenConnectionCnt    =       2
    OpenSessionCnt       =       2
    TotalPktSentCnt      =   21051               21051
    TotalPktRecvCnt      =   21041               21041
    TotalPktRecvEventCnt =       0                   0
    TotalPktRecvDataCnt  =       0                   0
    TotalPktRejectCnt    =       5                   5
    TotalPktTimeoutCnt   =       0                   0
    TotalPktInvalidCnt   =       0                   0
    TotalPktDropCnt      =       0                   0
    TotalPktDropEventCnt =       0                   0
    TotalPktDropDataCnt  =       0                   0
    TotalPktLateRspCnt   =       0                   0
    LowestRoundTripMs             =       1
    HighestRoundTripMs            =    2010
    LowestExtractTimeMs           =       1
    HighestExtractTimeMs          =   13320
    HighestTransportRxTimeMs      =       0
    ulHighestTransportNoRxTimeMs  =       0

Viewing Active Audio and Video Call Statistics

The show sessions and show sipd codec CLI commands identify and display media processing statistics, such as the aggregate call count for active audio and video calls, and codec information per call.

show sessions

The show sessions command displays the statistics for SIP, H.323 and IWF along with the cumulative SIP audio and video call counters for the active calls. The system uses the following assumptions and interpretations of the calls to have separate counters for audio and video calls:

  • The system determines the type of call, whether audio or video, by checking the m-line for media-type and a valid media-port. When the SDP uses only one m-line with media-type 'video' and media-port > 0, the system increments the video call count. Same logic applies for audio calls.
  • The system considers multiple m lines for same media-type as a single call and increments the call by one.
    ORACLE# show sessions
    01:47:46-189 Capacity=84000
    Session Statistics          -- Period -- -------- Lifetime --------
                               Active    High      Total      Total     PerMax     High
    Established Tunnel          1          1          1           1        1        1
    Total Sessions              1          1          1           1        1        1
    SIP Sessions                0          0          0           0        0        0
    H.323 Calls                 0          0          0           0        0        0
    H.248 ALG Contexts          0          0          0           0        0        0
    
    IWF Statistics                -- Period -- -------- Lifetime --------
                               Active    High      Total      Total     PerMax     High
    H.323-to-SIP Calls          0          0          0           0        0         0
    SIP-to-H.323 Calls          0          0          0           0        0         0
    
    SIP Audio/Video Statistics    -- Period -- -------- Lifetime --------
                               Active    High      Total      Total     PerMax     High
    Audio Calls                 1          1          1           1        1          1
    Video Calls                 1          1          1           1        1          1
    
  • When the system renegotiates SDP during the call, the call counters reflect the active SDP m-lines.
The scenarios in consideration are :
  • Initial offer and answer SDP:
Offer Answer
OFFER:
m=audio 10000 RTP/AVP 8 0
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
m=audio 0 RTP/AVP 0
ANSWER:
m=audio 10000 RTP/AVP 8 0
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
m=audio 0 RTP/AVP 0

The following is an example of the show sessions output command.

ORACLE# show sessions
01:47:46-189 Capacity=84000
Session Statistics          -- Period -- -------- Lifetime --------
                           Active    High      Total      Total     PerMax     High
Established Tunnel          1          1          1           1        1          1
Total Sessions              1          1          1           1        1          1
SIP Sessions          	  0          0          0           0        0          0
H.323 Calls                 0          0          0           0        0          0
H.248 ALG Contexts          0          0          0           0        0          0

IWF Statistics              -- Period -- -------- Lifetime --------
                           Active    High      Total      Total     PerMax      High
H.323-to-SIP Calls          0          0          0          0         0          0
SIP-to-H.323 Calls          0          0          0          0         0          0

SIP Audio/Video Statistic   -- Period -- -------- Lifetime --------
                           Active    High      Total      Total     PerMax      High
Audio Calls                 1          1          1          1         1          1
Video Calls                 0          0          0          0         0          0
  • Renegotiated offer answer SDP (with audio and video):
Offer Answer
OFFER:
m=audio 10000 RTP/AVP 8 0
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
m=audio 0 RTP/AVP 0
ANSWER:
m=audio 10000 RTP/AVP 8 0
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
m=audio 0 RTP/AVP 0

The following is an example of the show sessions output command.

ORACLE# show sessions
01:47:46-189 Capacity=84000
Session Statistics          -- Period -- -------- Lifetime --------
                           Active    High      Total      Total     PerMax      High
Established Tunnel          1          1          1           1        1          1
Total Sessions              1          1          1           1        1          1
SIP Sessions            	0          0          0           0        0          0
H.323 Calls                 0          0          0           0        0          0
H.248 ALG Contexts          0          0          0           0        0          0

IWF Statistics              -- Period -- -------- Lifetime --------
                           Active    High      Total      Total     PerMax      High
H.323-to-SIP Calls          0          0          0          0         0          0
SIP-to-H.323 Calls          0          0          0          0         0          0

SIP Audio/Video Statistics  -- Period -- -------- Lifetime --------
                           Active    High      Total      Total     PerMax      High
Audio Calls                 1          1          1          1         1          1
Video Calls                 1          1          1          1         1          1
  • Renegotiated offer answer SDP (with audio only):
Offer Answer
OFFER:
m=video 0 RTP/AVP 98
a=rtpmap:98 H264/90000
m=audio 6000 RTP/AVP 0
a=rtpmap:0 PCMU/8000

ANSWER:
m=video 0 RTP/AVP 98
a=rtpmap:98 H264/90000
m=audio 6000 RTP/AVP 0
a=rtpmap:0 PCMU/8000

The following is an example of the show sessions output command.

ORACLE# show sessions
01:47:46-189 Capacity=84000
Session Statistics          -- Period -- -------- Lifetime --------
                           Active    High      Total      Total     PerMax    High
Established Tunnel          1          1          1           1          1        1
Total Sessions              1          1          1           1          1        1
SIP Sessions                0          0          0           0          0        0
H.323 Calls                 0          0          0           0          0        0
H.248 ALG Contexts          0          0          0           0          0        0

IWF Statistics              -- Period -- -------- Lifetime --------
                           Active    High      Total      Total     PerMax    High
H.323-to-SIP Calls          0          0          0           0          0        0
SIP-to-H.323 Calls          0          0          0           0          0        0

SIP Audio/Video Statistics  -- Period -- -------- Lifetime --------
                           Active    High      Total      Total     PerMax    High
Audio Calls                 1          1          1           1          1        1
Video Calls                 0          1          1           1          1        1

show sipd codec

The show sipd codec command displays the media-processing statistics per SIP traffic. Note that the show sipd codec command displays the statistics per realm and requires a realm argument. The system displays the statistics of the active video sessions in the rows: H.261 Count, H.263 count, H.264 Count.

show sipd codec <realm-name>
07:11:28-45 Realm peer
Codec Statistics
                             ---- Recent ---- -------- Lifetime --------
                       Active    High   Total      Total  PerMax    High
Transcoded                  0       0       0          0       0       0
Transrated                  0       0       0          0       0       0
Transparent                 0       0       0          0       0       0
PCMU Count                  0       0       0          0       0       0
PCMA Count                  0       0       0          0       0       0
G722 Count                  0       0       0          0       0       0
G723 Count                  0       0       0          0       0       0
G726-16 Count               0       0       0          0       0       0
G726-24 Count               0       0       0          0       0       0
G726-32 Count               0       0       0          0       0       0
G726-40 Count               0       0       0          0       0       0
G728 Count                  0       0       0          0       0       0
G729 Count                  0       0       0          0       0       0
GSM Count                   0       0       0          0       0       0
iLBC Count                  0       0       0          0       0       0
H261 Count                  0       0       0          0       0       0
H263 Count                  0       0       0          0       0       0
H264 Count                  0       0       0          0       0       0
T38 Count                   0       0       0          0       0       0
AMR Count                   0       0       0          0       0       0
AMR-WB Count                0       0       0          0       0       0
EVRC Count                  0       0       0          0       0       0
EVRC0 Count                 0       0       0          0       0       0
EVRC1 Count                 0       0       0          0       0       0
EVRCB Count                 0       0       0          0       0       0
EVRCB0 Count                0       0       0          0       0       0
EVRCB1 Count                0       0       0          0       0       0
opus Count                  0       0       0          0       0       0
SILK Count                  0       0       0          0       0       0
T140 Count                  0       0       0          0       0       0
BAUDOT Count                0       0       0          0       0       0
H264 Count                  0       0       0          0       0       0
EVS Count                   0       0       0          0       0       0
Other Count                 0       0       0          0       0       0

Session Based Statistics

The first 3 statistics listed by the show sipd codecs are session based. These statistics are titled Transcoded, Transrated, and Transparent.

  • transcoded—counts of sessions that use the Transcoding NIU’s TCUs to transcode between two or more codes.
  • transrated—counts of sessions that use the Transcoding NIU’s TCUs to change the packetization interval among dialogs in the session.
  • transparent—counts of sessions that require no TCU hardware intervention (all end-to-end media uses the same codec)

A value of "none" which is not counted in the statistics is set when there is no media at all or media is not yet negotiated. Sessions within the same realm are counted only once.

These are meter type counters, and thus have an "active" count as well as total lifetime values. The media-processing state of the session only can increase in precedence (highest=transcoded, transrated, transparent, lowest=none). Thus, if a session begins as transcoded, and then is re-negotiated to transparent later by a re-INVITE, it is still considered transcoded. However, if a session begins as transparent, it can go to transcoded by a re-INVITE. In such a case, the total counts for both transparent and transcoded would be incremented. If there are several media lines, the highest precedence is used for the session.

Flow Based Statistics

The remaining lines of the show sipd codecs command track the number of codecs in established sessions. The ‘Other’ type refers to unknown codecs. For all codecs listed by the show sipd codecs command, the Active, High- and Total- Recent Counts, and Total- PerMax- High- Lifetime counts are displayed. These counts represent each SDP m= line emanating in the queried realm. Refer to the following examples:

Transcoded audio stream example

The following diagram shows an intra-realm transcoding scenario where the originator and terminator are using different audio codecs. The Oracle® Enterprise Session Border Controller transcodes the media, which is invisible to the endpoints. Once the session is established, the PCMU count in the show sidp codecs output is 1, and the PCMA count is 1.

The Transcoded Audio Stream diagram is described above.

If the session originator and terminator in the previous diagram exist in two different realms, you must execute the show sidp codecs command twice, once for each realm. A single PCMU count appears in one query and a single PCMA count appears in the other query because only one m= line emanate from each realm.

An example show sipd codecs <realm ID> command follows:

ORACLE# show sipd codecs net172
09:20:04-30 Realm net172
Codec Statistics
                          ---- Recent ---- -------- Lifetime --------
                    Active    High   Total      Total  PerMax    High
Transcoded               0       0       0          0       0       0
Transrated               0       0       0          0       0       0
Transparent              0       0       0          0       0       0
PCMU Count               0       0       0          0       0       0
PCMA Count               0       0       0          0       0       0
G722 Count               0       0       0          0       0       0 
G723 Count               0       0       0          0       0       0 
G726-16 Count            0       0       0          0       0       0
G726-24 Count            0       0       0          0       0       0
G726-32 Count            0       0       0          0       0       0
G726-40 Count            0       0       0          0       0       0
G728 Count               0       0       0          0       0       0
G729 Count               0       0       0          0       0       0
GSM Count                0       0       0          0       0       0
iLBC Count               0       0       0          0       0       0
H261 Count               0       0       0          0       0       0
H263 Count               0       0       0          0       0       0
T38 Count                0       0       0          0       0       0
AMR Count                0       0       0          0       0       0
AMR-WB Count             0       0       0          0       0       0
EVRC Count               0       0       0          0       0       0
EVRC0 Count              0       0       0          0       0       0
EVRC1 Count              0       0       0          0       0       0
EVRCB Count              0       0       0          0       0       0
EVRCB0 Count             0       0       0          0       0       0
EVRCB1 Count             0       0       0          0       0       0
Other Count              0       0       0          0       0       0

Multiple audio stream example

The following diagram shows an intra-realm session with two audio streams. Each stream uses a different codec. Once the session is established, the PCMU count in the show sidp codecs output is 2, and the PCMA count is 2.

The Multiple Audio Streams diagram is described above.

If the session originator and terminator in the previous diagram exist in two different realms, you must execute the show sidp codecs command twice, once for each realm. A single PCMU count and a single PCMA count will be reflected in each respective query because two m= lines emanate from each realm.

Single audio stream example

The following diagram shows an intra-realm session with one audio stream using the PCMU codec. Once the session is established, the PCMU count in the show sidp codecs output is 2.

The Single Audio Stream diagram is described above.

If the session originator and terminator in the previous diagram exist in two different realms, you must execute the show sidp codecs command twice, once for each realm. A single PCMU count will be reflected in each respective query because only one m= line emanates from each realm.

show sipd codecs

The show sipd codecs <realm ID> command displays media-processing statistics per SIP traffic. This command displays statistics per realm and requires a realm argument.

show xcode xlist

The show xcode xlist command displays the TCU (0 = middle, 1 = top), TCM number, number of DSPs on each module, the number of active sessions, and the load percentage. It also displays the state such as Active or Boot Failure. Uninstalled TCMs are indicated by a dash.

ORACLE#show xcode xlist
18:22:32
  TCU  TCM  DSPs  #Sess  Load   State
  ===  ===  ====  =====  ====  =========
   0    00    2      -     -      -
   0    01    2      -     -      -
   0    02    2      -     -      -
   0    03    2      1     0%   2 Active
   0    04    2      1     0%   2 Active
   0    05    2      -     -      -
   0    06    2      -     -      -
   0    07    2      -     -      -
   [...]
   1    00    2      1     0%   2 Active
   1    01    2      0     0%   2 Active
   1    02    2      0     0%   2 Active
   1    03    2      0     0%   2 Active
   1    04    2      0     0%   2 Active
   1    05    2      0     0%   2 Active
   1    06    2      0     0%   2 Active
   1    07    2      0     0%   2 Active
   1    08    2      0     0%   2 Active

show xcode session-byipp

The show xcode session-byipp command requires an IP address and port. It lists detailed information about the sessions identified by the specified IP address and port number. nformation will be provided for all transcoded call legs matching the IP address, including in both the ingress and egress directions. The show xcode session-byipp command is entered as:

show xcode session-byipp <ip_addr> <port_num>

This command displays the same information as the session-byid command. If a wildcard * is provided for the port number, the command will display sessions with the matching IP address only, regardless of port number.

show xcode session-byattr

The show xcode session-byattr command lists all sessions matching the specified attribute name. The only supported attribute is "fax", which will display session information only for FAX-transcoded sessions; all other attributes will return an error. For example:

ORACLE#show xcode session-byattr fax
17:52:17
1.   [Chan A_SRC] Ip Address: 192.168.16.1 Port: 5220
     [Chan B_SRC] Ip Address: 172.16.0.40 Port: 10230
     Session Id:0x002021d0"
2.   [Chan A_SRC] Ip Address: 192.168.16.1 Port: 3010
     [Chan B_SRC] Ip Address: 172.16.0.40 Port: 10226
     Session Id:0x00301042"
Oct 26 20:53:22.968 Total Matches:2 Total Active Sessions:2
-------------

show xcode session-byid

The session-byid command gives more detailed information about the session. The session-byid command displays the configuration of each channel as well as a number of packet statistics for each channel. This same information can be looked up by IP address and port by using the session-byip command. If only the configuration portion is required, use the session-config command with the session id as the argument. This command is entered as:

show xcode 	session-byid <session_id>

For example:

ORACLE#show xcode session-byid 0xf006e
################# SESSION  0xf006e ##################
Channel 0:
  DSP device          = 14
  Source MAC          = 00:08:25:a0:9a:f3
  Destination MAC     = 00:0e:0c:b7:32:e2
  VLAN ID             = 0
  Egress Interface    = 0
  Src IP:Port         = 172.16.0.235:24448
  Dst IP:Port         = 172.16.0.87:16000
  Src RTCP IP:Port    = 172.16.0.235:24449
  Dst RTCP IP:Port    = 172.16.0.87:16001
  Codec               = G711_ULAW_PCM
  Payload Type        = 0
  Pkt Interval        = 20 msec
  2833 Payload Type   = DISABLED
  Xtone Mode          = XTONE_XTHRU
  Status              = DISABLED
DSP Counters:
  RxInPktCnt                  474
  RxInByteCnt                 75840
  RxOutPktCnt                 749
  RxInSidPktCnt               0
  RxNoPktCnt                  275
  RxBadPktTypeCnt             0
  RxBadRtpPayloadTypeCnt      0
  RxBadPktHdrFormatCnt        0
  RxBadPktLengthCnt           0
  RxMisorderedPktCnt          0
  RxBadPktChecksumCnt         0
  RxUnderrunSlipCnt           0
  RxOverrunSlipCnt            0
  RxLastVocoderType           0
  RxVocoderChangeCnt          0
  RxMaxDetectedPdv            168
  RxDecdrRate                 15
  RxJitter:
    CurrentDelay              160
    EstimatedDelay            0
    ClkDriftingDelta          0
    ClkDriftingCorrectionCnt  0
    InitializationCnt         1
  RxCircularBufferWriteErrCnt 0
  RxApiEventCnt               0
  TxCurrentVocoderType        0
  TxInPktCnt                  749
  TxOutPktCnt                 750
  TxOutByteCnt                120000
  TxInBadPktPayloadCnt        0
  TxTimestampGapCnt           0
  TxTdmWriteErrCnt            0
  RxToneDetectedCnt           0
  RxToneRelayEventPktCnt      0
  RxToneRelayUnsupportedCnt   0
  TxToneRelayEventPktCnt      0
  TxApiEventCnt               0
  TxNoRtpEntryPktDropCnt      0
  ConnectionWaitAckFlag       1
  RxMipsProtectionDropCnt     0
  TxMipsProtectionDropCnt     0
Channel 1:
  DSP device          = 14
  Source MAC          = 00:08:25:a0:9a:f4
  Destination MAC     = 00:1b:21:7a:29:b1
  VLAN ID             = 0
  Egress Interface    = 2
  Src IP:Port         = 192.168.0.235:24448
  Dst IP:Port         = 192.168.0.87:32000
  Src RTCP IP:Port    = 192.168.0.235:24449
  Dst RTCP IP:Port    = 192.168.0.87:32001
  Codec               = G729_A
  Payload Type        = 18
  Pkt Interval        = 20 msec
  2833 Payload Type   = DISABLED
  Xtone Mode          = XTONE_XTHRU
  Status              = DISABLED
DSP Counters:
  RxInPktCnt                  748
  RxInByteCnt                 14960
  RxOutPktCnt                 751
  RxInSidPktCnt               0
  RxNoPktCnt                  3
  RxBadPktTypeCnt             0
  RxBadRtpPayloadTypeCnt      0
  RxBadPktHdrFormatCnt        0
  RxBadPktLengthCnt           0
  RxMisorderedPktCnt          0
  RxBadPktChecksumCnt         0
  RxUnderrunSlipCnt           0
  RxOverrunSlipCnt            0
  RxLastVocoderType           6
  RxVocoderChangeCnt          0
  RxMaxDetectedPdv            171
  RxDecdrRate                 15
  RxJitter:
    CurrentDelay              160
    EstimatedDelay            0
    ClkDriftingDelta          0
    ClkDriftingCorrectionCnt  0
    InitializationCnt         1
  RxCircularBufferWriteErrCnt 0
  RxApiEventCnt               0
  TxCurrentVocoderType        6
  TxInPktCnt                  748
  TxOutPktCnt                 748
  TxOutByteCnt                14960
  TxInBadPktPayloadCnt        0
  TxTimestampGapCnt           0
  TxTdmWriteErrCnt            0
  RxToneDetectedCnt           0
  RxToneRelayEventPktCnt      0
  RxToneRelayUnsupportedCnt   0
  TxToneRelayEventPktCnt      0
  TxApiEventCnt               0
  TxNoRtpEntryPktDropCnt      0
  ConnectionWaitAckFlag       0
  RxMipsProtectionDropCnt     0
  TxMipsProtectionDropCnt     0

show xcode session-all

The show xcode session-all command displays all of the currently active sessions by their unique session id.

ORACLE#show xcode session-all
15:22:51
Requesting xclient sessions table
        Total Active Sessions: 200
        Displaying sessions 1 to 100:
        Session Id: 0x10007
        Session Id: 0x10008
        Session Id: 0x10009
        Session Id: 0x1000a
        Session Id: 0x1000b

Note:

When there are more than 100 active sessions , the command now displays only active sessions 1 to 100 as opposed to all the active session:

show xcode load

The show xcode load command shows the current transcoding module (TCM) load both in number of sessions and percent loading. The load percentage depends on the precise mix of codecs, ptimes, and features enabled on the active sessions. The maximum lifetime load is also displayed. Uninstalled TCMs are marked with dashes.

ORACLE#show xcode load -detail
02:00:16
Total Sessions:              0
Licensed AMR Sessions:       0
Licensed AMR-WB Sessions:    0
Licensed EVRC Sessions:      0
Licensed EVRCB Sessions:     0
Licensed OPUS Sessions:      0
Licensed SILK Sessions:      0
Licensed EVS Sessions:       0
                   ----- Load -----
  TCU  TCM  DSP  #Sess  Current  Maximum
  ===  ===  ===  =====  =======  =======
   0    00   0      0     0.00%   11.11%
   0    00   1      0     0.00%   11.11%
   0    01   0      0     0.00%   11.11%
[...]

The TCU column is populated with a 0 for a TCM in the middle slot and a 1 for a TCM in the top slot.

Logs

A log file named log.xserv can be used for debugging the transcoding feature. This log records the API between the host software and the DSPs and any errors that are encountered.

Alarms

The transcoding feature employs several hardware and software alarms to alert the user when the system is not functioning properly or overload conditions are reached.

Name/ID Severity/ Health Degredation Cause(s) Traps Generated
No DSPs Present with Transcoding Feature Card (DSP_NONE_PRESENT) Minor/0 A transcoding feature card is installed but no DSP modules are discovered. apSysMgmtHardwareErrorTrap
DSP Boot Failure (DSP_BOOT_FAILURE) Critical/0 A DSP device fails to boot properly at system initialization. This alarm is not health affecting for a single DSP boot failure. DSPs that fail to boot will remain uninitialized and will be avoided for transcoding. apSysMgmtHardwareErrorTrap
DSP Communications Timeout (DSP_COMMS_TIMEOUT) Critical/100 A DSP fails to respond after 2 seconds with 3 retry messages. This alarm is critical and is health affecting. apSysMgmtHardwareErrorTrap
DSP Alerts (DSP_CORE_HALT) Critical/100 A problem with the health of the DSP such as a halted DSP core. The software will attempt to reset the DSP and gather diagnostic information about the crash. This information will be saved in the /code directory to be retrieved by the user. apSysMgmtHardwareErrorTrap
DSP Temperature(DSP_TEMPERATURE_HIGH) Clear 85°C

Warning 86°C / 5

Minor 90°C / 25

Major 95°C/ 50

Critical 100°C/ 100

A DSP device exceeds the temperature threshold. If the temperature exceeds 90°C, a minor alarm will be set. If it exceeds 95°C, a major alarm will be set. If it exceeds 100°C, a critical alarm will be set. The alarm is cleared if the temperature falls below 85°C. The alarm is health affecting. apSysMgmtHardwareErrorTrap
Transcoding Capacity Threshold Alarm (XCODE_UTIL_OVER_THRESHOLD) / 131329 Clear 80%

Warning 95%

A warning alarm will be raised when the transcoding capacity exceeds a high threshold of 95%. The alarm will be cleared after the capacity falls below a low threshold of 80%. This alarm warns the user that transcoding resources are nearly depleted. This alarm is not health affecting. apSysMgmtGroupTrap
Licensed AMR Transcoding Capacity Threshold Alarm/131330 Clear 80%

Warning 95%

A warning alarm is triggered if the AMR transcoding capacity exceeds a high threshold of 95% of provisioned session in use. The alarm clears after the capacity falls below a low threshold of 80%. This alarm is not health affecting. apSysMgmtGroupTrap
Licensed AMR-WB Transcoding Capacity Threshold Alarm/131331 Clear 80%

Warning 95%

A warning alarm is triggered if the AMR-WB transcoding capacity exceeds a high threshold of 95% of provisioned session in use. The alarm clears after the capacity falls below a low threshold of 80%. This alarm is not health affecting. apSysMgmtGroupTrap
Licensed EVRC Transcoding Capacity Threshold Alarm/131332 Clear 80%

Warning 95%

A warning alarm is triggered if the EVRC transcoding capacity exceeds a high threshold of 95% of provisioned session in use. The alarm clears after the capacity falls below a low threshold of 80%. This alarm is not health affecting. apSysMgmtGroupTrap
Licensed EVRCB Transcoding Capacity Threshold Alarm/131333 Clear 80%

Warning 95%

A warning alarm is triggered if the EVRCB transcoding capacity exceeds a high threshold of 95% of provisioned session in use. The alarm clears after the capacity falls below a low threshold of 80%. This alarm is not health affecting. apSysMgmtGroupTrap

show xcode load for software xcode

The show xcode load command displays the total number of sessions, the number of licensed G729 sessions that are currently active, and transcoding processing load. Each row that corresponds to a transcoding module (TCM) is a single software transcoding thread. Percentage values per thread are calculated based on the total number of available sessions.

# show xcode load
12:15:54
Total Sessions:              0
Licensed G729 Sessions:      0
                    ----- Load -----
         ID  #Sess  Current  Maximum
         ==  =====  =======  =======
TCM    :  0      0    0.00%    0.00%
TCM    :  1      0    0.00%    0.24%

show xcode session-all

The show xcode session-all command displays all of the currently active sessions by their unique session id.

ORACLE#show xcode session-all
15:22:51
Requesting xclient sessions table
        Total Active Sessions: 200
        Displaying sessions 1 to 100:
        Session Id: 0x10007
        Session Id: 0x10008
        Session Id: 0x10009
        Session Id: 0x1000a
        Session Id: 0x1000b

Note:

When there are more than 100 active sessions , the command now displays only active sessions 1 to 100 as opposed to all the active session:

show xcode session-byid

The show xcode session-byid command displays detailed information about the supplied software based transcoding session. The session-byid command displays the configuration of each channel as well as a number of packet statistics for each channel. This same information can be looked up by IP address and port by using the show xcode session-byip command. If only the configuration portion is required, use the session-config command with the session id as the argument.

This command is entered as:

# show xcode session-byid 0x10001
17:53:01
################# SESSION 0x10001 ##################
Channel 0:
  HSP device          = 0
  Egress Interface    = 0
  Src IP:Port         = 172.16.0.241:10000
  Dst IP:Port         = 172.16.0.15:6000
  Codec               = G711_ALAW_PCM
  Payload Type        = 8
  Pkt Interval        = 20 msec
  Status              = ENABLED

HSP Counters:
  RxPackets               996
  RxLatePackets           0

  RxMisorderedPackets     0
  RxBadPackets            0
  RxEarlyPackets          0
  RxDroppedPackets        0
  RxFailures              0

  TxPackets               993
  TxFailures              0

Channel 1:
  HSP device          = 0
  Egress Interface    = 1
  Src IP:Port         = 192.168.0.241:10000
  Dst IP:Port         = 192.168.0.15:6000
  Codec               = G711_ULAW_PCM
  Payload Type        = 0
  Pkt Interval        = 20 msec
  Status              = ENABLED

HSP Counters:
  RxPackets               996
  RxLatePackets           0

  RxMisorderedPackets     0
  RxBadPackets            0
  RxEarlyPackets          0
  RxDroppedPackets        0
  RxFailures              0

  TxPackets               993
  TxFailures              0

show xcode session-byipp

The show xcode session-byipp command requires an IP address and port. It lists detailed information about the sessions identified by the specified IP address and port number. nformation will be provided for all transcoded call legs matching the IP address, including in both the ingress and egress directions. The show xcode session-byipp command is entered as:

show xcode session-byipp <ip_addr> <port_num>

This command displays the same information as the session-byid command. If a wildcard * is provided for the port number, the command will display sessions with the matching IP address only, regardless of port number.

Daylong Transcoding Session Cleanup

The Oracle® Enterprise Session Border Controller can perform hourly checks for long xcode/DSP sessions. The amount of time that defines these long sessions defaults to 86400 seconds (24 hours), and may be configured to a different number. After finding these long sessions, they will be cleared from the system when the hourly process runs. Freeing up these potentially orphaned sessions ensures that maximum transcoding resources are available for incoming calls.

Interaction with media guard timers

To make sure that no resource gets accidentally removed by this feature when enabled, the media-manager, flow-time-limit value should be set to less than 86400 seconds (24 hrs). Since the default is 86400, a starting recommendation is 82800. This should avoid unintended resource removal when xcode-expired-session-detection-enable is used. If xcode-expired-session-detection-enable is set to X, ensure thatmedia-manager, flow-time-limit is set to a value less than X. The implication of setting/changing flow-time-limit is that the signaling application will tear down any session automatically (sending out BYE) whose duration exceeds flow-time-limit time limit.

Note:

Do not enable this feature unless directed by Oracle support.
  1. Navigate to media-manager-config and add the xcode-expired-session-detection-enable option. This option may also be configured as xcode-expired-session-detection-enable=<seconds>. The seconds value is the threshold for considering a transcoding session as long.
  2. Reboot the system

Example 14-1 Long Transcoding Session Cleanup configuration example

Oracle# configure terminal
Oracle(configure)# media-manager
Oracle(media-manager)# media-manager
Oracle(media-manager-config)# select
Oracle(media-manager-config)# options +xcode-expired-session-detection-enable
Oracle(media-manager-config)# done
media-manager
        state                                   enabled
[...]
        options                                 xcode-expired-session-detection-enable
[...]
Oracle(media-manager-config)# exit
Oracle(media-manager)# exit
Oracle(configure)# exit
Oracle#

Example 14-2 Debugging

This feature writes its actions to log.mbcd. For each session, if current-time - start-time >= expire-time is true, the long session threshold has been reached and that session is cleared.

Check session message, available at DEBUG level:

XClient::freeLeakedSessions: Checking session 0xNNNNNN start-time=11111111 current-time=22222222

Clear session message at NOTICE level:

XClient::freeLeakedSessions: Freeing session 0xNNNNNN active=1
start-time=11111111 current-time=22222222 expire-time=33333333