CoreTelephony
framework has a CTCallCenter
Class with callEventHandler
property.
@property (nonatomic, copy) void (^callEventHandler)(CTCall*);
You will have to define a handler block in your application and assign it to this property. If your application is active when a call event takes place, the system dispatches the event to your handler immediately when call state changes. Refer apple documents found here.