% include( '/elements/header.html', 'Developer Documentation' ) %> <& /elements/menubar.html, 'Freeside Perl Modules' => $fsurl.'docs/library/FS.html', 'Complete Index' => $fsurl.'docs/library/index.html', &>
FS::svc_phone - Object methods for svc_phone records
use FS::svc_phone;
$record = new FS::svc_phone \%hash;
$record = new FS::svc_phone { 'column' => 'value' };
$error = $record->insert;
$error = $new_record->replace($old_record);
$error = $record->delete;
$error = $record->check;
$error = $record->suspend;
$error = $record->unsuspend;
$error = $record->cancel;
An FS::svc_phone object represents a phone number. FS::svc_phone inherits from FS::Record. The following fields are currently supported:
primary key
SIM IMSI (http://en.wikipedia.org/wiki/International_mobile_subscriber_identity)
Voicemail PIN
Optional svcnum from svc_pbx
Forward destination, if it's another service. Some exports use this configuration.
Forwarding destination, if it's not a service.
Email address for virtual fax (fax-to-email) services
LNP Status (can be null, native, portedin, portingin, portin-reject, portingout, portout-reject)
If porting the number in or out, name of the losing or winning provider, respectively.
Account number of other provider. See lnp_other_provider.
See lnp_status. If lnp_status is portin-reject or portout-reject, this is an optional reject reason.
Port identifier from porting provider, for checking status
Boolean (empty or `Y') indicating if a signature is required for the port
Boolean (empty or `Y') indicating if a copy of an existing bill is required for the port
Class of Service for E911 service (per the NENA 2.1 standard).
Type of Service for E911 service.
The FS::svc_circuit record for the physical circuit that transports this phone line.
The hostname of the SIP server that this phone number is routed to.
Creates a new phone number. To add the number to the database, see "insert".
Note that this stores the hash reference, not a distinct copy of the hash it points to. You can ask the object for a copy with the hash method.
Class method which returns an SQL fragment to search for the given string.
Returns the phone number.
Adds this phone number to the database. If there is an error, returns the error, otherwise returns false.
Delete this record from the database.
Replaces the OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false.
Called by the suspend method of FS::cust_pkg (see FS::cust_pkg).
Called by the unsuspend method of FS::cust_pkg (see FS::cust_pkg).
Called by the cancel method of FS::cust_pkg (see FS::cust_pkg).
Checks all fields to make sure this is a valid phone number. If there is an error, returns the error, otherwise returns false. Called by the insert and replace methods.
Internal method to check for duplicate phone numers.
Checks the supplied PIN against the PIN in the database. Returns true for a sucessful authentication, false if no match.
Returns the FS::cdr_carrier assigned as the SMS carrier for this phone.
Returns the name of the SMS carrier, or an empty string if there isn't one.
Returns the FS::svc_circuit assigned as the trunk for this phone line.
Returns the label of the circuit (the part_svc label followed by the circuit ID), or an empty string if there isn't one.
Returns any FS::phone_device records associated with this service.
Returns the phone_name field if it has a value, or the package contact name if there is one, or the customer contact name.
Returns a paged search (FS::PagedSearch) for Call Detail Records associated with this service. By default, "associated with" means that either the "src" or the "charged_party" field of the CDR matches the "phonenum" field of the service. To access the CDRs themselves, call "->fetch" on the resulting object.
Accepts the following options:
Like psearch_cdrs, but returns all the FS::cdr objects at once, in a single list. Arguments are the same as for psearch_cdrs. This can take an unreasonably large amount of memory and is best avoided.
Takes the same options as psearch_cdrs, but returns a single row containing "count" (the number of CDRs) and the sums of the following fields: duration, billsec, rated_price, rated_seconds, rated_minutes.
Note that if any calls are not rated, their rated_* fields will be null. If you want to use those fields, pass the 'status' option to limit to calls that have been rated. This is intentional; please don't "fix" it.
Returns a hashref of allowed values and descriptions for the e911_class field.
Returns a hashref of allowed values and descriptions for the e911_type field.
FS::svc_Common, FS::Record, FS::cust_svc, FS::part_svc, FS::cust_pkg, schema.html from the base documentation.