Latest 4.0
License GNU GPL v3
Platforms ios 9.0, requires ARC
Dependencies Vialer-pjsip-iOS-KC, CocoaLumberjack, Reachability



We’ve created a better wrapper for the PJSIP library.

Why did we make a new wrapper for the PJSIP library? Previous implementations we found (Gossip, Swig & Telephone) had a primary goal to keep the SIP connection and registration up to date. Because a mobile app is switching networks and connections all the time, it is not possible to keep the SIP registration correct. Since iOS 8, Apple strongly advised to start using VoIP push notification and not to try keep the connection alive all the time.
And because we think adjusting one of the libraries wouldn’t do the trick, we decided to make our own wrapper. This library is created as a cocoapod to make inclusion in your app dead simple. Many thanks and credits go to the creators of PJSIP and the people who created the wrappers around it.
But now it is our turn. And we would like your help. We try to make the wrapper as general as possible, so please use it the way you want to use it. If you think you can help improving this library, please send us an email or create a pull-request. We will respond asap.

We use this library in our own app, Vialer. To make sure we always have a correct version of PJSIP, we created our own cocoapod named Vialer-pjsip-iOS.


In active development.



  • Cocoapods
  • iOS 9.0 or greater
  • Git lfs


VialerSIPLib is available through CocoaPods. To install
it, simply add the following line to your Podfile:

    platform :ios, '9.0'
    pod 'VialerSIPLib'

When you are having trouble that your app can’t compile because of a linker error.
Try this because of the VialerSIPLIB is now requiring git-lfs.
Clear the cache of cocoapods which is located at: /Users/$USER/Library/Caches/CocoaPods
Thanks to phatblat from this thread CocoaPods/CocoaPods#4801


To run the example project, clone the repo, and run pod install from the Example directory first.

Rename Keys.sample.swift from the Example/VialerSIPLib directory to Keys.swift and add your personal credentials. You can now run a the library with a very basic UI.

For more information on how to get started, read the Getting Started Guide.


We try to be as extensive as possible for our documentation. Your can find them here. Or check out our CocoaDocs.


We want to be clear on what we will build and what progress we’re making. Please check our goals and roadmap.


See the file on how to contribute to this project.

We would really like to have you involved in the project. Please contact us at [email protected], or create a pull request.


See the Credits file for a list of contributors to the project.

Devhouse Spindle, [email protected]

For more credits & contributions, please see Credits & Documentation.



The changelog can be found in the file.

In progress

  • Stability for incoming phonecalls
  • Overall stability in the app
  • Refactor to Swift here code is touched


  • Secure calling
  • Videocalling

Get in touch with a developer

If you want to report an issue see the file for more info.

We will be happy to answer your other questions at [email protected] or insert alias.


VialerSIPLib is made available under the GNU General Public License v3.0 license. See the LICENSE file for more info.

Latest podspec

    "name": "VialerSIPLib-KC",
    "version": "4.0",
    "summary": "Vialer SIP Library for iOS",
    "description": "Objective-C wrapper around PJSIP.",
    "homepage": "",
    "license": "GNU GPL v3",
    "authors": {
        "Devhouse Spindle": "[email protected]"
    "source": {
        "git": "",
        "tag": "4.0"
    "social_media_url": "",
    "platforms": {
        "ios": "9.0"
    "requires_arc": true,
    "source_files": "Pod/Classes/**/*.{h,m}",
    "public_header_files": "Pod/Classes/**/*.h",
    "resource_bundles": {
        "VialerSIPLib": "Pod/Resources/*.wav"
    "dependencies": {
        "Vialer-pjsip-iOS-KC": [],
        "CocoaLumberjack": [],
        "Reachability": []

Pin It on Pinterest

Share This