summaryrefslogtreecommitdiffstats
path: root/src/gsm/gsup.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2016-05-05 18:46:42 +0200
committerHarald Welte <laforge@gnumonks.org>2016-05-06 11:21:25 +0200
commit48dc1a5a64041e53e7cf7ae39758ed92aecbb6a3 (patch)
treef73e75851f6a023ac89b4881b9edf11cbdf7e63f /src/gsm/gsup.c
parent3b6fb0880c3ab1e23a3d7d738d073b00c2a794c2 (diff)
GSUP: Add OSMO_GSUP_CN_DOMAIN_IE to differentiate CS and PS plane
We're starting to use GSUP for circuit-switched (CS) plane, so we need to differentiate the two planes somehow from each other.
Diffstat (limited to 'src/gsm/gsup.c')
-rw-r--r--src/gsm/gsup.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gsm/gsup.c b/src/gsm/gsup.c
index 7a439d48..244c5fa8 100644
--- a/src/gsm/gsup.c
+++ b/src/gsm/gsup.c
@@ -329,6 +329,10 @@ int osmo_gsup_decode(const uint8_t *const_data, size_t data_len,
gsup_msg->hlr_enc_len = value_len;
break;
+ case OSMO_GSUP_CN_DOMAIN_IE:
+ gsup_msg->cn_domain = *value;
+ break;
+
default:
LOGP(DLGSUP, LOGL_NOTICE,
"GSUP IE type %d unknown\n", iei);
@@ -469,4 +473,9 @@ void osmo_gsup_encode(struct msgb *msg, const struct osmo_gsup_message *gsup_msg
if (gsup_msg->auts)
msgb_tlv_put(msg, OSMO_GSUP_AUTS_IE, 16, gsup_msg->auts);
+
+ if (gsup_msg->cn_domain) {
+ uint8_t dn = gsup_msg->cn_domain;
+ msgb_tlv_put(msg, OSMO_GSUP_CN_DOMAIN_IE, 1, &dn);
+ }
}