diff --git a/p2p/test/nat_server.cc b/p2p/test/nat_server.cc
index c330c7a..ab2b96d 100644
--- a/p2p/test/nat_server.cc
+++ b/p2p/test/nat_server.cc
@@ -125,7 +125,7 @@
 
     bool remainder = (*len > 0);
     BufferInput(false);
-    SignalConnectRequest(this, dest_addr);
+    NotifyConnectRequest(this, dest_addr);
     if (remainder) {
       SignalReadEvent(this);
     }
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 8a66298..cb00a44 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -1284,6 +1284,7 @@
     ":stringutils",
     ":zero_memory",
     "../api:array_view",
+    "//third_party/abseil-cpp/absl/functional:any_invocable",
     "//third_party/abseil-cpp/absl/strings",
     "//third_party/abseil-cpp/absl/strings:string_view",
   ]
diff --git a/rtc_base/proxy_server.cc b/rtc_base/proxy_server.cc
index 31fdc50..6abb15b 100644
--- a/rtc_base/proxy_server.cc
+++ b/rtc_base/proxy_server.cc
@@ -73,8 +73,10 @@
       out_buffer_(kBufferSize),
       in_buffer_(kBufferSize),
       destroyed_trampoline_(this) {
-  int_socket_->SignalConnectRequest.connect(this,
-                                            &ProxyBinding::OnConnectRequest);
+  int_socket_->SubscribeConnectRequest(
+      [this](AsyncProxyServerSocket* socket, const SocketAddress& addr) {
+        OnConnectRequest(socket, addr);
+      });
   int_socket_->SignalReadEvent.connect(this, &ProxyBinding::OnInternalRead);
   int_socket_->SignalWriteEvent.connect(this, &ProxyBinding::OnInternalWrite);
   int_socket_->SignalCloseEvent.connect(this, &ProxyBinding::OnInternalClose);
diff --git a/rtc_base/server_socket_adapters.cc b/rtc_base/server_socket_adapters.cc
index c3416e6..bf41ce9 100644
--- a/rtc_base/server_socket_adapters.cc
+++ b/rtc_base/server_socket_adapters.cc
@@ -23,7 +23,8 @@
 
 AsyncProxyServerSocket::AsyncProxyServerSocket(Socket* socket,
                                                size_t buffer_size)
-    : BufferedReadAdapter(socket, buffer_size) {}
+    : BufferedReadAdapter(socket, buffer_size),
+      connect_request_trampoline_(this) {}
 
 AsyncProxyServerSocket::~AsyncProxyServerSocket() = default;
 
diff --git a/rtc_base/server_socket_adapters.h b/rtc_base/server_socket_adapters.h
index 8f53cf4..d65bf81 100644
--- a/rtc_base/server_socket_adapters.h
+++ b/rtc_base/server_socket_adapters.h
@@ -12,7 +12,10 @@
 #define RTC_BASE_SERVER_SOCKET_ADAPTERS_H_
 
 #include <cstddef>
+#include <utility>
 
+#include "absl/functional/any_invocable.h"
+#include "rtc_base/sigslot_trampoline.h"
 #include "rtc_base/socket.h"
 #include "rtc_base/socket_adapters.h"
 #include "rtc_base/socket_address.h"
@@ -27,7 +30,23 @@
   ~AsyncProxyServerSocket() override;
   sigslot::signal2<AsyncProxyServerSocket*, const SocketAddress&>
       SignalConnectRequest;
+
+  void SubscribeConnectRequest(
+      absl::AnyInvocable<void(AsyncProxyServerSocket*, const SocketAddress&)>
+          callback) {
+    connect_request_trampoline_.Subscribe(std::move(callback));
+  }
+  void NotifyConnectRequest(AsyncProxyServerSocket* socket,
+                            const SocketAddress& socket_address) {
+    SignalConnectRequest(socket, socket_address);
+  }
+
   virtual void SendConnectResult(int err, const SocketAddress& addr) = 0;
+
+ private:
+  SignalTrampoline<AsyncProxyServerSocket,
+                   &AsyncProxyServerSocket::SignalConnectRequest>
+      connect_request_trampoline_;
 };
 
 // Implements a socket adapter that performs the server side of a
