etLine.Call Properties


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.


etLine.Call.Active

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.

etLine.Call.Address

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.

etLine.Call.BearerMode

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.

etLine.Call.Began

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.

etLine.Call.BusyMode

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.

etLine.Call.CalledID

ActiveX: etLine.CallCalledID
Edition:
Standard, Professional, Enterprise
See Call.CalledID

etLine.Call.CallerID

ActiveX: etLine.CallCallerID
Edition:
Express, Standard, Professional, Enterprise
See
Call.CallerID

etLine.Call.Connected

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.

etLine.Call.ConnectedID

ActiveX: etLine.CallConnectedID
Edition:
Standard, Professional, Enterprise
See
Call.Connected.ID

etLine.Call.Count

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.

etLine.Call.DialToneMode

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.

etLine.Call.Disconnected

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.

etLine.Call.DisconnectMode

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.

etLine.Call.Ended

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.

etLine.Call.ID

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.

etLine.Call.Handle

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

etLine.Call.List

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

etLine.Call.MediaMode

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;

etLine.Call.MonitorDigits.Active

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.

etLine.Call.MonitorMediaModes

etLine.Call.Monitors

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.

etLine.Call.MonitorSilence

ActiveX: etLine.CallMonitorSilence
Edition:
Standard, Professional, Enterprise
See Call.MonitorSilence

etLine.Call.Origin

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.

etLine.Call.OriginatingApp

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.

etLine.Call.Owner

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;

etLine.Call.Owners

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.

etLine.Call.PhoneNumber

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.

etLine.Call.Reason

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.

 

etLine.Call.RedirectingID

ActiveX: etLine.CallRedirectingID
Edition:
Standard, Professional, Enterprise
See Call.RedirectingID

etLine.Call.RedirectionID

ActiveX: etLine.CallRedirectionID
Edition:
Standard, Professional, Enterprise
See Call.RedirectionID

etLine.Call.SpecialInfo

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.

etLine.Call.State

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.

etLine.Call.StateMode

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.

etLine.Call.Tag

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.



etLine Properties - Address etLine Properties - Call.CallerID