VoiceXML::Client::DeviceHandle - Encapsulates the communications device (eg Voice Modem)
The VoiceXML::Client::DeviceHandle module is meant to serve as an abstract base class for voice communication devices.
It provides the interface VoiceXML::Client::DeviceHandle::XXX modules are expected to implement.
LICENSE
VoiceXML::Client::DeviceHandle module, device handle api based on the VOCP voice messaging system package VOCP::Device. Copyright (C) 2002,2008 Patrick Deegan All rights reserved
This file is part of VoiceXML::Client.
VoiceXML::Client is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. VoiceXML::Client is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with VoiceXML::Client. If not, see <http://www.gnu.org/licenses/>.
Creates a new instance, calling init() with PARAMHREF if passed. Returns a new blessed object.
Called by new(). This method is used in derived classes to perform startup initialisation. Override this method if required.
The following methods are in this parent class (but only implemented as stubs) in order to define a common interface for all VoiceXML::Client::DeviceHandle subclasses.
These methods are actually heavily based on the Modem::Vgetty package methods and the interface should be considered tentative and expected to change as new devices are added (eg a SIP voice over IP interface would be nice).
Sends a beep through the chosen device using given frequency (HZ) and length (in miliseconds). Returns a defined and true value on success.
Connects to destination. Returns defined & true on success.
plays a sound (file, text-to-speech, whatever is appropriate) base on PLAYPARAM. May or may not block during play depending on device implementation. Returns true on success.
Records input from user to device to file TOFILE. Returns true on success.
Simply waits for TIME seconds. Device should accept/queue user input during interval.
Waits until STATE is reached/returned by device. Device should accept/queue user input during interval.
Immediately stop any current activity (wait, play, record, etc.).
play PLAYTHIS and return only when done.
Returns the current input mode (single- or multi- digit currently supported), optionally setting to MODE, if passed - use the %VoiceXML::Client::DeviceHandle::InputMode hash for valid MODE values.
Plays the PLAYTHIS and then waits for the sequence of the digit input finished. If no are entered within TIMEOUT seconds, it re-plays the message again. It returns failure (undefined value) if no digits are entered after the message has been played REPEATTIMES (defaults to 3) times.
It returns a string (a sequence of DTMF tones 0-9,A-D and `*') without the final stop key (normally '#').
Returns an array ref of valid data formats (eg 'rmd', 'wav', 'au') the device will accept.
To install VoiceXML::Client, copy and paste the appropriate command in to your terminal.
cpanm
cpanm VoiceXML::Client
CPAN shell
perl -MCPAN -e shell install VoiceXML::Client
For more information on module installation, please visit the detailed CPAN module installation guide.