Call Recorder

Your rating: None Average: 5 (28 votes)

Native voice call recorder for SailfishOS. The latest version is 0.7.1.

This application requires SailfishOS >= 2.0.4.

This application is designed for unattended usage. Once properly installed, it records every GSM call you make or receive. The UI application doesn't need to be run to make this happen.

Please refer to the wiki for usage instructions and troubleshooting.

There are support & discussion threads at TMO, jollausers, TJC.

Licensed under GNU GPL v3.

Source code repository located at

Application versions: 
harbour-callrecorder-0.7.1-5.armv7hl.rpm631.02 KB23/05/2017 - 17:21
harbour-callrecorder-0.7.1-4.armv7hl.rpm656.18 KB16/01/2017 - 20:58
harbour-callrecorder-0.6.2-1.armv7hl.rpm409.28 KB28/01/2016 - 19:56
harbour-callrecorder-0.5.1-2.armv7hl.rpm360.29 KB24/04/2015 - 20:14

Version 0.7.1-5

gst-plugins-good removed from dependencies

Version 0.7.1

What's new:

  • Support for dual SIM-card devices
  • Backup & restore
  • Database maintenance tool
  • File deletion issue fixed

Version 0.6.2

  • SailfishOS 2.0.1 compatibility

Version 0.6.1

New features:

  • Landscape orientation (#28);

Bugs fixed:

  • Length displayed incorrectly for recordings over an hour in length (#34);

Other notable changes:

  • Danish translation (new);
  • Finnish translation complete;
  • Slovak translation (new).

Version 0.6.0

New features:

  • Search for recordings by date, phone number or contact (#14);
  • Picking numbers for black or white list from contacts (#18);
  • Optional automatic removal of old recordings due to size or age limit (#19);
  • Optional approval of storage after each call (#9);
  • Dutch translation by Heimen Stoffels and HtheB;
  • .nomedia file is created at storage location to prevent tracker from mining recordings as media (#24, #25).

Bugs fixed:

  • Private numbers are now recorded (#30);
  • Changes for SailfishOS >= 1.1.6 were integrated (#29);
  • Regression with default source switching fixed (#21).

Other notable changes:

  • Main page (list of recordings, EventsPage.qml) is now merged with selection page (EventsPicker.qml);
  • Every list item on the main page displays its phone number now;
  • All actions of list context menu are now available in push and pull menus on Details page (EventPage.qml);
  • DBus interfaces were refactored.

Version 0.5.1

Translations updated (in alphabetical order):

  • Chinese (Taiwan) by hanhsuan;
  • Czech by Jozef Mlích;
  • Finnish by Jukka Aaltonen;
  • French by Jordi;
  • German by blubdbibub, peter_berlin, Wasilis Mandratzis-Walz;
  • Greek by Wasilis Mandratzis-Walz;
  • Italian by Yuri Bongiorno;
  • Polish by szopin;
  • Russian by Dmitriy Purgin;
  • Spanish by Carmen Fernández B.;
  • Swedish by Åke Engelbrektson.

Version 0.5.0

  • Black list or white list operation mode;
  • Support for localizations:
    • Italian translation by Yuri Bongiorno;
    • German translation by Wasilis Mandratzis-Walz;
    • Greek translation by Wasilis Mandratzis-Walz;
    • Russian translation by Dmitriy Purgin.
  • Refactored settings page;
  • Contact name shown on Details page.

Version 0.4.2

A version for SailfishOS 1.1.2

Version 0.4.1

Fixed issue #10: Removing recording in UI doesn't remove file in a relocated location.

Version 0.4

  • Fixed issues
    • Empty list placeholder appears when list is not empty (#6): fixed;
    • Workaround for Android microphone issue included;
    • FLAC file now gets removed if a call was not answered.
  • New features
    • Choosing of save location and relocating already recorded files;
    • Choosing sampling rate and FLAC compression level.

Default sampling rate was reduced to 32 kHz. Using sampling rates other than 44.1 and 32 kHz is possible but may yield side effects when playing back using the call recorder UI (see Known Issues)

Version 0.3-6

  • "Automatic startup" feature fixed (see issue #8 on github).

Version 0.3-5

  • Ability to remove recordings;
  • Settings page with ability to turn on/off the recorder, enable/disable automatic startup;
  • Cover actions with quick starting/stopping the recorder;
  • Recording of an already ongoing call. 


Fisherman's picture

Hello, thanks for great app.

Can you add feature to select for which SIM card calls will be recorded?

MooCrumpus's picture

Cool ... and in germany, possibly forbitten by Datenschutzgesetz :)

ashakunt's picture

Hi, i am unable to see the "ask to save or discard" dialog. In the logs, I see this: 

harbour-callrecorder: Thu Apr 20 04:35:24 2017: [0xb839ade0]: main.qml:167: : Subscribe result: undefined
harbour-callrecorder: Thu Apr 20 04:35:24 2017: [0xb839ade0]: EventsPage.qml:48: : file:///usr/share/harbour-callrecorder/qml/pages/EventsPage.qml:48: ReferenceError: header is not defined

ANy ideas?

ashakunt's picture

and while I realize that this ReferenceError might be unrelated, but I still see that the dialog asking for storage approval is not shown. I have to open the recorder to go and approve calls one by one. @dpurgin, any pointers?


Please note, I am using Intex aquafish and have disabled Sim2 on my phone.

dpurgin's picture


seems like recent API changes in SailfishOS broke this dialog. You can still approve recordings from the app UI. Long tap on an item and it asks whether you want to approve or remove it


arturshaik's picture

Hi, can not install. It writes me: "nothing provides gst-plugins-good". Where Can I find it?

dpurgin's picture


please install 0.7.1-5, this dependency was removed in the latest release

Marold's picture

Hi can any1 point me to some solution after factory reset and new update i cant install call recorder it says nothing provides gst-plugins-good . I used pkcon install command and refresh before that but i wasnt succesfull. Still I dont have gst-plugins and no call recorder. Thanks for any help ! Sail On !  

dpurgin's picture


You can install gst-plugins-good from, I've put it there just now

Marold's picture

Thank You Very much ! :D It works now. This app is a must have :) also thank you for your fast response and Sail On again ! :) 

paolomi's picture

Hi :) great app! could you make call recorder depend on gstreamer 1.x.y? now it depends only on gst 0.10. Many thanks

dpurgin's picture


The plan was to introduce this dependency in the update for the next Saiflish version.

Are you experiencing problems with installing 0.7.1? Have you tried pkcon refresh in terminal?

Bysmyyr's picture


thanks for great app. My dad said one thing to fix, it do record only calls from sim1, not from sim2

dpurgin's picture


Thanks, it works in the latest version 0.7.1!

aimel's picture

Hello! Can't install this app from the Warehouse. I'm running os Saimaa, what shoud I do?

Error occured
Transaction /2149_dbbecbac
Status: repo-not-available
Extra details:
not found on medium 'https://

DameCENO's picture

Hi would like to report a minor bug on hopefully it would be fixed in the next update as well. The recording daemon ramdomly desactivates itself until it is manually restored, can that fix in the next update as well? Thanks

DameCENO's picture

The update did not solve the daemon being deactivated randomly, and as Schturman pointed out, has to be related to the service failing after lipstick restart, when shall this issue be resolved?

MoritzJT's picture

I think the same behaviour is currently occuring on SFOS 2.0.4/Fiskarsinjoki on Jolla C at least. The daemon randomly shuts down and no calls are recorded thereafter.

I hope it can be fixed, because I'd rather have your app in place than the OS native solution offered on Jolla C


Thank you already!

MSH's picture

Looks like the last Saifish update broke the recording function again. :( 

dpurgin's picture

You're right, it has stopped working, I'm currently working on a fix

pkantlA17's picture

Can not install to the Sailfish OS Release: Error occurred> Transaction / 511_ddcaeddd
Status: dep-resolution-failed
Extra details: Harbour-callrecorder-0.6.1-1armv7hl requires qt5-qtmultimedia plugin audio-pulseaudio, but this requirement can not be provided

etam's picture

I have this too

hoodlum's picture

I have the same thing

Schturman's picture

I don't know if this bug or should be, but after lipstick restart it automatically disable service. To start it again I need to open app -> Recording daemon -> press "Active".
Here is output after lipstick restat, service show failed:
oot@Jolla nemo]# systemctl-user status harbour-callrecorderd.service
Last login: Thu Oct 29 01:37:28 IST 2015 on pts/0
harbour-callrecorderd.service - Call Recorder Daemon
Loaded: loaded (/usr/lib/systemd/user/harbour-callrecorderd.service; enabled)
Active: failed (Result: start-limit) since Thu 2015-10-29 01:29:43 IST; 8min ago
Main PID: 17691 (code=exited, status=1/FAILURE)
CGroup: /user.slice/user-100000.slice/user@100000.service/harbour-callrecorderd.ser
[root@Jolla nemo


M_Bln's picture

Many thanks for this app.

I have still a little suggestion: can you color the save / discard buttons (a bit for example save in greenish and discard in reddish), I sometimes tap the wrong one when being to much in stress...

ashakunt's picture

Hi there, With the latest sailfish os 2.0 update, the "ask user notification" after each call is blank (as in, UI is not visible but its overlay is). Has anybody reported this issue?

I assume, an upgrade to new UI components is required to fix this issue. @dpurgin, any ideas?

DameCENO's picture

Great app bro, but there is dthis bug of autostarting of the recording daemon after system update hope it has been fixed  with this update

M_Bln's picture

At first: many thanks - great app.
Can you add an option to easily activate/deactivate the blacklist/whitelist? So one hasn't to delete entries when a given number should be (not) recorded once.

dpurgin's picture


thanks for comment and using the Call Recorder.

Can you please go into details how the feature should look like or should be used? Say, an incoming call interface is seen on your device, what is supposed to be done next? We may use cover action but the UI program must be launched.

There is an option, by the way, that asks you to choose whether the call should be saved or removed after each call. A dialog similar to connectivity dialog is shown, and you won't need any additional actions to be performed before or during the call. You can enable this option by going into Settings -> Storage and checking Require Approval

vishusf's picture

Thanks, Working great developer.