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

Active and Period Statistics for EVRC and other Codecs

Codec use per-realm statistics include more detail by breaking out the EVRC codecs into their specific variants. That is, the system keeps track of EVRC0, EVRC1, EVRCB, EVRCB0, and EVRCB1 codec use per-realm on an explicit basis. These 5 counts are also available for SNMP query and are added to the ap-codec.mib file. Additionally, The Oracle® Enterprise Session Border Controller now maintains counts for all codecs that appear in the show sipd codecs <realm> command for Active, Recent High, and Lifetime High periods.

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.

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:

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.

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.

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

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.

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 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-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-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 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

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