Use osmo_tdef to implement ms-idle-time

This commit would also remove the option from config_write_pcu() since
it's automatically filled in by osmo_tdef, but there was actually a bug
because that param was never printed when saving the config...

Change-Id: Id8e70b0f44ef2f7e20ecdb3fd8ca93ae2a05b9a3
diff --git a/src/bts.cpp b/src/bts.cpp
index ae6117e..2423400 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -83,6 +83,7 @@
 	{ .T=-2000, .default_val=2,   .unit=OSMO_TDEF_MS, .desc="Tbf reject for PRR timer (ms)",            .val=0 },
 	{ .T=-2001, .default_val=2,   .unit=OSMO_TDEF_S,  .desc="PACCH assignment timer (s)",               .val=0 },
 	{ .T=-2002, .default_val=200, .unit=OSMO_TDEF_MS, .desc="Waiting after IMM.ASS confirm timer (ms)", .val=0 },
+	{ .T=-2030, .default_val=60,  .unit=OSMO_TDEF_S,  .desc="Time to keep an idle MS object alive (s)", .val=0 }, /* slightly above T3314 (default 44s, 24.008, 11.2.2) */
 	{ .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */
 };
 
@@ -867,7 +868,7 @@
 	GprsMs *ms;
 	ms = ms_store().create_ms();
 
-	ms->set_timeout(m_bts.ms_idle_sec);
+	ms->set_timeout(osmo_tdef_get(m_bts.T_defs_pcu, -2030, OSMO_TDEF_S, -1));
 	ms->set_ms_class(ms_class);
 	ms->set_egprs_ms_class(egprs_ms_class);