Windows SDK | Version 3.14.0 | Build 47665 (3.14.52589.47665)

Download: Plantronics Hub SDK Installer [zip]

Note: after installing on Mac the SDK product ends up in C:\Program Files (x86)\Plantronics\Spokes3G SDK

The recommended approach for call control is illustrated by the sample codes at: https://developer.plantronics.com/article/softphone-integration-code-samples
For Windows we recommend COM or REST APIs (with Plantronics Hub or minimal Hub runtime deployment) over Native Library - the pros and cons of the approaches are listed in the table here: https://developer.plantronics.com/softphone-integration-api-overview#DeploymentOptions
 
We also have a design pattern of putting all the Plantronics API integration into a seperate thread.
This is illustrated in C# COM here: https://developer.plantronics.com/article/advanced-sdk-topic-ensuring-resilience-plantronics-com-api
And in C++ REST here: https://developer.plantronics.com/article/hubrestsample-new-c-rest-api-sample-pdc


macOS SDK | Version 3.14.0 | Build 47665 (3.14.52588.47665)

Download: Plantronics Hub SDK Installer [zip]

Note: after installing on Mac the SDK product ends up in Applications > Spokes SDK
If you copy the whole SDK folder to the desktop, the SpokesNativeSample will then build correctly.

The recommended approach for call control is illustrated by the sample codes at: https://developer.plantronics.com/article/softphone-integration-code-samples
For Mac we recommend REST API (with Plantronics Hub deployment) over Native Library - the pros and cons of the approaches are listed in the table here: https://developer.plantronics.com/softphone-integration-api-overview#DeploymentOptions

We also have a design pattern of putting all the Plantronics API integration into a seperate thread. 
This is illustrated in C++ REST here (note Windows project file): https://developer.plantronics.com/article/hubrestsample-new-c-rest-api-sample-pdc
The same approach could be re-implemented for Mac in C++ REST or Native Library.