Add initial CSD support with external MNCC

Implement and use CSD bearer service logic (with similar audio codec code):
* csd_filter (codec_filter)
* csd_bs (sdp_audio_codec)
* csd_bs_list (sdp_audio_codecs)

Related: OS#4394
Change-Id: Ide8b8321e0401dcbe35da2ec9cee0abca821d99a
diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h
index 36aab78..d2a463d 100644
--- a/include/osmocom/msc/transaction.h
+++ b/include/osmocom/msc/transaction.h
@@ -9,6 +9,7 @@
 #include <osmocom/msc/msc_a.h>
 #include <osmocom/msc/debug.h>
 #include <osmocom/msc/codec_filter.h>
+#include <osmocom/msc/csd_filter.h>
 #include <osmocom/gsm/gsm0411_smc.h>
 #include <osmocom/gsm/gsm0411_smr.h>
 
@@ -107,8 +108,9 @@
 			struct osmo_lcls *lcls;
 			/* SDP as last received from the remote call leg. */
 			struct sdp_msg remote;
-			/* Track codec choices from BSS and remote call leg */
+			/* Track codec/CSD choices from BSS and remote call leg */
 			struct codec_filter codecs;
+			struct csd_filter csd;
 			/* Resulting choice from codecs/bearer services and the
 			 * local RTP address to be sent to the remote call leg. */
 			struct sdp_msg local;