Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

What determines owner privilege on a new incoming call to multiple TAPI apps?

71 views
Skip to first unread message

fdecker

unread,
Nov 3, 2009, 3:11:09 PM11/3/09
to
Hi everybody. If you have multiple TAPI apps running and see the
offering message on each application, one application is always the
owner, which one? Is this determined by the order each application
initialized the line or is there some other priority? I can't find
any reference in the MSDN to how the owner privilege is set before a
call is in the connected state. Obviously if I answer the incoming
call in application 1, that is the owner, but if 3 different apps all
see an incoming call, one of them is magically selected as the owner.

Fred

Andreas Marschall [exMVP TAPI]

unread,
Jan 5, 2010, 10:08:10 AM1/5/10
to
"fdecker" <fdecker...@aol.com> schrieb im Newsbeitrag
news:4b333d23-2dc2-4b2e...@j4g2000yqe.googlegroups.com...

> Hi everybody. If you have multiple TAPI apps running and see the
> offering message on each application, one application is always the
> owner, which one? Is this determined by the order each application
> initialized the line or is there some other priority?

Fred,
I guess you refer to multiple TAPI2 app all having the same lineOpen() with
LINECALLPRIVILEGE_OWNER + _MONITOR.
My observations with three instances of TB20 are:
always the 1st app opening the line with _OWNER + _MONITOR will get owner
privs at LINE_APPNEWCALL.
If the 1st app closes the line then the 2nd will take over at subsequent
LINE_APPNEWCALL.
If the 1st app re-opens (after closing) the line then it will not be
reassigned its priority.
So it seems that always the oldest un-interupted active lineOpen() with
LINECALLPRIVILEGE_OWNER will get ownership on LINE_APPNEWCALL.


> I can't find
> any reference in the MSDN to how the owner privilege is set before a
> call is in the connected state.

Me neither.

> Obviously if I answer the incoming
> call in application 1, that is the owner, but if 3 different apps all
> see an incoming call, one of them is magically selected as the owner.

You can only lineAnswer() from a TAPI2 app that is _OWNER of this hCall.
If a TAPI2 app isn't _OWNER from the initial LINE_APPNEWCALL then this app
ca use lineSetCallPrivilege(_OWNER) become an (additional) owner.
Please note that in TAPI2 a call can have more than one _OWNER when
lineSetCallPrivilege() has been used.

This is all about non-TAPI-generated calls (e.g. incoming calls) that are
notified about via LINE_APPNEWCALL.
For TAPI-generated call (e.g. vie lineMakeCall()), i.e. no LINE_APPNEWCALL,
always the generating TAPI app will be the (initial) owner of this call,
even if it hasn't opened the line with _OWNER privs.

With TAPI3 there can only one TAPI3 app be owner of all non-TAPI-generated
calls for an ITAddress. This is determined at
ITTAPI::RegisterCallNotifications().
With TAPI3 the is not method corresponding to lineSetCallPrivilege().

--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK / Visual C++ 2003-2008
TAPI / TSP Developer and Tester
My TAPI and TSPI FAQ:
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
My Toto� Tools (a collection of free, mostly TAPI related tools):
http://www.i-b-a-m.de/Andreas_Marschall's_Toto_Tools.htm
TAPI development around the world (Frappr! map):
http://www.frappr.com/TAPIaroundTheWorld
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion. Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no
rights.

0 new messages