tobil...
I run into this issue a lot, with our internal folks. What I do is create a vector that looks like this...
step 1: blank
step 2: goto step 8 if ani = xxxxxxxxxx (ID'd number)
step 3: route to number xxxx (person's ext) with cov y if unconditionally
step 4: stop
step 5: blank
and so on...
step 8: announcement xxxx (you've reached this number in error)
step 9: disconnect
step 10: stop
Create a VDN thats points to that vector, test. Then in your incoming call-handling treatment tru xx, (whichever trunk group your DID blocks comes in), set up your digit replacement.
Called Length = 4 (or whatever telco sends)
Called number = Ext number that is in question
Delete = 4 (or whatever telco sends)
Insert = corresponding digits of the VDN number
It works well for our company. You can also test your programming, by changing what your extension outpulses in the ch public-unknown-number 4 ext xxxx (your extension). Then you just make the CPN what the blocked number is, and save. Make a test call to the person's DID number.
I know this is lengthy, but let me know if you need more info. I can send some screen captures via email...