Difference between revisions of "Freeside:3:Documentation:Developer/FS/svc phone"
From Freeside
m (Edit via perl MediaWiki framework (1.13)) |
m (Edit via perl MediaWiki framework (1.13)) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 28: | Line 28: | ||
; svcnum | ; svcnum | ||
:primary key | :primary key | ||
− | ; countrycode; phonenum; sip_password; pin | + | ; countrycode; phonenum; sim_imsi |
+ | :SIM IMSI (http://en.wikipedia.org/wiki/International_mobile_subscriber_identity) | ||
+ | ; sip_password; pin | ||
:Voicemail PIN | :Voicemail PIN | ||
; phone_name; pbxsvc | ; phone_name; pbxsvc | ||
Line 44: | Line 46: | ||
; lnp_reject_reason | ; lnp_reject_reason | ||
:See lnp_status. If lnp_status is portin-reject or portout-reject, this is an optional reject reason. | :See lnp_status. If lnp_status is portin-reject or portout-reject, this is an optional reject reason. | ||
+ | ; e911_class | ||
+ | :Class of Service for E911 service (per the NENA 2.1 standard). | ||
+ | ; e911_type | ||
+ | :Type of Service for E911 service. | ||
+ | ; circuit_svcnum | ||
+ | :The [[Freeside:3:Documentation:Developer/FS/svc circuit|FS::svc_circuit]] record for the physical circuit that transports this phone line. | ||
+ | ; sip_server | ||
+ | :The hostname of the SIP server that this phone number is routed to. | ||
==METHODS== | ==METHODS== | ||
Line 72: | Line 82: | ||
; check_pin | ; check_pin | ||
:Checks the supplied PIN against the PIN in the database. Returns true for a sucessful authentication, false if no match. | :Checks the supplied PIN against the PIN in the database. Returns true for a sucessful authentication, false if no match. | ||
− | ; radius_reply; radius_check; phone_device | + | ; radius_reply; radius_check; sms_cdr_carrier |
+ | :Returns the [[Freeside:3:Documentation:Developer/FS/cdr carrier|FS::cdr_carrier]] assigned as the SMS carrier for this phone. | ||
+ | ; sms_carriername | ||
+ | :Returns the name of the SMS carrier, or an empty string if there isn't one. | ||
+ | ; svc_circuit | ||
+ | :Returns the [[Freeside:3:Documentation:Developer/FS/svc circuit|FS::svc_circuit]] assigned as the trunk for this phone line. | ||
+ | ; circuit_label | ||
+ | :Returns the label of the circuit (the part_svc label followed by the circuit ID), or an empty string if there isn't one. | ||
+ | ; phone_device | ||
:Returns any FS::phone_device records associated with this service. | :Returns any FS::phone_device records associated with this service. | ||
+ | ; phone_name_or_cust | ||
+ | :Returns the <tt>phone_name</tt> field if it has a value, or the package contact name if there is one, or the customer contact name. | ||
; psearch_cdrs OPTIONS | ; psearch_cdrs OPTIONS | ||
:Returns a paged search ([[Freeside:3:Documentation:Developer/FS/PagedSearch|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. | :Returns a paged search ([[Freeside:3:Documentation:Developer/FS/PagedSearch|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. | ||
Line 83: | Line 103: | ||
::status => "" (or "processing-tiered", "done"): Return only CDRs with that processing status. | ::status => "" (or "processing-tiered", "done"): Return only CDRs with that processing status. | ||
− | ::inbound => 1: Return CDRs for inbound calls. With "status", will filter on inbound processing status. | + | ::inbound => 1: Return CDRs for inbound calls (that is, those that match on 'dst'). With "status", will filter on inbound processing status. |
::default_prefix => "XXX": Also accept the phone number of the service prepended with the chosen prefix. | ::default_prefix => "XXX": Also accept the phone number of the service prepended with the chosen prefix. | ||
Line 89: | Line 109: | ||
::begin, end: Start and end of a date range, as unix timestamp. | ::begin, end: Start and end of a date range, as unix timestamp. | ||
− | ::cdrtypenum: Only return CDRs with this type | + | ::cdrtypenum: Only return CDRs with this type. |
− | ::disable_src => 1: Only match on | + | ::calltypenum: Only return CDRs with this call type. |
+ | |||
+ | ::disable_src => 1: Only match on 'charged_party', not 'src'. | ||
+ | |||
+ | ::disable_charged_party => 1: Only match on 'src', not 'charged_party'. | ||
+ | |||
+ | ::nonzero: Only return CDRs where duration > 0. | ||
::by_svcnum: not supported for svc_phone | ::by_svcnum: not supported for svc_phone | ||
Line 98: | Line 124: | ||
; get_cdrs (DEPRECATED) | ; get_cdrs (DEPRECATED) | ||
:Like psearch_cdrs, but returns all the [[Freeside:3:Documentation:Developer/FS/cdr|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. | :Like psearch_cdrs, but returns all the [[Freeside:3:Documentation:Developer/FS/cdr|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. | ||
+ | ; sum_cdrs | ||
+ | :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. | ||
+ | |||
+ | ==CLASS METHODS== | ||
+ | ; e911_classes | ||
+ | :Returns a hashref of allowed values and descriptions for the <tt>e911_class</tt> field. | ||
+ | ; e911_types | ||
+ | :Returns a hashref of allowed values and descriptions for the <tt>e911_type</tt> field. | ||
==BUGS== | ==BUGS== | ||
Line 106: | Line 142: | ||
Hey! '''The above document had some coding errors, which are explained below:''' | Hey! '''The above document had some coding errors, which are explained below:''' | ||
− | ; Around line | + | ; Around line 809: |
− | :You can't have =items (as at line | + | :You can't have =items (as at line 813) unless the first thing after the =over is an =item |
Latest revision as of 06:25, 28 September 2015
NAME
FS::svc_phone - Object methods for svc_phone records
SYNOPSIS
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;
DESCRIPTION
An FS::svc_phone object represents a phone number. FS::svc_phone inherits from FS::Record. The following fields are currently supported:
- svcnum
- primary key
- countrycode; phonenum; sim_imsi
- SIM IMSI (http://en.wikipedia.org/wiki/International_mobile_subscriber_identity)
- sip_password; pin
- Voicemail PIN
- phone_name; pbxsvc
- Optional svcnum from svc_pbx
- forwarddst
- Forwarding destination
- Email address for virtual fax (fax-to-email) services
- lnp_status
- LNP Status (can be null, native, portedin, portingin, portin-reject, portingout, portout-reject)
- portable; lrn; lnp_desired_due_date; lnp_due_date; lnp_other_provider
- If porting the number in or out, name of the losing or winning provider, respectively.
- lnp_other_provider_account
- Account number of other provider. See lnp_other_provider.
- lnp_reject_reason
- See lnp_status. If lnp_status is portin-reject or portout-reject, this is an optional reject reason.
- e911_class
- Class of Service for E911 service (per the NENA 2.1 standard).
- e911_type
- Type of Service for E911 service.
- circuit_svcnum
- The FS::svc_circuit record for the physical circuit that transports this phone line.
- sip_server
- The hostname of the SIP server that this phone number is routed to.
METHODS
- new HASHREF
- 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.
- search_sql STRING
- Class method which returns an SQL fragment to search for the given string.
- label
- Returns the phone number.
- insert
- Adds this phone number to the database. If there is an error, returns the error, otherwise returns false.
- delete
- Delete this record from the database.
- replace OLD_RECORD
- Replaces the OLD_RECORD with this one in the database. If there is an error, returns the error, otherwise returns false.
- suspend
- Called by the suspend method of FS::cust_pkg (see FS::cust_pkg).
- unsuspend
- Called by the unsuspend method of FS::cust_pkg (see FS::cust_pkg).
- cancel
- Called by the cancel method of FS::cust_pkg (see FS::cust_pkg).
- check
- 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.
- _check duplicate
- Internal method to check for duplicate phone numers.
- check_pin
- Checks the supplied PIN against the PIN in the database. Returns true for a sucessful authentication, false if no match.
- radius_reply; radius_check; sms_cdr_carrier
- Returns the FS::cdr_carrier assigned as the SMS carrier for this phone.
- sms_carriername
- Returns the name of the SMS carrier, or an empty string if there isn't one.
- svc_circuit
- Returns the FS::svc_circuit assigned as the trunk for this phone line.
- circuit_label
- Returns the label of the circuit (the part_svc label followed by the circuit ID), or an empty string if there isn't one.
- phone_device
- Returns any FS::phone_device records associated with this service.
- phone_name_or_cust
- Returns the phone_name field if it has a value, or the package contact name if there is one, or the customer contact name.
- psearch_cdrs OPTIONS
- 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:
- for_update => 1: SELECT the CDRs "FOR UPDATE".
- status => "" (or "processing-tiered", "done"): Return only CDRs with that processing status.
- inbound => 1: Return CDRs for inbound calls (that is, those that match on 'dst'). With "status", will filter on inbound processing status.
- default_prefix => "XXX": Also accept the phone number of the service prepended with the chosen prefix.
- begin, end: Start and end of a date range, as unix timestamp.
- cdrtypenum: Only return CDRs with this type.
- calltypenum: Only return CDRs with this call type.
- disable_src => 1: Only match on 'charged_party', not 'src'.
- disable_charged_party => 1: Only match on 'src', not 'charged_party'.
- nonzero: Only return CDRs where duration > 0.
- by_svcnum: not supported for svc_phone
- billsec_sum: Instead of returning all of the CDRs, return a single record (as an FS::cdr object) with the sum of the 'billsec' field over the entire result set.
- get_cdrs (DEPRECATED)
- 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.
- sum_cdrs
- 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.
CLASS METHODS
- e911_classes
- Returns a hashref of allowed values and descriptions for the e911_class field.
- e911_types
- Returns a hashref of allowed values and descriptions for the e911_type field.
BUGS
SEE ALSO
FS::svc_Common, FS::Record, FS::cust_svc, FS::part_svc, FS::cust_pkg, schema.html from the base documentation.
POD ERRORS
Hey! The above document had some coding errors, which are explained below:
- Around line 809:
- You can't have =items (as at line 813) unless the first thing after the =over is an =item