
CTI PRO established cooperation with major telco equipment brokers. We are offering hardware from most major OEM’s including:
| 3com | Aastra | Aculab |
| ADC | Adtran | Afc |
| Agilent | Alcatel | Argus |
Quick navigation:
Learn about Computer Telephony
Computer telephony is the technique of coordinating the actions of
telephone and computer systems. This technology has existed in
commercial form since the mid-1980s, but rapid technology development
begin from the 1990s. This growth arises from defining international
standards for interconnecting telephone and computer systems, such as
the Computer-Supported Telephony Application (CSTA) call modeling and
protocol standards from ECMA. Main operation systems software vendors
(e.g. Microsoft and Novell) have specified its computer telephony
application programming interface (API). As well as in other areas,
computers can do business over the telephone at an increasing rate,
which will return higher work force and rise financial yields.
Public (PSTN) and private telephone systems {PBX) provide real-time
information paths between two or more parties. Traditionally, these
information paths have taken the form of voice connections, originally
through hardwired analog circuitry but later through an increasingly
broad range of technologies such as radio transmission, digital signal
encoding, and fiber. Over time, these transmission paths were also
exploited for non-voice applications such as facsimile and data
transmission.
At first, each non-voice application required a distinct set of
dedicated "terminal equipment", the telephony term for any user device
connected to the telephone network. Facsimile machines conversed only
with other facsimile machines, computer devices sent data files only to
other computer devices, and so forth. Big changes have begun in the
1990s when the general-purpose computer has emerged with special
developed multi purposed equipment.
Computers can now send and receive every kind of information that
passes through the telephone network: They can act as facsimile
machines; they can interact with human speakers through voice synthesis
and recognition; and of course they can send and receive data in many
formats. General-purpose computer can serve as the interface point for
the telephone network.
An import step was defining of the SCSA standard definition and its
SCbus. SCSA allow to integrate easily computer telephony hardware and
software produced by different vendors within one PC.
Typical computer telephony application must provide two tasks:
-Call establishing, call control and termination. These steps are similar to ordinary human telephone usage of phone or fax machine
-Information receiving and transmitting (voice, fax, binary). These operations provides data conversation (e.g. fax document) or act as on behalf of real human being. Keep phones conversation or listen to the caller.
All these tasks can be realized by the sophisticated computer telephony
hardware. Leading hardware vendor is the Dialogic Corporation. Their
products create highest industrial standard in the world of computer
telephony technologies.
In simply terms, PC with modern telephony hardware is able to connect
to the telephone line. With the Application Program Interface (API) and
widespread program tools (e.g. C/C++, Pascal, Delphi, Visual Basic) is
possible to write multi-lines application. Quantity of processed lines
depends on selected hardware. Written application can be easily
upgraded for higher channels (lines) quantity. Other solution would be
usage of other standard, such as TAPI 2.0.
Development process described in previous paragraph may not be fast
enough for some developers. Market offers long range of third party
ActiveX components, which will shorten considerably application
development.
When the time frame for development process and speedy application
build up is crucial, customer may use special graphic and script
editors. These editors are often very simply to use even for person
without any experiences with code writing.
Computer Telephony nowadays doesn't insist on developer's
telecommunication area technical knowledge. All instructions are
explained in simply way with many links to industry resources. Computer
Telephony applications emulate human being activity or function of real
equipment (e.g. fax). API functions are equivalents to these
activities: phone off hook, on hook, call #120, fax receive.
The CTI-PRO company offers its customers highly qualified technical
support with consultations on telecommunication area all along business
cooperation. Presales consultations, project planning, hardware and
software development tools selections are free of charge. Priority
after sales technical support and consultations will charged.
Earlier the proprietary telecommunications vendors did not offer open
hardware solutions. The customer, who bought the product from chosen
vendor, had no chance to use parts from other vendor. All daughter
boards, accessories etc had to be bought from the same producer.
Nowadays with an open standards and solutions telecommunication
functions on different OS platform can be interfaced with other
standards as LAN,WAN or Internet. This stage helps systems integrators
to increase efficiency of information systems by elimination of useless
repeating actions.
Computer Telephony software development tools makes possible
development of full range applications from low density systems to
complex high density LAN/WAN solutions for big corporations. Almost
every product may be extended by the computer telephony functions.
Detailed description and list of most popular CT applications are
published on pages of CTI-PRO ltd. Other special application may be
discussed with our employees who are willing to help you.
Intel hardware and Development tools roadmap
I. What operating system should we choose?
Everyone, who has decided to start the development of the computer telephony applications and selected the most wide-spread and the most complex hardware platform - the technology from the world leading company Intel, has to decide, what development tool will be used to develop with. The selection of the right operating system for the application development also influences this decision. Currently Intel company supports two operating systems - Microsoft Windows and various UNIX versions. Drivers and firmware designed for these operating systems are continuously being improved and support every newly released Intel voice boards, Windows NT versions are usually released a little sooner. The developer, who has selected one of these two operating systems, has the guarantee that he has selected the perspective platform with the assured quality technical support in the future. From the historical ground, there are also available drivers and firmware for the obsolete operating systems MS DOS/Microsoft Windows 3.X and OS/2. Intel finished support for these operating systems and they are designed only for the maintenance of formerly developed systems. It is strongly not recommend investing to the development of the new systems based on these platforms.
Because of the high popularity of the Microsoft Windows 95/98 operating systems in the desktop systems, Intel also offers the basic support for 2 and 4 port analog voice boards for these operating systems. However, it is only the basic support for the analog voice boards together with the support of the fax enhancements of VFX board, without the possibility of capitalization the other Intel platform's advanced features, including conferencing boards, Internet boards and network interface boards - E1, T1 and ISDN. Since the low multitasking quality inside Windows 95/98 operating system, there is not possible to control more than 16 channels. Despite of these limitations, this operating system should be successfully used for the cheap small-enterprise voice/fax solutions like automated attendants, voice mails or interactive voice response systems. It is possible to develop, with the help of the special cross-compatibility libraries, the applications that might work without any change either in Windows 95/98 or in Windows NT (or higher), because Win32 API of operating system Windows 95/98 is in the fact the subset of Win32 API of Windows NT, operating system. It implies the fact that the formerly developed computer telephony applications for Windows 95/98 operating systems should be converted to Windows NT with the minimum costs.
II. TAPI or not to-TAPI?
TAPI is the attempt for the standard based on the WOSA (Windows Open
Services Architecture), designed by Microsoft company for the needs of
Windows Telephony. The main idea was to create the exactly defined
universal API for the different kinds of the hardware - starting from
voice-modems, through voice boards from the different vendors and
ending with the PBXs supporting the software control. However, this
interface is available only for Windows 95/98/NT operating systems. It
can be used neither in UNIX nor the obsolete operating systems OS/2 or
MS DOS. The main advantage is the high level of the abstraction that
frees the developer from the requirement of the detailed knowledge of
the concrete hardware specifics. On the other side, just this high
level of the abstraction is one of the arguments against the suggestion
of the TAPI as the suitable application interface. Some feature cannot
be used for their absence in the TAPI design, other because of
nonexistence in TAPI drivers, so called TSP (TAPI Service Providers) -
the vendor of the concrete hardware, simply, does not support these
TAPI functions. And other TAPI functions do not work with the concrete
hardware vice versa, because this hardware (typically various
voice-modems) is not able to perform the affected functions.
Intel supports the basic TAPI functions for analog voice
boards and each new drivers release brings the new support for a few
another TAPI functions. The existence of TAPI support for Intel
voice boards is very advantageous for the developers of the existing
yet application working with common voice-modems, just based on TAPI.
This enables them to adapt their existing systems to multiple port
solutions (up to 16 channels on Windows 95/98 and up to 128 channels on
Windows NT).
Regarding to the above, we can summarize our suggestion as follows. If
there is not any special reason why to start to use just TAPI, then
there is no reason to start the application development based on this
interface. However, there is not any problem to use TAPI for the
development of the very simple voice systems, while the developer is
sure about the fact, the high-performance boards from Intel
Corporation do not give him much more than common voice-modems. Actual
limitation of the TAPI support for Intel boards in the rough
corresponds to support of these boards' features in Windows 95/98,
hence the use of TAPI for the voice application designed for this
operating system does not bring any additional losses of the
functionality.
III. What are the possibilities for the development of the computer telephony applications?
The application developer can choose from the several variants. He/she
can decide to start his/her development based on C/C++ programming
language, based on the special application programming language, based
on the high-level ActiveX components inside his/her favorite visual
development tool, or based on the special graphical application
generators.
The basic Intel SDK for Windows is a part of the system drivers
, that are downloadable from the Intel Website
or to order he original CD-ROM from our company for the minimum fees.
The similar SDKs are also available for the other operating systems
supported by Intel. This SDK contains API functions,
complete online documentation in *.pdf and *.hlp form, the large
variety of the source codes as the samples of each Intel technology
programming - starting with voice and fax features, through
conferencing and routing functions, and ending with the functions for
ISDN, E1 and T1 network interface control. Wide-range API functions are
available only in the form of C headers and import libraries for C/C++
compilers: Microsoft Visual C++ 4.X (and higher) and Borland C++ 4.5
(and higher). It is very difficult to use this interface together with
the other compilers like Borland Delphi, Borland C++ Builder, and
Microsoft Visual Basic. It requires the complete changes of all headers
and import libraries.
The direct use of Intel API should be suggested only to these companies, which can rely on the quality team of very experienced C/C++ programmers. Just the testing and learning of the software control of Intel hardware features and complex understanding of Intel system runtime library models ought to take also several months. It requires at least the partial knowledge of telephone traffic problematic, the initiating of the phone call, communication and control of PBX, hang-up detection etc. If the developer decides to start the direct development based on Intel SDK, he/she may not expect that without any previously built computer telephony applications, he/she would develop his/her own application within a few weeks. And moreover it would not be fail-safe and protected before the any errors and states occurring in the real telephone traffic and line signaling.
Although the direct development based on Intel SDK and C/C++ languages usually does not allow the quick deployment of computer telephony applications and requires the deep knowledge and experiences with C/C++ programming and telecommunication problematic, this disadvantage is replaced with the starting really zero-costs and the runtime licenses zero-costs per channels installed in the customers' systems.
IV. How to create computer telephony applications in Delphi?
Borland Delphi, Microsoft Visual Basic, Borland C++ BuilderTM, It is
just an incomplete list of the today's so popular development tools for
the rapid Windows application programming. Thanks to
the wide-range of the third party additional components and the visual
programming approach, it enables the high abstraction level of the work
with the operating system's API functions as well as the many external
devices. There exist more different ActiveX components from the hottest
worldwide vendors for the high-level Intel hardware control. The
solutions from American company Envox - ActiveX controls set called CT ADE
The use these components
by the any of the visual development tools listed above is the same as
the work with the usage of the other components.
The purchase of these controls requires only one time development license fee. This license allows to develop the unlimited number of application, there is no additional runtime license fee for the really installed channels of the production applications. The features and the controlled hardware types organize these ActiveX controls to voice, fax, ISDN, conferencing, routing, Internet, conversion and support and others ones. The customer can buy only the development licenses for the controls that he/she really needs. He/she need not to buy the complete controls set, moreover, he/she can purchase only the required channel count licenses of each type. If he/she wants to develop and sell only the 8-channel application, he/she will have to buy only 8-channel development license of the required development ActiveX controls. This license policy allows to develop arbitrary number of different up to 8-channel applications, which installation do not require any additional fee to ActiveX control's vendor. These development licenses should be upgraded to the support of higher quantity of the channels.
Both vendors offer also TAPI versions of their ActiveX controls, so it
is possible to develop the applications that works with the powerful
Intel voice boards as well as the common voice modems.
The differences in the offered functions of these two products are not
so big. CT ADE product has got the more consistent design and the
better integration with all the development environments mentioned
above.
The another important features include the support for
the Intel DM/IPLink boards and HMP and Internet telephony solutions based on
them.
Our suggestion for the selection of the ActiveX controls as the right
development tool for computer telephony applications is as follows. If
you have a good experiences in visual programming with any of the
development environments listed above, there would not be any reason
why not to select one of the ActiveX controls set discussed. The
development time is incomparably more rapid than the direct Intel
API programming and thanks the high-level of the abstraction there are
not required so more detailed experiences in telecommunications. The
most of the error states and the signaling is really simply processed
and is very transparent for developer.
From the performance and stability point of view, we suggest these
ActiveX controls sets for the computer telephony applications that
manage up to 48 channels in the single PC. Although each vendor can
declare the support for the rather higher count of channels, based on
the practical results and test, we suggest only this number.
V. Is there any more rapid method to develop computer telephony applications?
The time to markets is in some situations the most dominant factor.
Moreover, the expenses for the in-house well-educated C/C++, Borland
Delphi or Visual Basic programmers may have the important influence.
Not only for these cases, there exist the special graphical development
tools. Their common feature is the visual plug-n-play application
design approach. The help of the power blocks, mouse drags and clicks,
develops the computer telephony applications. The application itself is
in the fact the flowchart and there are directly visible the algorithms
of the voice tasks. The licensing of these products is also the same,
they are all, with slight differences, based on the runtime channels
licenses. The development tool is usually the free-of-charge part of
the purchased runtime licenses. The product differs from each other in
the range of the supported Intel boards features and available
operating systems versions.
The programming based on these development tools is easy, after the
short experiencing, for almost any computer telephony novice, who has
got the deeper experiences with the advanced users' programs like
Microsoft Access.
Have a look on the some typical representatives of this group of the
development tools. The one of the best products from this category is
for example OmniVox from Apex Voice Communication. This tool enables
the high-density channels application development (over 100) in the
single computer running Windows or various UNIX versions.
Especially, Digital UNIX for Digital Alpha Server 3000 allows the
development of highly fault-tolerant industrial applications.
The similar product working only under Microsoft Windows operating
system is ENVOX development tool. Among its unique
characteristics it is one of the most intuitive development
environments with the high level of the communication support. This
product supports TCP/IP communications, e-mails, DHTML, serial port
communication, RAS, as well as DDE communication. It is most suitable
for the unified messaging system development. The another important
feature of this product is also the support of Intel API interface
GlobalCall, that allows virtually unlimited signaling support for T1,
E1 or ISDN digital phone networks. Regarding the performance, there is
not any problem to run the application based on CT-Studio on more than
64 channels in the single PC.
Finally for this development tools group we can summarize that almost everyone should find his/her right development tool inside this part. The costs for the runtime license of the production applications, developed with these graphical application generators is really balanced by the absolute speed-up of the developed application deployment to the market and the reducing of the computer telephony applications development costs.
VI. VOS - the tool which gurus use
The graphical application design need not be the fastest approach in all cases. Although, the visual application design is very fast and intuitive for the beginners, the classical programming direct source code writing approach can be better in some situations. The companies who want really professional focus on the design of the wide variety of the customers' computer telephony applications, especially the solutions for various audiotex services and conferences, need the development tool, that help them with the routine development of such applications. The most applications of this type are very simple and the visual programming should be persuaded as longer by some developers, because of the continual shifting of the hand between the mouse and the keyboard. However, they still require faster and simpler application design than the direct C/C++ programming of Intel API and the better performance and application stability than in the case of ActiveX components used with the standard visual development tools for Windows NT, such as Borland Delphi or Microsoft Visual Basic.
The answer for these demands brings actually the most powerful development tool for the computer telephony application development - VOS from Envox. VOS is the application programming language for the computer telephony applications programming, its syntax is similar to Fox Pro and Basic programming languages. It contains the set of executive functions and commands for the control of every Intel hardware features and their syntax is really intuitive and supports complete hardware features, hereat it is beyond comparable less complicated than the Intel API. The programming is so easy, that the Fox Pro or Basic programmer with the medium knowledge and experiences is able to create the complete audiotex system without any previous knowledge of the telecommunications. Just these capabilities together with the fact that VOS was historically the first development tool for the worldwide leading Intel hardware platform cause, that the most computer telephony systems are developed with this development tool.
The VOS source code is translated to P-code, that is interpreted by the
powerful runtime engine supporting the preemptive multitasking well
tuned just for the computer telephony applications needs. This runtime
engine is written in the high-optimized C language code. Therefore the
VOS applications has the same performance as the similar applications
written in C language in the most powerful Intel API programming
model. It is even true, that the same VOS application runs faster than
the most of direct Intel API C/C++ implementations. Thanks this, VOS
is suitable for the very small-enterprise solution as well as the
high-density industrial solutions running in the single PC.
Each developer must purchase the one-time 8-port development license
for the selected operating system. This license enables to develop
applications running on the unlimited number of channels, however the
debugging and the testing runtime are allowed only for 8 channels. Each
production installation of the developed application requires the
runtime licenses for the exact quantity of the used channels. The costs
for these runtime licenses are really inconsiderable to the timesaving
and the minimum requirements to the telecommunication knowledge.
You can purchase for the marginal additional charge the graphical shell
of VOS for Windows, so called Flow Charter, that enables together
with the classical non-visual application programming also the visual
approach, that is the same as in the group of the graphical application
generators described above. It should be advantage for the beginners
who can use the graphical approach for the development of their
applications or basic skeletons first and then together with gained
better experiences they can switch to the classical programming
approach.
The indispensable advantage of this development tool is the vendor's
guarantee, that they will support every new hardware types and features
from Intel, supported inside the selected operating system. The part
of the development license is the lifetime free of charge technical
support.
Everyone, who is thinking about the professional computer telephony
application development and wants to support high density and fault
tolerant solution and willing to be safe before the unexpected errors
and situations in the real telecommunication traffic, should have
really consider the selection of this development tool. Due its
capabilities, it will not be the investment that should not have been
paid off.
VII. Where to find the additional information?
The goal of this study is not to provide the full description of each alternative to the computer telephony application development. The main aim is to provide the brief compare of the each computer telephony application approach regarding the time and knowledge requirements, development speed and the approximate performance of the created application in the working environment. The basic information related to each development tools you can find at our Web pages.