Xianwen's blog

Life is either a daring adverventure, or nothing.

How to Make an iOS VoIP App With Pjsip: Part 5

Welcome to the 5th part of this tutorial series!

In the previous tutorial, we have created an iOS project, and made pjsip functions ready to be called. In today’s tutorial, we are going to actually call those pjsip functions from our iOS app.

In case you’re new to this series, here is a quick recap of previous tutorials:

  • Part 1: How to compile pjsip and run the embeded demo on your iOS device
  • Part 2: How to set up your own VoIP server via Kamailio, and actually make VoIP call between an iOS device and a Mac.
  • Part 3: A brief introduction of pjsip API, by digging into the source code of a very simple Mac VoIP program.
  • Part 4: How to add the pjsip libraries and header files into your own iOS project, so that you can call pjsip API from your app.

You could download the source code of this project (starting from the 4th tutorial) on Github here. Each commit of the project, is representing one step of the tutorial.

Fixing the Password Manager Issue via UltimaPass Pro

First of all, I must apologize sincerely for the inconvenience this issue brought to you. I know this must have caused you a lot of trouble.

The thing is, this app was acquired by another company in April 2014, and they did a poor update later that caused the app crashes. And since I’m no longer in possession of this app, I can’t upload a new version of the app to fix this issue. (And in case you haven’t noticed, this app has been removed from the App Store, while the reason is unknown to me)

Fortunately, I do have another app – “UltimaPass Pro” – in the app store, that has the same data structure as “Password Manager”. You could export all your data from the original app, and import it into this new app.

How to Make an iOS VoIP App With Pjsip: Part 4

Good day! And welcome to the 4th part of this tutorial series!

We have successfully compiled pjsip and the demo in part 1, managed to set up the VoIP server in part 2, and discussed the basic usage of pjsip APIs in part 3.

In this part 4, we will start building our own iOS VoIP app from stratch. By setting up a new project to make use of the pjsip libraries and header files, we’ll have a good foundation project in which we can call any pjsip methods.

You could download the source code of this project on Github here. Each commit of the project, is representing one step of this tutorial.

How to Make an iOS VoIP App With Pjsip: Part 3

Welcome to the third part of this tutorial series!

In the 1st post, we talked about how to compile pjsip, and run the built in demo on a real device. And in the 2nd post, we discussed setting up your own VoIP server, and actually made our 1st VoIP call from the iPhone to the Mac.

Today, we’re going to show you how to handle basic VoIP operations using pjsip. We’ll go into the details of the mac receiver voip app. Yes, this tutorial is supposed to talk about iOS app. However, since all the APIs provided by pjsip are in C, it’s easier to discuss them in a pure C program.

In fact, when we’re developing an iOS VoIP app, all the VoIP releated API calls are written in C. We then expose those C functions to our Objective-C world to be called.

How to Make an iOS VoIP App With Pjsip: Part 2

Welcome to the second part of this tutorial series! In previous post, we have talked about how to compile pjsip, and run the built in demo on a real device.

And after this tutorial, you’ll be able to make your 1st VoIP call via the demo we compiled before.

To actually make VoIP calls, we’re going to setup a VoIP server on your own mac. Since testing VoIP calls takes 2 devices, we’ll create a console app on the Mac to receive the phone call, and use iPhone to actually call it.

In this tutorial, you’ll learn:

  • Setting up a VoIP server to handle sip requests
  • Using PJSUA-CLI to make VoIP calls

To simplify the process so that you could start making VoIP calls immediately, we’ll just simply provide the sourec code of the console VoIP receiver app here. For further detail, we’ll cover it in our next tutorial.

And for the VoIP server, we’re going to use Kamailio.

How to Make an iOS VoIP App With Pjsip: Part 1

In this tutorial series, I will walk you through creating an iOS VoIP app. After finishing this series, you’ll have a working VoIP app, that can make outbound VoIP call and receive incoming call.

To achieve this, we’re going to utilize an open source library – pjsip.