CTCall is a set of APIs in CoreTelephony.framework that is used to achieve various things related to phone calls.
Initiating a call
To initiate a call without using MobilePhone, you can use the CTCallDial function.
CFStringRef number = CFSTR("15555555555");
CTCallRef call = CTCallDial(number);
...
CTCallHold(call);
...
CTCallResume(call);
...
CTCallDisconnect(call);
The CTCallHold, CTCallResume and CTCallDisconnect (to end the call) functions can be used to hold call, resume a held call and end a call, respectively.
- Note: The phone number passed to CTCallDial must be normalized. For example, +1 (555) 555-5555 will become 15555555555 after normalization. You can use the CPPhoneNumberCopyNormalized function to normalize.
Getting the call history
One can use the _CTCallCopyAllCalls function to get the call history as a list of CTCalls.
CFArrayRef calls = _CTCallCopyAllCalls();
NSLog(@"Calls: %@", calls);
CFRelease(calls);
External links
|