# Port to port program: prt2prt

Demonstrates:

- Call transfer from an incoming line to an outgoing line.

- Using the Switching service to make connections and send patterns.

#### Usage

prt2prt [options]

where options are:

Option | Use this option to specify the...
--- | ---
-b n | Board number n. Default = 0.
-d driver_name | Name of the driver dynamic link library. Default = agsw.
-s i,o | Incoming call timeslot and the outgoing call timeslot. Default: 0,2.
-i protocol | Protocol to run on the incoming call side. Default = lps0.
-o protocol | Protocol to run on the outgoing call side. Default = lps0.

#### Description

prt2prt performs call transfer of an incoming call to an outgoing line. It uses the Switching service to connect the voice streams of two calls so that a conversation can be carried out.

Because prt2prt is an actual demonstration of the Switching service, it uses MVIP-95 stream values.

#### Procedure

The following procedure assumes that you:

- Are testing on an AG 2000 board with a loop start
  hybrid on slot 0 and a DID
  hybrid on slot 4.

- Have downloaded the lps0.tcp and the wnk0.tcp files to the board.

- Have a 2500-type telephone connected to the DID hybrid and some way of placing calls and accepting calls over the loop start line (for example, with a central office simulator with another telephone handset connected to it).

To run prt2prt:

1. Start OAM. For more information about OAM, refer to the NMS OAM Service Developer's Reference Manual.

2. Start prt2prt by entering the following command:

prt2prt -b 0 -s 4,0 -i wnk0 -o lps0

This command uses board 0 and the DID hybrid in slot 4 for the incoming calls and the loop start hybrid in slot 0 for the outgoing call. It also uses the wink start protocol
on the incoming call and the loop start protocol on the outgoing call.

prt2prt starts and the following information displays:

Natural Access Port to Port Calling Demo V.5
Board = 1
InSlot,OutSlot = 4,0
Incoming Protocol = wnk0
Outgoing Protocol = lps0
NPorts = 1
Initializing and opening the CTA context...
Tracing disabled. Check that the daemon is running.
Event: CTAEVN_OPEN_SERVICES_DONE, Finished
Event: CTAEVN_OPEN_SERVICES_DONE, Finished
Event: ADIEVN_STARTPROTOCOL_DONE, Finished
--------
Waiting for incoming call...

prt2prt waits for an incoming call.

3. Put the telephone on stream/timeslot local:0:4 off-hook.
   You hear a relay click.

4. Dial a three-digit telephone number.
   prt2prt plays a message prompting you to dial an extension.

The following information displays:

Event: ADIEVN_INCOMING_CALL
Incoming Call...
Answering call...
Event: ADIEVN_ANSWERING_CALL
Event: ADIEVN_CALL_CONNECTED, Answered
Call connected.
Playing file 'ctademo', msg #12...
Playing 1 messages from 'ctademo'...
Event: VCEEVN_PLAY_DONE, Finished ,nbytes=1240
Getting extension...
Playing file 'ctademo', msg #16...
Playing 1 messages from 'ctademo'...

5. Dial an extension.
   prt2prt informs you that it will dial that extension and then places the call on the outgoing timeslot.
   The following information displays:

Collecting digits to dial...
Event: ADIEVN_DIGIT_BEGIN, '5'
Event: ADIEVN_DIGIT_END
Event: ADIEVN_COLLECTION_DONE, Timeout
digit string = '5'
Got extension: 5
Playing file 'ctademo', msg #17...
Playing 1 messages from 'ctademo'...
Event: VCEEVN_PLAY_DONE, Finished ,nbytes=2700
Event: ADIEVN_STARTPROTOCOL_DONE, Finished
--------
Placing a call to '5'...
Event: ADIEVN_PLACING_CALL

6. Answer the call on the other phone that is connected to the outgoing line through the central office simulator.

Event: ADIEVN_CALL_CONNECTED, Voice Begin
Connected.

prt2prt connects the two voice streams so that a conversation can take place between the two telephones.

7. Confirm that the two voice streams are connected by knocking on one mouthpiece. You will hear the knocking on the other mouthpiece.

8. Hang up the incoming side. prt2prt tears down the call and goes back into a waiting for call state.
   The following information displays:

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