aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2016-10-12 01:39:25 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-03-16 15:32:32 +0100
commit978e72e500ac5544ee9fbddbac03125f60fceef8 (patch)
tree4686c60996a1d3666e71487bee74cd37604c3a19 /openbsc/src/libmsc
parent1ad6a2e515bbc3a73a283eb104feb899086a24a3 (diff)
IuCS and IuPS: add VTY config for RAB Assignment address kind
To accomodate the ip.access nano3G without having to recompile, make the RAB Assignment's Transport Layer Address IE's format configurable, in both osmo-msc and osmo-sgsn. The long term perspective is to somehow detect which address encoding a given 3G cell prefers, but for the time being just configure it globally and set each ue_conn_ctx to the global setting upon creation. Add VTY command to iu_vty.c, with args passed to iu_vty_init() to insert at an arbitrary VTY node, so that it can be used both for osmo-msc and osmo-sgsn. Add generic iu_vty_config_write() to write out the config. Call iu_vty_init() from msc_vty_init(); msc_vty_init() is in libmsc, hence linking of osmo-msc now needs libiu to come after libmsc, so move that further down. Change-Id: I93728314742b327336f3fb6de98e6457f687e1f9
Diffstat (limited to 'openbsc/src/libmsc')
-rw-r--r--openbsc/src/libmsc/iucs.c1
-rw-r--r--openbsc/src/libmsc/msc_vty.c5
2 files changed, 5 insertions, 1 deletions
diff --git a/openbsc/src/libmsc/iucs.c b/openbsc/src/libmsc/iucs.c
index 3caaf07fb..469d3e0a7 100644
--- a/openbsc/src/libmsc/iucs.c
+++ b/openbsc/src/libmsc/iucs.c
@@ -50,6 +50,7 @@ static struct gsm_subscriber_connection *subscr_conn_allocate_iu(struct gsm_netw
conn->network = network;
conn->via_ran = RAN_UTRAN_IU;
conn->iu.ue_ctx = ue;
+ conn->iu.ue_ctx->rab_assign_addr_enc = network->iu.rab_assign_addr_enc;
conn->lac = lac;
llist_add_tail(&conn->entry, &network->subscr_conns);
diff --git a/openbsc/src/libmsc/msc_vty.c b/openbsc/src/libmsc/msc_vty.c
index 0eb6efa3e..b6fff56af 100644
--- a/openbsc/src/libmsc/msc_vty.c
+++ b/openbsc/src/libmsc/msc_vty.c
@@ -26,11 +26,12 @@
#include <inttypes.h>
#include <osmocom/vty/command.h>
-#include <openbsc/vty.h>
+#include <openbsc/vty.h>
#include <openbsc/gsm_data.h>
#include <openbsc/gsm_subscriber.h>
#include <openbsc/vlr.h>
+#include <openbsc/iu.h>
static struct cmd_node msc_node = {
MSC_NODE,
@@ -124,6 +125,7 @@ static int config_write_msc(struct vty *vty)
gsmnet->vlr->cfg.assign_tmsi? "" : "no ", VTY_NEWLINE);
mgcpgw_client_config_write(vty, " ");
+ iu_vty_config_write(vty, " ");
return CMD_SUCCESS;
}
@@ -175,4 +177,5 @@ void msc_vty_init(struct gsm_network *msc_network)
install_element(MSC_NODE, &cfg_msc_assign_tmsi_cmd);
install_element(MSC_NODE, &cfg_msc_no_assign_tmsi_cmd);
mgcpgw_client_vty_init(MSC_NODE, &msc_network->mgcpgw.conf);
+ iu_vty_init(MSC_NODE, &msc_network->iu.rab_assign_addr_enc);
}