Help / WLanguage / WLanguage functions / Communication / Phone functions
  • Differences between tapiDial and tapiLineDial
  • Limitation
  • Required configuration
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
Dials a phone number for a voice line.
WINDEV Remark: By default, the device used is the first TAPI 3.1-compatible device found. A specific device can be selected by tapiDevice. In this case, this specific device will be used.
WINDEV PABX application: With a PABX application, each line appears as a device. Therefore, to dial on a phone line, you must:
  1. Choose the current phone line (tapiDevice).
  2. Number (tapiDial).
To do so, use the tapiLineDial function.
Remark: Depending on the operating system and on the modem driver, a window for call management may be displayed when using tapiDial. This window is used to automatically end the current call.
IF tapiDial(EDT_PhoneNumber, "LineStatus")=True THEN
Info("Click OK to hang up")
PROCÉDURE TestLineStatus(ValueLineStatus is int)
SWITCH ValueLineStatus
CASE tapiLineBusy: Message("The line is busy")
CASE tapiLineConnected: Message("OK, connected")
CASE tapiLineDialing: Message("Dialing in progress")
CASE tapiLineDialTone: Message("Dial tone")
CASE tapiLineDisconnected: Message("The correspondent has hung up")
CASE tapiLineProceeding: Message("Searching for your correspondent")
CASE tapiLineRingBack: Message("Ringing")
<Result> = tapiDial(<Number to dial> [, <WLanguage procedure> [, <Duration> [, <Custom parameter>]]])
<Result>: Boolean
  • True if the line is opened: you can pick up the receiver and talk,
  • False otherwise. To get more details on the error, use tapiError.
<Number to dial>: Character string
Phone number to dial. To specify a prefix (0 for an external line for example), use a comma in the number. For example: "0,0467789066".
<WLanguage procedure>: Optional procedure name
Name of WLanguage procedure used to manage the progress of dialing. For more details on this procedure, see Parameters of the procedure used by tapiDial.
Caution: This procedure must not contain any call to the debugger (no breakpoint, no STOP keyword, no auto-stop expression, etc.).
<Duration>: Optional integer or optional Duration
Maximum wait duration (in seconds). When this timeout is exceeded, the function assumes that there is no response (nobody picked up).
This parameter can be:
  • an integer corresponding to the number of seconds,
  • a Duration variable,
  • the duration in a readable format (e.g., 1 s or 10 ms).
<Custom parameter>: Any type, optional
Parameter passed to the WLanguage procedure.

Differences between tapiDial and tapiLineDial

  • tapiDial is used in the context of a single outgoing call. The identifier of this call is not available.
  • tapiLineDial is used in a context where there may be several simultaneous calls. tapiLineDial returns the call identifier. Therefore, it can be easily handled (to transfer a call for example).


tapiDial cannot be called in the procedure for call detection (defined by tapiListen).

Required configuration

Telephony functions use TAPI 2.0 technology and/or TAPI 3.1 technology. These technologies can be used on all systems.
Component: wd290com.dll
Minimum version required
  • Version 9
This page is also available for…
Click [Add] to post a comment

Last update: 06/27/2023

Send a report | Local help