Switch branches/tags
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github VIALI-3315: Make repo conform to OS layout of Spindle Jan 23, 2017
.gitlab Copy github templates for gitlab. Oct 31, 2018
Branding Crashlytics for iOS Nov 15, 2018
SnapshotUITests Merge tag '5.5.2' into develop Oct 1, 2018
Vialer.xcodeproj VIALI-3529: Fixed and updated Middleware unit tests with the least ne… Dec 4, 2018
Vialer.xcworkspace VIALI-3539: Added platform caller's name and the number on outgoing c… Dec 4, 2018
Vialer Fixed bug that would cause an endless loop when calling logout when t… Dec 6, 2018
VialerIntentsExtension XCode 9 supported Oct 6, 2017
VialerTests VIALI-3529: Fixed and updated Middleware unit tests with the least ne… Dec 4, 2018
fastlane Release 5.5.1 Aug 28, 2018
scripts VIALI-3437: Added the option for users to set the audio quality (#60) Nov 6, 2018
.gitignore Updating Fastlane configuration Mar 8, 2018
.reviewboardrc reviewboard setup file Sep 22, 2015
CHANGELOG.md Preparing for the 5.1.beta.01 release Mar 9, 2017
CONTRIBUTING.md VIALI-3315: Make repo conform to OS layout of Spindle Jan 23, 2017
CONTRIBUTORS.md VIALI-3315: Make repo conform to OS layout of Spindle Jan 23, 2017
Gemfile Updating Fastlane configuration Mar 8, 2018
Gemfile.lock Crashlytics for iOS Nov 15, 2018
LICENSE.md Added LICENSE file and updated the README Apr 15, 2016
Podfile Crashlytics for iOS Nov 15, 2018
Podfile.lock VIALI-3539: Added platform caller's name and the number on outgoing c… Dec 4, 2018
README.md VIALI-3315: Make repo conform to OS layout of Spindle Jan 23, 2017

README.md

Vialer

Vialer is a VoIP client which utilizes the VoIPGRID VoIPGRID platform. Up until version 3.0 it's main purpose is to provide an easy interface for the "Two step Calling" function of the platform. This feature enables the user of the app to dial a phone number as if you were "at the office". The receiver sees the "office" number as the calling number (CLI). Using the app, the user can also:

  • Adjust it's availability
  • See call statistics
  • See and adjust dialplans

Starting from Version 3.0 the app also acts as a VoIP softphone, enabling the user to make and receive phone calls using SIP but only when connected to Wi-Fi of 4G.

The features provided by the app until v3.0 use the platforms API.

Starting with v3.0 the VoIP functionality is provided by using PJSIP. We have wrapped PJSIP into a cocoapod which in turn is used by a pod which provides all the SIP functionality.

On an outgoing call the app registers it self with VoIPGRID's sip proxy and after the call has ended the registration is removed. We have deliberately chosen for this registering/deregistering process to avoid "dangling" registrations on the proxy when the phone goes out of proper internet coverage.

On an incoming call, the phone is notified through a silent push notification(APNS). On this notification the internet connection quality is checked and when sufficient a registration with the sip proxy is attempted. When the registration is successful the sip proxy connects with the app and the user is presented with a local notification drawing attention to the incoming call.

To be able to sent the push notifications a piece of "middleware" software has been developed. This middleware is responsible for storing APNS tokens sent to it through a registration process initiated by the app. On an incoming call, the VoIPGRID platform contacts the middleware which will sent the push notification to the correct phone/app. When the conditions for accepting a call have been met, the app responds to the middleware which in turn gives the "OK" back to the VoIPGRID platform. This triggers the sip proxy to contact the app.

Status

In active development

Usage

Requirements

  • Cocoapods
  • iOS 9.0 or greater

The app uses the following 3th party libraries:

Installation

Running

  • Run XCode and start one of the targets

To run the app as is, you will need an account from one of the VoIPGRID partners.

Contributing

See the CONTRIBUTING.md file on how to contribute to this project.

Contributors

See the CONTRIBUTORS.md file for a list of contributors to the project.

Roadmap

Changelog

The changelog can be found in the CHANGELOG.md file.

In progress

  • Stability for incoming phonecalls
  • Overall stability in the app
  • Keep track of rejected incoming calls
  • Refactor to Swift here code is touched

Future

  • Secure calling
  • Videocalling

Get in touch with a developer

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

We will be happy to answer your other questions at opensource@wearespindle.com or insert alias.

License

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