This document explains how to get the credentials you need in order to receive incoming calls on the Plivo iOS SDK using PushKit. To receive an incoming call, you must:
Let’s see how to accomplish each of these steps.
To enable VoIP services from Xcode, select the Capabilities tab, then:
To create a VoIP Service Certificate, create a certificate signing request (CSR), then create the service certificate using the CSR.
Certificate signing request (CSR) is a prerequisite for creating a certificate in the iOS Dev Center. To generate the CSR:
To create a provisioning profile for your app:
Navigate to the Provisioning Profiles section on Apple Developer Portal.
Click “+” to add a new Provisioning Profile.
Select iOS App Development as the provisioning profile type.
Click Continue.
Select your App ID.
Select the developer certificates you’d like to include in this provisioning profile.
Select the developer devices you’d like to include in this provisioning profile.
Enter a name for the provisioning profile.
Click Download to download and save the generated profile.
If you intend to submit your app to the app store, select App Store under Distribution for the production environment. Otherwise, select the Ad Hoc distribution type.
Click Continue.
Select your App ID.
Select the iOS distribution certificate you wish to include in this provisioning profile. This should be the App Store or Ad Hoc certificate for your production app.
Enter a name the provisioning profile.
Click Download to download and save the generated profile.
The file is downloaded with a .mobileprovision extension.
To create push credentials with your VoIP Service Certificate:
Export your VoIP Service Certificate as a .p12
file from Keychain Access.
Enter a unique name for the certificate, then click Save.
You need not enter a password to create the .p12 file. Click OK if you’re prompted to enter a password to protect the exported item. The app private key will get stored in .p12 format.
The certificate key and the private key need to be generated from the .p12 file. To generate the files:
In a terminal window, generate the certificate key by running:
openssl pkcs12 -in VOIP_SNS.p12 -nokeys -out cert.pem -nodes
Generate the private key by running:
openssl pkcs12 -in Certificates.p12 -nocerts -out key.pem -nodes
Then, to process the RSA key, run:
openssl rsa -in key.pem -out key.pem
The RSA key and certificate will be generated.
You can change the environment from sandbox to production, but not from production to sandbox. To change your environment to sandbox from production, delete the certificate and create a new one for sandbox. If you delete the production certificate, you’ll stop receiving incoming calls by all live apps.
In the Plivo console, go to Voice > Push Credentials and paste the text from the respective files in the Certificate and Private Key boxes.
Based on the types of profile and certificate generated from Apple Developer console, choose either Production or Sandbox environment.