Re: Panasonic KX-TDA - No event on retrieving held call

Tech-Archive recommends: Fix windows errors by optimizing your registry



Jaen-Paul,

the first thing that comes to my mind is this:

In VB app you do:

> fOwner = True
> fMonitor = False

In TB3 you do:

> ITTAPI_1.RegisterCallNotifications
>
> ITAddress* pAddress : ITAddress2_1
>
> VARIANT_BOOL fMonitor : 1
>
> VARIANT_BOOL fOwner : 1
>
> long lMediaTypes : 8 (0x00000008)
>
> long lCallbackInstance : 990 (0x000003de)
>
> returned hr = 0x00000000
>
> long* plRegister = 956 (0x000003bc)


The value of lCallbackInstance is irrelevant with VB. Just set it to 1.


Best regards,

Matthias Moetje
-------------------------------------
TERASENS GmbH
Ackermannstraße 3
80797 München
-------------------------------------
Fon: +49 89 143370-0
Fax: +49 89 143370-22
e-mail: moetje at terasens dot de
www: www.terasens.de
-------------------------------------

"Jean-Paul Raven" <jpr@xxxxxxxxxxxxxxxxxxx> wrote in message
news:eCPcidY1FHA.2212@xxxxxxxxxxxxxxxxxxxxxxx
> When I use TB3x it all works fine, I cannot reproduce the issue. I've
> included the TB3x log below.
>
> Could this be a problem with the way I'm registering for events in VB? I'm
> following the MSDN code samples in
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tapi/tapi3/register_events.asp
> to the letter and I notice a discrepancy...
>
> In the MSDN sample the following code snippet sets lCallbackInstance to 1,
> which is what I am doing in my code. However, using TB3x, I followed the
> instructions in your web site and set lCallbackInstance to the cookie
value
> returned by AdviseEventNotification
> However, I cant find an AdviseEventNotification method in the ITTAPI
> interface in the TAPI3.x object model I'm using.... Could this be related
to
> my problem?
>
> This is the MSDN sample code...
>
> 'fOwner = True ensures that the application receives incoming calls
> 'and their call state events.
> fOwner = True
> fMonitor = False
> lMediaTypes = TAPIMEDIATYPE_AUDIO
> lCallbackInstance = 1
>
> glRegistrationToken = gobjTapi.RegisterCallNotifications( _
> gobjAddress, _
> fMonitor, _
> fOwner, _
> lMediaTypes, _
> lCallbackInstance
> )
>
> This is my code for registering events...
>
> Function RegisterEvents(oAddress As ITAddress2, lMediaTypes As Long) As
Long
>
> 'Returns registration token for registered address
>
> Dim lRegistrationToken As Long
>
> 'Usually performed at the same time
> 'as TAPI initialization
> Const TAPI3_CALL_EVENTS = _
> TE_ACDGROUP Or _
> TE_ADDRESS Or _
> TE_ADDRESSDEVSPECIFIC Or _
> TE_AGENT Or _
> TE_AGENTHANDLER Or _
> TE_AGENTSESSION Or _
> TE_ASRTERMINAL Or _
> TE_CALLHUB Or _
> TE_CALLINFOCHANGE Or _
> TE_CALLMEDIA Or _
> TE_CALLNOTIFICATION Or _
> TE_CALLSTATE Or _
> TE_DIGITEVENT Or _
> TE_FILETERMINAL Or _
> TE_GATHERDIGITS Or _
> TE_GENERATEEVENT Or _
> TE_PHONEDEVSPECIFIC Or _
> TE_PHONEEVENT Or _
> TE_PRIVATE Or _
> TE_QOSEVENT Or _
> TE_QUEUE Or _
> TE_REQUEST Or _
> TE_TAPIOBJECT Or _
> TE_TONEEVENT Or TE_TONETERMINAL Or TE_TTSTERMINAL
>
>
> 'Set the EventFilter to accept all defined TAPI events.
> m_oTapi.EventFilter = TAPI3_CALL_EVENTS
>
> Dim fOwner As Boolean, fMonitor As Boolean, lCallbackInstance As Long
>
> 'fOwner = True ensures that the application receives incoming calls
> 'and their call state events.
> fOwner = True
> fMonitor = True
> 'lMediaTypes = TAPIMEDIATYPE_AUDIO
> lCallbackInstance = 1
>
> lRegistrationToken = m_oTapi.RegisterCallNotifications(oAddress, _
> fMonitor, _
> fOwner, _
> lMediaTypes, _
> lCallbackInstance)
>
> RegisterEvents = lRegistrationToken
>
> End Function
>
> Here is the TB3x log:
>
> ITTAPI.CreateInstance ITTAPI_1
>
> returned hr = 0x00000000
>
>
>
> ITTAPI_1.Initialize returned hr = 0x00000000
>
>
>
> ITTAPI_1.get_Addresses returned hr = 0x00000000
>
> VARIANT* pVariant = ITCollection2_1
>
>
>
> ITCollection2_1.get_Item
>
> long Index : 220 (0x000000dc)
>
> returned hr = 0x00000000
>
> VARIANT* pVariant = ITAddress2_1
>
>
>
> ITAddress2_1.get_AddressName returned hr = 0x00000000
>
> BSTR* ppName = EXT0020
>
>
>
> ITTAPI_1.AdviseEventNotification returned hr = 0x00000000
>
> cookie 990
>
>
>
> ITTAPI_1.put_EventFilter
>
> long plFilterMask : 67108863 (0x03ffffff)
>
> returned hr = 0x00000000
>
>
>
> ITTAPI_1.RegisterCallNotifications
>
> ITAddress* pAddress : ITAddress2_1
>
> VARIANT_BOOL fMonitor : 1
>
> VARIANT_BOOL fOwner : 1
>
> long lMediaTypes : 8 (0x00000008)
>
> long lCallbackInstance : 990 (0x000003de)
>
> returned hr = 0x00000000
>
> long* plRegister = 956 (0x000003bc)
>
>
>
> ITCallNotificationEvent_1
>
> TAPI_EVENT const int TE_CALLNOTIFICATION
>
>
>
> ITCallStateEvent_1
>
> TAPI_EVENT const int TE_CALLSTATE
>
>
>
> ITCallHubEvent_1
>
> TAPI_EVENT const int TE_CALLHUB
>
>
>
> ITCallInfoChangeEvent_1
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_2
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_3
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_4
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_5
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_6
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_7
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_8
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallStateEvent_2
>
> TAPI_EVENT const int TE_CALLSTATE
>
>
>
> ITCallInfoChangeEvent_9
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallStateEvent_3
>
> TAPI_EVENT const int TE_CALLSTATE
>
>
>
> ITCallNotificationEvent_2
>
> TAPI_EVENT const int TE_CALLNOTIFICATION
>
>
>
> ITCallStateEvent_4
>
> TAPI_EVENT const int TE_CALLSTATE
>
>
>
> ITCallHubEvent_2
>
> TAPI_EVENT const int TE_CALLHUB
>
>
>
> ITCallInfoChangeEvent_10
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_11
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_12
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_13
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallInfoChangeEvent_14
>
> TAPI_EVENT const int TE_CALLINFOCHANGE
>
>
>
> ITCallHubEvent_3
>
> TAPI_EVENT const int TE_CALLHUB
>
>
>
> ITCallStateEvent_5
>
> TAPI_EVENT const int TE_CALLSTATE
>
>
>
> ITCallStateEvent_6
>
> TAPI_EVENT const int TE_CALLSTATE
>
>
>
> ITCallHubEvent_4
>
> TAPI_EVENT const int TE_CALLHUB
>
>
>
> ITCallStateEvent_7
>
> TAPI_EVENT const int TE_CALLSTATE
>
>
>
> ITCollection2_1.Release
>
>
>
> ITAddress2_1.Release
>
>
>
> ITCallNotificationEvent_1.Release
>
>
>
> ITCallStateEvent_1.Release
>
>
>
> ITCallHubEvent_1.Release
>
>
>
> ITCallInfoChangeEvent_1.Release
>
>
>
> ITCallInfoChangeEvent_2.Release
>
>
>
> ITCallInfoChangeEvent_3.Release
>
>
>
> ITCallInfoChangeEvent_4.Release
>
>
>
> ITCallInfoChangeEvent_5.Release
>
>
>
> ITCallInfoChangeEvent_6.Release
>
>
>
> ITCallInfoChangeEvent_7.Release
>
>
>
> ITCallInfoChangeEvent_8.Release
>
>
>
> ITCallStateEvent_2.Release
>
>
>
> ITCallInfoChangeEvent_9.Release
>
>
>
> ITCallStateEvent_3.Release
>
>
>
> ITCallNotificationEvent_2.Release
>
>
>
> ITCallStateEvent_4.Release
>
>
>
> ITCallHubEvent_2.Release
>
>
>
> ITCallInfoChangeEvent_10.Release
>
>
>
> ITCallInfoChangeEvent_11.Release
>
>
>
> ITCallInfoChangeEvent_12.Release
>
>
>
> ITCallInfoChangeEvent_13.Release
>
>
>
> ITCallInfoChangeEvent_14.Release
>
>
>
> ITCallHubEvent_3.Release
>
>
>
> ITCallStateEvent_5.Release
>
>
>
> ITCallStateEvent_6.Release
>
>
>
> ITCallHubEvent_4.Release
>
>
>
> ITCallStateEvent_7.Release
>
>
>
> ITTAPI_1.Shutdown returned hr = 0x00000000
>
>
>
> ITTAPI_1.Release
>
>
>
>
>
>
>
> "Andreas Marschall [MVP TAPI]" <Andreas.Marschall@xxxxxxxxxx> wrote in
> message news:%23BE$m$M1FHA.1032@xxxxxxxxxxxxxxxxxxxxxxx
> > "Jean-Paul Raven" <jpr@xxxxxxxxxxxxxxxxxxx> schrieb im Newsbeitrag
> > news:%23S175IM1FHA.268@xxxxxxxxxxxxxxxxxxxxxxx
> >> Thanks Andreas
> >
> > Jean-Paul, you are welcome.
> >
> >> I've tried TCMon and it does show *all* call events properly.
> >>
> >> Unfortunately I'm not a C++ programmer so the source code for TCMon
isnt
> >> much use to me.
> >>
> >> There must be something fundamentally wrong with the approach in my
> >> application...
> >>
> >> All it does at startup is to register for *all* types of events of
> >> TAPIMEDIATYPE_AUDIO for *all* addresses from the Panasonic TSP.
> >
> > Are you registering for both monitor and owner ?
> >
> >
> >> It then displays the events on screen as they arrive.
> >> When I place a call on hold, it shows a TE_CALLSTATE event with a state
> >> of
> >> CS_HOLD.
> >> However, when I retrieve the call from hold, it shows no event!
> >
> > Can you reproduce the issue with TAPI Browser TB3x ?
> > Please post a TB3x.log.
> > See my TAPI and TSPI FAQ:
> >
> > Q: Where can I download TAPI Browser ?
> >
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_Where_can
> >
> > Q: Is there a user guide available for TAPI Browser TB3x ?
> >
http://www.i-b-a-m.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm#_Q:_Is_there_2
> >
> >
> >> Do I need to do anything else to ensure an event is generated when a
call
> >> is
> >> reconnected after being on hold?
> >
> > If you see the reconnection in TCMon then it's obvious that the TSP is
> > reporting it to TAPISRV.
> >
> > --
> > Best Regards
> > Andreas Marschall
> > Microsoft MVP for TAPI / Windows SDK
> > TAPI / TSP Developer and Tester
> > http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
> > * 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.
> >
> >
>
>


.



Relevant Pages

  • Re: RegisterCallNotifications for Multiple Modems?
    ... for testing reasons I tried using fOwner as True. ... checked the GetAddressName for the modems and got the names of the 2 modems. ... TAPI_EVENT const int TE_CALLHUB ... See my TAPI and TSPI FAQ: ...
    (microsoft.public.win32.programmer.tapi)
  • Re: Panasonic KX-TDA - No event on retrieving held call
    ... When I use TB3x it all works fine, ... 'fOwner = True ensures that the application receives incoming calls ... 'Set the EventFilter to accept all defined TAPI events. ... TAPI_EVENT const int TE_CALLNOTIFICATION ...
    (microsoft.public.win32.programmer.tapi)
  • Re: forwarded call (looking for external original number)
    ... VARIANT_BOOL fOwner: 1 ... long lMediaTypes: 8 ... long lCallbackInstance: 13236868 ... TAPI_EVENT const int TE_CALLHUB ...
    (microsoft.public.win32.programmer.tapi)
  • Re: Panasonic KX-TDA - No event on retrieving held call
    ... thanks for the advice but setting fMonitor to True or False makes ... > The value of lCallbackInstance is irrelevant with VB. ... >> Could this be a problem with the way I'm registering for events in VB? ... >> 'fOwner = True ensures that the application receives incoming calls ...
    (microsoft.public.win32.programmer.tapi)
  • Re: TAPI C# Caller ID
    ... Sorry about that....I wiped my hd and reinstalled everything and didnt ... long lCallbackInstance: 13236868 ... long* plRegister = 956 ... TAPI_EVENT const int TE_CALLHUB ...
    (microsoft.public.win32.programmer.tapi)