vty: Add option to enable osmux towards MSC
Change-Id: I30c485c022f2d55e0a004f69b2503da7f91ecb74
This commit is contained in:
parent
bad82d31a9
commit
6c548dc615
|
@ -41,6 +41,7 @@ noinst_HEADERS = \
|
||||||
osmo_bsc_rf.h \
|
osmo_bsc_rf.h \
|
||||||
osmo_bsc_sigtran.h \
|
osmo_bsc_sigtran.h \
|
||||||
bsc_msc_data.h \
|
bsc_msc_data.h \
|
||||||
|
osmux.h \
|
||||||
paging.h \
|
paging.h \
|
||||||
pcu_if.h \
|
pcu_if.h \
|
||||||
pcuif_proto.h \
|
pcuif_proto.h \
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "osmo_bsc_lcls.h"
|
#include "osmo_bsc_lcls.h"
|
||||||
|
#include "osmux.h"
|
||||||
|
|
||||||
#include <osmocom/core/timer.h>
|
#include <osmocom/core/timer.h>
|
||||||
#include <osmocom/gsm/protocol/gsm_04_08.h>
|
#include <osmocom/gsm/protocol/gsm_04_08.h>
|
||||||
|
@ -129,6 +130,9 @@ struct bsc_msc_data {
|
||||||
|
|
||||||
uint32_t x_osmo_ign;
|
uint32_t x_osmo_ign;
|
||||||
bool x_osmo_ign_configured;
|
bool x_osmo_ign_configured;
|
||||||
|
|
||||||
|
/* Whether we want to use Osmux against this MSC. Controlled via VTY */
|
||||||
|
enum osmux_usage use_osmux;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
enum osmux_usage {
|
||||||
|
OSMUX_USAGE_OFF = 0,
|
||||||
|
OSMUX_USAGE_ON = 1,
|
||||||
|
OSMUX_USAGE_ONLY = 2,
|
||||||
|
};
|
|
@ -26,6 +26,7 @@
|
||||||
#include <osmocom/bsc/bsc_subscriber.h>
|
#include <osmocom/bsc/bsc_subscriber.h>
|
||||||
#include <osmocom/bsc/debug.h>
|
#include <osmocom/bsc/debug.h>
|
||||||
#include <osmocom/bsc/bsc_msg_filter.h>
|
#include <osmocom/bsc/bsc_msg_filter.h>
|
||||||
|
#include <osmocom/bsc/osmux.h>
|
||||||
|
|
||||||
#include <osmocom/core/talloc.h>
|
#include <osmocom/core/talloc.h>
|
||||||
#include <osmocom/gsm/gsm48.h>
|
#include <osmocom/gsm/gsm48.h>
|
||||||
|
@ -197,6 +198,11 @@ static void write_msc(struct vty *vty, struct bsc_msc_data *msc)
|
||||||
else
|
else
|
||||||
vty_out(vty, " mgw x-osmo-ign call-id%s", VTY_NEWLINE);
|
vty_out(vty, " mgw x-osmo-ign call-id%s", VTY_NEWLINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (msc->use_osmux != OSMUX_USAGE_OFF) {
|
||||||
|
vty_out(vty, " osmux %s%s", msc->use_osmux == OSMUX_USAGE_ON ? "on" : "only",
|
||||||
|
VTY_NEWLINE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int config_write_msc(struct vty *vty)
|
static int config_write_msc(struct vty *vty)
|
||||||
|
@ -708,6 +714,23 @@ DEFUN(cfg_msc_no_mgw_x_osmo_ign,
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define OSMUX_STR "RTP multiplexing\n"
|
||||||
|
DEFUN(cfg_msc_osmux,
|
||||||
|
cfg_msc_osmux_cmd,
|
||||||
|
"osmux (on|off|only)",
|
||||||
|
OSMUX_STR "Enable OSMUX\n" "Disable OSMUX\n" "Only use OSMUX\n")
|
||||||
|
{
|
||||||
|
struct bsc_msc_data *msc = bsc_msc_data(vty);
|
||||||
|
if (strcmp(argv[0], "off") == 0)
|
||||||
|
msc->use_osmux = OSMUX_USAGE_OFF;
|
||||||
|
else if (strcmp(argv[0], "on") == 0)
|
||||||
|
msc->use_osmux = OSMUX_USAGE_ON;
|
||||||
|
else if (strcmp(argv[0], "only") == 0)
|
||||||
|
msc->use_osmux = OSMUX_USAGE_ONLY;
|
||||||
|
|
||||||
|
return CMD_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
DEFUN(cfg_net_bsc_mid_call_text,
|
DEFUN(cfg_net_bsc_mid_call_text,
|
||||||
cfg_net_bsc_mid_call_text_cmd,
|
cfg_net_bsc_mid_call_text_cmd,
|
||||||
"mid-call-text .TEXT",
|
"mid-call-text .TEXT",
|
||||||
|
@ -1045,6 +1068,7 @@ int bsc_vty_init_extra(void)
|
||||||
mgcp_client_vty_init(net, MSC_NODE, net->mgw.conf);
|
mgcp_client_vty_init(net, MSC_NODE, net->mgw.conf);
|
||||||
install_element(MSC_NODE, &cfg_msc_mgw_x_osmo_ign_cmd);
|
install_element(MSC_NODE, &cfg_msc_mgw_x_osmo_ign_cmd);
|
||||||
install_element(MSC_NODE, &cfg_msc_no_mgw_x_osmo_ign_cmd);
|
install_element(MSC_NODE, &cfg_msc_no_mgw_x_osmo_ign_cmd);
|
||||||
|
install_element(MSC_NODE, &cfg_msc_osmux_cmd);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue