simplex-chat/docs/guide/audio-video-calls.md
M Sarmad Qadeer f97a1fcedf
website: add docs to website (#2080)
* website: add fontmatter & improve image URLs where necessary

* website: add docs to website

* website: add prismjs for code highlighting

* website: change npm install position in web.sh

* website: fix an image URL in lang/cs/README.md

* website: improve image paths in lang/cs/translations.md

* website: add responsiveness & improve stylings of docs

* website: add dir to navbar in blog & docs

* website: remove scroll in mobile dropdown menu

* website: remove rfcs & add guide docs to website

* website: remove file renaming script from web.sh

* website: add menu to docs in nav

* website: add hash list & add scroll to headers

* website: customize docs frontmatter through JS

* website: remove supported_languages.json

* website: move merge_translations.js to JS folder

* website: add the following changes to docs
- add frontmatter to new doc merged from master
- add ignoreForWeb property to frontmatter of README.md docs

* website: remove package-lock.json from .gitignore

* website: add package-lock.json from .gitignore

* website: add no docs message to docs dropdown

* website: improve the sidebar of docs

* website: add revision date to docs

* website: add script to add version to docs frontmatter

* website: add layout to display message in docs if its version is old

* website: improve nav responsiveness

* website: remove frontmatter form main README & rfcs

* website: remove rfcs from website folder

* website: add ignore condition for rfcs in .eleventy

* website: remove frontmatter from lang README docs

* website: remove README from website's lang docs

* website: add guides menu in nav

* website: following changes
- add docs_dropdown.json
- extend reference menu in nav
- remove docs menu from nav

* website: fix in docs sidebar

* website: revert main docs README.md files

* website: revert main docs README.md files

* website: move scripts out of js that are for build

* website: remove displayAt form guide docs

* website: create a docs_sidebar.json & shift to that approach

* update navigation

* website: set navbar

* website: add icons to external links

* website: change the approach for docs sidebar creation

* website: update docs template

* website: add some strings to en.json and map them accordingly

* remove icon

---------

Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
2023-04-30 22:31:23 +01:00

4.2 KiB
Raw Permalink Blame History

title
Audio & video Calls

Audio and Video Calls

SimpleX Chat allows you to make end-to-end encrypted audio and video calls with your contacts via WebRTC. Note: Group calls are not supported at this time.

Making and accepting the calls

How to make an audio call

  1. Tap on a contact.
  2. Tap on the phone icon to the right of your contact's name at the top of the screen.

How to make a video call

  1. Tap on a contact.
  2. Tap on the three vertical dots on the top right-hand corner of the screen to access more options.
  3. Choose Video call.

Accepting the calls

When there is an incoming call you have three options:

  • accept: to connect the call
  • reject: to reject the call, without notifying the caller.
  • ignore: to temporarily dismiss the call, but in a way that it can be accepted later, if the caller is still waiting, via the Accept call message in the conversation with this contact.

There is no time limit that the call invitation can remain active - as long as the caller is still waiting, you can accept the call any time later.

The call can be accepted from the lock screen, both on Android (it needs to be enabled via options) and on iOS (by default, using native iOS call interface that can be disabled).

Calls on lock screen on Android

SimpleX Chat shows an incoming call on your device's lock screen by default. However, you can change this behavior in the app settings menu.

  1. Open the app settings menu.
  2. Tap Audio and Video calls.
  3. On the Calls on lock screen drop-down list, choose from the following three options:
    • Disable - the call will show as a notification.
    • Show - the call will show on the lock screen, you need to unlock the device and the app to accept it.
    • Accept - the call can be accepted and rejected directly from the lock screen, without opening the app.

Please note: some Android systems/devices prohibit full screen views on lock screen - in this case the call will show as a usual notification.

Calls on lock screen on iOS

By default, SimpleX Chat uses native iOS call interface, where allowed, to show incoming calls on the lock screen. You can disable it:

  1. Open the app settings menu.
  2. Tap Audio and Video calls.
  3. Toggle the Use iOS call interface switch off.

Please note: iOS call interface allows accepting the calls without unlocking the device and the app. If this is undesirable, please disable it the calls will show as notifications in this case.

Read more in this post.

Advanced call settings

WebRTC ICE servers

SimpleX Chat uses a preset relay server to hide your IP address from your contacts by default, but it can also observe the duration of your calls. If you don't want that, you can configure and use your self-hosted WebRTC relay servers instead for further control of your calls.

  1. Open the app settings menu.
  2. Tap Audio and Video calls.
  3. Tap WebRTC ICE servers.
  4. Toggle the Configure ICE servers switch on.
  5. Enter your ICE server addresses (one per line).
  6. Tap Save.

Please note: unlike messaging relays (SMP servers), the configuration of WebRTC ICE servers is stored on the current device, not in the chat database. if you transfer the chat database to another device you need to update this configuration.

Always use relay

Audio and video calls on SimpleX Chat are routed via a TURN relay server by default. Optionally you can disable this and use peer-to-peer (P2P) instead, when it is supported by your network. However, your IP address will be known to your contacts.

  1. Open the app settings menu.
  2. Tap Audio and Video calls.
  3. Toggle the Always use relay switch on to use a relay server or off for P2P.

Please note: disabling this option allows P2P calls, but it does not prohibit the use of TURN relays in case your network providers block P2P connections, the call will still use relays if the are available. To prohibit the use of relays you need to change WebRTC ICE server configuration to only include STUN servers, for example: