Hello,
I need someone with considerable C++, TAPI and Win32 skills to write the following multithreaded windows application:
1. Dial a phone number as fast as the hardware allows on all existing tapi lines. Use one dialing thread per line.
2. Eventually someone (a human being or a answering machine) will pick up the phone. As soon as you receive ringback dialtone, or voice level signal (make sure it is not a busy tone!) on one of the lines, do the following:
-Stop all dialing.
-Dial a cell phone number on one of the lines.
-Forward all data from the answered line to the cell phone line.
This should be a very easy project for someone skilled in TAPI.
If interested, please provide samples with relevant TAPI experience and be prepared to answer some technical questions :-)
The project MUST use TAPI 2.x for compatibility reasons.
The application will eventually run on Dialogic, but I want it to also run on regular voice modems. So, you will have to assume it works with a regular Unimodem driver. Among many other unpleasant things that means:
1) You may get LINECALLSTATE_CONNECTED before, or after the voice trunk actually gets connected.
2) You get LINECALLSTATE_CONNECTED even if the line is actually busy.
3) You may never get LINE_BUSY notification so don't rely on it.
4) Tone detectors ala LINE_MONITORTONE are also not reliable, the only thing that works ok is LINE_MONITORDIGITS.
Be prepared to do some frequency analysis on your own,
FFT (as in Fast Fourier Transformation) is the keyword here.
For this reason, DSP background is a huge plus.
If you are not intimidated by the above obstacles (actually there are more, but I don't want to scare you) go ahead and place a bid. I am a professional software developer so let's respect each other's time. Only qualified people need apply.
Sincerely,
--Alex
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Win32 C/C++