nat: Make mode-set patching optional
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
index 2b7db2e..9e66cdc 100644
--- a/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
+++ b/openbsc/src/osmo-bsc_nat/bsc_nat_vty.c
@@ -156,6 +156,8 @@
 		write_pgroup_lst(vty, pgroup);
 	if (_nat->mgcp_ipa)
 		vty_out(vty, " use-msc-ipa-for-mgcp%s", VTY_NEWLINE);
+	vty_out(vty, " %ssdp-ensure-amr-mode-set%s",
+		_nat->sdp_ensure_amr_mode_set ? "" : "no ", VTY_NEWLINE);
 
 	return CMD_SUCCESS;
 }
@@ -773,6 +775,24 @@
 	return CMD_SUCCESS;
 }
 
+DEFUN(cfg_nat_sdp_amr_mode_set,
+      cfg_nat_sdp_amr_mode_set_cmd,
+      "sdp-ensure-amr-mode-set",
+      "Ensure that SDP records include a mode-set\n")
+{
+	_nat->sdp_ensure_amr_mode_set = 1;
+	return CMD_SUCCESS;
+}
+
+DEFUN(cfg_nat_no_sdp_amr_mode_set,
+      cfg_nat_no_sdp_amr_mode_set_cmd,
+      "no sdp-ensure-amr-mode-set",
+      NO_STR "Ensure that SDP records include a mode-set\n")
+{
+	_nat->sdp_ensure_amr_mode_set = 0;
+	return CMD_SUCCESS;
+}
+
 /* per BSC configuration */
 DEFUN(cfg_bsc, cfg_bsc_cmd, "bsc BSC_NR",
       "BSC configuration\n" "Identifier of the BSC\n")
@@ -1274,6 +1294,9 @@
 	install_element(NAT_NODE, &cfg_nat_prefix_trie_cmd);
 	install_element(NAT_NODE, &cfg_nat_no_prefix_trie_cmd);
 
+	install_element(NAT_NODE, &cfg_nat_sdp_amr_mode_set_cmd);
+	install_element(NAT_NODE, &cfg_nat_no_sdp_amr_mode_set_cmd);
+
 	install_element(NAT_NODE, &cfg_nat_pgroup_cmd);
 	install_element(NAT_NODE, &cfg_nat_no_pgroup_cmd);
 	install_node(&pgroup_node, config_write_pgroup);