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 Communications 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. The Single Audio Stream diagram is described above.](img/sip-session-management-ex1.gif)
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. The Multiple Audio Streams diagram is described above.](img/sip-session-management-ex2.gif)
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 Communications 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. The Transcoded Audio Stream diagram is described above.](img/sip-session-management-ex3.gif)
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 |