diff --git a/src/callmodel.cpp b/src/callmodel.cpp
index 4b595361759048510f5c712d8d6d613e63247c94..3982f0cfa1a60ca433575d0272b54f6269221d11 100644
--- a/src/callmodel.cpp
+++ b/src/callmodel.cpp
@@ -557,6 +557,8 @@ Call* CallModelPrivate::addIncomingCall(const QString& callId)
 
 Call* CallModelPrivate::addExistingCall(const QString& callId, const QString& state)
 {
+    Q_UNUSED(state)
+
     qDebug() << "New foreign call:" << callId;
     auto call = CallPrivate::buildExistingCall(callId);
 
diff --git a/src/collectionextensioninterface.h b/src/collectionextensioninterface.h
index 66f5161527f5abf9197eec04ac74e8cf88ca0685..4a3f64c0167069e4b124a32ca1043f640edec546 100644
--- a/src/collectionextensioninterface.h
+++ b/src/collectionextensioninterface.h
@@ -53,7 +53,7 @@ Q_SIGNALS:
 #define DECLARE_COLLECTION_EXTENSION_M1(x, y) x ## y
 #define DECLARE_COLLECTION_EXTENSION_M2(x, y) DECLARE_COLLECTION_EXTENSION_M1(x, y)
 
-#define DECLARE_COLLECTION_EXTENSION(T) \
+#define DECLARE_COLLECTION_EXTENSION(T) __attribute__ ((unused)) \
 static auto DECLARE_COLLECTION_EXTENSION_M2(val,__COUNTER__) = []{\
    CollectionExtensionModel::registerExtension<T>();\
    return 0;\
diff --git a/src/foldercertificatecollection.cpp b/src/foldercertificatecollection.cpp
index 8874a093ff202b344277bd71b034bea1fd6b849d..b16c753a7e4dffe2afd46a10d474072195702db6 100644
--- a/src/foldercertificatecollection.cpp
+++ b/src/foldercertificatecollection.cpp
@@ -177,6 +177,12 @@ QList<CollectionInterface::Element> FolderCertificateCollection::listId() const
    return d_ptr->getCertificateList();
 }
 
+bool FolderCertificateCollection::listId(std::function<void(const QList<CollectionInterface::Element>)> callback) const
+{
+   Q_UNUSED(callback)
+   return false;
+}
+
 bool FolderCertificateCollection::clear()
 {
    return false;
diff --git a/src/foldercertificatecollection.h b/src/foldercertificatecollection.h
index 709ff865acc4457da2613ee310de457902e75eb9..df2d00afba10c2e80b8961a818cd6cd2fc1ad55d 100644
--- a/src/foldercertificatecollection.h
+++ b/src/foldercertificatecollection.h
@@ -64,6 +64,7 @@ public:
    virtual bool           isEnabled() const override;
    virtual QByteArray     id       () const override;
    virtual QList<Element> listId   () const override;
+   virtual bool           listId   (std::function<void(const QList<Element>)> callback) const override;
    virtual FlagPack<SupportedFeatures> supportedFeatures() const override;
 
    //Getter
diff --git a/src/localtextrecordingcollection.cpp b/src/localtextrecordingcollection.cpp
index a95b2166439167e74363fa24b94d24c64342b1dd..91623caa01de09b763dbb3458531287407b43047 100644
--- a/src/localtextrecordingcollection.cpp
+++ b/src/localtextrecordingcollection.cpp
@@ -221,12 +221,23 @@ bool LocalTextRecordingCollection::listId(std::function<void(const QList<Element
    return true;
 }
 
+QList<CollectionInterface::Element> LocalTextRecordingCollection::listId() const
+{
+   return {};
+}
+
 bool LocalTextRecordingCollection::fetch(const Element& e)
 {
    Q_UNUSED(e);
    return false;
 }
 
+bool LocalTextRecordingCollection::fetch( const QList<CollectionInterface::Element>& elements)
+{
+   Q_UNUSED(elements)
+   return false;
+}
+
 Media::TextRecording* LocalTextRecordingCollection::fetchFor(const ContactMethod* cm)
 {
    const QByteArray& sha1 = cm->sha1();
diff --git a/src/localtextrecordingcollection.h b/src/localtextrecordingcollection.h
index 331a2fdde4172a6acf5521d0946da4d14a0cbfa4..a0fdcf1d76b7c6ce02d9954acc6703268e042f87 100644
--- a/src/localtextrecordingcollection.h
+++ b/src/localtextrecordingcollection.h
@@ -43,7 +43,9 @@ public:
    virtual bool       isEnabled() const override;
    virtual QByteArray id       () const override;
    virtual bool fetch(const Element& e) override;
+   virtual bool fetch(const QList<CollectionInterface::Element>& elements) override;
    virtual bool listId(std::function<void(const QList<Element>)> callback) const override;
+   virtual QList<Element> listId() const override;
 
    Media::TextRecording* fetchFor (const ContactMethod* cm);
    Media::TextRecording* createFor(const ContactMethod* cm);
diff --git a/src/media/recordingmodel.cpp b/src/media/recordingmodel.cpp
index 085b5a5fe368de0da06ea0e2771597dd11b94d48..b0eaf40778c1af3e0dd275254f14371cd3c21543 100644
--- a/src/media/recordingmodel.cpp
+++ b/src/media/recordingmodel.cpp
@@ -85,6 +85,8 @@ m_pAudioVideo(nullptr)/*,m_pFiles(nullptr)*/
 
 void RecordingModelPrivate::forwardInsertion(const QMap<QString,QString>& message, ContactMethod* cm, Media::Media::Direction direction)
 {
+   Q_UNUSED(message)
+   Q_UNUSED(direction)
    emit q_ptr->newTextMessage(static_cast<Media::TextRecording*>(sender()), cm);
 }
 
@@ -328,4 +330,3 @@ Media::TextRecording* Media::RecordingModel::createTextRecording(const ContactMe
 }
 
 #include <recordingmodel.moc>
-
diff --git a/src/numbercompletionmodel.cpp b/src/numbercompletionmodel.cpp
index 3e648e5e5bd46df282a61608eb56a62ae7b2f636..9eaecbdb2021408bad843dfcb8ab800bafd11402 100644
--- a/src/numbercompletionmodel.cpp
+++ b/src/numbercompletionmodel.cpp
@@ -444,7 +444,7 @@ void NumberCompletionModelPrivate::getRange(QMap<QString,NumberWrapper*> map, co
 
       endOk = (iEnd.key().left(prefixLen) == pref);
 
-      size = ::ceil((static_cast<float>(size))/2.0f);
+      size = (int)::ceil((static_cast<float>(size))/2.0f);
    }
 
    while (iBeg.key().left(prefixLen) != pref && iBeg != map.end() && iBeg != iEnd)
diff --git a/src/private/shmrenderer.cpp b/src/private/shmrenderer.cpp
index 8cd7d033067ad6190152e5b0a595a425e687ad43..a7d399646b8a380c3dddce8a5d53884bbeae3c5e 100644
--- a/src/private/shmrenderer.cpp
+++ b/src/private/shmrenderer.cpp
@@ -193,7 +193,7 @@ bool ShmRendererPrivate::getNewFrame(bool wait)
    auto currentTime = std::chrono::system_clock::now();
    const std::chrono::duration<double> seconds = currentTime - m_lastFrameDebug;
    if (seconds.count() >= FPS_RATE_SEC) {
-      m_Fps = m_fpsC / seconds.count();
+      m_Fps = (int)(m_fpsC / seconds.count());
       m_fpsC = 0;
       m_lastFrameDebug = currentTime;
 #ifdef DEBUG_FPS
diff --git a/src/qtwrapper/callmanager_wrap.h b/src/qtwrapper/callmanager_wrap.h
index 62badbb4a20a630b1b7ba1ee39ae74e81cbbb10c..5537e3417322796f04a3f86953350af544b5e409 100644
--- a/src/qtwrapper/callmanager_wrap.h
+++ b/src/qtwrapper/callmanager_wrap.h
@@ -303,13 +303,6 @@ public Q_SLOTS: // METHODS
         return temp;
     }
 
-    Q_DECL_DEPRECATED QString getCurrentAudioCodecName(const QString &callID)
-    {
-        QString temp(
-            DRing::getCurrentAudioCodecName(callID.toStdString()).c_str());
-        return temp;
-    }
-
     QStringList getDisplayNames(const QString &confID)
     {
         QStringList temp =
diff --git a/src/recentmodel.cpp b/src/recentmodel.cpp
index acb17c4896fd4ead1c6b60f215c956716d2faa68..9692510f8e26db68d2c623a5b0bae54185919024 100644
--- a/src/recentmodel.cpp
+++ b/src/recentmodel.cpp
@@ -730,6 +730,7 @@ void RecentModelPrivate::slotLastUsedChanged(ContactMethod* cm, time_t t)
 void RecentModelPrivate::slotContactChanged(ContactMethod* cm, Person* np, Person* op)
 {
     Q_UNUSED(np)
+    Q_UNUSED(op)
     // m_hCMsToNodes contains RecentViewNode pointers, take will return a default
     // constructed ptr (e.g nullptr) if key is not in the QHash
     if (auto n = m_hCMsToNodes.take(cm)) {
@@ -1053,6 +1054,8 @@ void RecentModelPrivate::slotConferenceChanged(Call* conf)
 void
 RecentModelPrivate::slotCurrentCallChanged(const QModelIndex &current, const QModelIndex &previous)
 {
+    Q_UNUSED(previous)
+
     auto callIdx = q_ptr->getIndex(CallModel::instance().getCall(current));
     if (callIdx.isValid()) {
         /* in the case of a conference, we select the call;
diff --git a/src/useractionmodel.cpp b/src/useractionmodel.cpp
index 6c537b657900b623a35b4bc8d8c92caccb430357..968223c27224862f4247080e0cea42ab5d85e369 100644
--- a/src/useractionmodel.cpp
+++ b/src/useractionmodel.cpp
@@ -978,7 +978,7 @@ bool UserActionModel::execute(const UserActionModel::Action action) const
       const auto objT = qvariant_cast<Ring::ObjectType>(objTv);
 
       Call*          c  = nullptr;
-      Account*       a  = nullptr;
+      // Account*       a  = nullptr; TODO: uncomment when account is needed
       ContactMethod* cm = nullptr;
       Person*        p  = nullptr;
 
@@ -987,11 +987,11 @@ bool UserActionModel::execute(const UserActionModel::Action action) const
          case Ring::ObjectType::Person         :
             p  = qvariant_cast<Person*>(idx.data(static_cast<int>(Ring::Role::Object)));
             cm = p->phoneNumbers().size() == 1 ? p->phoneNumbers()[0] : nullptr;
-            a  = cm ? cm->account() : nullptr;
+            // a  = cm ? cm->account() : nullptr; TODO: uncomment when account is needed
             break;
          case Ring::ObjectType::ContactMethod  :
             cm = qvariant_cast<ContactMethod*>(idx.data(static_cast<int>(Ring::Role::Object)));
-            a  = cm->account();
+            // a  = cm->account(); TODO: uncomment when account is needed
             p  = cm->contact();
             //TODO maybe add "QList<Call*> currentCalls()" const to ContactMethod::?
             break;
@@ -999,7 +999,7 @@ bool UserActionModel::execute(const UserActionModel::Action action) const
             c  = qvariant_cast<Call*>(idx.data(static_cast<int>(Ring::Role::Object)));
             cm = c->peerContactMethod();
             p  = cm ? cm->contact() : nullptr;
-            a  = c->account();
+            // a  = c->account(); TODO: uncomment when account is needed
             break;
          case Ring::ObjectType::Media          : //TODO
          case Ring::ObjectType::COUNT__        :