• Stars
    star
    542
  • Rank 81,982 (Top 2 %)
  • Language
    Objective-C
  • License
    GNU General Publi...
  • Created almost 10 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

We no longer use transifex for the translation process, instead we have deployed our own instance of Weblate.

Due to the full app rewrite we can't re-use previous translations, so we'll be very happy if you want to contribute.

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".

More Repositories

1

linphone-android

Linphone.org mirror for linphone-android (https://gitlab.linphone.org/BC/public/linphone-android)
Kotlin
1,018
star
2

linphone-desktop

Linphone is a free VoIP and video softphone based on the SIP protocol. Mirror of git://git.linphone.org/linphone-desktop.git
C++
349
star
3

liblinphone

Linphone.org mirror for liblinphone (git://git.linphone.org/liblinphone.git)
C++
343
star
4

ortp

Linphone.org mirror for ortp (git://git.linphone.org/ortp.git)
C
135
star
5

flexisip

Linphone.org mirror for flexisip (git://git.linphone.org/flexisip.git)
C++
126
star
6

mediastreamer2

Linphone.org mirror for mediastreamer2 (git://git.linphone.org/mediastreamer2.git)
C
124
star
7

bcg729

Linphone.org mirror for bcg729 (git://git.linphone.org/bcg729.git)
C
114
star
8

linphone-sdk

Mirror for linphone-sdk (https://gitlab.linphone.org/BC/public/linphone-sdk.git)
CMake
81
star
9

belle-sip

Linphone.org mirror for belle-sip (git://git.linphone.org/belle-sip.git)
C
64
star
10

sofia-sip

Linphone.org mirror for sofia-sip (git://git.linphone.org/sofia-sip.git)
C
27
star
11

linphone-xamarin

Linphone.org mirror for linphone-xamarin (git://git.linphone.org/linphone-xamarin.git)
C#
27
star
12

bctoolbox

Linphone.org mirror for bctoolbox (git://git.linphone.org/bctoolbox.git)
C
23
star
13

opencore-amr

Linphone.org mirror for opencore-amr (git://git.code.sf.net/p/opencore-amr/code)
C++
17
star
14

bzrtp

Linphone.org mirror for bzrtp (git://git.linphone.org/bzrtp.git)
C
14
star
15

linphone-windows10

Linphone.org mirror for linphone-windows10 (git://git.linphone.org/linphone-windows10.git)
C#
14
star
16

linphone-web-ui

Linphone.org mirror for linphone-web-ui (git://git.linphone.org/linphone-web-ui.git)
JavaScript
12
star
17

linphone-cmake-builder

Linphone.org mirror for linphone-cmake-builder (git://git.linphone.org/linphone-cmake-builder.git)
CMake
12
star
18

bcunit

Linphone.org mirror for bcunit (git://git.linphone.org/bcunit.git)
C
9
star
19

linphone-web-plugin

Linphone.org mirror for linphone-web-plugin (git://git.linphone.org/linphone-web-plugin.git)
C++
8
star
20

linhome-android

Kotlin
8
star
21

belr

ABNF Parser - Linphone.org mirror for belr (git://git.linphone.org/belr.git)
C++
8
star
22

libupnp

Linphone.org mirror for libupnp (git://git.code.sf.net/p/pupnp/code)
C
8
star
23

linphone-wp

Linphone.org mirror for linphone-wp (Windows Phone) (git://git.linphone.org/linphone-wp.git)
C
7
star
24

flexisip-account-manager

A REST API, web portal and provisioning server for Flexisip
PHP
5
star
25

meta-bc

Linphone recipes layers for builds using Yocto.
BitBake
3
star
26

linhome-ios

Swift
2
star
27

vo-amrwbenc

Linphone.org mirror for vo-amrwbenc (git://git.code.sf.net/p/opencore-amr/vo-amrwbenc)
C
2
star
28

firebreath

Linphone.org mirror for firebreath (git://git.linphone.org/firebreath729.git), based on firebreath
C++
2
star
29

lime

C++
2
star
30

mselph264

Mediastream2 plugin for ELP camera with h264 encoding support.
C++
1
star
31

linphone-bb10

Linphone.org mirror for linphone-bb10 (git://git.linphone.org/linphone-bb10.git)
C++
1
star