Implement RTP keepalive in native stack.

BUG=webrtc:7907

Review-Url: https://codereview.webrtc.org/2960363002
Cr-Commit-Position: refs/heads/master@{#18912}
diff --git a/webrtc/common_types.h b/webrtc/common_types.h
index bf7566c..c3752f5 100644
--- a/webrtc/common_types.h
+++ b/webrtc/common_types.h
@@ -912,6 +912,17 @@
   kNetworkDown,
 };
 
+struct RtpKeepAliveConfig {
+  // If no packet has been sent for |timeout_interval_ms|, send a keep-alive
+  // packet. The keep-alive packet is an empty (no payload) RTP packet with a
+  // payload type of 20 as long as the other end has not negotiated the use of
+  // this value. If this value has already been negotiated, then some other
+  // unused static payload type from table 5 of RFC 3551 shall be used and set
+  // in |payload_type|.
+  int64_t timeout_interval_ms = -1;
+  uint8_t payload_type = 20;
+};
+
 }  // namespace webrtc
 
 #endif  // WEBRTC_COMMON_TYPES_H_