aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/vty.c
diff options
context:
space:
mode:
authorMychaela N. Falconia <falcon@freecalypso.org>2023-06-29 01:08:25 +0000
committerMychaela N. Falconia <falcon@freecalypso.org>2023-06-29 01:08:25 +0000
commit6b58035ce39a39a8bae38159081121f70cb5db57 (patch)
tree324b099876fe2100f340fe5bd33f5b0628628e91 /src/common/vty.c
parent437989de379a9c012db3107f7651d6fba9917580 (diff)
FR & EFR: support TW-TS-001 output via rtp fr-efr-format vty optionfalconia/rtp_traulike
Themyscira Wireless Technical Specification TW-TS-001 defines an alternative RTP payload format for FR and EFR codecs specifically for use within a GSM RAN, replicating the full functionality and semantics of T1/E1 Abis. Add support for emitting this RTP format instead of standard TS 101 318 by way of a vty config option. Change-Id: I8536256101ca669ab416d4f2e91b576430c930fc
Diffstat (limited to 'src/common/vty.c')
-rw-r--r--src/common/vty.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/common/vty.c b/src/common/vty.c
index 0fc9007d..3dae2e09 100644
--- a/src/common/vty.c
+++ b/src/common/vty.c
@@ -420,6 +420,8 @@ static void config_write_bts_single(struct vty *vty, const struct gsm_bts *bts)
vty_out(vty, " rtp continuous-streaming%s", VTY_NEWLINE);
vty_out(vty, " %srtp internal-uplink-ecu%s",
bts->use_ul_ecu ? "" : "no ", VTY_NEWLINE);
+ vty_out(vty, " rtp fr-efr-format %s%s",
+ bts->emit_fr_twts001 ? "tw-ts-001" : "ts101318", VTY_NEWLINE);
vty_out(vty, " rtp hr-format %s%s",
bts->emit_hr_rfc5993 ? "rfc5993" : "ts101318", VTY_NEWLINE);
vty_out(vty, " paging queue-size %u%s", paging_get_queue_max(bts->paging_state),
@@ -823,6 +825,19 @@ DEFUN(cfg_bts_no_rtp_int_ul_ecu,
return CMD_SUCCESS;
}
+DEFUN_ATTR(cfg_bts_rtp_fr_format,
+ cfg_bts_rtp_fr_format_cmd,
+ "rtp fr-efr-format (ts101318|tw-ts-001)",
+ RTP_STR "FR & EFR output format\n"
+ "TS 101 318 (standard)\n" "TW-TS-001 (non-standard)\n",
+ CMD_ATTR_IMMEDIATE)
+{
+ struct gsm_bts *bts = vty->index;
+
+ bts->emit_fr_twts001 = !strcmp(argv[0], "tw-ts-001");
+ return CMD_SUCCESS;
+}
+
DEFUN_ATTR(cfg_bts_rtp_hr_format,
cfg_bts_rtp_hr_format_cmd,
"rtp hr-format (rfc5993|ts101318)",
@@ -2726,6 +2741,7 @@ int bts_vty_init(void *ctx)
install_element(BTS_NODE, &cfg_bts_no_rtp_cont_stream_cmd);
install_element(BTS_NODE, &cfg_bts_rtp_int_ul_ecu_cmd);
install_element(BTS_NODE, &cfg_bts_no_rtp_int_ul_ecu_cmd);
+ install_element(BTS_NODE, &cfg_bts_rtp_fr_format_cmd);
install_element(BTS_NODE, &cfg_bts_rtp_hr_format_cmd);
install_element(BTS_NODE, &cfg_bts_band_cmd);
install_element(BTS_NODE, &cfg_description_cmd);