Table Of Contents
Troubleshooting
Cadexceptions
Modify the CORBA Network Configuration
CORBA Cannot Connect to the Cisco BTS 10200 Softswitch
Change the Hostname in the CORBA Configuration
CORBA and EPOM Troubleshooting Steps
CORBA/EPOM Special Character Troubleshooting: Subscriber Commands
Troubleshooting
This chapter describes basic cadexceptions, debug, and network configuration procedures.
Cadexceptions
The following basic cadexceptions can be returned. The numbers given in the sample code refer to the text in the explanation. The text will be returned if the sample code is used.
Error Message No Error
Explanation This is a placeholder since zero is not an error.
Sample Code public static final int EM_NONE=0;
Error Message CIS Error
Explanation This error is used for internal processing errors that may relate to ORB interaction or
other runtime exceptions.
Sample Code public static final int EM_ERROR=1;
Error Message CIS No Data
Explanation This error indicates that there was no data to return from a show command. This may
not be a "real" error; however, it is cleaner to throw an exception than a NULL object.
Sample Code public static final int EM_NODATA=2;
Error Message User Security Error
Explanation A fault was found in the user security. This could result from an invalid login via a
password or username. This could also result from some internal error to the security system that
failed to validate the user identity.
Sample Code public static final int EM_USERSEC=5;
Error Message Permission Error
Explanation A command was attempted that failed the authorization tests for that command. The
user does not have permission to execute this command.
Sample Code public static final int EM_PERMISSION=6;
Error Message Linkage Error
Explanation Indicates ifthat the linkage failed.
Sample Code public static final int EM_LINKAGE=10;
Error Message Exception In Initializer Error
Explanation Indicates that the initialization provoked by this method fails.
Sample Code public static final int EM_INIT=11;
Error Message Class Not Found Exception
Explanation Thrown if the class cannot be located.
Sample Code public static final int EM_NOTFOUND=12;
Error Message Illegal Access Exception
Explanation IThrown if the class or initializer is not accessible.
Sample Code public static final int EM_ACCESS=13;
Error Message Instantiation Exception
Explanation IThrown if this class represents an abstract class, an interface, an array class, a primitive
type, or void; or if the instantiation fails for some other reason.
Sample Code public static final int EM_INSTANCE=14;
Error Message Security Exception
Explanation Thrown if there is no permission to create a new instance.
Sample Code public static final int EM_SECURITY=15;
Error Message Invalid Request Exception
Explanation Thrown if the request is not valid or cannot be initialized.
Sample Code public static final int EM_REQUEST=16;
Error Message Invalid Noun Exception
Explanation Thrown if the command noun is not found or is invalid.
Sample Code public static final int EM_NOUN=17;
Error Message Invalid Verb Exception
Explanation Thrown if the command verb is not found or is invalid.
Sample Code public static final int EM_VERB=18;
Error Message SQL Exception
Explanation Thrown if the database cannot be accessed, if the constraints are violated, if there is
another table conflict, if there is a resource issue, or any other Oracle related cause.
Sample Code public static final int EM_DATABASE=19;
Error Message Invalid Value Exception
Explanation A parameter value exceeds the range or some other restrictions like text length, pick-list,
and so forth.
Sample Code public static final int EM_VALUE=20;
Error Message Invalid Key Exception
Explanation An invalid key or token was used to describe some data value.
Sample Code public static final int EM_KEY=21;
Error Message Missing Parameter Exception
Explanation One or more required parameters were not included in the command parameter data.
Sample Code public static final int EM_PARAM=22;
Modify the CORBA Network Configuration
In the 3.x releases, CORBA assumed the hostname of the management interface or the network interface card (NIC) defined in the install. In the 4.x releases, the operator is asked for either an IP address or hostname. This now requires adding the hostname on the client machine. The following procedure can also be used to modify the name usage in the Cisco BTS 10200 Softswitch. In most cases, it is better to change to an IP address to prevent name resolution issues in the client-side network.
Note
The hostname/IP address is used as part of the interoberable object reference (IOR) that is sent to the client side. That is why the name/IP address must resolve and route on the client.
Perform the following steps to modify the CORBA network configuration:
Step 1
Determine the hostname or IP address that works best for the client side of the network.
Step 2
Edit the /etc/inittab table and modify the names on the last two entries to match the desired configuration. For example:
ns:3:respawn:/sbin/ins3 <hostname or IP>
cs:3:respawn:/sbin/cis3 <hostname or IP>
Step 3
Edit the OpenORB configuration file located at /opt/BTSoorb/config/OpenORB.xml. Adjust the line in the file for "user-mods" to read: "corbaloc::1.2@<hostname or IP>:14001/NameService." Save the change.
Step 4
In the /opt/BTSoorb/config/. (the period fully qualifies the domain directory) directory, execute the setConfig.sh script. The XML configuration file is a bundled resource file in the OpenORB architecture. This command updates the JAR files with the modified OpenORB.xml file.
Step 5
Use the ptree command to kill the Name Service (ins3) and CORBA Servant (cis3) programs. Also kill the Java children using the ptree command. Orphaned Java programs can cause unpredictable behavior.
Step 6
Restart the Name Service (ins3) and CORBA Servant (cis3) programs. Restart ins3 first. Then restart cis3.
Note
The command to restart the Name Service is pkill ins3; the procedure to restart the CORBA Servance is pkill cis3.
CORBA Cannot Connect to the Cisco BTS 10200 Softswitch
If CORBA cannot connect to the Cisco BTS 10200 Softswitch, client-side hostname resolution may be required to match what was configured in the Element Management System (EMS).
Perform the following steps to troubleshoot:
Step 1
Determine the name used in the /etc/inittab file when invoking the entries:
ns:respawn:/sbin/ins3 <hostname or IP address>
cs:respawn:/sbin/cis3 <hostname or IP address>
Step 2
Add the following arguments to the turn on debug-trace command to get the debug information on the client-side. These are the Java arguments:
-Dopenorb.debug.trace=DEBUG -Dopenorb.debug.level=HIGH
Step 3
If the hostname of the EMS server does not resolve, then an exception is thrown. Most likely a default name was used such as "priems01" or "priems_nms1" and these names do not resolve in the client network. To modify the EMS to accept IP addresses uninstall and then reinstall the CORBA package. During install, supply the IP address instead of the hostname.
Change the Hostname in the CORBA Configuration
This section describes how to change the hostname in the CORBA configuration Perform the following steps to change the hostname:
Step 1
Change directory.
Step 2
Edit the OpenORB.xml and change the text "corbaloc::1.2@<hostname or IP>:14001/NameService" and replace the hostname or IP address that is bolded in the example text with a value that resolves on the client side.
Step 3
In the /opt/BTSoorb/config directory, run the setConfig.sh script.
Step 4
Edit /etc/inittab. At the bottom are two entries for the "cs" and "ns" for the CORBA name service and CIS application. Edit the hostname argument to match the one placed in the configuration file from Step 2.
Step 5
Restart the INS process, then the CIS process. Do not leave an orphan Java process. Use the ptree `pgrep ins3' command to find the Java child and kill the Java child directly.
CORBA and EPOM Troubleshooting Steps
This section describes various procedures for troubleshooting CORBA with the Extensible Provisioning and Operations Manager (EPOM). This section requires a knowledge of Unix and Java commands.
Caution 
EPOM cannot be co-resident with the EMS.
Perform the following steps when a problem is encountered:
Step 1
Verify that the CORBA application is running.
Step 2
Check the cis.log for errors or clues about the problem.
more /opt/ems/log/CIS.log
Step 3
Check the EPOM logs for errors or clues about the problem.
more var/opt/CSCOepom/logs
If you determine that the problem is with the way the Cisco BTS 10200 Softswitch CORBA services are configured, perform the following steps:
Step 1
Ensure that the Cisco BTS 10200 Softswitch hostname is provided in the CORBA configuration.
a.
If the hostname is provided, change it to the IP address of the Cisco BTS 10200 Softswitch and restart the CORBA services on the Cisco BTS 10200 Softswitch.
b.
If the hostname is not provided, stop and reinstall the CORBA application before doing anything else.
Step 2
Check if ports 683 and 14001 are listening on the Cisco BTS 10200 Softswitch server by using the following commands:
netstat -a |grep 683 and netstat -a |grep 14001.
Step 3
Do a tail -f on the CIS.log on the Cisco BTS 10200 Softswitch server.
tail -f /opt/ems/log/CIS.log
Note
EPOM log files can be found at: /var/opt/CSCOepom/logs. Check for trace.log and localhost files on the EPOM server.
Step 4
After clicking on the Config button on the EPOM GUI, (you may need to click more than once):
netstat -a |grep 14001 and netstat -a |grep 683
Step 5
Make sure that the username and password are the same as given when adding the Cisco BTS 10200 Softswitch inventory to EPOM. The username and password is optiuser/optiuser by default. Verify this by logging into the system using the CLI.
CORBA/EPOM Special Character Troubleshooting: Subscriber Commands
Table 5-1 shows the CORBA and EPOM responses to special characters in Subscriber commands.
Table 5-1 CORBA and EPOM Responses to Special Characters
Character
|
Usage Example
|
CORBA/EPOM Response
|
` (single quote)
|
btsadmin>change subscriber
id=x1-6-00-00-ca-ac-ef-98_02;name=Joe'
|
Error Message BtsException:
IDL:oam.sswitch.com/cad/CadExceptions:1.0,
Invalid parameter value. name=Joe';
contains one of the following invalid
characters: ("')
Explanation The single quote is a reserved
character for delimiting strings. It is used this way
in caller-ID messages to the MTA. A single quote
cannot be used in a name because it causes an error
in the MTA that is parsing the caller-ID message.
|
" (double quote)
|
btsadmin>change subscriber
id=x1-6-00-00-ca-ac-ef-98_02;name=Joe"
|
Error Message org.omg.CORBA.UNKNOWN: Server
Exception: Unregistered vendor exception #0
vmcid: 0x0 minor code: 0 completed
Explanation Invalid parameter value.
name=Joe"; contains one of the following invalid
characters: ("')
The double quote is a reserved character for
delimiting strings. It is used this way in caller-ID
messages to the MTA. A single quote cannot be
used in a name because it causes an error in the
MTA that is parsing the caller-ID message.
|
; (semi- colon)
|
btsadmin>change subscriber
id=x1-6-00-00-ca-ac-ef-98_02;name=Joe;;
Reply : Success: Transaction 914661109242987301 was processed.
btsadmin>show subscriber id=x1-6-00-00-ca-ac-ef-98_02
ID=x1-6-00-00-ca-ac-ef-98_02
CATEGORY=INDIVIDUAL
NAME=Joe
STATUS=ACTIVE
COUNTRY=USA
PRIVACY=NONE
RING_TYPE_DN1=1
TERM_ID=aaln/S1/1
MGW_ID=iad-11
PIC1=NONE
PIC2=NONE
PIC3=NONE
GRP=N
USAGE_SENS=Y
SUB_PROFILE_ID=subpf1
TERM_TYPE=TERM
IMMEDIATE_RELEASE=N
TERMINATING_IMMEDIATE_REL=N
SEND_BILLING_DN=N
SEND_BDN_AS_CPN=N
SEND_BDN_FOR_EMG=N
btsadmin>change subscriber
id=x1-6-00-00-ca-ac-ef-98_02;name=Joe;
Reply : Success: Transaction 914661178134430501 was processed.
btsadmin>show subscriber id=x1-6-00-00-ca-ac-ef-98_02
ID=x1-6-00-00-ca-ac-ef-98_02
CATEGORY=INDIVIDUAL
NAME=Joe
STATUS=ACTIVE
COUNTRY=USA
PRIVACY=NONE
RING_TYPE_DN1=1
TERM_ID=aaln/S1/1
MGW_ID=iad-11
PIC1=NONE
PIC2=NONE
PIC3=NONE
GRP=N
USAGE_SENS=Y
SUB_PROFILE_ID=subpf1
TERM_TYPE=TERM
IMMEDIATE_RELEASE=N
TERMINATING_IMMEDIATE_REL=N
SEND_BILLING_DN=N
SEND_BDN_AS_CPN=N
SEND_BDN_FOR_EMG=N
Reply : Success: Entry 1 of 1 returned.
|
Message ID=x1-6-00-00-ca-ac-ef-98_02
CATEGORY=INDIVIDUAL
NAME=Joe;
STATUS=ACTIVE
COUNTRY=USA
PRIVACY=NONE
RING_TYPE_DN1=1
TERM_ID=aaln/S1/1
MGW_ID=iad-11
PIC1=NONE
PIC2=NONE
PIC3=NONE
GRP=N
USAGE_SENS=Y
SUB_PROFILE_ID=subpf1
TERM_TYPE=TERM
IMMEDIATE_RELEASE=N
TERMINATING_IMMEDIATE_REL=N
SEND_BILLING_DN=N
SEND_BDN_AS_CPN=N
SEND_BDN_FOR_EMG=N
Reply : Success: Entry 1 of 1 returned.
Explanation In the first example, the two
semicolons delimit only two null parameters. In
the second example, the last parameter is a null
parameter terminated by the <enter> key. The
<enter> key always terminates the last parameter
in the CLI.
The fact that the semicolons terminate the
command, without parameters between them,
makes this possible. Placing the semicolons
anywhere else causes the queue to hang.
|
% (percent sign)
|
btsadmin>change subscriber
id=x1-6-00-00-ca-ac-ef-98_02;name=Joe%
|
Error Message BtsException:
IDL:oam.sswitch.com/cad/CadExceptions:1.0,
Invalid parameter value. name=Joe%; Enter
at least 1 character, but not more than 32
characters.
Explanation The percent sign is a wildcard: for
example, show subscriber id=x1-6-00% shows all
subscribers whose id begins with x1-6-00. Thus
the percent sign is a valid character for the
subscriber noun, but is not when used with the add
or change verbs.
|
- (hyphen)
|
btsadmin>change subscriber
id=x1-6-00-00-ca-ac-ef-98_02;name=Joe-
|
Message Success: Transaction 914661231396356901
was processed.
Explanation This is a valid character but impacts
the way the caller id is displayed. Cisco does not
recommend using this character.
|
_ (under- score)
|
btsadmin>change subscriber
id=x1-6-00-00-ca-ac-ef-98_02;name=Joe_
|
Error Message Failure: NAME cannot contain an
_ character
Explanation This is a valid character but impacts
the way the caller id is displayed. Cisco does not
recommend using this character.
|
&
|
btsadmin>change subscriber
id=x1-6-00-00-ca-ac-ef-98_02;name=Joe&
Reply : Success: Transaction 914661254499435301
was processed.
|
Error Message org.omg.CORBA.UNKNOWN: Server
Exception: Unregistered vendor exception #0
vmcid: 0x0 minor code: 0 completed
Explanation The ampersand is a reserved character
in XML that causes this transaction to fail when
sent using XML over a CORBA interface.
|
@#$^&*()}{|\/<>,.:[]~!
(With ampersand)
|
btsadmin>change subscriber
id=x1-6-00-00-ca-ac-ef-98_02;name=Joe!@#$^&*()}
{|\/<>,.:[]~
Reply : Success: Transaction 914661290390225701
was processed.
|
Error Message org.omg.CORBA.UNKNOWN: Server
Exception: Unregistered vendor exception #0
vmcid: 0x0 minor code: 0 completed.
Explanation The ampersand is a reserved character
in XML that causes this transaction to fail when
sent using the XML over a CORBA interface.
|
@#$^*()}{|\/>,.:[]~! (No ampersand)
|
btsadmin>change subscriber
id=x1-6-00-00-ca-ac-ef-98_02;name=Joe!@#$^*()}{
|\/<>,.:[]~
|
Message Successful
Explanation These characters are valid.
|