I am developing a VOIP app which should also work in China region. I want to detect whether there are any other calls active or ended. This functionality is can be achieved using Callkit CXCallObserver. But CallKit cannot be used in China. So is there any other alternative way to achieve what CXCallObserver offers?
Core Telephony
RSS for tagAccess information about a user’s cellular service provider, such as its unique identifier and whether the carrier allows VoIP, using Core Telephony.
Posts under Core Telephony tag
33 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
How can I show my VoIP calling app in the same list as Facetime and ******** as shown in the image?
My app implements VoIP calls and is integrated with CallKit.
Any tip would be appreciated!
We are checking for cellular mode using the code below.
When the code below is executed, is it correct to convey the status value of the actually connected cellular environment?
Sometimes HSDPA or WCDMA is output.
I would like to inquire under what conditions the value is output.
[Code]
func getCellularConnectionType() -> String {
if #available(iOS 14.1, *) {
if let radioAccessTechnology = networkInfo.serviceCurrentRadioAccessTechnology?.values.first {
Debug.log("Radio Access Technology: (radioAccessTechnology)")
switch radioAccessTechnology {
case CTRadioAccessTechnologyLTE:
return "LTE"
case CTRadioAccessTechnologyNRNSA:
return "5G-NSA"
case CTRadioAccessTechnologyNR:
return "5G-SA"
default:
return "ETC"
}
}
}
return "Cellular"
}
We are a carrier in the US and would want documentation on implementing the native eSIM creation on the native app and install it on the device directly through the app. Core Telephony framework is available (https://developer.apple.com/documentation/coretelephony) to do that but I did not find any documentation on how to implement it by step by step process. Also we would want to understand how we can read the IMEI of the phone as we already have the carrier privileges on our developer account.
I am working on an app on which I want to develop a feature to install eSIMs. I am trying to follow the approach of installing the eSIM with the Universal Link solution by appending the activation code to the link https://esimsetup.apple.com/eSIM_QRCode_Provisioning?carddata=.
I was able to successfully call the link and install the eSIM. But after installation, the user stays on the settings app.
Is it possible to bring my app back to foreground after installation? Furthermore, is there a way I can listen to the installation result from my app?
I am working in Carrier app i want to check sim change event in my iOS app. please guide me how i can get sim change event. Thanks
Requirements: Suppose a carrier provides multiple networks and an iPhone can switch to the best network based on ****** strength.
Questions: In iOS, suppose we need to switch IMSI based on the best network available then is it possible to achieve that.
We do have apple carrier entitlements as well.
Can we achieve with Applet? if Yes so please describe it like how can we create applet and how applet works to switch IMSI profile.
Hi,
I'm developing a app that can install eSIM profile to device within the app, check currently esim or device is support eSIM feature, but for the Core Telephony API that required eSIM entitlement...
I trying to request the entitlement from apple, but for the "Carrier team ID", my partner (carrier) does not know about this part...
anyone can help? how can i get the "carrier team id" and request to apple get the entitlement to my app, implement Core Telephony...
Hello Team,
I am working on a carrier app and want to get the status of IMS registration and deregistration. I understand that a public API is not available. Can we access a private API through an agreement with Apple? Please guide me. Thanks.
I am developing an iOS application. In that i should show a status of their cellular provider such as Active, Inactive, or sim not available. Which also includes physical and eSim. I used Telephony.CTcarrier. One thing its deprecated and another case iOS 15 and below, even if i put my device in Airplane mode still its returning the carrierName and NetworkCode.
Is there any specific API to retrieve these realtime data?
TIA
I am using the SIMInserted API on Xcode 16 beta. However, when I checked with a SIM card inserted, it returned "No".
[Enviroment]
Xcode:16beta
iOS:18beta1,18beta2
[The modified implementation area is as follows]
1.Add "CarrierDescriptors" to the plist.
<key>CarrierDescriptors</key>
<array>
<dict>
<key>MCC</key>
<string>440</string>
<key>MNC</key>
<string>10</string>
</dict>
</array>
2.Add "SIM Inserted for Wireless Carriers" to the capabilities.
<key>com.apple.developer.coretelephony.sim-inserted</key>
<true/>
3.In case of iOS 18 and above, perform SIM detection using "isSIMInserted" of CTSubscriber.
- (BOOL)isSIMInseted {
if(@available(iOS 18.0,*)){
CTSubscriber* ctSubscriber = [CTSubscriber new];
return = ctSubscriber.isSIMInserted;
}
return NO;
}
Is there any mistake in the implementation steps you provided? Why is it not possible to retrieve the desired information with this implementation?
Please assistant me.
I am developing an iOS application where I need to detect if a SIM card is inserted in the device(either physical / eSim). I am targeting iOS 12 and later. I have tried using CTTelephonyNetworkInfo and CTSubscriber, but I am encountering issues with permissions and API availability in iOS 18 beta 3.
if #available(iOS 16.0, *) {
let subscriber = CTSubscriber()
if #available(iOS 18.0, *) {
do {
if subscriber.isSIMInserted {
return "SIM card is inserted."
} else {
return "No SIM card detected."
}
} catch {
return "Error determining if SIM is inserted: \(error.localizedDescription)"
}
} else {
return "isSIMInserted is only available on iOS 18.0 or newer."
}
} else {
return "isSIMInserted is only available on iOS 16.0 or newer."
}
if let carriers = networkInfo.serviceSubscriberCellularProviders,
let carrier = carriers.first?.value,
let _ = carrier.mobileNetworkCode {
return "SIM card is available.\nCarrier Name: \(carrier.carrierName ?? "None")"
} else {
return "No SIM card installed"
}
}
in iOS 18 it always returning No SIM card detected.
XCode Version 16.0 beta 3 (16A5202i)
iPhone OS: iOS 18.0 (22A5307i)
is there anything did I miss? or any documentation for the implementation would be helpful.
Thanks
We are Telecom company and we are already registered in GSMA
We have started testing our product environment and everything has been working smoothly with Android handsets. However, we are facing some challenges with iPhone handsets.
We only use IPV6 for UE addresses allocation and we are seeking your support and guidance on how to register our MVNO MCC and MNC in the iPhone carrier file.
Your assistance in this matter would be greatly appreciated.