NAME

WWW::FleXtel - Manipulate FleXtel phone number redirection

SYNOPSIS

use strict;
use WWW::FleXtel qw();
use Data::Dumper qw(Dumper);

my $flextel = WWW::FleXtel->new(
        number   => "0701776655",
        pin      => "1234",
        account  => "A99999", # not required
        password => "password", # not required
    );

printf("Diverted to %s\n", $flextel->get_destination);
printf("Diverted to %s\n", $flextel->set_destination(
        destination => "01923001122"
    );

print Dumper($flextel->get_phonebook);

DESCRIPTION

This module provides a very basic OO interface to FleXtel telephone number redirection webpage.

METHODS

new

my $flextel = WWW::FleXtel->new(
        number   => "0701776655",
        pin      => "1234",
        account  => "A99999", # not required
        password => "password", # not required
    );

Create a new WWW::FleXtel object. Currently the account and password parameters are unsed and therefor do not need to be passed to this constructor method.

This method does have any mandatory parameters. However values passed this constructor method will be used as default fallback values if they are not passed to the subsequent accessor methods detailed below.

number

Specifies the default FleXtel number to use for all subsequent queries.

pin

Specifies the default PIN to use for all subsqeuent queries.

account

Specifies the default FleXtel account number to use for all subsequent queries. This parameter is not currently used, but may be used in future releases.

password

Specifies the default account password to use for all subsequent queries. This parameter is not currently use, but may be used in future releases.

timeout

Specifies (in seconds) the timeout for all HTTP connections. By default this is set to 15 seconds.

cache_ttl

Specifies (in seconds) the TTL for values to be cached internally within the WWW::FleXtel object. By default this is set to 5 seconds.

get_destination

my $destination = $flextel->get_destination;
print "Diverted to $destination\n";

Retrieves the destination telephone number that your FleXtel number is currently diverted to.

set_destination

my $destination = $flextel->set_destination(destination => "01923001122");
print "Diverted to $destination\n";

Sets the destination telephone number that your FleXtel number is diverted to.

get_phonebook

my $phonebook = $flextel->get_phonebook;
use Data::Dumper qw(Dumper);
print Dumper($phonebook);

my $destination = $flextel->get_destination;
my ($person) = grep(/\S/, map {
        $_->{title} if defined $_ && $_->{number} eq $destination
    } @{$phonebook}); $person ||= "*not recorded*";
print "$destination is $person in your phonebook\n";

This method extracts the indexes, names and numbers from your FleXtel number's phonebook.

get_icd

my $icd = $flextel->get_icd;

get_email

my $notification_address = $flextel->get_email;

TODO

Add support for retrieving a list of all FleXtel phone numbers attached to an account number.

SEE ALSO

http://www.flextel.ltd.uk

VERSION

$Id: FleXtel.pm 942 2007-02-06 18:51:21Z nicolaw $

AUTHOR

Nicola Worthington <nicolaw@cpan.org>

http://perlgirl.org.uk

If you like this software, why not show your appreciation by sending the author something nice from her Amazon wishlist? ( http://www.amazon.co.uk/gp/registry/1VZXC59ESWYK0?sort=priority )

ACKNOWLEDGEMENTS

Special thanks to Kevin Archer at FleXtel and the FleXtel support and development team for implementing the simple CVS access methods to their website.

See CREDITS in the distribution tarball.

COPYRIGHT

Copyright 2007 Nicola Worthington.

This software is licensed under The Apache Software License, Version 2.0.

http://www.apache.org/licenses/LICENSE-2.0