Commands and Syntax

The dsClient Terminal application provides a command line interface that enables you to control a dsTest instance and interact with active emulated nodes. This topic explains how to use the commands that control the dsClient application and the syntax used when interacting with emulated nodes. The dsTest command structure is shown in the command element documentation. Refer to the previous topic for instructions on launching dsClient Terminal.

dsClient Terminal maintains a shell history of up to 100 commands (commands issued via the up arrow are not added to the history).

Attaching to dsTest

dsClient can attach to any dsTest server with which the client platform can communicate. Use the following command to attach to a different server.

server {<ip-address> | <hostname> | <FQDN>}

Examples:

dsTest> server 192.168.48.10

attaches to a remote server with IP address of 192.168.48.10

 

dsTest> server test423

attaches to a remote server test423

 

dsTest> server test423.test.com

attaches to a remote server test423.test.com

dsTest> server 127.0.0.1

attaches to the local server

You can also direct dsClient to attach to a specific server when the application is launched.

Command History

This command displays a list of the commands retained in the shell history.

dsTest> history

Redirecting dsClient Output

You can redirect the output of a command by adding > <file name> to the end of the command line as shown below.

dsTest> nodes > active_nodes.txt

Terminating dsClient

This command terminates the dsClient application without affecting dsTest.

dsTest> quit

Validating a Configuration File

This command is used to validate an XML configuration file. dsTest does not have to be running and the configuration file is not loaded.

dsTest> validate <path>

<path>

The path and file name of the file to be loaded.

Example:

dsTest> validate /usr/local/devsol/dsTest/examples/example_app_gr_sgsn.xml

The configuration file is validated against the schema and an error message will be displayed if validation fails. See our FAQ for common validation errors and their causes.

Calculate Resources

This command is used to analyze an XML configuration to determine the resources that may be required to execute the test successfully .

resource <path>

<path>

The path and file name of the XML file to be loaded.

Example:

dsTest> resource /usr/local/devsol/dsTest/examples/example_app_gx_pcrf.xml

Nodes required: 1 (1024KB)

Subscribers required: 50 (58KB)

TPS required: 10 (1.428571)

PPS required: 0

Memory required: 3298KB

Available_memory: 2102844KB

Available CPU: 1650

Status: Successful

Loading a Configuration File

This command is used to load an XML configuration file. You can also use the -c option to load one or more configuration files when dsTest is launched.

source <path>

<path>

The path and file name of the file to be loaded.

Example:

dsTest> source /usr/local/devsol/dsTest/examples/example_app_gr_hlr.xml

Configuration files are validated against the schema when they are loaded and an error message will be displayed if validation fails. See our FAQ for common validation errors and their causes.

Interacting with Node Emulators

The types of emulators available depend on the interface applications purchased for dsTest and the commands that are available for each type of emulator can be found in the Schema documentation.

Use this command to address a node emulator:

<node element name>[:<node instance name>]

For example, to address an MME node named "primary_mme" enter:

mme:primary_mme

Simply entering the command as shown executes the status command, which will return the current status of the node. Utilizing the available subcommands enables you to control node operations, execute actions in real time, query measurements, and modify the node's configuration.

The following syntax is used when including XML schema elements in a command:

<node element name>[:<node instance name>][ <sub-element name>[:<sub-element instance name>][:<attribute name>:<attribute value>[;<attribute name>:<attribute value>...]][::{<element value> | #CLEAR}]...]

<node element name>[:<node name>]

Identifies the applicable node by type and name. If :<node name> is not included, the element name becomes the node name and the command will affect only the node with a matching instance name.

[:<attribute name>:<attribute value>[;<attribute name>:<attribute value>...]]

Limits the scope of the command (e.g., a range of subscribers). Attribute name-value pairs are delimited by semi-colons.

[ <sub-element name>[:<sub-element instance name>][:<attribute name>:<attribute value>[;<attribute name>:<attribute value>...]][[:: |  ]{<element value> | #CLEAR}]...]

Child elements of the node parent are listed and separated by a single blank space. Attributes such as start and end may be included with :<attribute_1 name>:<attribute_1 value>;<attribute_2 name>:<attribute_2 value> to limit the scope of the command, and the element value may be set or cleared with [:: |  ]{<element value> | #CLEAR}]. A double colon is required when the value of more than one sub-element is addressed and when attributes of an element are included; otherwise a blank space can be used between the sub-element and the value portion.

 

The element hierarchy may be traversed to reach the level of elements that contain values by listing the parent elements in order. Multiple commands would be necessary to change the values of elements that cannot be reached in the same linear path through the hierarchy (e.g., the "service" value within APN configuration could be modified in one command but a separate command would be necessary to modify the "regional subscription" value for the same subscriber since "service" is one level deeper and APN configuration precedes "regional subscription").

Addressing configuration elements without modifying an element's value executes a query that returns the current values of all instances of the element. Range attributes such as start and end can also be used in this case to limit the scope of the query.

Examples:

mme:primary_mme s6 om reset

Resets the statistics collected for the S6 application operations on primary_mme.

mme:primary_mme action rate::27500 cycle::1 app::s6 event::attach

Directs primary_mme to initiate attach transactions for all subscribers at the rate of 27,500 attaches/second.

 

mme:primary_mme action rate::27500 cycle::-1 group::roaming_subs app::s6 event::attach

Directs primary_mme to initiate attach transactions for all subscribers in the roaming_subs group at the rate of 27,500 attaches/second. The action will continuously cycle through the subscribers in that group.

mme:primary_mme subscriber_database subscriber_group dynamic_information mme_identity:start:1

Returns the MME Identity for the first subscriber in the database.

hlr:hlr_1 action rate::2 cycle::1 start::5 end::10 app::gr event::cancel cancel_type::Withdrawal

Directs hlr_1 to send cancel location messages with the cancellation type set to Withdrawal for subscribers 5-10 at a rate of 2 per second.

hlr action rate::10 cycle::1 start::100000000000001 end::100000000001001 app::gr event::cancel cancel_type::"SGSN Update"

Directs an HLR to send cancel location messages with the cancellation type set to SGSN update for subscribers with IMSI values of 100000000000001-100000000001001 at a rate of 10 per second.

When a value contains a space it must be enclosed in quotes.

The nodes command, when unconstrained, affects all node emulators. It can be constrained to a subset of nodes by using a wild card in the instance name. For example, a command beginning with nodes:mme_* would affect all nodes, regardless of type, with instance names that begin with mme_.

Displaying a Subscriber's Current Configuration

To display the current configuration of a subscriber, use the following command format:

 

node:node_name subscriber_database display:start:n

 

Example:

 

          hss:test_HSS subscriber_database display:start:100

This command will display the configuration of subscriber 100 from the database in the hss node named "test_HSS".

Clearing a Configured Value

To clear the configured string-type value from an element, enter #CLEAR.

mme:primary_mme subscriber_database mme_identity:start:1;end:100::#CLEAR

Clears the mme_identity value for the first 100 subscribers in the database.

If a value should start with "#" the configured value must start with "##".