All Projects → BelledonneCommunications → Linphone Iphone

BelledonneCommunications / Linphone Iphone

Licence: gpl-3.0
Linphone is a free VoIP and video softphone based on the SIP protocol. Mirror of linphone-iphone (git://git.linphone.org/linphone-iphone.git)

Projects that are alternatives of or similar to Linphone Iphone

Linphone Desktop
Linphone is a free VoIP and video softphone based on the SIP protocol. Mirror of git://git.linphone.org/linphone-desktop.git
Stars: ✭ 212 (-54.11%)
Mutual labels:  conference, phone, chat, voip, message, sip, call
Linphone Android
Linphone.org mirror for linphone-android (https://gitlab.linphone.org/BC/public/linphone-android)
Stars: ✭ 740 (+60.17%)
Mutual labels:  conference, phone, voip, sip, call
Ejabberd
Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)
Stars: ✭ 5,077 (+998.92%)
Mutual labels:  chat, voip, sip
Katari
Katari - Python Session Initiated Protocol Framework
Stars: ✭ 29 (-93.72%)
Mutual labels:  sip, phone, voip
Soup
☎️ Original open source call flooder using Twilio's API.
Stars: ✭ 267 (-42.21%)
Mutual labels:  phone, sip, call
Docker Freepbx
Dockerized FreePBX 15 w/Asterisk 17, Seperate MySQL Database support, and Data Persistence and UCP
Stars: ✭ 331 (-28.35%)
Mutual labels:  phone, voip, sip
baresipy
baresip python wrapper
Stars: ✭ 16 (-96.54%)
Mutual labels:  sip, voip
sip3-twig-ce
SIP3 Twig (Community Edition)
Stars: ✭ 56 (-87.88%)
Mutual labels:  sip, voip
Re
Generic library for real-time communications with async IO support
Stars: ✭ 444 (-3.9%)
Mutual labels:  voip, sip
sdp
A Go implementation of the SDP
Stars: ✭ 89 (-80.74%)
Mutual labels:  sip, voip
pyfreebilling
Routing and rating VoIP application for service providers - API based - AGPL v3 - Based on kamailio
Stars: ✭ 75 (-83.77%)
Mutual labels:  sip, voip
sip3-salto-ce
SIP3 Salto (Community Edition)
Stars: ✭ 71 (-84.63%)
Mutual labels:  sip, voip
kamailioexamples
configurations for voip solution architectures and usecases involving SIP servers
Stars: ✭ 59 (-87.23%)
Mutual labels:  sip, voip
qSIP
VoIP/SIP client (softphone)
Stars: ✭ 20 (-95.67%)
Mutual labels:  sip, voip
WireBug
WireBug is a toolset for Voice-over-IP penetration testing
Stars: ✭ 142 (-69.26%)
Mutual labels:  sip, voip
Sipsorcery
A WebRTC, SIP and VoIP library for C# and .NET Core. Designed for real-time communications apps.
Stars: ✭ 449 (-2.81%)
Mutual labels:  voip, sip
AmiClient
Modern .NET Standard client for accessing the Asterisk AMI protocol using async/await and Reactive Extensions (Rx)
Stars: ✭ 30 (-93.51%)
Mutual labels:  sip, voip
ciscoaxl
Python SDK for Cisco CUCM AXL API
Stars: ✭ 51 (-88.96%)
Mutual labels:  sip, voip
Mr.sip
SIP-Based Audit and Attack Tool
Stars: ✭ 266 (-42.42%)
Mutual labels:  voip, sip
Chatsecure Ios
ChatSecure is a free and open source encrypted chat client for iOS that supports OTR and OMEMO encryption over XMPP.
Stars: ✭ 3,044 (+558.87%)
Mutual labels:  iphone, chat

Linphone is an open source softphone for voice and video over IP calling and instant messaging. It is fully SIP-based, for all calling, presence and IM features. General description is available from linphone web site

License

Copyright © Belledonne Communications

Linphone is dual licensed, and is available either :

  • under a GNU/GPLv3 license, for free (open source). Please make sure that you understand and agree with the terms of this license before using it (see LICENSE file for details).
  • under a proprietary license, for a fee, to be used in closed source applications. Contact Belledonne Communications for any question about costs and services.

Documentation

How can I contribute?

Thanks for asking! We love pull requests from everyone. Depending on what you want to do, you can help us improve Linphone in various ways:

Help on translations

Top translations: linphone-ios

Interested in helping translate Linphone? Contribute on Transifex.

Report bugs and submit patchs

If you want to dig through Linphone code or report a bug, please read CONTRIBUTING.md first. You should also read this README entirely ;-).

How to be a beta tester ?

Enter the Beta :

  • Download TestFlight from the App Store and log in it with your apple-id -Tap the public link on your iOS device. The public link : https://testflight.apple.com/join/LUlmZWjH -Touch View in TestFlight or Start Testing. You can also touch Accept, Install, or Update for Linphone app. -And voilà ! You can update your beta version with the same public link when a new one is available

Send a crash report :

  • It is done automatically by TestFlight

Report a bug :

  • Open Linphone
  • Go to Settings —> Advanced —> Send logs
  • An email to [email protected] is created with your logs attached
  • Fill in the bug description with :
    • What you were doing
    • What happened
    • What you were expecting
    • Approximately when the bug happened
  • Change the object to [Beta test - Bug report]
  • Send the mail

Building the application

What's new

Now the default way of building linphone-iphone is to use CocoaPods to retrieve the linphone-sdk frameworks. Compared to previous versions, this project no longer uses submodules developper has to build in order to get a working app. However, if you wish to use a locally compiled SDK, read paragraph "Using a local linphone SDK" below to know how to proceed.

Building the app

If you don't have CocoaPods already, you can download and install it using :

	sudo gem install cocoapods

If you alreadly have Cocoapods, make sur that the version is higher than 1.7.5.

  • Install the app's dependencies with cocoapods first:
	pod install

It will download the linphone-sdk from our gitlab repository so you don't have to build anything yourself.

  • Then open linphone.xcworkspace file (NOT linphone.xcodeproj) with XCode to build and run the app.

Limitations and known bugs

  • Video capture will not work in simulator (not implemented in it).

Using a local linphone SDK

  • Clone the linphone-sdk repository from out gitlab:
   git clone https://gitlab.linphone.org/BC/public/linphone-sdk.git --recursive
  • Follow the instructions in the linphone-sdk/README file to build the SDK.

  • Rebuild the project:

   PODFILE_PATH=<path to linphone-sdk-ios> pod install

where is your build directory of the linphone-sdk project, containing the linphone-sdk.podspec file and a linphone-sdk ouptut directory comprising built frameworks and resources.

  • Then open linphone.xcworkspace with Xcode to build and run the app.

Enabling crashlytics

We've integrated Crashlytics into liphone-iphone, which can automatically send crash reports. It is disabled by default. To activate it:

  • Replace the GoogleService-Info.plist for this project with yours (specific to your crashlytics account).

  • Rebuild the project:

    USE_CRASHLYTICS=true pod install
  • Then open linphone.xcworkspace with Xcode to build and run the app.

Quick UI reference

  • The app is contained in a window, which resides in the MainStoryboard file.

  • The delegate is set to LinphoneAppDelegate in main.m, in the UIApplicationMain() by passing its class

  • Basic layout:

      MainStoryboard
              |
              | (rootViewController)
              |
          PhoneMainView ---> view |--> app background
              |                   |
              |                   |--> statusbar background
              |
              | (mainViewController)
              |
          UICompositeView : TPMultilayout
                      |
                      |---> view  |--> statusBar
                                  |
                                  |--> contentView
                                  |
                                  |--> tabBar
    

When the application is started, the phoneMainView gets asked to transition to the Dialer view or the Assistant view. PhoneMainView exposes the -changeCurrentView: method, which will setup its Any Linphone view is actually presented in the UICompositeView, with or without a statusBar and tabBar.

The UICompositeView consists of 3 areas laid out vertically. From top to bottom: StatusBar, Content and TabBar. The TabBar is usually the UIMainBar, which is used as a navigation controller: clicking on each of the buttons will trigger a transition to another "view".

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].