Additional Call Properties

Oct 16, 2013 at 8:54 PM

I'm doing some work with a ShoreTel telephony system. I have an app that uses ShoreTel's web service SDK to place calls internally - this exposes additional call properties that their TAPI driver supports but is obviously not exposed via the ATAPI wrapper.

We use the ATAPI wrapper client side - is there a way I can do a low level call using the call handle from ATAPI to get these additional properties?

Any help would be gratefully received.

Oct 16, 2013 at 9:15 PM
How do you get to the properties using native TAPI? Device specific extensions?

Oct 16, 2013 at 9:38 PM
I'm not sure I follow - I'm not doing anything with native TAPI. On the server side where the ShoreTel's web service runs I have a SetCallProperty method where I can pass a name/value pair. On the client side, their own COM wrapper for their driver has a GetCallProperty method which is how I know that the driver supports retrieving the custom properties. I don't want to re-write our client side app to use their COM wrapper as we've had a solution using your ATAPI wrapper in place for a few years and been able to switch phone systems without barely changing anything on the code side.

Sorry if I've misunderstood your question.
Oct 16, 2013 at 9:43 PM
There's a disconnect for me here - TAPI has a built in capability to send and receive device-specific data passed from the TAPI service provider (TSP). It doesn't sound like that's what your vendor is using here, instead they've got their own COM-exposed API which is in addition to TAPI. Is that correct? Obviously, as you noted, ATAPI only wraps what TAPI supports (including any device-specific features done through TAPI itself). I don't understand how you'd like to get to this data if TAPI doesn't provide it. If what you want is the native call handle to pass into something else (non-TAPI) as a key then you can use TapiCall.CallHandle - this retrieves the HTCALL which Atapi is using. Is that what you are looking for?


Oct 16, 2013 at 9:50 PM
Thanks for the quick response :)

Sorry yes - you're absolutely right - their TAPI driver (so not TAPI itself) exposes these custom properties. I knew I could get the call handle - I guess the problem I have is I don't actually know how I then go about using that to get at these custom properties. I think I may just have to alter our client app to use their COM wrapper rather than the ATAPI wrapper.
Oct 16, 2013 at 9:52 PM
I'd bet they expose it somehow with the built-in mechanism as well, it would be worth a call or email to ShoreTel support to ask... particularly since TAPI2 isn't COM-based so it would be surprising if they force you to go that route when your application isn't using COM for anything else..


Oct 16, 2013 at 10:04 PM
Thanks - I've got a call in to ShoreTel too. I don't really understand why the haven't exposed the standard calldata as that would be perfect for my needs. I may have just realised a quick workaround which is to use their web service on the client side too. I can see the active call on the client side using that and get the property out that way. Its not pretty but it should work.

Really appreciate the help!