A Guided Tour: Remote Controls

Remote controls integrate WorkGroup Telephony technology into the VBVoice environment. Conversation objects are created automatically and connections are built and torn down as needed by the system.

Full details on the Remote control's properties, events, and methods can be found in the reference section for the Remote Control.

When a call enters a Remote control, the following sequence of events occurs:
  1. The Destination property (the target machine name) is %% variable expanded.

  2. A Conversation object is created and stored for the channel, and any old Conversation objects from previous uses of the control are destroyed.

  3. The AppID of the Conversation object is set according to the Remote control's AppID property.

  4. The Key/Value pairings set in the Remote control's property page are %% variable expanded and set in the Conversation object.

  5. The Enter event is fired to allow Visual Basic code to change, add, or delete key/value pairs through the read-only, channel-indexed property array Conversation.

  6. The Conversation object is connected to machine with the name of the expanded Destination value.

  7. If the ReplyNeeded property is set, a timer is started based upon the value in the Timeout property. A value of 0 in the Timeout property means there is no timeout on the expected reply.

  8. The Send method of the Conversation object is invoked.

At this point, the call exits from the Sent output of the Remote control. What happens next depends on the value of the ReplyNeeded and Timeout properties. There are three possible scenarios:

ReplyNeeded

Timeout

False

X

True

0

True

<>0

No ReplyNeeded

In this scenario, the control proceeds normally through the call system. This property should be set when there is no interaction with the server needed. The server may cause a client workstation to pop up with customer information and then simply transfer the call to an agent. The agent would then answer the call with the relevant information displayed on the workstation.

ReplyNeeded, no Timeout

In this scenario, the Server Conversation will transmit the message and wait for a reply back from the workstation application. Typically this means that upon exiting the Sent node, the call goes to a Delay control until the reply is received. When a reply is received, a DataChanged event is fired into the Remote control for processing. After the event has been fired (and optionally handled by code), the call exits out of the Replied node of the Remote control.

ReplyNeeded, Timeout set

In this scenario, processing continues exactly as in ReplyNeeded, no Timeout, but after Timeout seconds have passed, the call passes out of the Remote control's Timed Out node and the following program logic can then handle the timeout situation.