After initializing the system hardware with oamsys, run the MSPP exerciser (msppxsr) program to verify that MSPP endpoints and channels can be created, connected, and enabled on CG board DSPs. The MSPP exerciser program is a looping demonstration program that repeatedly creates, connects, and enables MSPP channels, then disables, disconnects, and destroys them. It supports the maximum number of connections the host system can support. It also demonstrates sending commands to MSPP endpoint and channel filters.
msppxsr arguments
mspCreateEndpoint, mspCreateChannel, mspConnect, mspEnableChannel, mspSendCommand, mspDisconnect, mspDisableChannel, mspDestroyChannel
Before running msppxsr:
Edit one of the provided CG board keyword files to indicate any system-specific configuration information.
(Optional) Compile the file msppxsr.exe with the make files provided.
Run oamsys with a customized version of one of the sample OAM board keyword files.
To run msppxsr:
Navigate to the \nms\fusion\samples\general\msppxsr directory.
Enter the following command:
msppxsr -b boardnum ep1 eptype ep2 eptype -c chantype -l localip -d remoteip -nport numport -nloop numloop
The following table shows available options. All option expressions must include a space between the option and the value (as shown in the previous example).
|
Option |
Description |
Valid entries |
|
-b boardnum |
Board number. |
Default is 0. |
|
-ep1 eptype |
Type of endpoint for endpoint 1. By default, msppxsr creates RTP IPv4 endpoints of the requested type unless you specify the -v6 argument after the eptype argument. |
Valid endpoint types include:
|
|
-ep2 eptype |
Type of endpoint for endpoint 2. By default, msppxsr creates RTP IPv4 endpoints of the requested type unless you specify the -v6 argument after the eptype argument. |
Default is ds0. See valid entries for ep1 eptype. |
|
-6 |
Specifies to create RTP IPv6 endpoints of the requested type (full duplex, simplex receive, or simplex send). |
|
|
-c chantype |
Type of MSPP channel to connect endpoint 1 and 2. |
Entry channel type. See Valid channel types. |
|
-l localip |
Local IP address for an RTP or UDP endpoint. If no RTP or UDP endpoint is created, this value is ignored. The IP address must be appropriate for the type of RTP endpoint specified (that is, an IPv4 address for an IPv4 endpoint or an IPv6 address for an IPv6 endpoint). Entering 0 indicates that the data will not be transferred to an IP network. Use for testing purposes only. |
IPv4 or IPv6 address or 0 (for NULL). |
|
-d remoteip |
Remote IP address for an RTP or UDP endpoint. If no RTP or UDP endpoint is created, this value is ignored. The IP address must be appropriate for the type of RTP endpoint specified (that is, an IPv4 address for an IPv4 endpoint or an IPv6 address for an IPv6 endpoint). Entering 0 indicates that the data will not be transferred to an IP network. Use for testing purposes only. |
IPv4 or IPv6 address or 0 (for NULL). |
|
-nport numport |
Maximum number of channels msppxsr creates. |
1 - 360 |
|
-nloop numloop |
Number of times msppxsr creates and destroys connections. Must be greater than or equal to one. |
1 or greater |
|
-nbcast bcastEPs |
Number of broadcast (simplex RTP send) endpoints to create plus 1. For example, to create seven broadcast endpoints, specify a bcastEPs of 6. |
0 - 7 |
|
q |
Stops the program. |
NA |
|
? |
Displays on screen Help. |
NA |
For example:
msppxsr -b 1 -ep1 rtp -ep2 ds0 -c 4 -l 0 -d 0 -nport 1 -nloop 10
The previous example commands msppxsr to create set up and tear down one duplex G.729A/B voice connection (made up of a DS0 endpoint, a G.729A/B channel, and an RTP IPv4 endpoint) ten times. No data is transferred to the IP network because the local IPv4 address and remote IPv4 address are each set to 0.
msppxsr displays results of MSPP function calls at the command prompt and displays status information about MSPP connections.
Before msppxsr sets up and tears down MSPP connections for the final time (iteration numloop - 1), it displays a numbered list of commands you can invoke for the connected channels. The list varies according to the kinds of channels created.
Enter the number associated with any commands to execute.
msppxsr executes the specified command.
Stop the program after entering commands by entering Q.
|
Value |
Description |
|
1 |
G.711 full duplex |
|
2 |
G.723 full duplex |
|
3 |
G.726 full duplex |
|
4 |
G.729 full duplex |
|
5 |
Fax relay full duplex |
|
6 |
G.711 encode simplex |
|
7 |
G.711 decode simplex |
|
8 |
G.723 encode simplex |
|
9 |
G.723 decode simplex |
|
10 |
G.726 encode simplex |
|
11 |
G.726 decode simplex |
|
12 |
G.729 encode simplex |
|
13 |
G.729 decode simplex |
|
14 |
G.728 full duplex |
|
15 |
G.728 encode simplex |
|
16 |
G.728 decode simplex |
|
17 |
RTP switch simplex |
|
19 |
AMR full duplex |
|
20 |
AMR encode simplex |
|
21 |
AMR decode simplex |
|
44 |
EVRC full duplex |
|
45 |
EVRC encode simplex |
|
46 |
EVRC decode simplex |
|
47 |
ILBC 2.0 full duplex |
|
48 |
ILBC 2.0 encode simplex |
|
49 |
ILBC 2.0 decode simplex |
|
50 |
ILBC 3.0 full duplex |
|
51 |
ILBC 3.0 encode simplex |
|
52 |
ILBC 3.0 decode simplex |
|
53 |
GSM-FR full duplex |
|
54 |
GSM-FR encode simplex |
|
55 |
GSM-FR decode simplex |
msppxsr creates and enables the number of MSPP channels specified (numport) for the number of iterations specified (by numloop). The command line interface shows the progress of MSPP commands as they execute. msppxsr uses ctaCreateQueue, ctaCreateContext, and ctaOpenService to create CTA queues, contexts, open CTA services for MSPP endpoints and channels. msppxsr then creates, connects, and enables MSPP endpoints and channels with mspCreateEndpoint, mspCreateChannel, mspConnect, and mspEnableChannel.
After the numport channels have been enabled, msppxsr disables, disconnects, and destroys the MSPP channels with mspDisableChannel, mspDisconnect, mspDestroyChannel, and mspDestroyEndpoint. msppxsr exercises each MSPP channel the number of times specified by numloop.
When msppxsr stops running in the middle of a cycle, an expected event has not been received because of a configuration error or software mismatch. Check configuration files, runtime files, and component file dates and make sure the PATH environment variable does not redirect the system to an older file.