Linphone is a free VoIP and video softphone based on the SIP protocol. Mirror of linphone-iphone (git://git.linphone.org/linphone-iphone.git)
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
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.
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:
Interested in helping translate Linphone? Contribute on Transifex.
If you want to dig through Linphone code or report a bug, please read
CONTRIBUTING.mdfirst. You should also read this
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
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.
If you don't have CocoaPods already, you can download and install it using :
sudo gem install cocoapodsIf you alreadly have Cocoapods, make sur that the version is higher than 1.7.5.
pod installIt will download the linphone-sdk from our gitlab repository so you don't have to build anything yourself.
linphone.xcworkspacefile (NOT linphone.xcodeproj) with XCode to build and run the app.
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= pod installwhere is your build directory of the linphone-sdk project, containing the
linphone-sdk.podspecfile and a
linphone-sdkouptut directory comprising built frameworks and resources.
Then open linphone.xcworkspace with Xcode to build and run the app.
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
linphone.xcworkspacewith Xcode to build and run the app.
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".