The etLine component has the following set of Call properties:
Call.Active
Call.Address
Call.BearerMode
Call.Began
Call.BusyMode
Call.CalledID
Call.CallerID
Call.Connected
Call.ConnectedID
Call.Count1
Call.DialToneMode
Call.Disconnected
Call.DisconnectMode
Call.Ended
Call.Handle1
Call.ID
Call.List1
Call.MediaMode
Call.MonitorDigits.Active
Call.MonitorMediaModes
Call.Monitors
Call.MonitorSilence
Call.Origin
Call.OriginatingApp
Call.Owner
Call.Owners
Call.Parameters
Call.PhoneNumber
Call.Reason
Call.RedirectingID
Call.RedirectionID
Call.SpecialInfo
Call.State
Call.StateMode
Call.Tag
1. If you will be working with multipe calls be sure to review Working with Calls in the "Programming With TeleTools" section.
ActiveX: etLine.CallActive
Type: Boolean
When: Run-Time
Read/Write: Read and Write
Edition: Express, Standard, Professional, Enterprise
If this property is true the a call exists. If this property is currently false and is then set
to true causes the Call.Dial method to be called. Setting this property to false when it is currently
true causes the etLine.Call.Hangup property to be called.
The Device.Active property must be set to true before setting this property to true.
ActiveX: etLine.CallAddress
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
For inbound calls, this property indicates the Address.ID to which this call belongs. For outbound
calls, this property may be set before calling the Call.Dial method in order to indicate the line device's
address for which the call will be made. This selects the physical telephone line that is used (for devices
that have multiple lines that are treated as addresses for a single TAPI line device).
See the Address properties for more information.
ActiveX: etLine.CallBearerMode
Type: Integer
When: Run-Time
Read/Write: Read and Write
Edition: Standard, Professional, Enterprise
The current bearer mode of the call. See the property Device.BearerModes for a list of the available
BearerModes.
This property may be set before a call is made with the Call.Dial method or after the OnConnected event has fired. This is useful when making data and fax calls. If the property Call.MediaMode is set to 0 prior to a call to the Call.Dial method, the default media mode and bearer mode is used.
Use the method StringLINEBEARERMODE to decode this value.
ActiveX: etLine.CallBegan
Type: TDateTime
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
This property holds the date and time that the current call began.
Also see the OnCallBegin event.
ActiveX: etLine.CallBusyMode
Type: Integer
When: Run-Time Only
Read/Write: Read
Edition: Express, Standard, Professional, Enterprise
This property holds the busy mode for the current call. This property value is valid only after
the OnBusy event has fired.
Use the method StringLINEBUSYMODE to decode this value.
See the property Address.BusyModes for a list of the available Line Busy Modes.
Also see the OnBusy event.
ActiveX: etLine.CallCalledID
Edition: Standard, Professional, Enterprise
See Call.CalledID
ActiveX: etLine.CallCallerID
Edition: Express, Standard, Professional, Enterprise
See Call.CallerID
ActiveX: etLine.CallConnected
Type: TDateTime
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
This property holds the date and time that the current call was connected (etLine.Call.State =
LINECALLSTATE_CONNECTED).
Also see the OnCallConnected event.
ActiveX: etLine.CallConnectedID
Edition: Standard, Professional, Enterprise
See Call.Connected.ID
ActiveX: etLine.CallCount
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Standard, Professional, Enterprise
This property indicates the number of currently available calls. The etLine.Call.List property
holds the list of currently available call handles.
If you will be working with multiple calls be sure to review Working with Calls in the "Programming With TeleTools" section.
ActiveX: etLine.CallDialToneMode
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
This property holds the dial tone mode for the current call. This property value is valid only
after the OnDialTone event has fired.
Use the method StringLINEDIALTONEMODE to decode this value.
See the property Address.DialToneModes for a list of the available Dial Tone Modes.
Also see the OnDialTone event.
ActiveX: etLine.CallDisconnected
Type: TDateTime
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
This property holds the date and time that the current call was disconnected (etLine.Call.State
= LINECALLSTATE_DISCONNECTED).
Also see the OnCallDisconnected event.
ActiveX: etLine.CallDisconnectMode
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
<Click
here for example>
This property holds the disconnect mode for the current call. This property value is valid only after the OnDisconnect event has fired.
Use the method StringLINEDISCONNECTMODE to decode this value.
See the property Address.DisconnectModes for a list of the available Disconnect Modes.
Also see the OnDisconnect event.
ActiveX: etLine.CallEnded
Type: TDateTime
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
This property holds the date and time that the current call ended.
Also see the OnCallEnd event.
ActiveX: etLine.CallEnded
Type: Integer
When: Run-Time
Read/Write: Read and Write
Edition: Express, Standard, Professional, Enterprise
In some telephony environments, the switch or service provider can assign a unique identifier
to each call. This allows the call to be tracked across transfers, forwards, or other events. The domain
of these call IDs and their scope is service provider-defined.
If this property is set to a valid Call ID then the Call.Handle property will be updated. This is useful when creating and using ExceleTel TeleTools AddOns.
ActiveX: etLine.CallHandle
Type: Integer
When: Run-Time
Read/Write: Read and Write
Edition: Express, Standard, Professional, Enterprise
Set this property to any available call handle, see the etLine.Call.List property for a list of
currently available call handles. The other etLine.Call properties will be updated to contain the information
for the selected call.
If the etLine.OnIdle event fires for the currently selected call, this property will be updated to the first available call.
To create a new call with the etLine.Call.Dial method first set this property to zero. This will be automatically done if you are working with a device that supports only one call.
If you will be working with multiple calls be sure to review Working with Calls in the "Programming With TeleTools" section.
When working with multiple calls the etLine.OnDisconnected event fires set the etLine.Call.Handle property to the value of the event handler routines CallHandle parameter. For example:
Private Sub etLine1_OnDisconnected(ByVal CallHandle As Long)
etLine1.CallHandle = CallHandle
etLine.Call.Hangup
End Sub
When working with multiple calls properties like etLine.Call.MonitorDigits.Active must be set for each call. For example:
Private Sub etLine1_OnConnected(ByVal CallHandle As Long)
etLine1.CallHandle = CallHandle
etLine1.CallMonitorDigitsActive = True
End Sub
ActiveX: etLine.CallList
Type: TStrings
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
This is a list of the available call handles. The etLine.Call.Count property indicates the total
number of available calls.
The call handles are stored as strings in hexadecimal format. Prior to setting the etLine.Call.Handle property with one of these values the value must be converted to an integer. For example in Delphi use the following code:
etLine1.Call.Handle := StrToIntDef('$' + etLine1.Call.List[X]);
The first entry in this list (etLine1.Call.List[0]) has a special purpose. It is used to hold all of the current settings for creating new calls with the etLine.Call.Dial method.
The first available call would be addressed as etLine1.Call.List[1]. The last available call would be addressed as etLine1.Call.List[etLine.Call.Count].
If you will be working with multiple calls be sure to review Working with Calls in the "Programming With TeleTools" section.
The following Visual Basic example shows how to access all of the currently available call handles:
Private Sub etLine1_OnOffering(ByVal CallHandle As Long)
'This routine executes when the etLine.OnOffering event fires
Text1.Text = "OnOffering" & vbCrLf
'Display the handle for the call that this event fired
Text1.Text = Text1.Text & "CallHandle = " & Hex(CallHandle)
& vbCrLf
'Display handle the currently selected call
Text1.Text = Text1.Text & "etLine1.CallHandle = " & Hex(etLine1.CallHandle)
& vbCrLf
'Display the current number of available calls
Text1.Text = Text1.Text & "etLine1.CallCount = " & Str(etLine1.CallCount)
& vbCrLf
'Display the total number of entries in the Call List. Notice that this
value is one more than
'the etLine1.CallCount. Remember that the first entry in the list is always
"00000000"!
Text1.Text = Text1.Text & "etLine1.CallList.Count = " &
Str(etLine1.CallList.Count) & vbCrLf
'List all of the currently available calls. Notice that the first call
in the list is skipped
'because is it always "00000000"
For L = 1 To etLine1.CallCount 'This is the same as For L = 1 To etLine1.CallList.Count
- 1
Text1.Text = Text1.Text & vbTab & etLine1.CallList(L) & vbCrLf
Next L
End Sub
ActiveX: etLine.CallMediaMode
Type: Integer
When: Run-Time
Read/Write: Read and Write
Edition: Express, Standard, Professional, Enterprise
This property holds the media mode for the current call.
This property may be set before a call is made with the Call.Dial method or after the OnConnected event has fired. This is useful when making data and fax calls. If this property value is set to 0 prior to a call to the Call.Dial method then the default media mode and bearer mode are used.
Use the method StringLINEMEDIAMODE to decode this value.
See the Device.MediaModes properties for a list of the available Media Modes.
The following example shows the call being handed off to another application when it is identified to be from a fax machine:
Visual Basic
Private Sub etLine1_OnCallMediaModeChange(ByVal CallHandle As Long)
If ((etLine1.CallMediaMode And LINEMEDIAMODE_G3FAX) <> 0) Then
etLine1.CallHandOff(TextApplication.Text)
End If
End Sub
Delphi
procedure TForm1.etLine1CallMediaModeChange(Sender: TObject; CallHandle: Integer);
begin
if (etLine1.Call.MediaMode and LINEMEDIAMODE_G3FAX) <> 0 then
etLine1.Call.HandOff(EditApplication.Text)
end;
ActiveX: etLine.CallMonitorDigitsActive
Type: Boolean
When: Run-Time
Read/Write: Read and Write
Edition: Standard, Professional, Enterprise
Once a call is connected (the OnConnected event has fired) set this property to true to begin
monitoring for digts. Set it to false to stop monitoring for digits. This property may NOT be set to True
before the call is connected. There is no need to set this property to false at the end of a call.
The OnDigitReceived event fires each time a digit (DTMF tone) is detected.
Note: Some telephony devices support gathing multiple digits, see the etLine.Call.GatherDigits properties.
ActiveX: etLine.CallMonitors
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
This property indicates the number of applications running on the computer that have monitor privileges
the current call. The OnCallInfo event is called when the number of Call.Monitors and Call.Owners changes.
ActiveX: etLine.CallMonitorSilence
Edition: Standard, Professional, Enterprise
See Call.MonitorSilence
ActiveX: etLine.CallOrigin
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
<Click
here for example>
Holds the origin identifier for the current call. This property is set just prior the etLine.OnCallInfo event firing.
Use the method StringLINECALLORIGIN to decode this value.
The following is a list of the available values:
|
LINECALLORIGIN_OUTBOUND |
The call originated from this station as an outgoing call. |
|
LINECALLORIGIN_INTERNAL |
The call originated as an incoming call at a station internal to the same switching environment. |
|
LINECALLORIGIN_EXTERNAL |
The call originated as an incoming call on an external line. |
|
LINECALLORIGIN_UNKNOWN |
The call origin is currently unknown but may become known later. |
|
LINECALLORIGIN_UNAVAIL |
The call origin is not available and will never become known for this call. |
|
LINECALLORIGIN_CONFERENCE |
The call handle is for a conference call, that is, it is the application's connection to the conference bridge in the switch. |
|
LINECALLORIGIN_INBOUND |
The call originated as an incoming call, but the service provider is unable to determine whether it came from another station on the same switch or from an external line. |
ActiveX: etLine.CallOriginatingApp
Type: String
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
This is the name of the application that originated the call.
ActiveX: etLine.CallOwner
Type: Boolean
When: Run-Time
Read/Write: Read and Write
Edition: Express, Standard, Professional, Enterprise
If this property is true then this instance of etLine has owner privileges for this call. If it is false then this instance of etLine only has monitor privileges for this call. This property can be set to change the current privilege. This property is very useful when more than one TAPI application is using the same telephony line device.
The following example shows how to avoid the error "LINEERROR_NOTOWNER" by checking the value of the etLine.Call.Owner property:
Visual Basic
Private Sub etLine1_OnDisconnected(ByVal CallHandle As Long)
If (etLine1.CallOwner) Then
etLine1.CallHangup
End If
End Sub
Delphi
procedure TForm1.etLine1Disconnected(Sender: TObject; CallHandle: Integer);
begin
if etLine1.Call.Owner then
etLine1.Call.Hangup
end;
ActiveX: etLine.CallOwners
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
This property indicates the number of applications running on the computer that have owner privileges
for the current call. The OnCallInfo event is called when the number of Call.Monitors and Call.Owners
changes.
ActiveX: etLine.CallPhoneNumber
Type: String
When: Design-Time and Run-Time
Read/Write: Read and Write
Edition: Express, Standard, Professional, Enterprise
<Click
here for example>
This is the phone number that the Call.Dial and Call.Transfer methods use, it must be set before calling these methods.
If the Device.TranslatePhoneNumber property is set to true, the value of this property is modified according to the dialing properties for the selected Device.ID.
Some TSPs cannot handle phone numbers with any characters other than legal TAPI digits. When Device.UnformatPhoneNumber is set to true, formatting characters such as plus ("+"), open paren ("("), close paren (")"), dash ("-"), and period (".") are stripped from Call.PhoneNumber when the Call.Dial method is called.
The following table is a list of legal digits and their purpose:
|
Digit |
Description |
|
0-9 |
Dialable digits |
|
A-D |
Dialable digits |
|
# |
Dial DTMF "#" |
|
* |
Dial DTMF "*" |
|
T |
DTMF dial subsequent digits |
|
P |
Pulse dial subsequent digits |
|
! |
Hook flash |
|
, |
Pause during dialing |
|
W |
Wait for second dial tone |
|
@ |
Wait for quiet answer |
|
$ |
Wait for "bong" tone |
|
? |
Prompt user before proceeding |
|
E |
Insert country code |
|
F |
Insert area code |
|
G |
Insert subscriber number |
|
H |
Insert calling card number |
|
I |
Insert area code (area codes are optional; used in country entries only) |
Note: When using a Dialogic card you will need to add the capital letter "L" to the begining of the phone number other wise the etLine.OnDialtone event will fire even when a dialtone is not detected. This tells the card to listen for a local dialtone.
When the "L" is added to the phone number the etLine1.CallDialtoneMode will have a value of LINEDIALTONEMODE_NORMAL or LINEDIALTONEMODE_???. If the "L" is not used it will always have a value of LINEDIALTONEMODE_???. The setting for the etLine.DeviceTranslatePhoneNumber and etLine.DeviceUnformatPhoneNumber properties will not cause the "L" to be removed.
ActiveX: etLine.CallReason
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
Holds the reason identifier for the current call. This property is set just prior the etLine.OnCallInfo
event firing.
Use the method StringLINECALLREASON to decode this value.
The following is a list of the available values:
|
LINECALLREASON_DIRECT |
This is a direct incoming or outgoing call. |
|
LINECALLREASON_FWDBUSY |
This call was forwarded from another extension that was busy at the time of the call. |
|
LINECALLREASON_FWDNOANSWER |
The call was forwarded from another extension that didn't answer the call after some number of rings. |
|
LINECALLREASON_FWDUNCOND |
The call was forwarded unconditionally from another number. |
|
LINECALLREASON_PICKUP |
The call was picked up from another extension. |
|
LINECALLREASON_UNPARK |
The call was retrieved as a parked call. |
|
LINECALLREASON_REDIRECT |
The call was redirected to this station. |
|
LINECALLREASON_CALLCOMPLETION |
The call was the result of a call completion request. |
|
LINECALLREASON_TRANSFER |
The call has been transferred from another number. |
|
LINECALLREASON_REMINDER |
The call is a reminder (or "recall") that the user has a call parked or on hold for (potentially) a long time. |
|
LINECALLREASON_UNKNOWN |
The reason for the call is currently unknown but may become known later. |
|
LINECALLREASON_UNAVAIL |
The reason for the call is unavailable and will not become known later. |
|
LINECALLREASON_INTRUDE |
The call intruded onto the line, either by a call completion action invoked by another station or by operator action. Depending on switch implementation, the call may appear either in the connected state, or conferenced with an existing active call on the line. |
|
LINECALLREASON_PARKED |
The call was parked on the address. Usually, it appears initially in the onhold state. |
|
LINECALLREASON_CAMPEDON |
The call was camped on the address. Usually, it appears initially in the onhold state, and can be switched to using lineSwapHold. If an active call becomes idle, the camped-on call may change to the offering state and the device start ringing. |
|
LINECALLREASON_ROUTEREQUEST |
The call appears on the address because the switch needs routing instructions from the application. The application should examine the CalledID member in LINECALLINFO, and use the lineRedirect function to provide a new dialable address for the call. If the call is to be blocked instead, the application may call lineDrop. If the application fails to take action within a switch-defined timeout period, a default action is taken. |
ActiveX: etLine.CallRedirectingID
Edition: Standard, Professional, Enterprise
See Call.RedirectingID
ActiveX: etLine.CallRedirectionID
Edition: Standard, Professional, Enterprise
See Call.RedirectionID
ActiveX: etLine.CallSpecialInfo
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Standard, Professional, Enterprise
Holds the special inforamtion identifier for the current call. This property is set just prior
the etLine.OnCallInfo and OnSpecialInfo events firing. This is useful for detecing the special information
tone returned by the phone company.
Use the method StringLINESPECIALINFO to decode this value.
The following is a list of the available values:
|
LINESPECIALINFO_NOCIRCUIT |
This special information tone precedes a no circuit or an emergency announcement (trunk blockage category). |
|
LINESPECIALINFO_CUSTIRREG |
This special information tone precedes a vacant number, AIS, Centrex number change and nonworking station, access code not dialed or dialed in error, or manual intercept operator message (customer irregularity category). LINESPECIALINFO_CUSTIRREG is also reported when billing information is rejected and when the dialed address is blocked at the switch. |
|
LINESPECIALINFO_REORDER |
This special information tone precedes a reorder announcement (equipment irregularity category). LINESPECIALINFO_REORDER is also reported when the telephone is kept offhook too long. |
|
LINESPECIALINFO_UNKNOWN |
Specifics about the special information tone are currently unknown but may become known later. |
|
LINESPECIALINFO_UNAVAIL |
Specifics about the special information tone are unavailable and will not become known. |
ActiveX: etLine.CallState
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
<Click
here for example>
Holds the state identifier for the current call. This property is set just prior the etLine.OnCallInfo event firing.
Use the method StringLINECALLSTATE to decode this value.
See the property Address.CallStates for a list of the available Call States.
ActiveX: etLine.CallStateMode
Type: Integer
When: Run-Time
Read/Write: Read Only
Edition: Express, Standard, Professional, Enterprise
Holds the state mode identifier for the current call. This property is set just prior the etLine.OnCallInfo
event firing. Not all states have a corresponding state mode. For example, LINECALLSTATE_OFFERING does
not have a corresponding state mode. The state LINECALLSTATE_DISCONNECTED possible state modes are listed
in the property Address.DisconnectModes, and in this case, the Call.DisconnectMode is equivalent to the
Call.StateMode property.
Use the method StringLINECALLSTATEMODE to decode this value.
ActiveX: etLine.CallTag
Type: Integer
When: Design-Time and Run-Time
Read/Write: Read and Write
Edition: Express, Standard, Professional, Enterprise
<Click
here for example>
This is property is similar to the Tag property available with most controls. This property was created to help in the creation of a state machine. A simple example of this can be found in the IVR4Line sample program.