# Call API Overall

Aurora OS example to demonstrate the Call API.

Build status:
1. example - [![pipeline status](https://gitlab.com/omprussia/demos/CallApiOverall/badges/example/pipeline.svg)](https://gitlab.com/omprussia/demos/CallApiOverall/-/commits/example)
2. dev - [![pipeline status](https://gitlab.com/omprussia/demos/CallApiOverall/badges/dev/pipeline.svg)](https://gitlab.com/omprussia/demos/CallApiOverall/-/commits/dev)

## Terms of Use and Participation

The source code of the project is provided under [the license](LICENSE.BSD-3-Clause.md), which allows its use in third-party applications.

The [contributor agreement](CONTRIBUTING.md) documents the rights granted by contributors of the Open Mobile Platform.

Information about the contributors is specified in the [AUTHORS](AUTHORS.md) file.

[Code of conduct](CODE_OF_CONDUCT.md) is a current set of rules of the Open Mobile Platform which informs you how we expect the members of the community will interact while contributing and communicating.

## Project Structure

The project has a standard structure of an application based on C++ and QML for Aurora OS.

* **[CMakeLists.txt](CMakeLists.txt)** file
  describes the project structure for the CMake build system.
* **[icons](icons)** directory contains application icons for different screen resolutions. 
* **[qml](qml)** directory contains the QML source code and the UI resources.
  * **[cover](qml/cover)** directory contains the application cover implementations.
  * **[icons](qml/icons)** directory contains the custom UI icons.
  * **[pages](qml/pages)** directory contains the application pages.
  * **[CallApiOverall.qml](qml/CallApiOverall.qml)** file
    provides the application window implementation.
* **[rpm](rpm)** directory contains the rpm-package build settings.
  **[ru.auroraos.CallApiOverall.spec](rpm/ru.auroraos.CallApiOverall.spec)** file is used by rpmbuild tool.
* **[src](src)** directory contains the C++ source code.
  * **[main.cpp](src/main.cpp)** file is the application entry point.
  * **[callapi](src/callapi)** directory contains the C++ source code to work with Call API.
  * **[controllers](src/controllers)** directory contains the C++ source code with controllers for the QML pages.
* **[translations](translations)** directory contains the UI translation files.
* **[ru.auroraos.CallApiOverall.desktop](ru.auroraos.CallApiOverall.desktop)** file
  defines the display and parameters for launching the application.

## Compatibility

The project is compatible with all the supported versions of the Aurora OS.

## Features

The application has been tested for the following features:

* The application allows to initiate the outgoing call via Call API.
* The application allows to initiate the incoming call via Call API.
* The application allows to hold the current call via Call API.
* The application allows to display the system call notification and call screen.
* The application allows to play test audio-files when the current call is in the outgoing, active and held statuses.

## Screenshots

![screenshots](screenshots/en/screenshot-01.png)
![screenshots](screenshots/en/screenshot-02.png)
![screenshots](screenshots/en/screenshot-03.png)

## This document in Russian / Перевод этого документа на русский язык

- [README.ru.md](README.ru.md)
