Well, I have to agree that allowing someone input their CID after receiving the call is clearly a loop hole in the system. Then again, a lot of the people you block like that aren’t too savvy or are machines. Of course, if we were to take a minor change, I’d say move the blacklist check after answering and allowing the caller to input a CID manually. At least you can go into your blacklist and put the all 0s and 12345 that tend to come through.
Now for an extra dollar, I’d suggest a different approach. Maybe change it to something like “CID Validation” and give you the option to enable it on the trunk, inbound route, or an extension. And give the admin more flexibility and it would give different avenues if say:
No CID Delivered / Blocked / Anonymous
Invalid CID (ie too short, doesn’t match NXXNXXNXXXX or 1NXXNXXXX, all zeroes, all 1s, etc.)
Out of Area (restrict incoming calls to a certain area code)
Blacklisted / Whitelisted
And the destinations could be something like:
Play “We’re sorry, you CID was not delivered properly. Please hangup, unblock your number, and try your call again” then hangup
Play “Your CID was not delivered. Please enter it so your call my be delivered accordingly” User enters CID, CID Validation is processed again.
The standard greeting if you’re blacklisted… “be-de-bee We’re sorry…”
If OoA Play “The number you called cannot be contacted from your area.”
Custom response “You’ve reach XYZ Company. Your CID was not delivered properly. As a security precaution, this call cannot be completed. Please unblock your number and call back. If you fell you have reach this record in error, please hangup and dial 678-555-1212 for customer service.”
I think something like that would be more useful, robust, easily replace the current outdated module, and should be very simple to code.
Just a few thoughts off the top of my head… Let me know what you think…