What is the right solution for a high availability authorization service?

I work in a software store that has a smart home dialer product, and we need to implement a DO-NOT-CALL submission solution.

Basically, I have a database with clients / potential clients that I need to call, and another database with phone numbers that I cannot call. Since the system is an intelligent dialer, depending on the performance of the operation, average values, etc., it collects more or less calls for each registered user of the system. Usually this “magic” number is about 3-4 calls per registered agent.

The smart phone dialer repository is a PostgreSQL database. The predictive dialer selects a bunch of numbers from the database and sends a command to pbx to dial the bundle, and then the business logic switches to transferring valid calls to call center clerks, etc. (It does not matter, since my problem is before the call).

I need to implement non-call list functionality. This list without calls will be provided to our company by a government agency in a CSV file daily. Every time I get a new CSV file, I have to clear the old list of non-calling calls and put a new one in place.

My first thought on its implementation was batch processing, a cross reference to DO NOT CALL LIST with my current client database. But I think that depending on the size of both databases, the cross-reference would be very high, and sometimes it could not be completed in one night. I used to have problems with batch processing, and it's not very nice to see.

My second idea came about when I thought about how large institutions handle high-performance and high-performance authorization systems such as credit cards or user authentication / authorization. I thought that creating an authentication service for NON-CALL LIST numbers and changing the algorithm of my smart dialer to check every number on this authorization service before dialing the number would be neat.

confabulation , , , . , : ? CSV ? LDAP? MySQL? PostgreSQL? ? ?

, , , , , .

+3
1

, DNS black/block lists.

rbldnsd - DNS , DNSBL. . rbldns , djbdns. rbldnsd, Google

, URI ENUM - , + 1-555-4242 2.4.2.4.5.5.5.1.e164.arpa. rbldnsd, -. "-", , ​​ DoNotCall.

, script, Perl AWK. CSV .

+2

Source: https://habr.com/ru/post/1706594/


All Articles