NAME

Asterisk::LCR::Rate - Rate objects for Asterisk::LCR

SYNOPSIS

use Asterisk::LCR::Rate;
my $rate =  Asterisk::LCR::Rate->new (
    provider        => 'someprovider',
    connection_fee  => 0,
    first_increment => 30,
    increment       => 6,
    rate            => 10.125,
    currency        => 'EUR',
    label           => 'The Moon - Mobile Services',
);

SUMMARY

Represents a rate, i.e. amounts of currency to pay, for a given destination prefix.

Note that this might not always be true.

For example:

+262 is supposed to be 'reunion island' but
+262692 is 'reunion island mobiles'

For this reason, when looking for a rate for a given destination, LCR engines must find rates with the longest possible prefix that matches a given number.

ATTRIBUTES

connection_fee (numeric scalar)

Fee which might be applied for any successful call, regardless of its length.

first_increment (numeric scalar)

Incompressible first length of time billed.

increment (numeric scalar)

Incompressible subsequent lengths of time billed.

currency (scalar)

Currency which is used for this rate, i.e. EUR, USD, GBP...

rate (numeric scalar)

Amounts of currency per minute

provider (scalar)

Provider which provides this rate.

label (scalar)

Destination of this rate. This is a string, not an object.

METHODS

$self->validate();

Validates this object to avoid constructing objects which are in an inconsistent state.

returns 1 if the object validates, 0 otherwise.

$self->validate_connection_fee();

Validate this object's 'connection_fee' attribute.

returns 1 if the attribute validates, 0 otherwise.

$self->set_connection_fee ($fee);

Sets the current object's 'connection_fee' attribute.

$self->connection_fee();

Returns the current object's 'connection_fee' attribute.

$self->validate_first_increment();

Validate this object's 'first_increment' attribute.

Returns 1 if the attribute validates, 0 otherwise.

$self->set_first_increment ($fee);

Sets the current object's 'first_increment' attribute.

$self->first_increment();

Returns the current object's 'first_increment' attribute.

$self->validate_increment();

Validate this object's 'increment' attribute.

Returns 1 if the attribute validates, 0 otherwise.

$self->set_increment ($fee);

Sets the current object's 'increment' attribute.

$self->increment();

Returns the current object's 'increment' attribute.

$self->validate_rate();

Validate this object's 'rate' attribute.

Returns 1 if the attribute validates, 0 otherwise.

$self->set_rate ($fee);

Sets the current object's 'rate' attribute.

$self->rate();

Returns the current object's 'rate' attribute.

$self->validate_currency();

Validate this object's 'currency' attribute.

Returns 1 if the attribute validates, 0 otherwise.

$self->set_currency ($fee);

Sets the current object's 'currency' attribute.

$self->currency();

Returns the current object's 'currency' attribute.

$self->validate_provider();

Validate this object's 'provider' attribute.

Returns 1 if the attribute validates, 0 otherwise.

$self->set_provider ($fee);

Sets the current object's 'provider' attribute.

$self->provider();

Returns the current object's 'provider' attribute.

$self->validate_label();

Validate this object's 'label' attribute.

Returns 1 if the attribute validates, 0 otherwise.

$self->set_label ($fee);

Sets the current object's 'label' attribute.

$self->label();

Returns the current object's 'label' attribute.

$self->validate_prefix();

Validate this object's 'prefix' attribute.

Returns 1 if the attribute validates, 0 otherwise.

$self->set_prefix ($fee);

Sets the current object's 'prefix' attribute.

$self->prefix();

Returns the current object's 'prefix' attribute.