Most businesses that deal with the public have a need, from time to time, to block certain calls from coming into the network. For example, you may have a former customer making threatening calls to your office. There are a few ways to handle this problem.
Option 1 – H.323 and SIP Gateways
If you have an H.323 gateway, remember the incoming call leg and the outbound call leg are both matched to dial peers. I use the mnemonic device “Internal Actions Drive Policy Decisions” to help me remember the order in which the gateway attempts to locate a matching dial peer: Incoming called-number, Answer-address, Destination-pattern, Port number (for POTS), and Default dial peer (for VoIP).
If the unwanted calls are originating from 614.555.1000, you could create a dial peer with that number as the answer-address, provided there isn’t another dial peer with an incoming called-number matching the call. On that dial-peer, you could then invoke a translation profile to translate the called number to, perhaps, an auto-attendant on your unified messaging system, which tells the caller to go away.
An easier solution (but without the benefit of giving the caller a personalized message) would be to try this:
dial-peer voice 1000 pots
call-block translation-profile incoming GoAway
call-block disconnect-cause incoming call-reject
voice translation-rule 1
rule 1 reject /6145551000/
translate calling 1
Cons: The only downside is that you’re (currently) limited to fifteen rules on these rule sets. Hopefully you don’t have that many enemies out there, though.
Get more information here.
Option 2 – Call Routing Rules on Unity
If you’re using MGCP and all your incoming calls go to an auto-attendant, then you can write a call routing rule in Unity/Unity Connection to send callers from a certain ANI to a special call handler.
Cons: Requires all calls to go through the unified messaging system, which will potentially require a large number of ports.
Option 3 – A Contact Center Script
If you’re using the contact center, using a script be the best choice for diverting the unwanted calls. For that matter, you could get sophisticated and build a table in a database, and then use a web-based method for allowing end-users (okay, supervisors) to update that database. As an added plus, you could take all calls coming in, bounce them to the contact center for verification, and then back to the call manager. The advantage here is that you could insert one of those lovely “Your call may be monitored or recorded” disclaimers, even for calls to users’ DID numbers.
Cons: Requires a contact center and a love of scripting. It also may use a lot of ports.