2009/05/31
目標(biāo)功能
在Delphi中實(shí)現(xiàn)來(lái)話通知和電話應(yīng)答。
Delphi調(diào)用實(shí)例
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, MSIProj_TLB;
type
TForm1 = class(TForm)
MSIX1: TMSIX;
ButtonInit: TButton;
ButtonLogin: TButton;
ButtonAnswer: TButton;
procedure MSIX1CallIncome(ASender: TObject; const AlertingDN,
CallingDN, UUD: WideString);
procedure MSIX1Login(ASender: TObject; MsgID, SuccFlag: Integer;
const ErrorCause: WideString; AgentID: Integer);
procedure ButtonInitClick(Sender: TObject);
procedure ButtonLoginClick(Sender: TObject);
procedure ButtonAnswerClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.MSIX1CallIncome(ASender: TObject; const AlertingDN,
CallingDN, UUD: WideString);
begin
MessageDlg('來(lái)電話了!', mtInformation, [mbOk], 0);
end;
procedure TForm1.MSIX1Login(ASender: TObject; MsgID, SuccFlag: Integer;
const ErrorCause: WideString; AgentID: Integer);
begin
if (SuccFlag = 0) then
MessageDlg('登錄成功!', mtInformation, [mbOk], 0)
else
MessageDlg('登錄失敗!'+MSIX1.GetLastErrorCauseDesc, mtInformation, [mbOk], 0);
end;
procedure TForm1.ButtonInitClick(Sender: TObject);
begin
MSIX1.SetConnInfo('192.168.1.1', 10089);
MSIX1.SetDN('1000');
MSIX1.Start();
end;
procedure TForm1.ButtonLoginClick(Sender: TObject);
begin
MSIX1.Login(0, 1000, 1, 0, '2000', '5', 'xms', '');
end;
procedure TForm1.ButtonAnswerClick(Sender: TObject);
var
ret: integer;
begin
ret := MSIX1.SetHookStatus(0, 2);
if (ret = 0) then
MessageDlg('摘機(jī)成功!', mtInformation, [mbOk], 0)
else
MessageDlg('摘機(jī)失!'+MSIX1.GetLastErrorCauseDesc, mtInformation, [mbOk], 0);
end;
end.
說(shuō)明:
- 先初始化控件,然后登錄座席,登錄成功后打內(nèi)線電話1000或通過(guò)ACD分配到1000,應(yīng)答來(lái)話即可;
- SetConnInfo/SetDN/Start等函數(shù)都有事件返回,可判斷是否成功;
- 具體API以及事件的用法請(qǐng)參考開(kāi)發(fā)文檔。
CTI論壇報(bào)道

