Difference between revisions of "CTCall"

From iPhone Development Wiki
Jump to: navigation, search
m
(Added information about how to get access to the call history and wiki-ized the page a bit.)
Line 1: Line 1:
 
'''CTCall''' is a set of APIs in [[CoreTelephony.framework]] that is used to achieve various things related to phone calls.
 
'''CTCall''' is a set of APIs in [[CoreTelephony.framework]] that is used to achieve various things related to phone calls.
  
== Initiating a call ==
+
= Initiating a call =
 
To initiate a call without using {{applink|MobilePhone}}, you can use the CTCallDial function.
 
To initiate a call without using {{applink|MobilePhone}}, you can use the CTCallDial function.
  
Line 16: Line 16:
 
</source>
 
</source>
  
The CTCallHold, CTCallResume and CTCallDisconnect (end the call) can be used to hold call, resume a held call and end a call, respectively.
+
The <tt>CTCallHold</tt>, <tt>CTCallResume</tt> and <tt>CTCallDisconnect</tt> (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 [[CPPhoneNumber|CPPhoneNumberCopyNormalized]] function to normalize.
+
* '''Note''': The phone number passed to <tt>CTCallDial</tt> must be normalized. For example, +1 (555) 555-5555 will become 15555555555 after normalization. You can use the [[CPPhoneNumber|CPPhoneNumberCopyNormalized]] function to normalize.
 +
 
 +
= Getting the call history =
 +
One can use the <tt>_CTCallCopyAllCalls</tt> function to get the call history as a list of CTCalls.
 +
<source lang=c>
 +
CFArrayRef calls = _CTCallCopyAllCalls();
 +
NSLog(@"Calls: %@", calls);
 +
CFRelease(calls);
 +
</source>
  
 
== References ==  
 
== References ==  

Revision as of 22:03, 4 September 2013

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);

References