Often I get asked the question about how to use an IPBX through WINDEV...
Here's some information on the subject.
First of all, what's an IPBX? In the telecommunications industry an IP BPX (also called an IPBX) is a system used in companies to ensure call routing using the Internet Protocol (IP), internally on the company's local network (LAN) or on its external network (WAN).
Concretely a PBX links a company's phone extensions to the public phone network.
PBXs have evolved and now they let you manage voice over IP (VOIP). They're now named “IPBX”.
An IPBX can manage hundreds or even thousands of calls in a company.
How does it work? All the company's phones are linked to the network, simply by classic RJ-45 network cables.
Each phone is identified by an IP address.
All the phone calls pass through the IPBX, whether they're incoming or outgoing calls.
An IPBX simply establishes the correspondence between an phone number and an IP address.
A computer can communicate with the IPBX thanks to a TAPI driver and therefore manage phones.
How does it work in WINDEV? Thanks to WINDEV's telephony functions, you can make your applications interact with an IPBX.
This way you can process different events such as:
- Detecting an incoming call and knowing it's phone # (
tapiListen function) - Dialing a phone # from an application (
tapiDial function) - Retrieving the call info (the phone # with the
TapiCallerId function ) - Detect when the call was hung up (
tapiCallIsOver function)
ConclusionWINDEV's telephony functions let you execute several procedures:
- Telephone exchange supervision
- Recording a conversation
- Creation a vocal server
- Call monitoring (call schedule statistics, call duration)
- Knowing at any given moment the state of line occupation
- Etc.
WINDEV's telephony functionsThese are the telephony functions that WINDEV offers.
You will notice that these functions are simple, clear and concise!
tapiCallStart
Returns the date and time a call started (incoming or outgoing). tapiCallIsWaiting
Indicates if there's a call waiting. tapiCallIsBusy
Tells you whether the number called is busy. This function can only be used with the current outgoing call. tapiCallEnd
Returns the date and time of the end of call tapiNoAnswer
Tells you whether the call was answered. tapiStop
Forces a pre-recorded message to stop playing (tapiPlay function tapiCapability
Returns the characteristics of a telephony peripheral. tapiLineDial
Dials a phone number for a voice line and chooses the device. TapiCallDuring
Returns the call's duration. TapiRecord
Records the current communication as a .WAV file. tapiError
Specifies if the last tapixxx function (telephony management functions) has returned an error in the TAPI module. tapiCompleteTransfer
Transfers a call (with ability to retrieve the call). TapiStopCallDetection
Stops the incoming call listening service, which started when the tapiListen function was called. tapiPlay
Plays a sound file (.WAV) for the specified line. TapiDeviceList
List of the TAPI 2.0 compatible devices installed on the current station. tapiHold
Puts a call on hold. This call will remain on hold until the tapiUnhold functions is called. TapiCallerId
Identifies the calling number (the one making the call). TapiCalledID
Identifies the telephone number called. TapiSendKeyç
Simulates the use of the phone keys. tapiOrigin
Lets you find out where a call originated from (incoming call, outgoing call, etc.) tapiDevice
Selects the TAPI device that will be used by default. TapiHangUp
Hangs up a phone line opened with the tapiDial function or the tapiAnswerCall function. TapiAnswerCall
The modem picks up and the call can be processed by the modem (using an answering machine for example). tapiunhold
Retrieves a call put on hold. TapiKeyPressed
Gives you the history of the keys pressed on the telephone pad. tapiBlindTransfer
Performs a "blind transfer". The call cannot be retrieved.