|
Event Routing
Although not described in Supplementary Line Functions, event routing is a part of the supplementary line services and is not a
basic function.
With the lineSetTerminal function, the application can control or suppress the routing of specified
low-level events (exchanged between the switch and the station) to a device. With lineSetTerminal, the application specifies the terminal device to which these events (such as
line, address, or call media-stream events) are routed.
The routing of the different classes of events can be individually controlled,
allowing separate terminals to be specified for each event class. Event
classes include lamps, buttons, display, ringer, hookswitch, and media stream.
For example, the media stream of a call (voice, for example) can be sent to
any transducer device if the service provider and the hardware is capable of
doing so. In general, a transducer means the same as what is referred to as a hookswitch device in the Telephony Phone API something that has a microphone and a speaker. Ring events from the switch to
the phone can be mapped into a visual alert on the computer's screen or they
can be routed to a phone device. Lamp events and display events can be ignored or
routed to a phone device (which appears to behave as a normal phone set).
Finally, button presses at a phone device may or may not be passed to the line. In
any case, this routing of low-level signals from the line does not affect the
operation of the line portion of TAPI, which always maps low-level events to
their functional equivalent. To determine the terminals a line device has
available (and their capabilities), consult the line device's capabilities with lineGetDevCaps.
Assume initially that the application has suppressed the routing of all events
(with lineSetTerminal), and the user selects a headset as the current I/O device. An incoming call
sends a LINE_CALLSTATE message, and a LINE_LINEDEVSTATE message with the ringing indication. Because routing of all events is suppressed, ring events are not
routed to the phone, so ringing is suppressed. Instead, the application
notifies the user with a pop-up dialog box and a system beep in the headset.
The user decides to answer the call. Because the user's current I/O device is
the headset, the telephony application invokes lineSetTerminal on the incoming call to route the call's media to the headset and answer the
call. The application may also invoke lineSetTerminal to route lamp and display information events to the phone set so that it will
behave as usual.
As a second example, assume that an incoming call is alerting at the user's
computer. Instead of selecting the answer option with the mouse, the user decides
to just pick up the phone's handset to answer the call. The offhook status at
the phone sends a message to the application. The application can interpret
this status as a request by the user to select the phone handset to conduct the
conversation. The application then invokes lineSetTerminal to route the voice data on the call to the phone set.
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|