**************************** PROCEDURE RegisterCallEvents LPARAMETERS m.AddressName oTapi = CREATEOBJECT("tapi.tapi") oTapi.Initialize oTapi.EventFilter = 28 && guess this is TE_CALLSTATE (0x8) OR TE_CALLMEDIA (0x10) OR TE_CALLNOTIFICATION (0x4) FOR m.x = 1 TO oTapi.Addresses.Count oAddress = oTapi.Addresses.Item(m.x) IF oAddress.AddressName() = m.AddressName *glRegistrationToken = gobjTapi.RegisterCallNotifications(gobjAddress, fMonitor, fOwner, lMediaTypes, lCallbackInstance) m.RegistrationToken = oTapi.RegisterCallNotifications(oAddress, .F., .T., 0x8, 1) ENDIF ENDFOR oEvents = NEWOBJECT("myclass") ? EVENTHANDLER(oTapi, oEvents) && returns false RETURN DEFINE CLASS myclass AS session OLEPUBLIC IMPLEMENTS ITTAPIDispatchEventNotification IN "tapi.tapi" PROCEDURE ITTAPIDispatchEventNotification_Event(TapiEvent AS VARIANT, pEvent AS VARIANT) AS VOID HELPSTRING "method Event" SET MESSAGE TO TRANSFORM(TapiEvent) ENDPROC ENDDEFINE RETURN