(Go to my home page)

Go to the main resume

The following is a list of bullet items - telephony-related things I've worked on. My apologies for the brevity of this, and especially for its cryptic jargon and telegraphic style: it's still under construction, as the tired excuse goes.

The work listed below is a mixture of the trivial, and of projects that took months at a time. Some were written from scratch; others were changes to existing code. The items listed mostly exclude support, maintenance, and bug fixing; i.e., mostly new work is listed.

If some of the work looks repetitive, that's because it is. Such is the nature of our business.

Much of the work looks datacom-related, rather than telephony-related, mostly because I spent much of my time building products and tools for IVR.

Essentially, this covers 1991 to 1995 (my time at Brite Voice). Those years were spent on telephony - sometimes not directly, but always related to the telecom industry in some manner.

Please note: this is not complete. I don't have the years 1996 - 2001 added yet.

* Call progress
* Voice/fax for Sprint (callers press DTMFs to order documents faxed to them)
* X.25 drivers and testing (Corman/Eicon)
* Call transfer
* Dialogic boards
* 5250 terminal emulation for IVR
* Alarms
* "VA" (voice administrator) - voice board driver
* Modifications to programs that spawn, monitor, and respawn other programs
* Curses
* X.25 client/server for Infovox (subsidiary of Swedish PTT)
* PC as TCP/IP data scope
* X.25 PAD API changes
* Evaluate, test, use async. terminal emulation software
* TCP/IP (Fastech) - terminal emulation between 2 PCs
* SNA (Cleo) - debug problems
* 3270 emulation on AS/400s
* X.25 tracing, emulation with data scope
* TCP/IP (Quantum)
* Build TCP/IP interface for existing IVR package
* Build async terminal emulator interface for existing IVR package

* QNX internals - intertask messaging
* Ethernet LAN setup
* X.25 for London stock exchange
* X.25 internals - e.g., force ready timer to return from wait after other end closes VC
* Communications subsystem restart
* IVR questionnaire
* ISDN (Promptus) - write PRI driver: interface vendor board to IAS and VA
* DynaDos - QNX node control via Arcnet of DOS machine for data entry and retrieval
* Videotape IVR product presentation for National Health Enhancement Systems (NHES)
* ISDN analyzer (HP/Idacom) - for emulation and analysis
* IVR sales documentation - features, prerequisities, etc.
* Presentations to international sales
* ISDN utilities, setup/teardown changes, ANI/DNIS passing, etc.
* AT&T PRI line provisioning and vendor problems
* ISDN (DiAnaTel) - write PRI driver: interface vendor board to IAS and VA (replace Promptus)
* DynaDos-related code: client/server, database, Arcnet
* ISDN for E1 (Aculab) - get code roughed in, train other programmer to complete
* Install NHES software - install, debug, voice, code IAS, etc.
* Marconi X.25 for Tokyo airport
* ISDN: B-channel negotiation, Vari-A-Bill, dial-out, etc.
* Hard scope

* Interoperability testing and certification at Bell Labs, Holmdel
* IVR for United Telephone of Florida - customers change their service via VRU
* Do analysis, write functional spec and Petri nets for Unix voice networking
* 1TR6 German ISDN (Aculab) - modify
* Fix QNX voice networking bugs
* Write software to send stock quotes via fax, including formatting and cover page
* ISDN for L.A.
* Code Unix voice networking, including shared memory, IPC, queueing, UDP, multicast
* Fix DynaDos bug (stack overflow), suggested by John F., coded by Mitchell
* Port voice networking from UHC Unix to Interactive Unix
* Port voice networking to Perception equipment
* Implement Write1 APU language/protocol on QNX - use IAS, custom C; async, TCP/IP

* BriteLink: tasks, IPC, asynchronous event handling, SGL on APU, IAS
* 1TR6 (German) ISDN for Infovox - solve B-party problems (variable digit arrival rate)
* BriteLink: uninterruptible voice play; "kill" voice command; handle nonexistent voice; APU/VRU heartbeat; race conditions; record/append; outdial; busy-line alarm handling; dynamic message allocation; PAUSE handling; standard messages/prompts
* UTF screen compression/control characters/hung LUs/data stream
* BriteLink: message queueing to server task; message ACKs; task priorities
* BriteLink: voice update among nodes; download, convert voice files (different voice format for Write1 standard messages); meta-commands for test harness
* 3-week leave of absence: convert X.25 application with Fast Select to AIX in Kansas City
* Write release notes for BriteLink
* BriteLink: Network multiple VRUs per APU
* Write software to allow generalized tone detection for international markets
* AT&T PRI differences between 4ESS and 5ESS
* Outdial with call progress on Dialogic D41s
* Debug tone queueing for UTF (queueing of tones for later processing)
* E1 configuration/setup/use: 2 E1s per PC
* BriteLink IVR for QVC in England
* Europeanize BriteLink
* Attend ISO 9000 training
* Design/support ISDN for Baton Rouge
* ISDN call transfer
* BriteLink: alarm handling from APU by VRU
* Attend Information Mapping training
* Train installers and application programmers on BriteLink
* Write software to handle R2 compelled signalling (generalized, for multiple international PTTs); handle incoming calls
* Attend Unix training
* Implement R2 outdial

* BriteLink: enhance so callers can leave voice
* R2 for Malaysia
* R2 - handle hangup during tone exchange
* BriteLink: flush queued voice commands when told to Kill; synching between APU and VRU; catch tones before hard play
* UTF - add more CDR (call detail records) files and data
* Research Japanese screen scraping
* Foreign exchange signalling problems in Miami
* C++ training (AppServer product we bought from Dialogic)
* UDP version of BriteLink
* Non-networked (Arcnet-less) version of BriteLink: 1 VRU, numbered node 0
* Area code splits for UTF - modify database and code
* ISDN - driver for Aculab board
* Teach BriteLink to vendors
* BriteLink: collect and pass ANI/DNIS from VRU to APU
* Generalized tone detection software?
* Cairo BriteLink VRU debugging; no modem on-site
* Assist with ISDN Unix product development
* Speech recognition for BriteLink
* Spanish call transfer; interface VRU to PBX and transfer based on A-party or B-party
* South African cellular debit card application
* Analog outdial for BriteLink
* Singapore cellular application; rewrite BriteLink IAS in RING.MAC language
* Help debug DOW/Sun X.25 problem
* South Africa R2 and ANI; Plessey, rather than MTN
* SS7 research
* Automate and simplify installation of BriteLink with a shell script
* Interface BriteLink to Switch Control Unit
* Fix BriteLink to detect and handle voice mail for BriteLink cellular outdial application; included changing the standard hash tone
* Another NPA split for UTF
* Thai BriteLink system
* Wrote utility to uncover all paths through IAS scripts, display them, cross-reference, etc.
* Train English programmer to take over BriteLink product