diff --git a/p2p/base/ice_transport_internal.cc b/p2p/base/ice_transport_internal.cc
index 0dc7e50..15da627 100644
--- a/p2p/base/ice_transport_internal.cc
+++ b/p2p/base/ice_transport_internal.cc
@@ -143,4 +143,14 @@
   SetRemoteIceParameters(IceParameters(ice_ufrag, ice_pwd, false));
 }
 
+void IceTransportInternal::AddGatheringStateCallback(
+    const void* removal_tag,
+    absl::AnyInvocable<void(IceTransportInternal*)> callback) {
+  gathering_state_callback_list_.AddReceiver(removal_tag, std::move(callback));
+}
+void IceTransportInternal::RemoveGatheringStateCallback(
+    const void* removal_tag) {
+  gathering_state_callback_list_.RemoveReceivers(removal_tag);
+}
+
 }  // namespace cricket
diff --git a/p2p/base/ice_transport_internal.h b/p2p/base/ice_transport_internal.h
index 32e913d..78369c0 100644
--- a/p2p/base/ice_transport_internal.h
+++ b/p2p/base/ice_transport_internal.h
@@ -306,15 +306,11 @@
 
   // Signal Exposed for backwards compatibility.
   sigslot::signal1<IceTransportInternal*> SignalGatheringState;
+  // Note: These calls must not be inlined in order to avoid linking issues.
   void AddGatheringStateCallback(
       const void* removal_tag,
-      absl::AnyInvocable<void(IceTransportInternal*)> callback) {
-    gathering_state_callback_list_.AddReceiver(removal_tag,
-                                               std::move(callback));
-  }
-  void RemoveGatheringStateCallback(const void* removal_tag) {
-    gathering_state_callback_list_.RemoveReceivers(removal_tag);
-  }
+      absl::AnyInvocable<void(IceTransportInternal*)> callback);
+  void RemoveGatheringStateCallback(const void* removal_tag);
 
   // Handles sending and receiving of candidates.
   sigslot::signal2<IceTransportInternal*, const Candidate&>
