Twilio evangelist here.
For the first scenario (no pickup), you can use the StatusCallback parameter to specify a URL twilio will request when a call ends. We pass along a CallStatus parameter that tells you why the call ended.
For the second scenario this is something that you will need to track since only your app knows what is a valid code.
The third scenario I'm not quite sure I understand. Do you mean when the phone rings they ignore the call? To Twilio that is essentially the same as not answering it.
Hope that helps.