65.9K
CodeProject 正在变化。 阅读更多。
Home

Plantronics Spokes SDK 概述

2012 年 10 月 29 日

CPOL

7分钟阅读

viewsIcon

21347

缤特力统一运行时引擎 (Spokes) SDK 为应用程序开发人员提供了一组接口,用于与缤特力当前和未来的设备进行交互。

 

介绍 

缤特力统一运行时引擎 (Spokes) SDK 为应用程序开发人员提供了一组接口,用于与缤特力当前和未来的设备进行交互。Spokes SDK 为许多应用程序需求提供了抽象,包括软电话和媒体播放器集成。该 SDK 公开了设备按钮按下和设备状态更改的事件,以及主机可以发送到设备的一组命令。

通过 SDK,Spokes 支持的缤特力设备为最终用户提供了许多功能,例如:

  • 呼叫控制支持(例如,远程振铃检测、挂机开关控制和拨号盘)
  • 媒体播放器控制(例如,在通话中暂停、停止媒体播放器)
  • 设备配置支持(例如,音频带宽设置)
  • 设备状态更改通知支持(例如,坞接/解除坞接、戴上/取下、多线呼叫管理等)
  • 设备固件升级支持(DFU)

Spokes 支持的设备(有线或无线)分为以下几类:

  • 单接口设备(仅限 VoIP):单接口设备通过 USB 连接到主机,并仅提供与 Spokes 中所有受支持软电话的 VoIP 呼叫控制。
  • 多接口设备(VoIP、PSTN、移动):多接口设备通过 USB 连接到主机,还可以与其他接口连接,例如通过有线电话连接 PSTN,并且还可以充当移动电话配对的蓝牙终端。
  • 显示设备:显示设备可以是单接口或多接口设备,并且在设备上具有显示屏和键盘。除了非显示设备支持的功能外,显示设备还支持来电和去电的来电显示、拨打电话以及在通话中发送 DTMF 数字的功能。

缤特力 Spokes SDK

有 3 个 Spokes API - 我的应用程序应该使用哪一个?

Spokes SDK 目前支持的语言

  适用于 .NET API 的 COM 服务 COM 服务 API REST 服务 API
C#  是* - -
VB .NET  是* - -
C++ - -
JavaScript - -
Java 和其他语言 - -

注释

*COM 服务对 .NET 的支持通过名为 "Interop.Plantronics.dll" 的互操作程序集实现。这要求应用程序面向 .NET Framework 4.0 或更高版本。

"iPlugin API" 被视为已弃用,并将在下一个主要的 Spokes 版本中删除,不应再使用。

准备好将您的应用程序集成到 Spokes 中了吗?尝试以下资源

Spokes 架构

Spokes 插件架构

481858/blog1picture1.png

上图描绘了 Spokes 软件堆栈,它包含多个功能模块,例如设备管理器、设备监听器、呼叫管理器、会话管理器等。每个模块的功能将在以下部分中描述。Spokes 插件是所有外部应用程序交互的单一入口点。软电话和媒体播放器组件需要实现一个通用接口 IPlugin,并且根据 Spokes 配置 XML (PURE.XML),Spokes 将在进程启动时动态加载这些模块。一旦成功加载,软电话和媒体播放器模块将向 Spokes 注册,并使用 Spokes 的ICallCommandICallEvents ISessionManagerEvents 接口发送命令并从 Spokes 接收事件。从 Spokes SDK 应用程序开发人员还可以访问当前连接的设备 IDevice,并可以注册设备管理器 SDK 中公开的所有事件。

Spokes 会话管理器

Spokes 会话管理器将负责处理所有传入的客户端会话。客户端应用程序可以包括软电话 (SP) 和媒体播放器 (MP) 模块,以及其他希望直接与设备交互的第三方应用程序。会话管理器将公开用于呼叫处理、设备状态和事件、发送警报以及媒体播放器控制的接口。

会话管理器提供以下功能:

  • 处理所有传入的 Spokes 客户端请求
  • 维护客户端会话列表
  • 与 Spokes 呼叫管理器和设备监听器交互,并向 Spokes 客户端传播事件和命令

Spokes 呼叫管理器

Spokes 呼叫管理器与设备监听器和会话管理器交互,并提供呼叫控制功能。呼叫管理器将支持单通道(仅限 VoIP)和多通道(VoIP、PSTN、移动)设备。呼叫管理器还将管理活动呼叫和保持呼叫的实例。只能有一个活动呼叫可以根据用户在设备或软电话上的操作进行转换。呼叫管理器将能够支持来自同一软电话或不同软电话的多个呼叫。呼叫管理器中实现了明确的通话和闪断按钮按下行为,以及在多个软电话之间进行循环切换的行为。

呼叫管理器还处理从设备发起的去电。带键盘、联系人列表或通话记录的显示设备可以向设备管理器发出呼叫请求。设备监听器将获取呼叫请求并将其传播到呼叫管理器。呼叫管理器创建一个去电实例并根据用户操作进行管理。

Spokes 设备监听器

缤特力设备可以提供更多功能(例如支持多个通信端点(VoIP、PSTN 和移动)),并且这些设备可能会公开设备特定的命令和事件。设备管理器将公开这些设备支持的所有设备特定事件和命令。设备监听器为所有设备提供一致的接口,因此应用程序无需处理设备特定事件和命令。

设备监听器将提供以下功能:

  • 与设备管理器交互并注册所有设备特定事件
  • 向呼叫管理器公开用于呼叫控制命令和呼叫控制事件的通用接口
  • 处理发送自定义数据、显示、警报等设备特定细节
  • 向会话管理器公开用于设备状态、命令和事件的通用接口

Spokes 设备管理器

设备管理器将为主机提供所有缤特力设备的设备接口层。设备管理器提供以下功能:

  • 一组用于 USB 设备通信的通用接口
  • 支持 USB 设备枚举和基于产品 ID 过滤设备
  • 公开 USB 设备 HID 功能
  • 提供 USB 设备插入和移除通知
  • 通过公开额外的设备特定接口支持设备特定功能
  • 支持 USB 设备配置
  • 支持设备固件升级 (DFU)
  • 在受支持的设备上,提供发送自定义数据(通过 HID 管道)的机制——自定义数据可能包括日历警报、即时消息、联系人列表、通话记录等。

设备管理器与 HID 抽象层接口以与 USB 设备通信。HID 层通过 Pinvoke(平台调用服务)使用 Win32 API 提供所有必要的 USB 设备通信和设备管理,并且仅对设备管理器公开。

设备管理器还公开了一些接口,例如用于查找特定设备和设备枚举的IDeviceManager,用于公开 USB 设备及其通用和设备特定行为的IDevice,以及用于处理设备特定行为的IHostCommandIDeviceEventsIHostCommand抽象了主机可以发送到设备的所有命令,而IDeviceEvents抽象了设备可以发送到主机的所有事件。作为设备枚举的一部分,设备管理器将初始化通用设备行为以及根据其枚举的设备初始化设备特定行为。

后续步骤

请参阅 Spokes API 规范,了解有关接口的所有详细信息以及用于编写呼叫控制插件或直接与设备接口的示例代码。当前版本的 Spokes 构建在 Microsoft .NET 3.5 SP1 运行时之上。

最新信息将发布在缤特力开发者连接网站上,因此请访问此网站以获取最新信息并与您的开发者伙伴互动。

本文由 Ramesh Theivendran 投稿。Ramesh 自 2007 年 10 月起成为缤特力公司软件开发团队的成员。目前,他担任缤特力 Spokes 的软件架构师。在加入缤特力之前,Ramesh 曾担任 Borland International 的首席架构师以及印度理工学院孟买分校 (IITB) 的程序员。他在构建各种分布式应用程序的软件工具和 SDK 方面拥有 20 多年的经验。Ramesh 与妻子 Aruna 以及两个女儿 Vineha 和 Vinusha 居住在加利福尼亚州斯科茨谷。

© . All rights reserved.