I use Cisco TSP via TAPI to monitor Cisco IP Phones and CSF devices for 3rd party call control.
I have a requirement to provide a mechanism to mute/unmute the phone, CSF device/Cisco Jabber desktop client application.
I see Cisco TSP provides 'pass-through' mechanism for sending XML to the phone, via phoneDevSpecific and CCiscoPhoneDevSpecificDataPassThrough to mute/unmute the IP Phone. This works fine for IP Phone but does not work for CSF device. I am using CSF device in Cisco Jabber client desktop application as a soft phone.
I have the following questions and need some help if it can be achievable:
Question-1:Is it possible to mute/unmute CSF device via 'pass-through' mechanism?
Questions-2:If it is not possible to mute/unmute CSF device via 'pass-through' mechanism then is there any other API to achieve the same?
Question-3:Is there any API to mute/unmute Cisco Jabber Client application remotely?
Question-4:I see Cisco Jabber SDK for Web that comes up with cwic.js which runs in a browser. This API appears to provide mute/unmute desk phone and softphone feature but I guess it requires end user authentication to make it work and is specific to the Web browser, right?
In general, remotely controlling mute/unmute is not supported in any scenario unfortunately. As you mention, with physical phones you can implement a 'jab the mute' button keypress via IPPS, however you can't determine whether mute is on/off beforehand so that can be nondeterministic and less-than-useful. AFAIK, the mute/unmute control for the Jabber SDK is only applicable in 1st-party/softphone mode...in 3rd-party/deskphone control mode it uses CTI under-the-hood to affect call control, and is subject to the same limitation on mute capability as TAPI/JTAPI.