Piotr Kułaszka
Opublikowano 01.02.2024

Aplikacja mobilna do nagrywania rozmów na Androida i przekazywania rejestru połączeń

Szukamy doświadczonego programisty aplikacji mobilnych lub zespołu, który jest w stanie stworzyć aplikację na system Android służącą do nagrywania rozmów telefonicznych i przekazywania jej razem z rejestrem połączeń na wskazany adres URL.

 

Aplikacja ta musi spełniać następujące wymagania:


Jakość nagrania

Nagrania muszą być zapisane z odpowiednim poziomem głośności i jakością, tak aby głosy wszystkich rozmówców były wyraźne i rozróżnialne. W tym celu wymagany jest dobór odpowiedniego kodeku i konfiguracji.
Wymaganie dotyczy samego nagrania, a nie czynników na które aplikacja nie będzie miała wpływu, np. jakość połączenia pomiędzy rozmówcami, jakość urządzenia rozmówcy, itd.


Format nagrania

Nagrania powinny być zapisywane w formacie audio wspieranym przez Androida lub innymi kodekami nie wymagającymi dodatkowych płatnych licencji na wykorzystanie w zakresie opisanym w ogłoszeniu.
W przypadku braku możliwości wybrania kodeku audio należy zastosować natywnie rozwiązanie.


Zapis dodatkowych informacji z rejestru połączeń

Aplikacja powinna generować plik JSON zawierający szczegółowe informacje o rozmowie, takie jak: numer telefonu rozmówcy, jego nazwa z książki adresowej, a w przypadku połączeń konferencyjnych numery telefonów wszystkich rozmówców i ich nazwy z książki adresowej, dodatkowo data i godzina połączenia, czas trwania rozmowy, status połączenia (zrealizowane, nieodebrane, odrzucone itp.). W przypadku rozmowy zrealizowanej do pliku JSON będzie przyporządkowany plik audio z nagraniem rozmowy.


Organizacja plików

Wszystkie pliki (audio i JSON) powinny być przechowywane w dedykowanym folderze, z nazwami plików według ustalonego formatu. Nazwa będzie zawierała nr telefonu użytkownika, datę rozmowy i numer telefonu rozmówcy. Pliki audio i JSON powinny być zaszyfrowane kluczem publicznym (kluczem asymetrycznym).


Przesyłanie plików Pliki JSON i audio powinny być cyklicznie kompresowane w paczki i przesyłane do dedykowanej i zabezpieczonej usługi REST API (endpointu). Kompresja będzie realizowana z zachowaniem limitu ilości i rozmiaru. Pliki po udanym wysłaniu mają być usuwane, aby zwolnić pamięć urządzenia.

Powinna istnieć możliwość wywołania żądania przesłania plików z poziomu aplikacji.


Sprawdzanie dostępności endpointa

Przed wysyłaniem plików, aplikacja musi weryfikować czy endpoint jest dostępny.


Zabezpieczenia systemu Android w kontekście nagrywania rozmów

Z uwagi na ograniczenia wprowadzone w nowej wersji systemu Android jeżeli napisanie dedykowanej aplikacji spełniającej wymagania opisane w zamówieni okaże się niemożliwe dopuszczamy następujące rozwiązania:

o Wybór jednej marki i listy/rodziny modeli smartphonów, dla których aplikacja będzie działała prawidłowo i realizowała wszystkie opisane wymagania. Wybór musi ograniczyć się do znanych marek i modeli, np. Samsung Galaxy Sxx, Axx, itp.,

o Zastąpienie domyślnej aplikacji Telefon. Aplikacja może zastąpić standardową aplikację Telefon, ale powinna dostarczyć zbliżone funkcjonalności plus dodatkowe cechy związane z nagrywaniem rozmów,

o Root telefonu w celu uzyskania dostępu do chronionego API


Ustawienia aplikacji

Użytkownik telefonu/aplikacji, będzie mógł w ustawieniach aplikacji skonfigurować jej pracę. Dostępne ustawienia:

o Włącz synchronizację w roamingu – Jeżeli opcja jest włączona rejestr połączeń (pliki audio i JSON) będą przesyłane w roamingu.    


Plik konfiguracyjny aplikacji

W standardowym pliku konfiguracyjnym aplikacja powinna przechowywać takie ustawienia jak: lokalizacja zapisu plików audio i JSON, adres URL endpointa do przekazywania paczek z plikami, interwał wysyłania plików i odpytywania endpointa, klucz publiczny do szyfrowania plików, klucz api do komunikacji z endpointem, limity ilości i rozmiaru paczki i inne do ustalenia w trakcie implementacji. Plik konfiguracyjny powinien być zabezpieczony przed zmianami skrótem oraz zabezpieczony przed dostępem przez niepowołane osoby poprzez jego zaszyfrowanie kluczem symetrycznym.


Dystrybucja i instalacja aplikacji

Aplikacja nie będzie dystrybuowana poprzez Sklep Play ani innego dostawcę. Aplikacja będzie instalowana na telefonie przez dedykowaną osobę z działu IT odpowiedzialną skonfigurowanie telefonu oraz instalację i konfigurację wszystkich pozostałych aplikacji. Osoba ta skonfiguruje aplikację zgodnie wymaganiami określonymi przez dostawcę aplikacji, np. utrzymanie działania aplikacji w tle, ustawienie aplikacji jako domyślnej dla połączeń telefonicznych, itp.

 

Wymagania od dewelopera/zespołu:

·        Doświadczenie w tworzeniu natywnych aplikacji na Androida.

·        Bardzo dobra znajomości API telefonu w szczególności zarządzania kontaktami i połączeniami, rejestrami połączeń, nagrywania dźwięku i rozmów, SMSy.

·        Umiejętność pracy z REST API i zabezpieczeniami danych.

 

Prosimy o przesyłanie zgłoszeń wraz z portfolio dotychczasowych realizacji oraz wstępną wyceną zamówienia.

 

Termin przesyłania ofert: 29.02.2024

Nie podano
4
Oferty

Umiejętności

Aby aplikować, załóż konto na WorkConnect

Posiadasz konto? Zaloguj się

Rozpocznij swoją
przygodę
z WorkConnect!

Utwórz darmowe konto