* * activate SCREEN clear * public oTapi, oPhone, oEvent oTapi = null oPhone = null oEvent = null * oTapi = newobject("TAPI.TAPI") ? "Initialize ...", oTapi.initialize() oTapi.eventFilter = ; 0x00000004 +; && CALLNOTIFICATION 0x00000008 +; && CALLSTATE 0x00008000 +; && DIGITEVENT 0x00200000 +; && PHONEEVENT 0x00000100 +; && REQUEST 0x00010000 +; && GENERATEEVENT 0x00800000 && GATHERDIGITS * ? "eventFilter ...", oTapi.eventFilter oPhone = oTapi.addresses(8) && "CallBridge TU" for Siemens ? "AddressName...", oPhone.addressname * oEvent = newobject("myEvent") * ? "EventHandler ...", eventhandler(oTapi,oEvent) && ********** ALWAYS .F. ***************** * nHRegisterCallNotification = oTapi.RegisterCallNotifications(oPhone,.T.,.T.,0x8,2) ? "RegisterCallNotification ...", nHRegisterCallNotification * nInkey = 0 do while nInkey <> 32 and nInkey <> 27 * doevents nInkey = inkey(2) ? "Esperando ...", datetime(), oPhone.state * enddo * ? "UnregisterNotifications ..." ,oTapi.UnregisterNotifications(nHRegisterCallNotification) * eventhandler(oTapi,oEvent,.T.) * oTapi.shutdown() * oEvent = null oPhone = null oTapi = null * return * ********************************* DEFINE CLASS myEvent AS session ** IMPLEMENTS ITTAPIDispatchEventNotification IN "TAPI.TAPI" IMPLEMENTS ITTAPIEventNotification IN "TAPI.TAPI" ** PROCEDURE ITTAPIDispatchEventNotification_Event(TapiEvent AS VARIANT, pEvent AS VARIANT) AS VOID PROCEDURE ITTAPIEventNotification_Event(TapiEvent AS VARIANT, pEvent AS VARIANT) AS VOID * ? "Evento ...", TapiEvent do case case TapiEvent = 4 ?? "Call notification" case TapiEvent = 8 ?? "Call state" endcase * ENDPROC ENDDEFINE * *