# Board to board: brd2brd

Demonstrates call transfer from an incoming line to an outgoing line over the MVIP
bus using the PPX service.

#### Usage

brd2brd [options]

where options are:

Option | Specifies...
--- | ---
-b n | NMS board number n for the primary incoming line. Default = 0
-B n | NMS board number n for the outgoing line. Default = 1
-x n | PPX switch number n for the primary incoming line. Default = 0
-X n | PPX switch number n for the outgoing line. Default = 1
-s n | Incoming call timeslot number n. Default = 0
-S n | Outgoing call timeslot number n. Default = 0
-i protocol | Protocol to run on the primary incoming line. Default = lps0
-o protocol | Protocol to run on the outgoing line. Default = lps0

#### Functions

ppxConnect, ppxDisconnect

#### Description

brd2brd performs call transfer of an incoming call to an outgoing line using the PPX service. The connection is made over the CT Bus using the MVIP-95 model for stream numbering.

#### Procedure

This procedure assumes you are using a system with the following configuration:

- Two AG 2000 boards. One of the boards has a loop start
  hybrid on timeslot 4 and the other board has a DID
  hybrid on timeslot 2. Make sure one of the AG 2000 boards is configured to act as the bus clock master and the other is configured to act as a bus clock slave. Refer to the AG 2000 Installation and Developer's Manual for more information.

- The TCP files lps0.tcp and wnk0.tcp are downloaded to each of the boards.

- A 2500-type telephone is connected to the DID hybrid port, and there is a way to place and receive calls over the loop start line (such as a central-office simulator with another telephone handset connected to it).

The PPX service also requires the switching fabric to be defined in the PPX configuration file \nms\ctaccess\cfg\ppx.cfg. Make sure this file exists and represents the appropriate hardware configuration. The following example represents the hardware layout described here:

[PPX]
Fabric
Bus H100
CTBUS:0..15:0..31
CTBUS:16..23:0..63
CTBUS:24..31:0..127
End Bus
Switch 0 ## AG 2000
SwitchType = HMIC
DeviceName = "agsw"
DeviceNumber = 0
Bus H100 (CTBUS:0..15:0..31)
Inputs
LOCAL:0..6(2):0..7
End Inputs
Outputs
LOCAL:1..7(2):0..7
End Outputs
End Switch
Switch 1 ## AG 2000
SwitchType = HMIC
DeviceName = "agsw"
DeviceNumber = 1
Bus H100 (CTBUS:0..15:0..31)
Inputs
LOCAL:0..6(2):0..7
End Inputs
Outputs
LOCAL:1..7(2):0..7
End Outputs
End Switch
End Fabric

Before you start up brd2brd, start ctdaemon and ppxserv, and verify that the boards are booted. Refer to the NMS OAM System User's Manual for information about oamsys, to the Natural Access Developer's Reference Manual for information about ctdaemon, and to PPX server for information about ppxserv.

Note: Be sure the PPX server is properly configured and installed before running bdr2brd. The PPX demonstration programs do not run if the server application is not running.

Complete the following steps to run brd2brd:

Step | Action
1 | Start ctdaemon if it is not already running.
2 | Run oamsys to boot the boards.
3 | Start ppxserv.
4 | Start brd2brd by entering: brd2brd -b 0 -s 4 -B 1 -S 2 -i lps0 -o wnk0 This command indicates the following usage: Board 0, timeslot 4 on the local streams for the incoming call. Board 1, timeslot 2 on the local streams for the outgoing call. Loop start is being run on the incoming call; wink start is being run on the outgoing call. As the program initializes, event messages indicate that services are open on each of the two ports. In addition, the lps0 protocols have started on the incoming line. Event: CTAEVN_OPEN_SERVICES_DONE, Finished Event: CTAEVN_OPEN_SERVICES_DONE, Finished Event: ADIEVN_STARTPROTOCOL_DONE, Finished -------- Waiting for incoming call... brd2brd is now ready to receive a call.
5 | Pick up the phone connected to the loop start line and dial a 3 digit number. brd2brd displays the following: Event: ADIEVN_INCOMING_CALL Incoming Call... Answering call... Event: ADIEVN_ANSWERING_CALL Event: ADIEVN_CALL_CONNECTED, Answered A greeting prompts you to provide an extension number.
6 | Enter an extension number. brd2brd displays the following: Collecting digits to dial... Event: ADIEVN_DIGIT_BEGIN, '3' Event: ADIEVN_DIGIT_END Event: ADIEVN_DIGIT_BEGIN, '3' Event: ADIEVN_DIGIT_END Event: ADIEVN_DIGIT_BEGIN, '1' Event: ADIEVN_COLLECTION_DONE, Finished digit string ='331' Got extension: 331 brd2brd plays "I'll try that extension now." brd2brd displays the following: Playing file 'ctademo', msg #17... Playing 1 messages from 'ctademo'... Event: ADIEVN_DIGIT_END Event: VCEEVN_PLAY_DONE, Finished, msec=2240 Placing a call to '331'... Event: ADIEVN_PLACING_CALL
7 | Take the outgoing phone handset off-hook and then quickly replace it to provide the needed wink. brd2brd displays the following: Event: ADIEVN_CALL_CONNECTED, Signal Connected. The program makes a duplex connection between the incoming and outgoing lines.
8 | Tap on the mouthpiece of one handset to confirm that the two voice streams are connected. You should be able to hear the tapping on the other handset.
9 | Hang up the outgoing line. The program tears down the call and returns to its initial state, waiting for a call. brd2brd displays the following: Hanging up... Event: ADIEVN_CALL_RELEASED Call done. Hanging up... Event: ADIEVN_CALL_RELEASED Call done. Event: ADIEVN_STOPPROTOCOL_DONE, Finished Event: ADIEVN_STOPPROTOCOL_DONE, Finished Event: ADIEVN_STARTPROTOCOL_DONE, Finished -------- Waiting for incoming call...