MSPP exerciser: msppxsr

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.

Usage

msppxsr arguments

Featured functions

mspCreateEndpoint, mspCreateChannel, mspConnect, mspEnableChannel, mspSendCommand, mspDisconnect, mspDisableChannel, mspDestroyChannel

Running massxsr

Before you begin

Before running msppxsr:

Procedure

To run msppxsr:

  1. Navigate to the \nms\fusion\samples\general\msppxsr directory.

  2. 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:

  • ds0

  • rtp (full duplex)

  • rtpin (simplex receive)

  • rtpout (simplex receive)

  • rtpv6 (full duplex)

  • rtpinv6 (simplex receive)

  • rtpoutv6 (simplex receive)

  • tpkt

  • t38udp

  • pktmedia

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

  1. Enter the number associated with any commands to execute.

msppxsr executes the specified command.

  1. Stop the program after entering commands by entering Q.

Valid channel types

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

Description

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.