




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Amany API 应用开发指南应用开发指南 Version 1.0 上上 海海 声声 通通 信信 息息 科科 技技 有有 限限 公公 司司 2019 年 4 月 7 日 Amany API 开发指南 第 1 页 共 32 页 目目 录录 1必要的运行库必要的运行库.3 2运行模式运行模式.4 3接口说明接口说明.4 3.1AMANYCONNECT.4 3. 1.1输入参数4 3. 1.2返回值4 3. 1.3示例5 3. 1.4描述5 3.2AMANYSHUTDOWN5 3.2.1输入参数5 3.2.2返回值6 3.2.3示例6 3.2.4描述6 3.3AMANYGETMESSAGE6 3.3.1输入参数6 3.3.2返回值7 3.3.3示例7 3.3.4描述7 3.4AMANYLOGIN8 3.4.1输入参数8 3.4.2返回值8 3.4.3示例8 3.4.4描述9 3.5AMANYLOGOUT.9 3.5.1输入参数9 3.5.2返回值9 3.5.3示例9 3.5.4描述9 3.6AMANYCHANGEAGENTSTATUS.10 3.6.1输入参数10 3.6.2返回值10 3.6.3示例10 3.6.4描述10 3.7AMANYANSWERCALL11 3.7.1输入参数11 3.7.2返回值11 3.7.3示例11 3.7.4描述11 3.8AMANYHANGUPCALL12 3.8.1输入参数12 3.8.2返回值12 3.8.3示例12 3.8.4描述12 3.9AMANYMAKECALL13 3.9.1输入参数13 3.9.2返回值13 Amany API 开发指南 第 2 页 共 32 页 3.9.3示例13 3.9.4描述13 3.10AMANYTRANSFERCALL.14 3.10.1输入参数14 3.10.2返回值14 3.10.3示例14 3.10.4描述14 3.11AMANYCONFERENCECALL15 3.11.1输入参数15 3.11.2返回值15 3.11.3示例15 3.11.4描述15 3.12AMANYCANCEL.16 3.12.1输入参数16 3.12.2返回值16 3.12.3示例16 3.12.4描述16 3.13AMANYSENDTXTMESSAGE.17 3.13.1输入参数17 3.13.2返回值17 3.13.3示例17 3.13.4描述17 3.14AMANYCHANGEPASSWORD.18 3.14.1输入参数18 3.14.2返回值18 3.14.3示例18 3.14.4描述18 3.15AMANYMONITOR.19 3.15.1输入参数19 3.15.2返回值19 3.15.3示例19 3.15.4描述19 3.16AMANYUNMONITOR20 3.16.1输入参数20 3.16.2返回值20 3.16.3示例20 3.16.4描述20 3.17AMANYGETLEAVECAUSES21 3.17.1输入参数21 3.17.2返回值21 3.17.3示例21 3.17.4描述21 3.18AMANYIVRTRANSFERCALL21 3.18.1输入参数21 3.18.2返回值22 3.18.3示例22 3.18.4描述23 3.19AMANYIVRCANCELTRANSFER23 3.19.1输入参数23 3.19.2返回值23 3.19.3示例23 Amany API 开发指南 第 3 页 共 32 页 3.19.4描述24 3.20AMANYTRACESETTING24 3.20.1输入参数24 3.20.2返回值24 3.20.3示例24 3.20.4描述25 4FOR C+ DEVELOPER25 4.1需要引用的头文件.25 4.2需要连接的库文件.25 5消息格式说明消息格式说明.25 6事件代码说明事件代码说明.26 7事件的有效字段事件的有效字段.27 8消息流程消息流程.30 Amany API 开发指南 第 4 页 共 32 页 1必要的运行库必要的运行库 文件名文件名描述描述 SocketClient.dllAPI 入口入口 SocketCommon.dllAmany 异步客户端异步客户端 VSBase.dllVoiceComm 基础库基础库 VSPDU.dllVoiceComm 基础库基础库 VSSocket.dllVoiceComm 基础库基础库 2运行模式运行模式 除了 AmanyConnect 和 AmanyShutdown 其他的所有 API 都采用异步调用的模式 来自服务器的所有数据,都需要调用 AmanyGetMessage 获取,这包括异步函数在服务器 上的运行结果 所有来自 AmanyGetMessage 的数据,头 4 个字节表示该数据包的类别,不同的类别需要 不同的处理,否则后果将无法预料。请参照 PDU.H 中的定义 3接口说明接口说明 本接口提供在 座席管理,话务管理以及 IVR 三个层面需要使用的基本功能。 3.1AmanyConnect 3. 1.1输入参数输入参数 名称类型描述 AddressConst char *存放服务器地址的字符串 PORTUnsigned integer服务器监听的端口号 说明: Address 可以是 IP 地址,机器名和域名 3. 1.2返回值返回值 INTEGER 类型 Amany API 开发指南 第 5 页 共 32 页 0 表示连接成功 非 0 表示连接失败 3. 1.3示例示例 1、Vc+示例: BOOL CDemoAgentDlg:ConnectTo(LPCSTR IP,LPCSTR PORT) CString x; x.Format(“Trying to connect to %s on the port:%s.“,IP,PORT); ShowMSG(LPCSTR(x),DEMODLG_MSG_INFO); if(:AmanyConnect(IP,atoi(PORT) = 0) ShowMSG(“Connection has been established.“,DEMODLG_MSG_INFO); else ShowMSG(“Failed to make SOCKET connection.“,DEMODLG_MSG_ERROR); return TRUE; 2、Delphi 示例: function AmanyConnect(lpszAddress: PChar; nPort: Integer): Integer; stdcall; external SocketClient.dll; ret := AmanyConnect(Pchar(CTIServer),Pchar(CTIPort)); if ret ShowMSG(“GetMessage TimeOut“); continue; Delphi 示例: function AmanyGetMessage(pBuf: Pointer;nTimeOut: integer ): Integer; stdcall; external SocketClient.dll; begin try FillChar(Pt0, 5000, 0); if AmanyGetMessage(Pt0,5000) 0 then continue; HandleMessage(pt0); except Continue; end; sleep(100); end; 3.3.4 描述描述 调用该接口需要调用方开辟内存空间,调用时 API 将写入消息包数据 Amany API 开发指南 第 8 页 共 32 页 建议使用一个独立线程专门调用该方法获取服务器数据包 缓冲区的大小至少是 9000 字节 3.4AmanyLogin 3.4.1 输入参数输入参数 名称类型描述 agentIDConst char *需要登陆的 AgentID AgentGroupIDConst char *需要登陆的组号。 DeviceAddressConst char *需要使用的设备号 passwordConst char *登陆密码 说明: AgentGroupID 如果是空串,就是登陆所有可以使用的组 3.4.2 返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.4.3 示例示例 1、Vc+示例: BOOL CDemoAgentDlg:Login ( const char* agentID, const char*agentGroupID, const char*deviceAddress, const char*password ) :AmanyLogin(agentID,agentGroupID,deviceAddress,password); m_szAgentID = agentID; m_szDeviceID = deviceAddress; ShowMSG(“Login data has been sent,wait for response.“); return TRUE; Amany API 开发指南 第 9 页 共 32 页 3.4.4 描述描述 该操作仅用来向服务器提交登陆请求 是否登陆成功,需要解析 AmanyGetMessage 得来的数据包 3.5AmanyLogout 3.5.1 输入参数输入参数 名称类型描述 agentIDConst char *需要登出的 AgentID 3.5.2 返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.5.3 示例示例 1、Vc+示例: BOOL CDemoAgentDlg:Logout(const char* agentID) :AmanyLogout(agentID); ShowMSG(“Requirement data has been sent,wait for response.“); return TRUE; 3.5.4 描述描述 该操作仅用来向服务器提交登出请求 是否登出成功,需要解析 AmanyGetMessage 得来的数据包 该功能可以实现座席自己的登出或者班长席的注销座席功能 Amany API 开发指南 第 10 页 共 32 页 3.6AmanyChangeAgentStatus 3.6.1 输入参数输入参数 名称类型描述 agentIDConst char *需要改变状态的 AgentID stateUnsigned Integer目标状态标识 descriptionConst char *状态改变的原因描述 说明: state 值域,请参照 pdu.h 中的 AgentStateEnum 枚举定义 description 的长度不能超过 20 字节 3.6.2 返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.6.3 示例示例 1、Vc+示例: BOOL CDemoAgentDlg:ChangeStatus ( unsigned char state , char * description ) :AmanyChangeAgentStatus(LPSTR(LPCSTR(m_szAgentID),state,description); ShowMSG(“Trying to change the cuurent status,wait for response.“); return TRUE; 3.6.4 描述描述 该操作仅用来向服务器提交状态改变请求 是否改变成功,需要解析 AmanyGetMessage 得来的数据包 Amany API 开发指南 第 11 页 共 32 页 3.7AmanyAnswerCall 3.7.1 输入参数输入参数 名称类型描述 agentIDConst char *需要接听电话的 AgentID callIDUnsigned IntegerAgent 需要接听的 calleID 说明: called 来自服务器发往客户端的 INBOUNDCALL 包 3.7.2 返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.7.3 示例示例 Vc+示例: BOOL CDemoAgentDlg:AnswerCall() :AmanyAnswerCall(LPSTR(LPCSTR(m_szAgentID),m_nCurCallID); ShowMSG(“Answer Call data sended successfully.“); return TRUE; 3.7.4 描述描述 该操作仅用来向服务器提交电话接听请求 没有收到 INBOUNDCALL 包之前,请不要调用该功能 接听成功,解析 AmanyGetMessage 时能得到来自服务器的 TPANSWERED 包 否则,会收到来自服务器的 CALLIDLE 包 Amany API 开发指南 第 12 页 共 32 页 3.8AmanyHangupCall 3.8.1 输入参数输入参数 名称类型描述 agentIDConst char *需要挂断电话的 AgentID callIDUnsigned IntegerAgent 需要挂断的 calleID 说明: called 来自服务器发往客户端的 INBOUNDCALL 包 3.8.2 返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.8.3 示例示例 Vc+示例: BOOL CDemoAgentDlg:HangUpCall() :AmanyHangupCall(LPSTR(LPCSTR(m_szAgentID),m_nCurCallID); ShowMSG(“Hang Up Call data sended successfully.“); return TRUE; 3.8.4 描述描述 该操作仅用来向服务器提交电话挂断请求 可以在通话进行时使用 可以在拨号进行时使用 没有收到 INBOUNDCALL 包之前,请不要调用该功能 挂断成功和失败,解析 AmanyGetMessage 时能都会得到来自服务器的 CALLIDLE 包 Amany API 开发指南 第 13 页 共 32 页 3.9AmanyMakeCall 3.9.1 输入参数输入参数 名称类型描述 agentIDConst char *需要拨打电话的 AgentID callIDUnsigned Integer destinationConst char *被呼叫的设备号 applicationDataConst char *随线数据 说明: called 参数没有用处,下个版本中可能会被取消,建议使用 0 传入 applicationData 长度不能超过 512 字节 3.9.2 返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.9.3 示例示例 Vc+示例: BOOL CDemoAgentDlg:MakeCall(char * dest,char * data) :AmanyMakeCall(LPSTR(LPSTR(LPCSTR(m_szAgentID),m_nCurCallID,dest,data); CString msg; msg.Format(“Make call to %s ,wait for reponse.“,dest); ShowMSG(LPCSTR(msg); return TRUE; 3.9.4 描述描述 该操作仅用来向服务器提交电话呼叫请求 对方接通电话,解析 AmanyGetMessage 时会得到来自服务器的 TPANSWERED 包 要取消拨号,直接调用 AmanyHangupCall Amany API 开发指南 第 14 页 共 32 页 3.10 AmanyTransferCall 3.10.1输入参数输入参数 名称类型描述 AgentIDConst char *需要转移电话的 AgentID CallIDUnsigned IntegerAgent 需要转移的 calleID DestinationConst char *转移目的地的设备号 applicationDataConst char *随线数据 IsBlindBoolean是否是 Blind Transfer 说明: applicationData 长度不能超过 512 字节 3.10.2 返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.10.3示例示例 Vc+示例: BOOL CDemoAgentDlg:TransferCall(char * dest,char * data) :AmanyTransferCall(LPSTR(LPSTR(LPCSTR(m_szAgentID),m_nCurCallID,dest,data,0); CString msg; msg.Format(“Transfer call to %s ,wait for reponse.“,dest); ShowMSG(LPCSTR(msg); return TRUE; 3.10.4描述描述 该操作仅用来向服务器提交电话转移请求 请在收到 TPANSWERED 包之后,确认电话接通之后调用 目的地址接通电话,解析 AmanyGetMessage 时会得到来自服务器的 ID_TRANSFERRED 和 CALLIDLE 包,表明处理成功,本线处于空闲状态 目的地址没有接通电话之前,可以调用 AmanyCancel 取消转移操作,保持当前的通话状 Amany API 开发指南 第 15 页 共 32 页 态 3.11 AmanyConferenceCall 3.11.1输入参数输入参数 名称类型描述 agentIDConst char *需要做三方会话的 AgentID callIDUnsigned IntegerAgent 需要三方的 calleID destinationConst char *第三方的设备号 applicationDataConst char *随线数据 说明: applicationData 长度不能超过 512 字节 3.11.2 返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.11.3示例示例 Vc+示例: BOOL CDemoAgentDlg:ConferenceCall(char * dest,char * data) :AmanyConferenceCall(LPSTR(LPSTR(LPCSTR(m_szAgentID),m_nCurCallID,dest,data); CString msg; msg.Format(“Make conference call to %s ,wait for reponse.“,dest); ShowMSG(LPCSTR(msg); return TRUE; 3.11.4描述描述 该操作仅用来向服务器提交电话会议请求 请在收到 TPANSWERED 包之后,确认电话接通之后调用 第三方接通电话,解析 AmanyGetMessage 时会得到来自服务器的 CONFERENCED 包, 表明处理成功,三方会话建立 第三方没有接通电话之前,可以调用 AmanyCancel 取消会议操作,回到当前的通话状态 Amany API 开发指南 第 16 页 共 32 页 3.12 AmanyCancel 3.12.1输入参数输入参数 名称类型描述 agentIDConst char *需要做取消操作的 AgentID callIDUnsigned IntegerAgent 需要三方的 calleID requestTypeUnsigned Integer需要取消的操作标识 requestIDUnsigned Integer随线数据 说明: requestType 目前都传值 ID_TRANSFERCALL 3.12.2返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.12.3示例示例 Vc+示例: BOOL CDemoAgentDlg:Cancel() :AmanyCancel(LPSTR(LPSTR(LPCSTR(m_szAgentID),m_nCurCallID,ID_TRANSFERCAL L,0); ShowMSG(“Trying to Cancel last operation“,DEMODLG_MSG_WARNING); return TRUE; 3.12.4描述描述 该操作仅用来向服务器提交会议或转移的取消请求 仅仅支持 AmanyTransferCall 和 AmanyConferenceCall 操作的取消 调用结束,剩下的事情就是等待服务器的消息,成功会收到返回原状态的信息,失败就是 前一步处理的成功 Amany API 开发指南 第 17 页 共 32 页 3.13 AmanySendTXTMessage 3.13.1输入参数输入参数 名称类型描述 senderAgentIDConst char *需要发送消息的 AgentID addressConst char *接收消息的设备号 messageConst char *消息内容 说明: message 长度不能超过 512 字节,否则会被截断 3.13.2返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.13.3示例示例 Vc+示例: BOOL CDemoAgentDlg:SendTXTMessage ( const char*address, const char* message ) :AmanySendTXTMessage(LPSTR(LPCSTR(m_szAgentID),address,message); ShowMSG(“Data sended.“); return TRUE; 3.13.4描述描述 该操作仅用来向服务器提交消息发送的请求 服务器不保证消息能准确发送到目的地址,例如不在线的情况,也不会为发送方提供消息 发送报告 Amany API 开发指南 第 18 页 共 32 页 3.14 AmanyChangePassword 3.14.1输入参数输入参数 名称类型描述 agentIDConst char *需要修改密码的 AgentID oldPasswordConst char *旧密码 newPasswordConst char *新密码 说明: newPassword 不能低于 4 个字节 oldPassword 和 newPassword 最长 8 个字节 3.14.2返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.14.3示例示例 Vc+示例: BOOL CDemoAgentDlg:ChangePassword ( const char*oldpwd, const char* newpwd ) :AmanyChangePassword(LPSTR(LPSTR(LPCSTR(m_szAgentID),oldpwd,newpwd); ShowMSG(“Command change password sended ,wait for reponse.“); return TRUE; 3.14.4描述描述 该操作仅用来向服务器提交密码修改的请求 修改成功,解析 AmanyGetMessage 时会得到来自服务器的 ID_CHANGEPASSWORD 包 修改失败,则会收到 ID_ERROR 包 Amany API 开发指南 第 19 页 共 32 页 3.15 AmanyMonitor 3.15.1输入参数输入参数 名称类型描述 AgentIDConst char *需要使用监控功能的班长席的 AgengID deviceIDConst char *需要监控的设备号, NULL 表示监控所有设备 说明: 对于 IVR ,使用空串作为 AgentID 参数 3.15.2返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.15.3示例示例 Vc+示例: BOOL CDemoAgentDlg:Monitor ( const char*deviceID ) :AmanyMonitor(LPSTR(LPCSTR(m_szAgentID),deviceID); ShowMSG(“MONITOR mode function started.“); return TRUE; 3.15.4描述描述 该操作仅用来向服务器提交监控请求 是否监听成功,需要解析 AmanyGetMessage 得来的数据包 监控成功后,服务器将向调用端发送需要监控的数据,同样是在 AmanyGetMessage 中得 到 面向班长席,IVR 和监控程序使用 Amany API 开发指南 第 20 页 共 32 页 3.16 AmanyUnMonitor 3.16.1输入参数输入参数 名称类型描述 AgentIDConst char *需要使用监控功能的班长席的 AgengID deviceIDConst char *需要监控的设备号, NULL 表示监控所有设备 说明: 对于 IVR ,使用空串作为 AgentID 参数 3.16.2返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.16.3示例示例 Vc+示例: BOOL CDemoAgentDlg:UnMonitor ( const char*deviceID ) :AmanyUnMonitor(LPSTR(LPCSTR(m_szAgentID),deviceID); ShowMSG(“MONITOR mode function stopped.“); return TRUE; 3.16.4描述描述 该操作仅用来向服务器提交监控中止的请求 是否监听成功,需要解析 AmanyGetMessage 得来的数据包 面向班长席,IVR 和监控程序使用 Amany API 开发指南 第 21 页 共 32 页 3.17 AmanyGetLeaveCauses 3.17.1输入参数输入参数 无 3.17.2返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.17.3示例示例 Vc+示例: BOOL CDemoAgentDlg:GetLeaveReason() :AmanyGetLeaveCauses(); ShowMSG(“Get Leave Cause data sent.“); return TRUE; 3.17.4描述描述 该操作仅用来向服务器提交获取座席离开原因列表的请求 该操作只适用于 Agent 客户端 服务器收到该请求后,会向客户端发送 ID_LEAVECAUSE 包,包括了所有可以使用的原 因列表 该列表中的内容用来在调用 AmanyChangeAgentStatus 时作为 description 参数内容传入 Agent 可以使用不在原因列表中的其他原因 3.18 AmanyIVRTransferCall 3.18.1输入参数输入参数 名称类型描述 deviceAddressConst char *IVR 占用的设备号 Amany API 开发指南 第 22 页 共 32 页 destinationConst char *转移目的地的设备号 applicationDataConst char *随线数据 isBlindTransferBoolean是否是 Blind Transfer 说明: IsBlindTransfer 的缺省值是 FALSE DeviceAddress 和 destination 的最大长度是 16 个字节 ApplicationData 的最大长度是 1k 3.18.2返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.18.3示例示例 Vc+示例: CLIENT_API int _stdcall AmanyIVRTransferCall ( char*deviceAddress , char*destination , char*applicationData , uint timeout , bool isBlindTransfer ) if(deviceAddress=NULL | destination=NULL | strlen(deviceAddress)=0 | strlen(destination)=0) return -1; TransferCallPdu buf; memset( /Populate the data buf.eventID = ID_TRANSFERCALL; strncpy(buf.deviceAddress, deviceAddress, MAX_ADDRESS); strncpy(buf.destination,destination,MAX_ADDRESS); if(applicationData != NULL) strncpy(buf.applicationData,applicationData,MAX_APPDATA); buf.timeout = timeout; buf.isBlind = isBlindTransfer; SocketClient:Instance().SendPdu( return 0; Amany API 开发指南 第 23 页 共 32 页 3.18.4描述描述 该操作仅用来向服务器提交 IVR 的呼叫转移请求 仅限于 IVR 使用 3.19 AmanyIVRCancelTransfer 3.19.1输入参数输入参数 名称类型描述 deviceAddressConst char *IVR 占用的设备号 说明: deviceAddress 的最大长度是 16 个字节 . 3.19.2返回值返回值 NTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.19.3示例示例 Vc+示例: CLIENT_API int _stdcall AmanyIVRCancelTransfer ( char*deviceAddress ) if(deviceAddress=NULL | strlen(deviceAddress)=0) return -1; CancelPdu buf; memset( /Populate the data buf.eventID = ID_CANCEL; strncpy(buf.deviceAddress, deviceAddress, MAX_ADDRESS); buf.requestType = ID_TRANSFERCALL; /Send it SocketClient:Instance().SendPdu( Amany API 开发指南 第 24 页 共 32 页 return 0; 3.19.4描述描述 该操作仅用来向服务器提交会议或转移的取消请求 取消成功与否都在于服务器都处理,IVR 不必监控随后的消息,服务器会根据处理结果使 线路处于相应状态 3.20 AmanyTraceSetting 3.20.1输入参数输入参数 名称类型描述 traceOnconst bool目前未使用 traceSettingConst unsigned int日志类型复合标记 说明: traceOn 目前请传入 TRUE traceSetting.的组合值参见 pdu.h 3.20.2返回值返回值 INTEGER 类型 0 表示请求发送成功 非 0 表示请求发送失败 3.20.3示例示例 Vc+示例: CLIENT_API int _stdcall AmanyTraceSetting ( const bool traceOn, const uint traceSetting ) TraceSettingPdu pdu; pdu.eventID = ID_TRACESETTING; pdu.traceOn = traceOn; pdu.traceSetting = traceSetting; Amany API 开发指南 第 25 页 共 32 页 SocketClient:Instance().SendPdu( return 0; 3.20.4描述描述 该操作仅用来向服务器修改日志记录内容的请求 服务器不向调用端反馈任何消息 该操作仅面向 AMANY CTI 系统管理端使用 4For C+ Developer 4.1需要引用的头文件需要引用的头文件 文件名文件名描述描述 clientAPI.h定义了所有接口定义了所有接口 Pdu.h定义了所有的消息包结构定义了所有的消息包结构 AmanyCommon.h定义了定义了 Amany 系统的全局宏和需要引用的标准库系统的全局宏和需要引用的标准库 需要显式引用的文件只有一个 clientAPI.h, 它自己引用了另外两个头文件 4.2需要连接的库文件需要连接的库文件 文件名文件名描述描述 SocketClient.lib需要连接的唯一库文件,仅导出必要的需要连接的唯一库文件,仅导出必要的 API 接口接口 5消息格式说明消息格式说明 NotificationPdu 字段字段说明说明 eventID事件代码 callID呼叫句柄 oldcallID原呼叫句柄,用于三方会话 callState当前呼叫状态,参见 Pdu.h 中 CallStateEnum 定义 Amany API 开发指南 第 26 页 共 32 页 callType呼叫类型,参见 Pdu.h 中 CallTypeEnum 定义 originalCallingParty原主叫号码 originalCalledParty原被叫号码 currentCallingParty当前主叫号码 currentCalledParty当前被叫号码 monitorParty监控的分机号码 agentStatus话务员状态 isMonitor话务员是否班长席 agentID话务员工号 applicationData应用数据 errorCode错误代码,参见 Pdu.h 中 ErrorCodeEnum ConnectionStatePdu 字段字段说明说明 eventID事件代码 state链路连接状态,0 表示连接, 1 表示断开 AgentStatusPdu 字段字段说明说明 eventID事件代码 agentID话务员工号 agentName话务员姓名 deviceAddress话务员当前登录分机号 loginTime登录时间 state话务员当前状态,参见AgentStateEnum cause状态为离开时的具体离开原因 DeviceStatusPdu 字段字段说明说明 eventID事件代码 deviceAddress设备分机号码 typeIVR, 座席 state设备当前状态, 空闲, 占用 6事件代码说明事件代码说明 事件代码事件代码对应对应 Pdu说明说明 ID_AGENTLOGGEDONNotificationPdu话务员登录成功 ID_AGENTLOGGEDOFFNotificationPdu话务员登出成功 ID_AGENTSTATUSCHANGEDNotificationPdu话务员更改当前状态 ID_CALLINFORMATIONNotificationPdu呼出时的呼叫信息 ID_DESTBUSYNotificationPdu呼出对方遇忙 ID_DESTINVALIDNotificationPdu呼出号码无效 Amany API 开发指南 第 27 页 共 32 页 ID_ERRORNotificationPdu错误代码 ID_INBOUNDCALLNotificationPdu电话呼入 ID_OFFHOOKNotificationPdu对方振铃 ID_TPANSWEREDNotificationPdu呼入电话已应答 ID_TPCONFERENCEDNotificationPdu三方会话建立 ID_TPDISCONNECTEDNotificationPdu本方电话挂机 ID_TPSUSPENDEDNotificationPdu呼叫被保持 ID_TPRETRIEVEDNotificationPdu保持呼叫重新接通 ID_CALLIDLENotificationPdu呼叫已经释放 ID_TRANSFEREDNotificationPdu呼叫转移成功 ID_DIALTONENotificationPdu外呼开始拨号 ID_HOLDCONFNotificationPdu三方会话建立中,原呼叫已 被保持 ID_DEVICESTATUSDeviceStatusPdu当前分机设备状态 ID_CONNECTIONSTATEConnectionStatePdusocket 连接状态更改 ID_AGENTSTATUSAgentStatusPdu话务员状态更新广播 7事件的有效字段事件的有效字段 ID_AGENTLOGGEDON ,NotificationPdu 字段字段说明说明 eventIDID_AGENTLOGGEDON agentStatusAGENT_LOGIN isMonitor1 班长席, 0 普通座席 agentID话务员工号 monitorParty当前登录分机号码 ID_AGENTLOGGEDOFF ,NotificationPdu 字段字段说明说明 eventIDID_AGENTLOGGEDOFF agentStatusAGENT_LOGOUT agentID话务员工号 monitorParty当前登录分机号码 ID_AGENTSTATUSCHANGED ,NotificationPdu 字段字段说明说明 eventIDID_AGENTSTATUSCHANGED agentStatus话务员当前状态 agentID话务员工号 monitorParty当前登录分机号码 Amany API 开发指南 第 28 页 共 32 页 ID_CALLINFORMATION ,NotificationPdu 字段字段说明说明 eventIDID_CALLINFORMATION callID呼叫句柄 currentCallingParty当前主叫号码 currentCalledParty当前被叫号码 originalCallingParty原主叫号码 originalCalledParty原被叫号码 applicationData应用数据 monitorParty监控的分机号码 ID_DESTBUSY ,NotificationPdu 字段字段说明说明 eventIDID_DESTBUSY callID呼叫句柄 monitorParty监控的分机号码 ID_DESTINVALID ,NotificationPdu 字段字段说明说明 eventIDID_DESTINVALID callID呼叫句柄 monitorParty监控的分机号码 ID_ERROR ,NotificationPdu 字段字段说明说明 eventIDID_ERROR errorCode错误代码 monitorParty监控的分机号码 ID_INBOUNDCALL ,NotificationPdu 字段字段说明说明 eventIDID_CALLINFORMATION callID呼叫句柄 callType0 一般呼入, 1 转移呼入, 2 三方呼入 currentCallingParty
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 矿上招工考试题及答案
- 肯德基考试题目及答案
- 解析卷-青岛版9年级数学下册期末试题含完整答案详解(全优)
- 考试题及答案普工
- 2025年教师招聘之《幼儿教师招聘》通关练习试题附参考答案详解【基础题】
- 静止运动考试题及答案
- 水解蒸煮工标准化作业考核试卷及答案
- 押题宝典教师招聘之《小学教师招聘》通关考试题库(精练)附答案详解
- 经验护航考试题及答案
- 积材工职业技能考核试卷及答案
- 地毯更换简易施工合同协议书
- 实验小学二年级体育集体备课教案
- 西方文化概论(第二版)课件全套 曹顺庆 第0-6章 绪论 西方文化的渊源与流变、西方文学 -西方社会生活与习俗
- 李白课件教学课件
- 百年郎酒试题专项测试题及答案
- 托管中心学生托管合同协议书
- 高中生物近5年生物高考真题分类和解析(神经调节)
- 押金管理制度
- 人教版(2024) 七年级上册英语培优补差教学工作计划
- 职业素养提升第2版(大学生职业素养指导课程)全套教学课件
- JJF 1033-2023 计量标准考核规范
评论
0/150
提交评论