Files
agc_2-X/docs/CELLPHONE_USA_TCPA_FCC_COMPLIANCE.txt
T
mattf 61b5e03d01 Added filtering to AGI processes to help prevent DID SQL injection attacks
Added nanpa filtering log viewing to new NANPA updating process
Fixed span order in vicidial.php
Fixed issue with list webform overrides in agent interface
other small variable filtering fixes

git-svn-id: svn://192.168.202.10@2023 3d104415-ff17-0410-8863-d5cf3c621b8a
2013-09-26 01:27:15 +00:00

81 lines
7.2 KiB
Plaintext

CELLPHONE FILTERING DOC Started: 2013-09-20 Updated: 2013-09-20
We have received many inquiries from clients about the impending FCC deadline of October 16th, 2013 to stop auto-dialing cellphones in the USA unless you have "express consent" from the person you are calling. This document is a summary of what this means to businesses and organizations, and goes over how they can make sure they are in compliance depending on their interpretation of the regulatory language.
First, here is a good summary of what the changes are, and what the definition of terms are:
http://www.copilevitz-canter.com/resources/articles/upcoming-fcc-rule-changes-regarding-express-consent-to-call-cell-phones
In summary, the new regulations ban any calls to cellphones in the USA by "automatic telephone dialing systems"(or ATDS) unless you have specifically received explicit written or audio recorded permission from the person(or spouse of the person) you are calling that you are allowed to call them on their cell phone through an auto-dialer. The vague definition of ATDS that the FCC uses is,
"equipment which has the capacity
(A) to store or produce telephone numbers to be called, using a random or sequential number generator;
and
(B) to dial such numbers".
This is such a broad definition that even a modern smartphone fits it's definition. But, the FCC also has said more recently that the basic function of an ATDS is “the capacity to dial numbers without human intervention”, which should pretty much exclude smartphones, as well as dialing systems where human intervention would be necessary for any calls to be placed, such as auto-dialers.
It is important to mention that this regulatory change has no effect on automated calls to land lines.
For our clients that have the strictest interpretation of the regulation change, we have added a programmatic feature that is non-editable in System Settings called "Disable Auto Dial" which is disabled by default. This feature was added on July 11, 2013 and is available in svn/trunk versions 1999 and higher. To enable or disable this feature, you have to issue a MySQL command through the command line mysql interface:
$ mysql asterisk
mysql> UPDATE system_settings SET disable_auto_dial='1';
mysql> quit
Once this is done, the system will be incapable of automatically placing outbound calls. This includes dial methods using ADAPT and RATIO in campaigns. If this feature is enabled and you are using those dial methods, you will see this warning on the campaign modification screen: "Auto-dialing has been disabled on this system". If your system has this feature enabled, you should only be using the MANUAL and INBOUND_MAN campaign dial methods.
The client that we added this feature for created a separate Vicidial system just for cellphone calling that has this feature enabled, so that they are using a separate system that is completely incapable of placing phone calls without human intervention.
FILTERING CELLPHONES
The next question we usually get after explaining all of this is, "How do I filter cellphones?". With number portability this has been made a much more complex task. There are companies that offer fee-based filtering services, like DNC.COM, which several of our clients use for this purpose, and can pre-filter leads before they are imported into Vicidial. It is important to mention that there is no 100% accurate lookup service for cell phones, but using an specialized service like DNC.COM is considered a best effort solution because you can get very close to that.
We recently added several software components to the Vicidial codebase that allows for integration with DNC.COM's on-site cellphone filtering database service. If you subscribe to this service then you can download the data files nightly and have Vicidial scrub for cellphones on the entire system and/or manually scrub inactive lists through an administrative web page. More details on these processes are included below.
Our NANPA list that is available for clients to purchase on vicidial.org also has the "Lata Type" definition for all North American phone number prefixes which will show phone prefix blocks that are land lines(S), cell phones(C), pagers(P) and mixed use(M). There is currently no filtering script included with Vicidial that uses this data, but it could be used with a custom script as a pre-filter before sending a list to an outside filtering company. It is important to mention that this IS NOT a compliance solution and IS NOT considered a best effort option to filter your number. Also, in our extensive testing, it is only 93% accurate at best in determining whether a phone number is really a cell phone.
This is a good place to mention the penalties for calling a cellphone with an auto-dialer. The FCC fine is up to $16,000.00 per violation, with civil fines of up to $500.00 per call that can also be levied against the offender.
DNC.COM INTEGRATION FEATURES IN VICIDIAL
Here is a list of scripts that we have added in order to integrate with DNC.COM's cellphone filtering database service.
bin/nanpa_type_populate.pl -
Requires "Net::SFTP::Foreign" and "IO::Pty" CPAN modules to run. Automatically goes to DNC.COM SFTP server and downloads the 3 required data files(Prefixes, Wired-to-wireless, Wireless-to-wired), then loads that data into database tables on the vicidial system to be used by the other scripts. This process should be set to run in the crontab every morning.
NOTE: before you can run this script, you will need to sftp into the dnc.com server first on the Linux command line, (sftp XXXX@sftp.dncscrub.com)
bin/nanpa_type_preload.pl -
This script is designed to load all of the prefixes and portability data into RAM and run against your entire database to scrub it for cellphone numbers every night after the data is refreshed. It takes several minutes to initialize, but runs very fast after that. This process should be set to run in the crontab every morning AFTER the populate script is finished running.
bin/nanpa_type_filter.pl -
This script is designed to do one list or a few lists at a time, or the entire database on smaller systems. It works together with a PHP script to perform lookups of cellphones and updating vicidial_list records depending on settings
www/vicidial/nanpa_type.php -
PHP script designed to return S = Land line, C = Cellphone, I = Invalid for one to hundreds of numbers passed in either an HTTP GET or POST form submission to it. Also requires valid manager user credentials on the host system for it to work.
NOTE: To find the command line options for the Perl scripts above, just run them with the "--help" flag
These scripts need a /etc/vicidial_prefix.conf file on their server in order to run:
(example below shows local vicidial database repository)
# Database connection information
PREFIX_DB_server => 127.0.0.1
PREFIX_DB_database => asterisk
PREFIX_DB_user => cron
PREFIX_DB_pass => 1234
PREFIX_DB_port => 3306
# URL connection information
PREFIX_url => http://127.0.0.1/vicidial/nanpa_type.php
PREFIX_user => 6666
PREFIX_pass => 1234
# SFTP login information
PREFIX_SFTP_server => sftp.dncscrub.com
PREFIX_SFTP_user => DEMOVICIDIAL
PREFIX_SFTP_pass => sampLepass
PREFIX_SFTP_port => 22