diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-03-04 00:05:49 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-03-16 15:32:33 +0100 |
commit | ab23a1e05bf1a50a46c4e6636a3af0b6a503241d (patch) | |
tree | d309568249b97222ba2c9887a6dd9d84215137e3 /openbsc/src/libmsc | |
parent | 1983131cdc3a9b02fb38de497c5d896b08e771af (diff) |
vlr on utran: transmit CommonID
Change-Id: Ice3c71f048b097f2c2de8bd4f4508a7ca2cb1cf5
Diffstat (limited to 'openbsc/src/libmsc')
-rw-r--r-- | openbsc/src/libmsc/gsm_04_08.c | 7 | ||||
-rw-r--r-- | openbsc/src/libmsc/msc_ifaces.c | 9 |
2 files changed, 15 insertions, 1 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c index 8ab68478e..1ddbf2a33 100644 --- a/openbsc/src/libmsc/gsm_04_08.c +++ b/openbsc/src/libmsc/gsm_04_08.c @@ -3721,6 +3721,12 @@ static int msc_vlr_tx_cm_serv_acc(void *msc_conn_ref) return msc_gsm48_tx_mm_serv_ack(conn); } +static int msc_vlr_tx_common_id(void *msc_conn_ref) +{ + struct gsm_subscriber_connection *conn = msc_conn_ref; + return msc_tx_common_id(conn); +} + /* VLR asks us to transmit a CM Service Reject */ static int msc_vlr_tx_cm_serv_rej(void *msc_conn_ref, enum vlr_proc_arq_result result) { @@ -3809,6 +3815,7 @@ static const struct vlr_ops msc_vlr_ops = { .tx_cm_serv_acc = msc_vlr_tx_cm_serv_acc, .tx_cm_serv_rej = msc_vlr_tx_cm_serv_rej, .set_ciph_mode = msc_vlr_set_ciph_mode, + .tx_common_id = msc_vlr_tx_common_id, .subscr_update = msc_vlr_subscr_update, .subscr_assoc = msc_vlr_subscr_assoc, }; diff --git a/openbsc/src/libmsc/msc_ifaces.c b/openbsc/src/libmsc/msc_ifaces.c index 8cc91c614..d3390fcb2 100644 --- a/openbsc/src/libmsc/msc_ifaces.c +++ b/openbsc/src/libmsc/msc_ifaces.c @@ -101,10 +101,17 @@ int msc_gsm48_tx_mm_serv_rej(struct gsm_subscriber_connection *conn, int msc_tx_common_id(struct gsm_subscriber_connection *conn) { /* Common ID is only sent over IuCS */ - if (conn->via_ran != RAN_UTRAN_IU) + if (conn->via_ran != RAN_UTRAN_IU) { + LOGP(DMM, LOGL_INFO, + "%s: Asked to transmit Common ID, but skipping" + " because this is not on UTRAN\n", + vlr_subscr_name(conn->vsub)); return 0; + } #ifdef BUILD_IU + DEBUGP(DIUCS, "%s: tx CommonID %s\n", + vlr_subscr_name(conn->vsub), conn->vsub->imsi); return iu_tx_common_id(conn->iu.ue_ctx, conn->vsub->imsi); #else LOGP(DMM, LOGL_ERROR, |