Usr modems extensions to control self-mode
use Device::Modem::UsRobotics;
my $modem = new Device::Modem::UsRobotics( port => '/dev/ttyS1' ); $modem->connect( baudrate => 9600 ); my %info = $modem->messages_info(); print "There are $info{unreleased_voice_msg} unread voice messages on $info{stored_voice_msg} total\n"; print "There are $info{unreleased_fax_msg} unread fax messages on $info{stored_fax_msg} total\n";
# Get details about message n. X my %msg = $modem->message_info(1); index type information attributes status day hour minute callerid page addresshigh addresslow checksum print 'This is a ', ($msg{type} == 2 ? 'voice' : 'fax'), 'message', "\n"; print 'It came from no. ', $msg{callerid}, "\n"; # ...
# Now clear all messages $modem->clear_memory();
This module is not documented yet, and it is a rough work in progress. Until now, it correctly reads voice/fax messages information, but when saving voice messages to disk, sometimes they are incorrectly decoded.
So, if you need a working program, check out the good old TkUsr by Ludovic Drolez, unless you want to help develop Device::Modem::UsRobotics.
Yes, I'm a bad boy :-)
Bla Bla Bla...
\$1
Used to permanently clear the memory space of the modem. There are separate memory spaces, one for voice/fax messages and one for user settings. Examples:
$modem->clear_memory('user'); # or $modem->clear_memory(1) $modem->clear_memory('messages'); # or $modem->clear_memory(2)
To clear both, you can use:
$modem->clear_memory('all'); # or $modem->clear_memory(0);
Parameters: String or integer that selects the type of memory to be cleared, where 0 is for \*(C`all\*(C', 1 is for \*(C`user\*(C' memory, 2 is for \*(C`messages\*(C' memory.
Please feel free to contact me at my e-mail address [email protected] for any information, to resolve problems you can encounter with this module or for any kind of commercial support you may need.
Cosimo Streppone, [email protected]
(C) 2004-2005 Cosimo Streppone, [email protected]
This library is free software; you can only redistribute it and/or modify it under the same terms as Perl itself.
Device::Modem, perl