Core Telephony

Access information about a user’s cellular service provider, such as its unique identifier and whether the carrier allows VoIP, using Core Telephony.

Core Telephony Documentation

Posts under Core Telephony tag

30 results found
Post marked as unsolved
11 Views

MSISDN/ SIM-info

We are a carrier in Africa and to make one of our customer service use case more secure we need to identify user’s mobile information (SIM info or MSISDN). Is there a way to get this info through a private API for carriers like us? Also, is there a way to get the event on SIM change (removal, insertion of SIM card)?
Asked
Last updated .
Post marked as unsolved
102 Views

SIM enabling/disabling by app

I would like to enable (switch on) or disable (switch off) a SIM by app. In case of a dual SIM phone, I'd like to specify the SIM to switch on or off. Is it possible ?
Asked
by StephMal.
Last updated .
Post marked as unsolved
114 Views

How to determine if the iPhone is roaming?

I am working on an iPhone application and would really like to determine if the device is roaming so that I can smartly avoid costing my users expensive connections, if they are out of their home network. I tried to explore Core Telephony framework but did not find anything fruitful. Is there any API by which I can determine if the user is roaming? Any help is appreciated, Thanks in advance!!!
Asked
Last updated .
Post marked as unsolved
1.4k Views

How to Use eSIM api

1. I am working for the carrier.2. On July 24, I filed an eSIM Access Entitlement request through the Apple Developer Portal.3. I didn't receive any feedback from Apple, but I found out that when I create a development provisioning profile, I can add a eSIM Development to the Entitlement.4. After downloading and opening the profile, I could check the following information.<key>Entitlements</key><dict><key>com.apple.CommCenter.fine-grained</key><array><string>public-cellular-plan</string></array>...5. I executed the following code but did not get the desired result as the log.<DEVICE>iPhone XS MAXiOS 12.2<code>if #available(iOS 12.0, *) {let provision = CTCellularPlanProvisioning()let cellrequest = CTCellularPlanProvisioningRequest()let isSupportEsim = provision.supportsCellularPlan()cellrequest.address = "https://rsp..." // Address confirmed to download eSIM normally through "add cellular plan" of "iPhone settings"// cellrequest.matchingID = ""// cellrequest.oid = ""// cellrequest.confirmationCode = ""// cellrequest.iccid = ""// cellrequest.eid = ""provision .addPlan(with: cellrequest) { (result) invar strResult : String = ""if result == .success{strResult = "success"}else if result == .fail{strResult = "fail"}else{strResult = "unknown"}print("isSupportEsim = \(isSupportEsim)")print("strResult is \(strResult)")}}<log>2019-09-05 14:55:03.651979+0900 *****[588:36758] [Client] Remote object proxy returned error: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated from this process." UserInfo={NSDebugDescription=The connection to service named com.apple.commcenter.coretelephony.xpc was invalidated from this process.}isSupportEsim = falsestrResult is unknown6. First of all I got a DTS answer through TSI, but I got an answer saying "DTS does not provide support with the CoreTelephony APIs".7. Is there a way to check if eSIM Entitlement has been granted?8. Please help us develop Carrier app using eSIM api.
Asked
by ldbin.
Last updated .
Post marked as unsolved
102 Views

How to get the currently used Radio Access Technology from serviceCurrentRadioAccessTechnology

When user have an e-Sim configured in his iPhone besides his physical SIM card, does the next code returns more than one entry in the dictionary ? [[CTTelephonyNetworkInfo alloc] init] serviceCurrentRadioAccessTechnology] If YES, how to get the currently used technology ? Thank you in advance.
Asked
Last updated .
Post marked as unsolved
1.8k Views

CTTelephonyNetworkInfo Crash in iOS 13.3.1, iPhone 8 Plus

Here is the crash message, can anyone help me to sovle it?# Version: 7.1.0 (200.2003091736)# Issue ID: 0c524b3dc585196cbe7ed564a4d841f3# Session ID: 30ad28258bdf47d4873df879a4e534cf_DNE_0_v2# Date: 2020-03-14T08:36:00Z# OS Version: 13.3.1 (17D50)# Device: iPhone 8 Plus# RAM Free: 1.5%# Disk Free: 22.3%#0. Crashed: com.apple.main-thread0 CoreFoundation 0x1adf9e444 -[__NSDictionaryM objectForKeyedSubscript:] + 1441 CoreTelephony 0x1b2862640 -[CTTelephonyNetworkInfo updateRat:descriptor:] + 1402 CoreTelephony 0x1b2862534 -[CTTelephonyNetworkInfo queryRatForDescriptor:] + 3923 CoreTelephony 0x1b28622f0 -[CTTelephonyNetworkInfo queryRat] + 2364 CoreTelephony 0x1b285ff90 -[CTTelephonyNetworkInfo initWithClient:] + 9285 CoreTelephony 0x1b285fb90 -[CTTelephonyNetworkInfo init] + 92Here is a part of core codes:CTTelephonyNetworkInfo *telephonyNetworkInfo = [[CTTelephonyNetworkInfo alloc] init];CTCarrier *carrier = telephonyNetworkInfo.subscriberCellularProvider;NSString *serviceCarrierName = carrier.carrierName;I use telephonyNetworkInfo, which is a temporary variable, to get the carrier's name. When I need a new carrier's name, I will use CTTelephonyNetworkInfo class to initialize a new one again. Is there a problem?
Asked
by HHHSQ.
Last updated .
Post marked as unsolved
82 Views

CTCarrier: isoCoutryCode always nil

Using CTTelephonyNetworkInfo to obtain a device's physical SIM status with serviceSubscriberCellularProviders is returning a CTCarrier with the correct carrier name and allowVOIP but return nil for it's Mobile and ISO Country codes. The SIM has voice/data availability but the API still reports nil values. Force closing the app seems to allow the values to get reset. Any thoughts behind this intermittent behavior?
Asked
by vinuean.
Last updated .
Post marked as unsolved
996 Views

iOS14 Beta 1 Killing VoIP app because it failed to post an incoming call in time.

With iOS14 App I am seeing frequent crashes when send in an incoming call VOIP Push. iOS is killing the App with the message "Killing VoIP app because it failed to post an incoming call in time" When SDK13 arrived we changed our code so as to avoid the iOS crash "terminateAppIfThereAreUnhandledVoIPPushes". So we always offer the call to Callkit before we return from pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(PKPushType)type withCompletionHandler:(void (^)(void))completion and our App has worked fine with iOS13 versions. So is this a new error "Killing VoIP app because it failed to post an incoming call in time" ?? I attach a log file snippet. Console log - https://developer.apple.com/forums/content/attachment/b9390632-9de3-4787-9a94-616a979eab34 You can see from log file attached that I was about to offer the call to Callkit just after iOS killed it. There is 19 mSec gap between Push arriving and iOS killing the App. default 19:36:42.598051 +0100 Our App MDS DEBUG => => => => => => New Push: Payload is [142],[Davemaj XS],[],[],[0] ... ... error 19:36:42.600513 +0100 callservicesd Killing VoIP app mds.mds.appname.us2 because it failed to post an incoming call in time.  ... ... default 19:36:42.617861 +0100 Our App MDS CALLKIT  => => => => => offerIncomingCallToCallkit from caller Davemaj XS {PBX:142}
Asked
by davemaj.
Last updated .
Post marked as unsolved
123 Views

Regarding Development related Query

Hello Team, Greetings!! I hope you are doing well I am here for a query regarding the iOS application development. I wants to develop and application for iOS platform in which I wants to introduce the CallKit. The functionality as similar as truecaller application in which when user have any incoming and outgoing call then I wants that contact number and call duration  in my application when it open, though call kit I get the observer for incoming and outgoing call but that will only report the status of the call like Dialing, incoming outgoing, connected and disconnected so on.   As I searched on google I am not getting any of the article in the particular forum. Kindly help me for the same. I am eating for you response regarding my query. Regards, Ruchika Mandoli
Asked
Last updated .
Post marked as unsolved
151 Views

Can we differentiate Physical Sim and Esim info. received by CTCarrier.

I am currently trying to get the carrier info. from device. If I call -    CTTelephonyNetworkInfo *networkinfo = [[CTTelephonyNetworkInfo alloc] init];   NSDictionary *carriers = networkinfo.serviceSubscriberCellularProviders;   CTCarrier *carrInfo;   for(id key in carriers.allKeys){     carrInfo = carriers[key];     NSLog("%@", carrInfo);   } This gives output - Carrier [name: Airtel, MCC: 208, MNC: 15, ISO Country Code: IN] Carrier [name: Jio, MCC: 210, MNC: 20, ISO Country Code: IN] Bu which is physical sim and which is E-sim, I am not able to differentiate. Also. I read this output can switch, not fixed. So how will I be able to differentiate both the sim.
Asked
Last updated .
Post marked as unsolved
136 Views

How to get more fine grained 5G information

The Use 5G with your iPhone - https://support.apple.com/en-us/HT211828 support page seems to imply that the 5G icon could be displayed when 5G coverage is available even if the device is actually connected via 4G/LTE; while testing on my device it seems to me that the opposite is true: the device was displaying 4G in a 5G area and, as soon as I kicked off a network intensive operation, it switched to displaying the 5G icon. So my questions are: Is there a way to detect in a more fine grained way the status of NR beyond the CTTelephonyNetworkInfo.serviceCurrentRadioAccessTechnology property? Is there a way to detect if the user has selected 5G On vs 5G Auto in the device settings? I’ve heard that operators can control whether the 5G icon appears in the status bar to the user, ie behavior may differ across operators. Is this correct? If so, what will the telephony API report? Will the 5G status reported by the APIs to my app always match what the user sees in their status bar?
Asked
Last updated .
Post marked as unsolved
99 Views

ESIM Detect by SDK

We are not able to detect the whether device support ESIM by SDK. Can u please provide the prerequisites and code for implementation.
Asked
by srapvvlar.
Last updated .
Post marked as unsolved
90 Views

Detect current device Country

Hi, I have a big problem to find an effective solution to detect the country where the device is located. First of all I wanted to use the MCC, MNC from CoreTelephony (CTCarrier) and then it turned out that I cannot rely on this information since the framerwork only provides the information from the Sim Card. So there will be a problem in the case of roaming. The second solution is to use the CoreLocation framework which is not efficient since there are applications like iMyFone AnyTo which can break my whole algorithm. Can you help me resolve this situation? Note that I wanted to publish my application so using private APIs is not an option
Asked
by moalla.
Last updated .
Post marked as unsolved
395 Views

[CTRadioFrequencyFrontEndScanData encodeWithCoder:] crash

0 libobjc.A.dylib objcoptclass (in libobjc.A.dylib) 24 1 CoreTelephony -[CTRadioFrequencyFrontEndScanData encodeWithCoder:] (in CoreTelephony) 1028 2 CoreTelephony -[CoreTelephonyClient(PNR) getPNRContext:completion:] (in CoreTelephony) 108 3 CoreFoundation -[NSCFType isDeallocating] (in CoreFoundation) 0 4 CoreFoundation 5 CoreFoundation -[NSInvocation invoke] (in CoreFoundation) 256 6 CoreTelephony -[CoreTelephonyClient(Registration) copyRegistrationDisplayStatus:error:] (in CoreTelephony) 272 7 libdispatch.dylib _osobjectretainwithresurrect$VARIANT$mp (in libdispatch.dylib) 0 8 libdispatch.dylib dispatchlaneinvoke$VARIANT$mp (in libdispatch.dylib) 812 9 libdispatch.dylib dispatchworkloopinvoke$VARIANT$mp (in libdispatch.dylib) 388 10 libdispatch.dylib dispatchapplyf$VARIANT$mp (in libdispatch.dylib) 88 11 libsystempthread.dylib pthreadmutexinit$VARIANT$mp (in libsystem_pthread.dylib) 68
Asked
by qinzhiwei.
Last updated .