Events
CallInfoChanged
Parameters: Number: String
Destination: String
This event is triggered when call information is available. Number will be the number and Destination will be
a description of the number, if it's available.
CallStatusChanged
Parameters: Status: String;
StatusDetail: String;
ConferenceReady(Sender: TObject);
Connecting(Sender: TObject);
Disconnecting(Sender: TObject);
DNDClear(Sender: TObject);
DNDFwd(ASender: TObject; const Number: WideString);
DNDOn(Sender: TObject);
ServerShutdown(Sender: TObject);
UpdateStatusFor
Parameters: Extension : String
Status: String
Number: String
Destination: String
Direction: String
Line: String
CallerID: String
CalledID: String
ConnectedID: String
AgentStatus: String
StatusDetail: String
UpdateStatusFor is triggered when there are changes on one of the other extensions monitored by Emerald.
Methods
Dial
Parameters: Number: String
Returns: Nothing
Dial initiates a call from your extension to the specified number. This number
can be an internal extension or external telephone number.
Answer
Parameters: None
Returns: Nothing
Answer causes your telephone to answer the current call. Most digital
phones will switch to speakerphone. With most analog phones, you have
to pick up the handset before the call will be answered. To automatically
pick up an incoming call, wait till you get an OFFERING call state.
Hangup
Parameters: None
Returns: Nothing
Hangup causes your telephone to drop the current call.
RedirectCall
Parameters: Extension: String
Returns: Nothing
RedirectCall allows an application to deflect an incoming call to another
extension without having to answer the call first.
Transfer
Parameters: Extension: String
Returns: Nothing
Transfer transfers the current call to the specified extension. This is an
announced transfer (i.e. you can speak to the destination and decide whether
you want to transfer or not). Unlike RedirectCall, you have to answer the
call first.
TransferBlind
Parameters: Extension: String
TransferBlind transfers the current call to the specified extension. This
is NOT an announced transfer (i.e. you cannot decide whether you want to
transfer or not). Unlike RedirectCall, you have to answer the call first.
Hold
Parameters: OnHold: Boolean
Returns: Nothing
Hold puts the current call on Hold or resumes a call which has been put on
hold.
DND
Parameters: Disturb: Boolean
Returns: Nothing
DND sets the Do-not-disturb status of the current extension. Set Disturb to
True to allow calls through.
PickupCall
Parameters: Extension: String
Returns: Nothing
PickupCall allows the current extension to answer a call ringing on another
extension.
GetExtensionList
Parameters: None
Returns: A pipe-delimited string of the extension descriptions.
GetExtensionList returns a list of the extension descriptions. No
extensions are returned.
GetExtensionByName(UsrName: String): String
ForwardCalls(Number: String)
MakeConferenceCall(Number: String)
AddToConference
CancelTransfer
Parameters: This cancels an announced transfer that is in progress.
GetExtensionStatus
ChangeAgentStatus(Status: String)
ExtDial
Parameters: Extension: String
Number: String
Returns: Nothing
ExtDial will force the specified extension to dial the specified number. Only
extensions monitored by Emerald can be used.
ExtTransferBlind
Parameters: Extension: String
Destination: String
Returns: Nothing
ExtTransferBlind will force the specified extension to do a blind transfer to
the destination. Only extensions monitored by Emerald can be used. Destination
can be any extension or number.
ExtHangup
Parameters: Extension: String
Returns: Nothing
ExtHangup will
Emerald dialer status codes
Const
LINECALLSTATE_IDLE = $00000001;
LINECALLSTATE_OFFERING = $00000002;
LINECALLSTATE_ACCEPTED = $00000004;
LINECALLSTATE_DIALTONE = $00000008;
LINECALLSTATE_DIALING = $00000010;
LINECALLSTATE_RINGBACK = $00000020;
LINECALLSTATE_BUSY = $00000040;
LINECALLSTATE_SPECIALINFO = $00000080;
LINECALLSTATE_CONNECTED = $00000100;
LINECALLSTATE_PROCEEDING = $00000200;
LINECALLSTATE_ONHOLD = $00000400;
LINECALLSTATE_CONFERENCED = $00000800;
LINECALLSTATE_ONHOLDPENDCONF = $00001000;
LINECALLSTATE_ONHOLDPENDTRANSFER = $00002000;
LINECALLSTATE_DISCONNECTED = $00004000;
LINECALLSTATE_UNKNOWN = $00008000;