asterisk and witheld callers.
OK. Bit of background. Despite being registered with the Telephone Preference Service, we've had a few people call us from witheld numbers lately, trying to sell us things. Normally I'd just add them to the blacklist on my asterisk box, but this doesn't work for anonymous callers. I can't just block all anon calls, as we do get people come through this way that we do want to speak to (mostly family).
I've been looking at the various privacy options - FreePBX comes with a privacy screening option, but this is a bit limited. This post on the trixbox forums comes pretty close to what I want to acheive: anonymous callers are asked to record their name, and the call is offered to us to accept, reject or send to voicemail. I was also interested in ways of penalising such callers, so came up with the following strategy:
Incoming calls are sent to extension 199 - this is a custom extension with the dial string "Local/s@from-external-custom" - That's a modified version of the routine featured in the link above, where anonymous calls are sent to ivr-3 instead of direct to "custom-screen".
ivr-3 is a standard freepbx IVR that welcomes the anonymous caller, advising them that they can use the (UK standard) prefix 1470 to release their number and bypass all this. They then get two options - 1, for marketing calls, and 2 for personal calls. 2 goes to a custom extension 198, which has a dial string of "Local/s@custom-screen" so it goes right back into the routine from above, asking the caller for name, and offering it to us. There's also a hidden option to bypass the screening and ring us directly.
Option 1 goes to an anouncement, which advises the callers that we don't normally take marketing calls, but will do if they redial on a special number 07017xxxxxx - this actually costs them up to 33p/minute, or more, m which we, eventually, might see a comission of 8p/min out of it.
The 07017 number is provided free by Flextel whom offer an option on their numbers to change the caller-id to the number dialed rather than the caller's number. This is ideal, as I just point it back at our normal landline, and then set up an inbound route with a CID of the 07017 number.
This route goes to an anouncement thanking them, which goes off to extension 198 as above, asking the caller for their name, etc. As the CID is now the 07017 number, rather than witheld, I can tell which option they came through when the call is finally presented to us.
It all sounds phenominally complicated, merely to avoid a couple of unwanted calls, but hey, it's all free, and might make me a few pennies, eventually.
The only fly in the ointment is my mother in law, who has a witheld number, and won't be able to cope with this, even with a bypass route, so after spending all morning getting it working, I've disabled it for now...