5 posts / 0 new
Last post
abhirajgandhi@g...
Plantronics Hub v3.8 is not working for call control with softphone client
I have identified the issue and it seems to happen with Hub v3.8 We have used spokeswrapper.cs as reference code, to provide support for plantronics headset. The issue is that for Incoming call we have used following code of spokeswrapper.cs .. public bool IncomingCall(int callid, string contactname = "") { bool success = false; try { if (m_comSession != null) { ContactCOM contact = new ContactCOM(); contact.SetName(contactname); CallCOM call = new CallCOM(); call.SetId(callid); m_comSession.GetCallCommand().IncomingCall(call, contact, CallRingTone.RingTone_Unknown, CallAudioRoute.AudioRoute_ToHeadset); success = true; } } catch (Exception) { success = false; } return success; } In the above code, we pass a incremental number as "callid" for each call in "call.SetId(callid);" However, when we try to retireve the call from hub and the "callid" retrieved is altogether different. It is not the same "callid", which we had passed and therefore our headsupport to answer an incoming call is getting affected. Would request to have a look and comment further... Please note we used correct callid in v 3.6  Thanks, Abhiraj

lcollins
Hi Abhiraj,<br /> <br /> So I have reproduced your issue.<br /> I took this sample:<br /> <a href="/spokes3gsdksamples">http://developer.plantronics.com/spokes3gsdksamples</a><br /> <br /> The one called &quot;SpokesSDKCOMNETSample&quot;<br /> <br /> I modified this line 42 of &quot;SessionManagerEventsListener.cs&quot; to read:<br /> <br /> WriteOutput(&quot;Session Manager event: call state changed: &quot; + callEventArgs.CallState.ToString() + &quot;, id = &quot;+callEventArgs.call.Id);<br /> <br /> (added the call id to this debug output).<br /> <br /> Then comparing 3.6 SDK with the latest 3.8 SDK, with 3.6 the call id remains 42 which is what the sample app sets. However, with 3.8 I get a strange value for the call id, not the 42 I set.<br /> <br /> I will report this issue to the team and let you know.<br /> Thanks,<br /> Lewis.

lcollins
Hi Abhiraj,<br /> <br /> Update on the issue: The call id&#39;s you specify will come correctly via the ICallEvents interface, but no longer via ISessionManager interface (this is a change in recent SDK). The ISessionManager call id&#39;s are internally generated and will not correlate to what you set in CallCommand incomingcall/outgoingcall etc.<br /> <br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; callEvents = session as ICOMCallEvents_Event;<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; callEvents.onCallStateChanged += onCallStateChanged;<br /> <br /> <br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void onCallStateChanged(COMCallEventArgs callEventArgs)<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Call state changed: &quot; + callEventArgs.CallState.ToString() + &quot; ICallEvents id: &quot; + callEventArgs.call.Id);<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br /> <br /> <br /> Let me know if this helps.<br /> Thanks,<br /> Lewis.

abhirajgandhi@g...
Thanks, the suggested changes have worked, so we can close this thread.<br /> <br /> Again thanks for your help.

lcollins
Great to hear, come back to us if you have any more questions!

Add new comment