diff --git a/bin/nodejs/Makefile.am b/bin/nodejs/Makefile.am
index 6d91b7cd76378a2c3f5a34966e0e2349978f1e43..5923b9f2150129c04b04af9df8639e3b33893780 100644
--- a/bin/nodejs/Makefile.am
+++ b/bin/nodejs/Makefile.am
@@ -9,7 +9,7 @@ ring_wrapper.cpp: nodejs_interface.i configurationmanager.i managerimpl.i
 	$(SWIG) -v -c++ -javascript -node -o ring_wrapper.cpp nodejs_interface.i
 
 build/Makefile: ring_wrapper.cpp binding.gyp
-	node-gyp configure --target=1.6.2 --arch=x64 --dist-url=https://atom.io/download/electron
+	node-gyp configure --target=1.6.2 --arch=x64
 
 build/Release/obj.target/dring.node: build/Makefile ring_wrapper.cpp callback.h
 	node-gyp build
diff --git a/bin/nodejs/callback.h b/bin/nodejs/callback.h
index 1cfb23850549e56ff123d658044a626d4695ec80..b74390471a011292466254a0cb78c526c82daeae 100755
--- a/bin/nodejs/callback.h
+++ b/bin/nodejs/callback.h
@@ -235,7 +235,7 @@ void accountMessageStatusChanged(const std::string& account_id, uint64_t message
     uv_async_send(&signalAsync);
 }
 
-void incomingAccountMessage(const std::string& account_id, const std::string& from, const std::map<std::string, std::string>& payloads) {
+void incomingAccountMessage(const std::string& account_id, const std::string& messageId, const std::string& from, const std::map<std::string, std::string>& payloads) {
 
     std::lock_guard<std::mutex> lock(pendingSignalsLock);
     pendingSignals.emplace([account_id, from, payloads]() {
@@ -274,7 +274,7 @@ void incomingTrustRequest(const std::string& account_id, const std::string& from
     pendingSignals.emplace([account_id, from, payload, received]() {
         Local<Function> func = Local<Function>::New(Isolate::GetCurrent(), incomingTrustRequestCb);
         if (!func.IsEmpty()) {
-            Local<Array> jsArray = SWIGV8_ARRAY_NEW();
+            Local<Array> jsArray = SWIGV8_ARRAY_NEW(payload.size());
             intVectToJsArray(payload, jsArray);
             Local<Value> callback_args[] = {V8_STRING_NEW(account_id), V8_STRING_NEW(from), jsArray, SWIGV8_NUMBER_NEW(received)};
             func->Call(SWIGV8_CURRENT_CONTEXT()->Global(), 4, callback_args);
diff --git a/bin/nodejs/callmanager.i b/bin/nodejs/callmanager.i
index b51b4e85436c3ccbee95e2894392cf9d97d1e52c..dbcd364b5d3f0aa29755701568d121adbd85d57f 100644
--- a/bin/nodejs/callmanager.i
+++ b/bin/nodejs/callmanager.i
@@ -96,7 +96,7 @@ void hangupParticipant(const std::string& confId, const std::string& peerId);
 
 /* File Playback methods */
 bool startRecordedFilePlayback(const std::string& filepath);
-void stopRecordedFilePlayback(const std::string& filepath);
+void stopRecordedFilePlayback();
 
 /* General audio methods */
 bool toggleRecording(const std::string& callID);
diff --git a/bin/nodejs/configurationmanager.i b/bin/nodejs/configurationmanager.i
index 6eef9ceef27248c2349f26b8f2df09de97b1992f..596dfd7d77745a0f96b074284500f47ce858c92b 100644
--- a/bin/nodejs/configurationmanager.i
+++ b/bin/nodejs/configurationmanager.i
@@ -34,7 +34,6 @@ public:
     virtual void volatileAccountDetailsChanged(const std::string& account_id, const std::map<std::string, std::string>& details){}
     virtual void incomingAccountMessage(const std::string& /*account_id*/, const std::string& /*from*/, const std::map<std::string, std::string>& /*payload*/){}
     virtual void accountMessageStatusChanged(const std::string& /*account_id*/, uint64_t /*message_id*/, const std::string& /*to*/, int /*state*/){}
-    virtual void profileReceived(const std::string& /*account_id*/, const std::string& /*from*/, const std::string& /*path*/){}
     virtual void knownDevicesChanged(const std::string& /*account_id*/, const std::map<std::string, std::string>& /*devices*/){}
     virtual void exportOnRingEnded(const std::string& /*account_id*/, int /*state*/, const std::string& /*pin*/){}
 
@@ -59,9 +58,9 @@ public:
 
     virtual void hardwareDecodingChanged(bool /*state*/){}
     virtual void hardwareEncodingChanged(bool /*state*/){}
-};
 
     virtual void audioMeter(const std::string& /*id*/, float /*level*/){}
+};
 %}
 
 %feature("director") ConfigurationCallback;
@@ -234,7 +233,6 @@ public:
     virtual void volatileAccountDetailsChanged(const std::string& account_id, const std::map<std::string, std::string>& details){}
     virtual void incomingAccountMessage(const std::string& /*account_id*/, const std::string& /*from*/, const std::map<std::string, std::string>& /*payload*/){}
     virtual void accountMessageStatusChanged(const std::string& /*account_id*/, uint64_t /*message_id*/, const std::string& /*to*/, int /*state*/){}
-    virtual void profileReceived(const std::string& /*account_id*/, const std::string& /*from*/, const std::string& /*path*/){}
     virtual void knownDevicesChanged(const std::string& /*account_id*/, const std::map<std::string, std::string>& /*devices*/){}
     virtual void exportOnRingEnded(const std::string& /*account_id*/, int /*state*/, const std::string& /*pin*/){}
 
diff --git a/bin/nodejs/meson.build b/bin/nodejs/meson.build
index 606b5f2ae2cb4bf2424c3477458659bb137837c7..df48ccec4b1031e1f892d8bb09ab54becb31202c 100644
--- a/bin/nodejs/meson.build
+++ b/bin/nodejs/meson.build
@@ -5,7 +5,7 @@ nodejs_wrapper_target = custom_target('nodejs.wrapper',
 )
 
 nodejs_makefile_target = custom_target('nodejs.makefile',
-    command: [prognodegyp, 'configure', '--target=1.6.2', '--arch=x64', '--dist-url=https://atom.io/download/electron'],
+    command: [prognodegyp, 'configure', '--target=1.6.2', '--arch=x64'],
     output: 'build/Makefile',
     depends: nodejs_wrapper_target
 )
diff --git a/bin/nodejs/nodejs_interface.i b/bin/nodejs/nodejs_interface.i
index b207d053a05d460435ae9b59af77b31337509343..3915d19ca7a0690dcb3cd04647e4ec1b0697cb2e 100644
--- a/bin/nodejs/nodejs_interface.i
+++ b/bin/nodejs/nodejs_interface.i
@@ -55,25 +55,7 @@ namespace std {
     }
 }
 %template(StringMap) map<string, string>;
-
-
-%extend vector<string> {
-  value_type set(int i, const value_type& in) throw (std::out_of_range) {
-    const std::string old = $self->at(i);
-    $self->at(i) = in;
-    return old;
-  }
-  bool add(const value_type& in) {
-    $self->push_back(in);
-    return true;
-  }
-  int32_t size() const {
-    return $self->size();
-  }
-}
 %template(StringVect) vector<string>;
-
-
 %template(VectMap) vector< map<string,string> >;
 %template(IntegerMap) map<string,int>;
 %template(IntVect) vector<int32_t>;
@@ -89,17 +71,12 @@ namespace std {
 #include <functional>
 %}
 
-/* parsed by SWIG to generate all the glue */
-/* %include "../managerimpl.h" */
-/* %include <client/callmanager.h> */
-
 %include "managerimpl.i"
 %include "callmanager.i"
 %include "configurationmanager.i"
 %include "presencemanager.i"
 %include "callmanager.i"
 %include "videomanager.i"
-//#include "dring/callmanager_interface.h"
 
 %header %{
 #include "callback.h"
@@ -134,7 +111,6 @@ void init(const v8::Handle<v8::Value> &funcMap){
     const std::map<std::string, SharedCallback> callEvHandlers = {
         exportable_callback<CallSignal::StateChange>(bind(&callStateChanged, _1, _2, _3)),
         exportable_callback<CallSignal::IncomingMessage>(bind(&incomingMessage, _1, _2, _3)),
-        exportable_callback<CallSignal::VoiceMailNotify>(bind(&voiceMailNotify, _1, _2, _3, _4)),
         exportable_callback<CallSignal::IncomingCall>(bind(&incomingCall, _1, _2, _3)),
     };
 
@@ -146,12 +122,10 @@ void init(const v8::Handle<v8::Value> &funcMap){
         exportable_callback<ConfigurationSignal::ExportOnRingEnded>(bind(&exportOnRingEnded, _1, _2, _3 )),
         exportable_callback<ConfigurationSignal::NameRegistrationEnded>(bind(&nameRegistrationEnded, _1, _2, _3 )),
         exportable_callback<ConfigurationSignal::RegisteredNameFound>(bind(&registeredNameFound, _1, _2, _3, _4 )),
-        exportable_callback<ConfigurationSignal::UserSearchEnded>(bind(&ConfigurationCallback::userSearchEnded, confM, _1, _2, _3, _4 )),
         exportable_callback<ConfigurationSignal::VolatileDetailsChanged>(bind(&volatileDetailsChanged, _1, _2)),
         exportable_callback<ConfigurationSignal::KnownDevicesChanged>(bind(&knownDevicesChanged, _1, _2 )),
         exportable_callback<ConfigurationSignal::IncomingAccountMessage>(bind(&incomingAccountMessage, _1, _2, _3, _4 )),
         exportable_callback<ConfigurationSignal::AccountMessageStatusChanged>(bind(&accountMessageStatusChanged, _1, _2, _3, _4 )),
-        exportable_callback<ConfigurationSignal::ProfileReceived>(bind(&profileReceived, _1, _2, _3, _4 )),
         exportable_callback<ConfigurationSignal::IncomingTrustRequest>(bind(&incomingTrustRequest, _1, _2, _3, _4 )),
     };
 
diff --git a/bin/nodejs/videomanager.i b/bin/nodejs/videomanager.i
index 8b8f21a52fca92b2c7c886be64f91e56d90f7a42..fa5e109f1c445e16fb3e325d07c9ee20feece237 100644
--- a/bin/nodejs/videomanager.i
+++ b/bin/nodejs/videomanager.i
@@ -36,13 +36,6 @@ public:
     virtual void stopCapture() {}
     virtual void decodingStarted(const std::string& id, const std::string& shm_path, int w, int h, bool is_mixer) {}
     virtual void decodingStopped(const std::string& id, const std::string& shm_path, bool is_mixer) {}
-    virtual std::string startLocalRecorder(const bool& audioOnly, const std::string& filepath) {}
-    virtual void stopLocalRecorder(const std::string& filepath) {}
-    virtual bool getDecodingAccelerated() {}
-    virtual void setDecodingAccelerated(bool state) {}
-    virtual bool getEncodingAccelerated() {}
-    virtual void setEncodingAccelerated(bool state) {}
-    virtual void setDeviceOrientation(const std::string& name, int angle) {}
 };
 %}