Telephony software is used to place calls, monitor a call’s progress and detect incoming calls on POTS (plain old telephone service) lines. In digital telephony, where call control is directed by other means, DTMF dialing and call progress monitoring are required for secondary dialing.
The North American Telephony Platform is used for call control under North American administrations. The International Telephony Platform is used for call control under various international administrations.
Call Progress Tones
When originating a telephone call, progress tones are generated by the telephone system as the call sequences through the telephone network. The application software uses these conditions as the call progress tones are detected to control its actions. The call progress tones include primary and secondary dial tones, busy, congestion, ring back and bong. Both tone generation and tone detection are used extensively in analog telephony.
Call Dialing
Telephone numbers can be dialed with tones (DTMF), pulses or adaptively. Adaptive dialing can be used when the capability of the telephone line is unknown, but tone dialing is preferred. Pulse dialing must be implemented with external hardware, usually a relay in the telephone circuitry.
Caller ID
Caller ID Types I and II are available. Caller ID is a burst of Bell 202/V.23 modulated information generated between the first and second ring. The Caller ID information provides the telephone number and/or name of the calling party.
DTMF Detection and Generation
Both DTMF generation and detection are available. DTMF is a multi-frequency signaling code of paired frequencies emitted simultaneously to indicate a particular button has been pressed. Our DTMF detector exceeds Belcore Specifications.
Ring Detection
Ring detection is used to detect valid incoming ring signals. Distinctive ring detection can be used to identify different ring cadences. Distinctive ringing, an option available from the telephone company, provides several different telephone numbers for a single physical line where incoming calls produce a distinct ring cadence for each dialed number. Data/Facsimile/Voice Distinction is available as well as complete data modem, facsimile, speech coder and multimedia systems.
Features
- Complete call progress monitoring (North American and International)
- Per call time-slot assignment and sample stream coding (A-law, μ-law or Linear)
- Hook control and dialing procedures (North American and International)
- International DAA support
- Pulse, tone and adaptive dialing
- Caller ID Type I and II
- Call Waiting/Call Forwarding/Call Block features
- Acoustic, Line, and Digital Network Echo Cancellers
- DTMF Detection/Generation
- MF tone detectors, general purpose programmable tone detectors/generators available
- Ring detect and distinctive ring detect
- Automatic Gain Control (AGC)
- Voice Activity Detection (VAD)
- Packet Loss Concealment (PLC)
- Adaptive Jitter Buffer
- Voice/Facsimile/Data Modem Detection
- Multi-tasking environment compatible
Configurations
- DAA interface using linear/PCM codec at 7.2 kHz, 8.0 kHz or custom sample rates
- Direct interface to 8.0 kHz PCM data stream (A-law or μ-law)
- Complete data modem, facsimile and multimedia systems available
- Common compressed speech frame stream interface to support systems with multiple speech coders
- Dynamic speech coders selection if multiple speech codecs available
- Can be integrated with G.168 Echo Canceller and Tone Detection/Regeneration modules
- Multiple ports can be executed on a single DSP
Software Licensing
VOCAL’s software may be licensed as standalone algorithms or library. Contact us for custom solutions to meet your specific application requirements.
VOCAL’s embedded software libraries include a complete range of ETSI / ITU / IEEE compliant algorithms, in addition to many other standard and proprietary algorithms. Our software is optimized for execution on ANSI C and leading DSP architectures (TI, ADI, AMD, ARM, MIPS, CEVA, LSI Logic ZSP, etc.). These libraries are modular and can be executed as a single task under a variety of operating systems or standalone with its own microkernel.