mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
3.4 KiB
87 lines
3.4 KiB
At install time:
|
|
|
|
// If for record, list all providers and ask user which one to record
|
|
// (Multiple at once? *Not at first.)
|
|
|
|
// If for playback, install as a new provider(?)
|
|
|
|
|
|
-----------------------------------------------------------------------------
|
|
At record time:
|
|
|
|
// Insert between TAPI & target SP (multiple SPs at once? *Not at first.)
|
|
|
|
// Really cool to self-modify export table so that only functions exported
|
|
// are those exported by the target SP (unlikely)
|
|
|
|
// On startup, spin a thread that will take messages & write to a file
|
|
|
|
// When a message comes up, all parms & timestamp will be added to a queue and the
|
|
// other thread will be signaled to put messages to the queue
|
|
|
|
// When a function call comes down, parms will be recorded for comparison
|
|
// to parms sent down during playback (THIS DEFINITION NEEDS WORK!!)
|
|
|
|
|
|
// !! Events going up should get TWO timestamps!!! One since startup and
|
|
// !! one since last (non-status?) function going down.
|
|
|
|
|
|
// After a function call, the return stuff (retcode, async buffer if any,
|
|
// async retcode) and timestamp are recorded
|
|
|
|
|
|
Features for recording:
|
|
|
|
// At set times, or before/after passing functions down to target SP
|
|
// and/or after/during messages up, call status functions on calls & lines
|
|
// so that if, during playback, status is unexpectedly asked for (because
|
|
// the ISV is trying something new) "correct" status is returned
|
|
|
|
|
|
-----------------------------------------------------------------------------
|
|
At playback:
|
|
|
|
// Already installed. Separate app to kick off, log stuff, and maybe get
|
|
// some user intervention (eg: have user manually kick off each event; have
|
|
// user alter data going up/down; etc)
|
|
|
|
// FileOpen common-dialog box to open Repeater file
|
|
|
|
// Talk through sidedoor (NOT LINEDEVSPECIFIC - MUST NOT ALREADY init provider)
|
|
// to get filename to Repeater
|
|
|
|
// On startup, spin a thread that will log stuff?
|
|
|
|
// When function calls come down, check them off the list if they are expected
|
|
// If not expected, log it (maybe even log it if it was expected, LOGLEVEL)
|
|
// If not expected, THEN WHAT? If a status call, return same status if this
|
|
// call was reported previously for 2 calls then the same status that was
|
|
// returned next. IE: A developer is working to fix a bug in an event stream
|
|
// and sets a loop to check the status of a call before continuing. He should
|
|
// receive a couple of "not done yet" statuses before the "ok, it's done"
|
|
// status.
|
|
|
|
// When completing async events, be sure to use the GOOD (current) asyncID!
|
|
|
|
// If a function call does not happen by (SOME AMOUNT OF TIME - the next
|
|
// status up message?), then log it.
|
|
|
|
// Pass any events up at the time delta they happened. (Delta from func down?)
|
|
|
|
// What about UI functions? Probably just put up a MessageBox that says
|
|
// "Kilroy was here"
|
|
|
|
|
|
Features for playback:
|
|
|
|
// Have playback optionally ignore function down stuff. So that a PBX maker
|
|
// can record events that are calls coming in and send that to ISVs. The
|
|
// ISV can then test their apps against incoming calls on the PBX.
|
|
|
|
// How valuable to be able to insert into a playback stream? EG: A PBX
|
|
// stream has incoming calls, but to test IVR stuff, an ISV wants to simulate
|
|
// DTMF pressed. EG2: An ISV realizes what he did wrong and wants to run
|
|
// a simulation and so wants to change one of the status returned messages.
|
|
// - changes a disconnect to dialing, then inserts a conntected then changes
|
|
// the disconnect to happen a MINUTE later...
|