Click here to Skip to main content
15,351,229 members
Articles / Programming Languages / C#
Posted 17 Jan 2013

Tagged as



A nice bit of kit - the Blackwire C720, let's integrate into your UC app!

17 Jan 2013CPOL3 min read
In this post I want to show you how to get started with this feature from scratch!

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

Image 1 

The Blackwire C720, the recently launched stereo version of the Blackwire 700 Series of wired/wireless combined headsets from Plantronics is a nice bit of kit, with cool features like wireless mobile calling via the Bluetooth belt clip unit, not to mention high quality A2DP music streamed wirelessly from your mobile device while you work!

For developers it allows you to integrate to your UC application's presence feature by making use of the wearing sensor state reported from the headset.

In this post I want to show you how to get started with this feature from scratch!

1. Install the Spokes SDK

  • Head on over to the PDC web site home page: Welcome | Plantronics Developer Connection
  • Hit the orange Download the SDK button, and download the ZIP file
  • Run the PlantronicsURE-SDK.msi file and install it (note, if you have other Spokes product installed you should remove that first via Control Panel\Programs and Features)
  • You are now ready to integrate your app to Plantronics!

2. Add Spokes SDK References to your app!

  • If you don't have an app yet, don't worry, let's make a test one...
    • This article assumes your app is written in C# and targets .NET 4, 4.5 or later. (Other language samples available on our site in DevZone)
    • A sample project for this article can be downloaded at the bottom of the article.
    • Go into Visual Studio 2008 / 2010 / 2012
    • Click File | New | Project
      • Choose C# Windows Forms Application, give it a Name, e.g. My UC App, then press OK
      • Once it finishes chuntering away, press F5
      • Woohoo, we have an app!
        Image 2
      • Ok, ok, it doesn't talk to the headset... I was coming to that part!
      • In the Solution explorer for your app, right click References | Add Reference...
        Image 3
      • Choose Browse, and head on over to Plantronics SDK folder. Choose the Interop.Plantronics.dll
        This is the C# Interop DLL for the Spokes COM Service API. Click Add
        Image 4
      • Once added right click the reference and Properties. Ensure Embed Interop Types is set to False, and Copy Local set to True:
        Image 5
      • Ok, good job - we are ready to use the Spokes API in our app!

3. Add couple of labels to the GUI

  • Let's add something to our GUI so we can show the wearing state:
    Image 6
  • Rename the 2nd label to wearingStateLbl:
    Image 7

4. Initialise connection to the Spokes SDK

  • Lets add some code to initialise the SDK. This relies on a pre-built sample code file called "Spokes.cs" that you can download at end of this article. **Please add this file to the project before continuing...** then:
  • Right-click the Form1.cs and View Code:
    Image 8
  • Add a Spokes member variable to your Form1 class, as follows:
      Spokes m_spokes = null;
  • In your Form1() constructor, after InitializeComponent() add these 3 lines:
m_spokes = Spokes.Instance;
  • In Form1 provide an override for the DefWndProc. The Spokes object will post headset events to your form using Windows events, which you can handle like this:
protected override void DefWndProc(ref Message msg)
    switch (msg.Msg)
        case (int)SpokesWM.DEVICE_DON:
            wearingStateLbl.Text = "It is being worn";
        case (int)SpokesWM.DEVICE_DOFF:
            wearingStateLbl.Text = "It is NOT being worn";
            base.DefWndProc(ref msg);

5. And test it!

  • Run the application
  • Put on your headset:
    Image 9
  • Take off your headset:
    Image 10
  • Yay! You have integrated Plantronics presence sensor technology to your app!

Have fun! Image 11

See above for the Spokes.cs sample file to include in your app, and a ZIP file containing full sample project.

This article was written by Lewis Collins. Lewis became a member of the Plantronics Engineering team in August 2011. In this role he provides software consulting and expertise internally across teams and to external development partners who want to integrate with the Plantronics SDK kits and headset products. Previously Lewis gained experience in a wide range of software engineering activities and technologies, working in the telecommunications and public safety sectors as a software engineer at Integraph, a consultant for Altran Technologies UK and as a software engineer for Teleca Ltd.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

United States United States
Today’s smart devices and applications have untapped potential in the realm of context-aware computing. Plantronics is making it possible for its audio devices to deliver contextual information to a range of applications through Plantronics headsets. The Plantronics Spokes SDK allows developers to create a range of business applications that will have the power to change the way we communicate and collaborate.

Please check out our DevZone for more info on the Spokes SDK:

Comments and Discussions

-- There are no messages in this forum --