Add VTY option for Nokia BTS that does not send RELease CONFirm message

This option is a workarround for a bug found in Nokia InSite BTS firmware
version 3.0.0. There is no RELease CONFirm message for local end release.
Nokia MetroSite with firmware version 4.178.16 is not affected.

TS 04.06 Chapter 5.4.4.4 "Local end release procedure" states that a
confirm must be sent by layer 2 when receiving a local end release
request.

In order to correctly switch a channel (handover or assignment), local
end release is required.
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index 0066719..7fa5ea7 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -601,6 +601,8 @@
 		break;
 	case GSM_BTS_TYPE_NOKIA_SITE:
 		vty_out(vty, "  nokia_site skip-reset %d%s", bts->nokia.skip_reset, VTY_NEWLINE);
+		vty_out(vty, "  nokia_site no-local-rel-conf %d%s",
+			bts->nokia.no_loc_rel_cnf, VTY_NEWLINE);
 		/* fall through: Nokia requires "oml e1" parameters also */
 	default:
 		config_write_e1_link(vty, &bts->oml_e1_link, "  oml ");
@@ -1749,11 +1751,12 @@
 	return CMD_SUCCESS;
 }
 
+#define NOKIA_STR "Nokia *Site related commands\n"
 
 DEFUN(cfg_bts_nokia_site_skip_reset,
       cfg_bts_nokia_site_skip_reset_cmd,
       "nokia_site skip-reset (0|1)",
-      "Nokia *Site related commands\n"
+      NOKIA_STR
       "Skip the reset step during bootstrap process of this BTS\n"
       "Do NOT skip the reset\n" "Skip the reset\n")
 {
@@ -1769,6 +1772,26 @@
 	return CMD_SUCCESS;
 }
 
+DEFUN(cfg_bts_nokia_site_no_loc_rel_cnf,
+      cfg_bts_nokia_site_no_loc_rel_cnf_cmd,
+      "nokia_site no-local-rel-conf (0|1)",
+      NOKIA_STR
+      "Do not wait for RELease CONFirm message when releasing channel locally\n"
+      "Wait for RELease CONFirm\n" "Do not wait for RELease CONFirm\n")
+{
+	struct gsm_bts *bts = vty->index;
+
+	if (!is_nokia_bts(bts)) {
+		vty_out(vty, "%% BTS is not of Nokia *Site type%s",
+			VTY_NEWLINE);
+		return CMD_WARNING;
+	}
+
+	bts->nokia.no_loc_rel_cnf = atoi(argv[0]);
+
+	return CMD_SUCCESS;
+}
+
 #define OML_STR	"Organization & Maintenance Link\n"
 #define IPA_STR "A-bis/IP Specific Options\n"
 
@@ -3187,6 +3210,7 @@
 	install_element(BTS_NODE, &cfg_bts_timezone_dst_cmd);
 	install_element(BTS_NODE, &cfg_bts_no_timezone_cmd);
 	install_element(BTS_NODE, &cfg_bts_nokia_site_skip_reset_cmd);
+	install_element(BTS_NODE, &cfg_bts_nokia_site_no_loc_rel_cnf_cmd);
 	install_element(BTS_NODE, &cfg_bts_stream_id_cmd);
 	install_element(BTS_NODE, &cfg_bts_oml_e1_cmd);
 	install_element(BTS_NODE, &cfg_bts_oml_e1_tei_cmd);