Is there a way to write rules for incoming calls?

If you DO want to jailbreak, iBlacklist works great for this.

You can have blacklists, whitelists, lists just for SMS, lists that occur during a certain schedule (say work hours), multiple lists active simultaneously, and different actions for different lists, etc.

So you could use it to ignore some calls, some some calls straight to voicemail, and ignore other calls while automatically sending that number an SMS that says "At work, will call you back tonight" etc


Without jail breaking iOS - you can't get a phone call on any app but the Apple phone app (which doesn't support call screening as you asked).

Some carriers will let you set this up - but it's nothing to do with the iPhone.

Lastly, there are tons of services that require another phone number. Google Voice is one where you can program quiet hours, white list or black list and have exactly such control.

The downside to these other apps is that you'll need to have people call your alternate number, so it's not as easy - even with the ability to port an existing number to GV and then get a new number from your carrier.

Several iOS apps work with Google Voice like the official app and GV Mobile + and there are probably a hundred other VOIP solutions on the app store, but Google and Skype are the big players today.


While there are some jailbreak options, which I think have all been discussed in other answers here. Have you tried just calling up your network and seeing if they will block calls from the specific number from ever getting through? You can certainly do this on landlines so I can't see why a mobile would be any different.

There is no feature built into the iPhone, nor any 3rd party iPhone app that will do what you're after. Unless you join the darkside ;)