Core Telephony

RSS for tag

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

Pinned Posts

Posts under Core Telephony tag

34 Posts
Sort by:
Post marked as solved
1 Replies
81 Views
Hi, I am wanting to create an app but am looking for a way to get raw IQ data from the cellular radio(s) on an iPhone. This would probably be gathered when cellular is turned off on the iPhone so as not to mess with its carrier services. Specifically, I would like to use the antenna(s)/radio(s) in an iPhone to get IQ data from a specified frequency and bandwidth. Is this possible? I haven't found anything in the developer documentation pointing to an API that would provide this. If it is a restricted API, are there steps I can go through to get access? Thanks
Posted
by devdsp.
Last updated
.
Post not yet marked as solved
3 Replies
241 Views
I have an application that needs to make a USSD call, but on some devices the * and # don't work on the dialer, on others it does. if let phoneNumber = ussdNumberTextfield.text { let encoded = "telprompt:\(phoneNumber)".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! if let url = URL(string: encoded) { if application.canOpenURL(url){ DispatchQueue.main.async { self.application.open(url, options: [:]) { success in } } } } }
Posted
by Regadas.
Last updated
.
Post not yet marked as solved
2 Replies
203 Views
Hello, I am trying to develop an app , using Flutter. My app has its own database which it contains the customer info such as name, address and phone number. I need to get the caller's phone number then I use the phone number and search in my database and if the phone# exist in our DB , I extract customer info and show it on pop up screen. How can I get the phone number of the person who is calling? i tried this, it didnt work: let networkInfo = CTTelephonyNetworkInfo() guard let carrier = networkInfo.serviceSubscriberCellularProviders?.first?.value else { return nil } return carrier.mobileNetworkCode Is there any way to get caller's number while he/she is calling? Thanks P.
Posted
by snoopy6.
Last updated
.
Post not yet marked as solved
1 Replies
939 Views
I'd like to allow the speech synthesizer to play on the device speaker while simultaneously mixing with a phone call. I've worked with a number of different configurations but am unable to find a configuration that achieves the functionality I am trying to achieve - or allows mixing with a phone call at all. There is a flag: mixToTelephonyUplink that seems to suggest that at least some mixing with a phone call is possible using the speech synthesizer, but I'm currently unable to find almost any documentation about this flag besides basic API docs. I've had some some luck at least getting the synthesizer to always play to the speaker with the following audio session configuration - but the sound never is mixed with a phone call. Instead, it is ducked and muted while the phone call takes place. I've tried quite a few configuration combinations for the category and overrides, but nothings seems to work quite as I'd expect it to. synthesizer.mixToTelephonyUplink = true try? audioSession.setCategory(.playback, mode: .voicePrompt, options: [.mixWithOthers, .defaultToSpeaker]) try? audioSession.setActive(true, options: []) try? audioSession.overrideOutputAudioPort(.speaker) Is there some kind of documentation for this that's off the beaten path that I'm somehow missing? I'm going to continue with guess and check, but I'm starting to think this flag - and the functionality it implies, actually wasn't ever fully implemented.
Posted
by d-skinio.
Last updated
.
Post not yet marked as solved
0 Replies
580 Views
Hello everyone! Since iOS 17.4, it's now easier to set up an eSIM from a browser/email or with a link. We can now longpress the QR code to get the option to add an eSIM. Is it still required to have that private entitlement to enable the same functionality in-app but not in a browser? Seems odd. I can store QR codes on Imgur to install eSIM but can't do the same with my native app by CTCellularPlanProvisioning.addPlan method. Redirecting users to the browser seems like a workaround, but it creates a noticeable discrepancy in usability. I might have overlooked some SDK updates or new methods. Are there any new approaches to enable in-app eSIM setup with the latest update? Secondly, in the "Other eSIM activation methods" section of this page, a special link is mentioned, but I couldn't find any examples or resources for that. Thanks
Posted Last updated
.
Post not yet marked as solved
1 Replies
372 Views
Hello! Firstly, I am submitting an entitlement request to access the E-sim configuration for the iOS application. While filling out the form, I encountered an issue with providing carrier information. The form is designed for a single carrier, but I have five carriers. Should I list all of them? Secondly, I have come across numerous discussions online regarding the time it takes to process such requests. Could you please provide me with an estimated timeframe for completion? Our customer is interested in completing the feature within a month. Thanks
Posted Last updated
.
Post not yet marked as solved
1 Replies
266 Views
In order to get more accurate compass data it seems that iOS devices with a simcard installed can provide better results. To distinguish between data delivered I would like to retrieve a status telling me if there is a simcard available and connected to the mobile network or not. All recommendations are pointing to the deprecated CoreTelephony functions which are obsolete since I am working with iOS17 devices. Is there a way to check if the device uses a simcard or not?
Posted Last updated
.
Post not yet marked as solved
2 Replies
347 Views
Hi. I would like my App to be notified when the phone rings. No, not CallKit-CallKit is for VoIP and does not cover Cellular connections (as of 2/26/24) but, thanks. To continue.. I understand ages-ago there was a Telephony Kit or Framework but, has been discontinued. Has it been replaced with something else? I would like something that seems very simple:a) when the phone rings my App is notified, b) when it stops ringing (combine all possibilities; sent to voicemail, user cancels, user answers) my App is notified. Yes, I understand UserNotifications can make things run but, as I understand it this feature is for the App to schedule notifications, not receive them? If you know of something in UserNotifications that I can leverage I would appreciate your input. Lacking other possibilities I find myself wondering about Siri integration. Siri is notified about system events and generates notifications based upon these events. Is there some way to place my App downstream from Siri and receive system notifications? Thanks everyone.
Posted Last updated
.
Post not yet marked as solved
1 Replies
403 Views
Hi, I'm developing a feature for a carrier company, I have to find out whether the iPhone is sim-free (unlocked). How can it be done programmatically? I tried to look at the CTCarrier class but it seems to be deprecated and we cannot count on the information it provides. What would be the right APIs/Classes to use for it? Thanks in advance
Posted
by nca.
Last updated
.
Post not yet marked as solved
1 Replies
577 Views
Hi, Need information on the Esim entitlement, we are planning to get the Esim Entitlement for our App, as part of the same when we try to submit there is field "Carrier Partner Team ID" while trying to submit request, we have reached out to our carrier on the same, meanwhile would like to understand what the field is refers for. Regards, Sunil Reddy.
Posted Last updated
.
Post not yet marked as solved
2 Replies
464 Views
hello, I work for a telecommunications company specializing in signal quality and field testing. We need to collect radio signal level measurements and L3 traces with iPhones. Since the chipset in the latest models is Qualcomm, we believe there is a possibility of using QXDM, but we're not sure how to proceed.
Posted
by MikelMat.
Last updated
.
Post not yet marked as solved
0 Replies
1.5k Views
This issue has cropped up many times here on DevForums. Someone recently opened a DTS tech support incident about it, and I used that as an opportunity to post a definitive response here. If you have questions or comments about this, start a new thread and tag it with Network so that I see it. Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com" iOS Network Signal Strength The iOS SDK has no general-purpose API that returns Wi-Fi or cellular signal strength in real time. Given that this has been the case for more than 10 years, it’s safe to assume that it’s not an accidental omission but a deliberate design choice. For information about the Wi-Fi APIs that are available on iOS, see TN3111 iOS Wi-Fi API overview. Network performance Most folks who ask about this are trying to use the signal strength to estimate network performance. This is a technique that I specifically recommend against. That’s because it produces both false positives and false negatives: The network signal might be weak and yet your app has excellent connectivity. For example, an iOS device on stage at WWDC might have terrible WWAN and Wi-Fi signal but that doesn’t matter because it’s connected to the Ethernet. The network signal might be strong and yet your app has very poor connectivity. For example, if you’re on a train, Wi-Fi signal might be strong in each carriage but the overall connection to the Internet is poor because it’s provided by a single over-stretched WWAN. The only good way to determine whether connectivity is good is to run a network request and see how it performs. If you’re issuing a lot of requests, use the performance of those requests to build a running estimate of how well the network is doing. Indeed, Apple practices what we preach here: This is exactly how HTTP Live Streaming works. Keep in mind that network performance can change from moment to moment. The user’s train might enter or leave a tunnel, the user might walk into a lift, and so on. If you build code to estimate the network performance, make sure it reacts to such changes. But what about this code I found on the ’net? Over the years various folks have used various unsupported techniques to get around this limitation. If you find code on the ’net that, say, uses KVC to read undocumented properties, or grovels through system logs, or walks the view hierarchy of the status bar, don’t use it. Such techniques are unsupported and, assuming they haven’t broken yet, are likely to break in the future. But what about Hotspot Helper? Hotspot Helper does have an API to read Wi-Fi signal strength, namely, the signalStrength property. However, this is not a general-purpose API. Like the rest of Hotspot Helper, this is tied to the specific use case for which it was designed. This value only updates in real time for networks that your hotspot helper is managing, as indicated by the isChosenHelper property. But what about MetricKit? MetricKit is so cool. Amongst other things, it supports the MXCellularConditionMetric payload, which holds a summary of the cellular conditions while your app was running. However, this is not a real-time signal strength value. But what if I’m working for a carrier? This post is about APIs in the iOS SDK. If you’re working for a carrier, discuss your requirements with your carrier’s contact at Apple.
Posted
by eskimo.
Last updated
.
Post not yet marked as solved
1 Replies
526 Views
Hi Team, I have one requirement. As sim swap fraud increasing day by day so for preventing this SIM Swap on App side, I need to get some unique data of SIM in swift So that I use to check the sim info In current device and prevent this fraud. If user register any app with one sim and later he/her change the SIM so how I can identify that user using the same sim or different one so that I can reauthenticate the mobile number. In backing industry it's very important to check this..other wise we can't stop fraud. If any method to check the SIM swiping then please let me know..Thanks
Posted Last updated
.
Post not yet marked as solved
1 Replies
770 Views
In our app, we are retrieving the SIM card country code. CTTelephonyNetworkInfo().serviceSubscriberCellularProviders But 'serviceSubscriberCellularProviders' was deprecated in iOS 16.0 with no replacement. So in iOS 17, is there any other way to get a SIM card-based country code?
Posted Last updated
.
Post not yet marked as solved
1 Replies
471 Views
Why some apps like tiktok have access to sim card info without getting access? So without my permission they can identify me.
Posted
by musamuss.
Last updated
.
Post not yet marked as solved
16 Replies
6.9k Views
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?
Posted
by HHHSQ.
Last updated
.
Post not yet marked as solved
2 Replies
671 Views
Hi Everyone, I have enabled eSIM entitlements to check eSIM, but I am always getting false for supportsCellularPlan and supportsEmbeddedSIM although my device having the esim feature. I followed each step from this stack overflow answer https://stackoverflow.com/a/60162323 Can anyone help me out here? below is the code I used:- private let provisioning = CTCellularPlanProvisioning() let ctpr = CTCellularPlanProvisioningRequest() ctpr.address = "address$" ctpr.matchingID = "string$" let supportsESIM = provisioning.supportsCellularPlan() if #available(iOS 12.0, *) { let ctcp = CTCellularPlanProvisioning() ctcp.addPlan(with: ctpr) { (result) in switch result { case .unknown: print("Sorry unknown error") case .fail: print("Oops! something went wrong") case .success: print("Yay! eSIM installed successfully") @unknown default: print("Oops! something went wrong") } } } print(provisioning.supportsEmbeddedSIM) print(supportsESIM) this is the entitlements SS this is the info.plist SS
Posted
by irshadCap.
Last updated
.
Post not yet marked as solved
30 Replies
16k Views
For iOS 16.X, CTCarrier will be deprecated. https://developer.apple.com/documentation/coretelephony/ctcarrier ①Could someone tell me why CTCarrier will be deprecated? ②What will be the correct way, going forward, to receive information regarding carrier information such as mobileCountryCode, mobileNetworkCode?
Posted
by cf_cw.
Last updated
.
Post not yet marked as solved
3 Replies
1.1k Views
Hi I am trying to make mobile app my question Is there any way to use iphone antenna without sim card? I am trying to send data to another iphone with antenna no wifi or bluetooth signal thanks. (kind of virtual sim, and antenna menaing that signal such is LTE is receiveing and sending or we are using to call) I search a lot. if it must be done in kernel please tell.
Posted Last updated
.
Post not yet marked as solved
1 Replies
736 Views
Our app is payment related app & we are doing device binding. So, based on sim detection we have implemented feature for device binding. If sim is not present in device then, we have to show alert to the user for "No sim found". As per current deprecation in CTCareer, We are always getting static details for sim card, so we are not able to detect, either sim is there or not in device. Is there any solution to detect sim is there or not in device?
Posted Last updated
.