vlr_subscr: use osmo_use_count

Depends: Ife31e6798b4e728a23913179e346552a7dd338c0 (libosmocore)
Change-Id: Ib06d030e8464abe415ff597d462ed40eeddef475
This commit is contained in:
Neels Hofmeyr 2019-02-19 02:36:35 +01:00
parent d553c085e7
commit 7c5346cd70
45 changed files with 2350 additions and 2287 deletions

View File

@ -24,6 +24,8 @@
#include "gsm_subscriber.h"
#define VSUB_USE_SMS_RECEIVER "SMS-receiver"
struct gsm_network;
struct gsm_sms;

View File

@ -14,6 +14,8 @@
#define LOG_RAN_CONN_CAT(conn, subsys, level, fmt, args ...) \
LOGPFSMSL((conn)? (conn)->fi : NULL, subsys, level, fmt, ## args)
#define VSUB_USE_CONN "conn"
enum ran_conn_fsm_event {
/* Accepted the initial Complete Layer 3 (starting to evaluate Authentication and Ciphering) */
RAN_CONN_E_COMPLETE_LAYER_3,

View File

@ -5,6 +5,8 @@ struct gsm_network;
struct gsm_sms_queue;
struct vty;
#define VSUB_USE_SMS_PENDING "SMS-pending"
int sms_queue_start(struct gsm_network *, int in_flight);
int sms_queue_trigger(struct gsm_sms_queue *);

View File

@ -4,6 +4,7 @@
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/fsm.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/use_count.h>
#include <osmocom/gsm/protocol/gsm_23_003.h>
#include <osmocom/gsm/protocol/gsm_04_08_gprs.h>
#include <osmocom/gsm/gsm23003.h>
@ -26,6 +27,8 @@ struct log_target;
#define VLR_SUBSCRIBER_NO_EXPIRATION 0
#define VLR_SUBSCRIBER_LU_EXPIRATION_INTERVAL 60 /* in seconds */
#define VSUB_USE_ATTACHED "attached"
/* from 3s to 10s */
#define GSM_29002_TIMER_S 10
/* from 15s to 30s */
@ -158,7 +161,8 @@ struct vlr_subscr {
bool ms_not_reachable_flag; /* 2.10.2 (MNRF) */
bool la_allowed;
int use_count;
struct osmo_use_count use_count;
struct osmo_use_count_entry use_count_buf[10];
struct osmo_fsm_inst *lu_fsm;
struct osmo_fsm_inst *auth_fsm;
@ -349,49 +353,56 @@ lu_compl_vlr_proc_start(struct osmo_fsm_inst *parent,
const char *vlr_subscr_name(const struct vlr_subscr *vsub);
const char *vlr_subscr_msisdn_or_name(const struct vlr_subscr *vsub);
#define vlr_subscr_find_by_imsi(vlr, imsi) \
_vlr_subscr_find_by_imsi(vlr, imsi, __FILE__, __LINE__)
#define vlr_subscr_find_or_create_by_imsi(vlr, imsi, created) \
_vlr_subscr_find_or_create_by_imsi(vlr, imsi, created, \
#define vlr_subscr_find_by_imsi(vlr, imsi, USE) \
_vlr_subscr_find_by_imsi(vlr, imsi, USE, __FILE__, __LINE__)
#define vlr_subscr_find_or_create_by_imsi(vlr, imsi, USE, created) \
_vlr_subscr_find_or_create_by_imsi(vlr, imsi, USE, created, \
__FILE__, __LINE__)
#define vlr_subscr_find_by_tmsi(vlr, tmsi) \
_vlr_subscr_find_by_tmsi(vlr, tmsi, __FILE__, __LINE__)
#define vlr_subscr_find_or_create_by_tmsi(vlr, tmsi, created) \
_vlr_subscr_find_or_create_by_tmsi(vlr, tmsi, created, \
#define vlr_subscr_find_by_tmsi(vlr, tmsi, USE) \
_vlr_subscr_find_by_tmsi(vlr, tmsi, USE, __FILE__, __LINE__)
#define vlr_subscr_find_or_create_by_tmsi(vlr, tmsi, USE, created) \
_vlr_subscr_find_or_create_by_tmsi(vlr, tmsi, USE, created, \
__FILE__, __LINE__)
#define vlr_subscr_find_by_msisdn(vlr, msisdn) \
_vlr_subscr_find_by_msisdn(vlr, msisdn, __FILE__, __LINE__)
#define vlr_subscr_find_by_msisdn(vlr, msisdn, USE) \
_vlr_subscr_find_by_msisdn(vlr, msisdn, USE, __FILE__, __LINE__)
struct vlr_subscr *_vlr_subscr_find_by_imsi(struct vlr_instance *vlr,
const char *imsi,
const char *use,
const char *file, int line);
struct vlr_subscr *_vlr_subscr_find_or_create_by_imsi(struct vlr_instance *vlr,
const char *imsi,
const char *use,
bool *created,
const char *file,
int line);
struct vlr_subscr *_vlr_subscr_find_by_tmsi(struct vlr_instance *vlr,
uint32_t tmsi,
const char *use,
const char *file, int line);
struct vlr_subscr *_vlr_subscr_find_or_create_by_tmsi(struct vlr_instance *vlr,
uint32_t tmsi,
const char *use,
bool *created,
const char *file,
int line);
struct vlr_subscr *_vlr_subscr_find_by_msisdn(struct vlr_instance *vlr,
const char *msisdn,
const char *use,
const char *file, int line);
#define vlr_subscr_get(sub) _vlr_subscr_get(sub, __FILE__, __LINE__)
#define vlr_subscr_put(sub) _vlr_subscr_put(sub, __FILE__, __LINE__)
struct vlr_subscr *_vlr_subscr_get(struct vlr_subscr *sub, const char *file, int line);
struct vlr_subscr *_vlr_subscr_put(struct vlr_subscr *sub, const char *file, int line);
#define vlr_subscr_get(VSUB, USE) vlr_subscr_get_src(VSUB, USE, __FILE__, __LINE__)
#define vlr_subscr_put(VSUB, USE) vlr_subscr_put_src(VSUB, USE, __FILE__, __LINE__)
#define vlr_subscr_get_src(VSUB, USE, SRCFILE, SRCLINE) \
OSMO_ASSERT(_osmo_use_count_get_put(&(VSUB)->use_count, USE, 1, SRCFILE, SRCLINE) == 0)
#define vlr_subscr_put_src(VSUB, USE, SRCFILE, SRCLINE) \
OSMO_ASSERT(_osmo_use_count_get_put(&(VSUB)->use_count, USE, -1, SRCFILE, SRCLINE) == 0)
struct vlr_subscr *vlr_subscr_alloc(struct vlr_instance *vlr);
void vlr_subscr_free(struct vlr_subscr *vsub);
int vlr_subscr_alloc_tmsi(struct vlr_subscr *vsub);

View File

@ -26,6 +26,9 @@ enum vlr_lu_type;
struct vlr_subscr;
struct vlr_instance;
#define VSUB_USE_SGS "SGs"
#define VSUB_USE_SGS_PAGING "SGs-paging"
/* See also 3GPP TS 29.118, chapter 4.2.2 States at the VLR */
enum sgs_ue_fsm_state {
SGS_UE_ST_NULL,

View File

@ -29,6 +29,8 @@
#include <stdbool.h>
#define VSUB_USE_CTRL "CTRL"
static struct gsm_network *msc_ctrl_net = NULL;
static int get_subscriber_list(struct ctrl_cmd *cmd, void *d)
@ -73,7 +75,7 @@ static int set_sub_expire(struct ctrl_cmd *cmd, void *data)
return CTRL_CMD_ERROR;
}
vsub = vlr_subscr_find_by_imsi(msc_ctrl_net->vlr, cmd->value);
vsub = vlr_subscr_find_by_imsi(msc_ctrl_net->vlr, cmd->value, VSUB_USE_CTRL);
if (!vsub) {
LOGP(DCTRL, LOGL_ERROR, "Attempt to expire unknown subscriber IMSI=%s\n", cmd->value);
cmd->reply = "IMSI unknown";
@ -85,11 +87,11 @@ static int set_sub_expire(struct ctrl_cmd *cmd, void *data)
if (vlr_subscr_expire(vsub))
LOGP(DCTRL, LOGL_NOTICE, "VLR released subscriber %s\n", vlr_subscr_name(vsub));
if (vsub->use_count > 1)
if (osmo_use_count_total(&vsub->use_count) > 1)
LOGP(DCTRL, LOGL_NOTICE, "Subscriber %s is still in use, should be released soon\n",
vlr_subscr_name(vsub));
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_CTRL);
return CTRL_CMD_REPLY;
}

View File

@ -769,7 +769,7 @@ static struct gsm_sms *sms_from_result(struct gsm_network *net, dbi_result resul
daddr = dbi_result_get_string(result, "dest_addr");
if (daddr)
OSMO_STRLCPY_ARRAY(sms->dst.addr, daddr);
sms->receiver = vlr_subscr_find_by_msisdn(net->vlr, sms->dst.addr);
sms->receiver = vlr_subscr_find_by_msisdn(net->vlr, sms->dst.addr, VSUB_USE_SMS_RECEIVER);
sms->src.npi = dbi_result_get_ulonglong(result, "src_npi");
sms->src.ton = dbi_result_get_ulonglong(result, "src_ton");

View File

@ -878,10 +878,10 @@ static int gsm48_rx_mm_imsi_detach_ind(struct ran_conn *conn, struct msgb *msg)
switch (mi_type) {
case GSM_MI_TYPE_TMSI:
vsub = vlr_subscr_find_by_tmsi(network->vlr,
tmsi_from_string(mi_string));
tmsi_from_string(mi_string), __func__);
break;
case GSM_MI_TYPE_IMSI:
vsub = vlr_subscr_find_by_imsi(network->vlr, mi_string);
vsub = vlr_subscr_find_by_imsi(network->vlr, mi_string, __func__);
break;
case GSM_MI_TYPE_IMEI:
case GSM_MI_TYPE_IMEISV:
@ -909,7 +909,7 @@ static int gsm48_rx_mm_imsi_detach_ind(struct ran_conn *conn, struct msgb *msg)
vlr_subscr_rx_imsi_detach(vsub);
osmo_signal_dispatch(SS_SUBSCR, S_SUBSCR_DETACHED, vsub);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
}
ran_conn_close(conn, 0);
@ -1768,8 +1768,8 @@ void ran_conn_rx_sec_mode_compl(struct ran_conn *conn)
/* VLR informs us that the subscriber data has somehow been modified */
static void msc_vlr_subscr_update(struct vlr_subscr *subscr)
{
LOGVSUBP(LOGL_NOTICE, subscr, "VLR: update for IMSI=%s (MSISDN=%s, used=%d)\n",
subscr->imsi, subscr->msisdn, subscr->use_count);
LOGVSUBP(LOGL_NOTICE, subscr, "VLR: update for IMSI=%s (MSISDN=%s)\n",
subscr->imsi, subscr->msisdn);
ran_conn_update_id_for_vsub(subscr);
}
@ -1806,7 +1806,8 @@ static int msc_vlr_subscr_assoc(void *msc_conn_ref,
}
}
conn->vsub = vlr_subscr_get(vsub);
vlr_subscr_get(vsub, VSUB_USE_CONN);
conn->vsub = vsub;
OSMO_ASSERT(conn->vsub);
conn->vsub->cs.attached_via_ran = conn->via_ran;

View File

@ -1897,9 +1897,9 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg)
/* New transaction due to setup, find subscriber */
if (data->called.number[0])
vsub = vlr_subscr_find_by_msisdn(net->vlr,
data->called.number);
data->called.number, __func__);
else
vsub = vlr_subscr_find_by_imsi(net->vlr, data->imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, data->imsi, __func__);
/* update the subscriber we deal with */
log_set_context(LOG_CTX_VLR_SUBSCR, vsub);
@ -1921,7 +1921,7 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg)
"Received '%s' from MNCC with "
"detached subscriber %s\n", data->called.number,
get_mncc_name(msg_type), vlr_subscr_name(vsub));
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
/* Temporarily out of order */
return mncc_release_ind(net, NULL, data->callref,
GSM48_CAUSE_LOC_PRN_S_LU,
@ -1932,7 +1932,7 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg)
TRANS_ID_UNASSIGNED, data->callref);
if (!trans) {
LOGP(DCC, LOGL_ERROR, "No memory for trans.\n");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
/* Ressource unavailable */
mncc_release_ind(net, NULL, data->callref,
GSM48_CAUSE_LOC_PRN_S_LU,
@ -1957,7 +1957,7 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg)
"started for lac %d.\n",
data->called.number,
get_mncc_name(msg_type), vsub->cgi.lai.lac);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
trans_free(trans);
return 0;
}
@ -1973,18 +1973,18 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg)
SGSAP_SERV_IND_CS_CALL);
if (!trans->paging_request) {
LOGP(DCC, LOGL_ERROR, "Failed to allocate paging token.\n");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
trans_free(trans);
return 0;
}
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return 0;
}
/* Assign conn */
trans->conn = ran_conn_get(conn, RAN_CONN_USE_TRANS_CC);
trans->dlci = 0x00; /* SAPI=0, not SACCH */
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
} else {
/* update the subscriber we deal with */
log_set_context(LOG_CTX_VLR_SUBSCR, trans->vsub);

View File

@ -71,7 +71,7 @@ void sms_free(struct gsm_sms *sms)
{
/* drop references to subscriber structure */
if (sms->receiver)
vlr_subscr_put(sms->receiver);
vlr_subscr_put(sms->receiver, VSUB_USE_SMS_RECEIVER);
#ifdef BUILD_SMPP
if (sms->smpp.esme)
smpp_esme_put(sms->smpp.esme);
@ -89,7 +89,8 @@ struct gsm_sms *sms_from_text(struct vlr_subscr *receiver,
if (!sms)
return NULL;
sms->receiver = vlr_subscr_get(receiver);
vlr_subscr_get(receiver, VSUB_USE_SMS_RECEIVER);
sms->receiver = receiver;
OSMO_STRLCPY_ARRAY(sms->text, text);
OSMO_STRLCPY_ARRAY(sms->src.addr, sender_msisdn);
@ -441,8 +442,7 @@ try_local:
#endif
/* determine gsms->receiver based on dialled number */
gsms->receiver = vlr_subscr_find_by_msisdn(conn->network->vlr,
gsms->dst.addr);
gsms->receiver = vlr_subscr_find_by_msisdn(conn->network->vlr, gsms->dst.addr, VSUB_USE_SMS_RECEIVER);
if (!gsms->receiver) {
#ifdef BUILD_SMPP
/* Avoid a second look-up */

View File

@ -50,6 +50,8 @@
#include <osmocom/msc/a_iface.h>
#include <osmocom/msc/sgs_iface.h>
#define VSUB_USE_PAGING "Paging"
void subscr_paging_cancel(struct vlr_subscr *vsub, enum gsm_paging_event event)
{
subscr_paging_dispatch(GSM_HOOK_RR_PAGING, event, NULL, NULL, vsub);
@ -106,7 +108,7 @@ int subscr_paging_dispatch(unsigned int hooknum, unsigned int event,
/* balanced with the moment we start paging */
vsub->cs.is_paging = false;
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_PAGING);
return 0;
}
@ -168,7 +170,7 @@ struct subscr_request *subscr_request_conn(struct vlr_subscr *vsub,
return NULL;
}
/* reduced on the first paging callback */
vlr_subscr_get(vsub);
vlr_subscr_get(vsub, VSUB_USE_PAGING);
vsub->cs.is_paging = true;
osmo_timer_setup(&vsub->cs.paging_response_timer, paging_response_timer_cb, vsub);
osmo_timer_schedule(&vsub->cs.paging_response_timer, net->paging_response_timer, 0);

View File

@ -68,6 +68,8 @@ struct cmd_node net_node = {
1,
};
#define VSUB_USE_VTY "VTY"
#define NETWORK_STR "Configure the GSM network\n"
#define CODE_CMD_STR "Code commands\n"
#define NAME_CMD_STR "Name Commands\n"
@ -671,6 +673,7 @@ static void subscr_dump_full_vty(struct vty *vty, struct vlr_subscr *vsub)
struct gsm_trans *trans;
int reqs;
struct llist_head *entry;
char buf[128];
if (strlen(vsub->name))
vty_out(vty, " Name: '%s'%s", vsub->name, VTY_NEWLINE);
@ -755,7 +758,7 @@ static void subscr_dump_full_vty(struct vty *vty, struct vlr_subscr *vsub)
else
vty_out(vty, " SGs-MME: (none)%s", VTY_NEWLINE);
vty_out(vty, " Use count: %u%s", vsub->use_count, VTY_NEWLINE);
vty_out(vty, " Use: %s%s", osmo_use_count_name_buf(buf, sizeof(buf), &vsub->use_count), VTY_NEWLINE);
/* Connection */
if (vsub->msc_conn_ref) {
@ -882,11 +885,11 @@ static struct vlr_subscr *get_vsub_by_argv(struct gsm_network *gsmnet,
const char *id)
{
if (!strcmp(type, "extension") || !strcmp(type, "msisdn"))
return vlr_subscr_find_by_msisdn(gsmnet->vlr, id);
return vlr_subscr_find_by_msisdn(gsmnet->vlr, id, VSUB_USE_VTY);
else if (!strcmp(type, "imsi") || !strcmp(type, "id"))
return vlr_subscr_find_by_imsi(gsmnet->vlr, id);
return vlr_subscr_find_by_imsi(gsmnet->vlr, id, VSUB_USE_VTY);
else if (!strcmp(type, "tmsi"))
return vlr_subscr_find_by_tmsi(gsmnet->vlr, atoi(id));
return vlr_subscr_find_by_tmsi(gsmnet->vlr, atoi(id), VSUB_USE_VTY);
return NULL;
}
@ -916,7 +919,7 @@ DEFUN(show_subscr,
/* In the vty output to the user, exclude this local use count added by vlr_subscr_get() in get_vsub_by_argv().
* This works, because: for get_vsub_by_argv() to succeed, there *must* have been at least one use count before
* this, and since this is not multi-threaded, this vlr_subscr_put() cannot possibly reach a count of 0. */
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
subscr_dump_full_vty(vty, vsub);
@ -955,7 +958,7 @@ DEFUN(subscriber_send_pending_sms,
if (sms)
gsm411_send_sms(gsmnet, sms->receiver, sms);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return CMD_SUCCESS;
}
@ -979,7 +982,7 @@ DEFUN(subscriber_sms_delete_all,
db_sms_delete_by_msisdn(vsub->msisdn);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return CMD_SUCCESS;
}
@ -1011,7 +1014,7 @@ DEFUN(subscriber_send_sms,
goto err;
}
sender_msisdn = sender->msisdn;
vlr_subscr_put(sender);
vlr_subscr_put(sender, VSUB_USE_VTY);
}
str = argv_concat(argv, argc, 4);
@ -1020,7 +1023,7 @@ DEFUN(subscriber_send_sms,
err:
if (vsub)
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return rc;
}
@ -1053,7 +1056,7 @@ DEFUN(subscriber_silent_sms,
goto err;
}
sender_msisdn = sender->msisdn;
vlr_subscr_put(sender);
vlr_subscr_put(sender, VSUB_USE_VTY);
}
str = argv_concat(argv, argc, 4);
@ -1062,7 +1065,7 @@ DEFUN(subscriber_silent_sms,
err:
if (vsub)
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return rc;
}
@ -1161,7 +1164,7 @@ DEFUN(subscriber_silent_call_start,
break;
}
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return rc ? CMD_WARNING : CMD_SUCCESS;
}
@ -1197,7 +1200,7 @@ DEFUN(subscriber_silent_call_stop,
break;
}
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return rc ? CMD_WARNING : CMD_SUCCESS;
}
@ -1224,7 +1227,7 @@ DEFUN(subscriber_ussd_notify,
level = atoi(argv[2]);
text = argv_concat(argv, argc, 3);
if (!text) {
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return CMD_WARNING;
}
@ -1232,7 +1235,7 @@ DEFUN(subscriber_ussd_notify,
if (!conn) {
vty_out(vty, "%% An active connection is required for %s %s%s",
argv[0], argv[1], VTY_NEWLINE);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
talloc_free(text);
return CMD_WARNING;
}
@ -1242,7 +1245,7 @@ DEFUN(subscriber_ussd_notify,
* we use dummy GSM 04.07 transaction ID. */
msc_send_ussd_release_complete(conn, 0x00);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
talloc_free(text);
return CMD_SUCCESS;
}
@ -1267,7 +1270,7 @@ DEFUN(subscriber_paging,
else
vty_out(vty, "%% paging subscriber failed%s", VTY_NEWLINE);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return req ? CMD_SUCCESS : CMD_WARNING;
}
@ -1323,7 +1326,7 @@ DEFUN(subscriber_mstest_close,
if (!conn) {
vty_out(vty, "%% An active connection is required for %s %s%s",
argv[0], argv[1], VTY_NEWLINE);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return CMD_WARNING;
}
@ -1351,7 +1354,7 @@ DEFUN(subscriber_mstest_open,
if (!conn) {
vty_out(vty, "%% An active connection is required for %s %s%s",
argv[0], argv[1], VTY_NEWLINE);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return CMD_WARNING;
}
@ -1378,12 +1381,12 @@ DEFUN(ena_subscr_expire,
vty_out(vty, "%% VLR released subscriber %s%s",
vlr_subscr_name(vsub), VTY_NEWLINE);
if (vsub->use_count > 1)
if (osmo_use_count_total(&vsub->use_count) > 1)
vty_out(vty, "%% Subscriber %s is still in use,"
" should be released soon%s",
vlr_subscr_name(vsub), VTY_NEWLINE);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_VTY);
return CMD_SUCCESS;
}
@ -1575,7 +1578,7 @@ DEFUN(logging_fltr_imsi,
if (!tgt)
return CMD_WARNING;
vlr_subscr = vlr_subscr_find_by_imsi(gsmnet->vlr, imsi);
vlr_subscr = vlr_subscr_find_by_imsi(gsmnet->vlr, imsi, VSUB_USE_VTY);
if (!vlr_subscr) {
vty_out(vty, "%%no subscriber with IMSI(%s)%s",
@ -1584,6 +1587,7 @@ DEFUN(logging_fltr_imsi,
}
log_set_filter_vlr_subscr(tgt, vlr_subscr);
vlr_subscr_put(vlr_subscr, VSUB_USE_VTY);
return CMD_SUCCESS;
}

View File

@ -552,7 +552,7 @@ static void ran_conn_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_ca
DEBUGP(DRLL, "%s: Freeing RAN connection\n", vlr_subscr_name(conn->vsub));
conn->vsub->lu_fsm = NULL;
conn->vsub->msc_conn_ref = NULL;
vlr_subscr_put(conn->vsub);
vlr_subscr_put(conn->vsub, VSUB_USE_CONN);
conn->vsub = NULL;
} else
DEBUGP(DRLL, "Freeing RAN connection with NULL subscriber\n");

View File

@ -98,6 +98,7 @@ static struct ran_conn *subscr_conn_allocate_sgs(struct sgs_connection *sgc, str
return NULL;
}
vlr_subscr_get(vsub, VSUB_USE_CONN);
conn->vsub = vsub;
conn->vsub->cs.attached_via_ran = conn->via_ran;
@ -264,7 +265,7 @@ static bool check_sgs_association(struct sgs_connection *sgc, struct msgb *msg,
uint8_t msg_type = msg->data[0];
/* Subscriber must be known by the VLR */
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi, __func__);
if (!vsub) {
LOGSGC(sgc, LOGL_NOTICE, "SGsAP Message %s with unknown IMSI (%s), releasing\n",
sgsap_msg_type_name(msg_type), imsi);
@ -279,11 +280,11 @@ static bool check_sgs_association(struct sgs_connection *sgc, struct msgb *msg,
vlr_subscr_name(vsub), sgsap_msg_type_name(msg_type));
resp = gsm29118_create_release_req(vsub->imsi, SGSAP_SGS_CAUSE_IMSI_DET_EPS_NONEPS);
sgs_tx(sgc, resp);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return false;
}
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return true;
}
@ -316,12 +317,12 @@ const char *subscr_info(const char *imsi)
struct vlr_subscr *vsub;
if (imsi) {
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi, __func__);
if (!vsub)
subscr_string = imsi;
else {
subscr_string = vlr_subscr_name(vsub);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
}
}
@ -556,10 +557,10 @@ static int sgs_rx_loc_upd_req(struct sgs_connection *sgc, struct msgb *msg, cons
struct vlr_subscr *vsub;
/* Check for lingering connections */
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi, __func__);
if (vsub) {
subscr_conn_toss(vsub);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
}
/* Determine MME-Name */
@ -675,7 +676,7 @@ static int sgs_rx_pag_rej(struct sgs_connection *sgc, struct msgb *msg, const st
return 0;
/* Subscriber must be known by the VLR */
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi, __func__);
if (!vsub)
return sgs_tx_status(sgc, imsi, SGSAP_SGS_CAUSE_IMSI_UNKNOWN, msg, SGSAP_IE_IMSI);
@ -698,7 +699,7 @@ static int sgs_rx_pag_rej(struct sgs_connection *sgc, struct msgb *msg, const st
OSMO_ASSERT(false);
}
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return 0;
}
@ -739,7 +740,7 @@ static int sgs_rx_service_req(struct sgs_connection *sgc, struct msgb *msg, cons
if (!check_sgs_association(sgc, msg, imsi))
return 0;
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi, __func__);
/* Note: vsub is already sufficiently verified by check_sgs_association(),
* we must have a vsub at this point! */
OSMO_ASSERT(vsub);
@ -747,13 +748,13 @@ static int sgs_rx_service_req(struct sgs_connection *sgc, struct msgb *msg, cons
/* The Service request is intended as a paging response, if one is
* received while nothing is paging something is very wrong! */
if (!vlr_sgs_pag_pend(vsub)) {
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return sgs_tx_status(sgc, imsi, SGSAP_SGS_CAUSE_MSG_INCOMP_STATE, msg, -1);
}
serv_ind_ie = TLVP_VAL_MINLEN(tp, SGSAP_IE_SERVICE_INDICATOR, 1);
if (!serv_ind_ie) {
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return sgs_tx_status(sgc, imsi, SGSAP_SGS_CAUSE_MISSING_MAND_IE, msg, SGSAP_IE_SERVICE_INDICATOR);
}
if (serv_ind_ie[0] == SGSAP_SERV_IND_CS_CALL)
@ -761,7 +762,7 @@ static int sgs_rx_service_req(struct sgs_connection *sgc, struct msgb *msg, cons
else if (serv_ind_ie[0] == SGSAP_SERV_IND_SMS)
serv_ind = serv_ind_ie[0];
else {
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return sgs_tx_status(sgc, imsi, SGSAP_SGS_CAUSE_INVALID_MAND_IE, msg, SGSAP_IE_SERVICE_INDICATOR);
}
@ -776,17 +777,19 @@ static int sgs_rx_service_req(struct sgs_connection *sgc, struct msgb *msg, cons
* the connection will be allocated when the MS is appearing on the
* A-Interface. */
if (serv_ind == SGSAP_SERV_IND_CS_CALL) {
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return 0;
}
/* Allocate subscriber connection */
conn = subscr_conn_allocate_sgs(sgc, vsub, true);
if (!conn) {
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return sgs_tx_status(sgc, imsi, SGSAP_SGS_CAUSE_MSG_INCOMP_STATE, msg, -1);
}
/* The conn has added a get() for the vsub, balance above vlr_subscr_find_by_imsi() */
vlr_subscr_put(vsub, __func__);
return 0;
}
@ -795,14 +798,13 @@ static int sgs_rx_ul_ud(struct sgs_connection *sgc, struct msgb *msg, const stru
{
struct dtap_header *dtap;
struct ran_conn *conn;
bool ran_conn_created = false;
const uint8_t *nas_msg_container_ie;
struct vlr_subscr *vsub;
if (!check_sgs_association(sgc, msg, imsi))
return 0;
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi, __func__);
/* Note: vsub is already sufficiently verified by check_sgs_association(),
* we must have a vsub at this point! */
OSMO_ASSERT(vsub);
@ -811,7 +813,6 @@ static int sgs_rx_ul_ud(struct sgs_connection *sgc, struct msgb *msg, const stru
conn = connection_for_subscr(vsub);
if (!conn) {
conn = subscr_conn_allocate_sgs(sgc, vsub, false);
ran_conn_created = true;
} else {
if (conn->via_ran != OSMO_RAT_EUTRAN_SGS) {
LOGSGC(sgc, LOGL_ERROR,
@ -821,16 +822,17 @@ static int sgs_rx_ul_ud(struct sgs_connection *sgc, struct msgb *msg, const stru
}
}
/* Balance above vlr_subscr_find_by_imsi() */
vlr_subscr_put(vsub, __func__);
/* If we do not find an existing connection and allocating a new one
* faild, give up and return status. */
if (!conn) {
vlr_subscr_put(vsub);
return sgs_tx_status(sgc, imsi, SGSAP_SGS_CAUSE_MSG_INCOMP_STATE, msg, 0);
}
nas_msg_container_ie = TLVP_VAL_MINLEN(tp, SGSAP_IE_NAS_MSG_CONTAINER, 1);
if (!nas_msg_container_ie) {
vlr_subscr_put(vsub);
return sgs_tx_status(sgc, imsi, SGSAP_SGS_CAUSE_MISSING_MAND_IE, msg, SGSAP_IE_NAS_MSG_CONTAINER);
}
@ -842,12 +844,6 @@ static int sgs_rx_ul_ud(struct sgs_connection *sgc, struct msgb *msg, const stru
/* Forward dtap payload into the msc */
ran_conn_dtap(conn, msg);
/* If we did not create the conn right here, we just handle the ref
* counting normally. Otherwise we are in the same role as
* sgs_rx_service_req() and we want that the refcount says incremented
* througout the lifetime of the newly created conn. */
if (!ran_conn_created)
vlr_subscr_put(vsub);
return 0;
}
@ -860,7 +856,7 @@ static int sgs_rx_csfb_ind(struct sgs_connection *sgc, struct msgb *msg, const s
* to the 4G network, so we use the SGs interface again for further
* communication with the UE. */
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(gsm_network->vlr, imsi, __func__);
if (!vsub)
return sgs_tx_status(sgc, imsi, SGSAP_SGS_CAUSE_IMSI_UNKNOWN, msg, SGSAP_IE_IMSI);
@ -868,7 +864,7 @@ static int sgs_rx_csfb_ind(struct sgs_connection *sgc, struct msgb *msg, const s
subscr_conn_toss(vsub);
vsub->cs.attached_via_ran = OSMO_RAT_EUTRAN_SGS;
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return 0;
}

View File

@ -48,6 +48,9 @@
#include "smpp_smsc.h"
#define VSUB_USE_SMPP "SMPP"
#define VSUB_USE_SMPP_CMD "SMPP-cmd"
/*! \brief find vlr_subscr for a given SMPP NPI/TON/Address */
static struct vlr_subscr *subscr_by_dst(struct gsm_network *net,
uint8_t npi, uint8_t ton,
@ -57,11 +60,11 @@ static struct vlr_subscr *subscr_by_dst(struct gsm_network *net,
switch (npi) {
case NPI_Land_Mobile_E212:
vsub = vlr_subscr_find_by_imsi(net->vlr, addr);
vsub = vlr_subscr_find_by_imsi(net->vlr, addr, VSUB_USE_SMPP);
break;
case NPI_ISDN_E163_E164:
case NPI_Private:
vsub = vlr_subscr_find_by_msisdn(net->vlr, addr);
vsub = vlr_subscr_find_by_msisdn(net->vlr, addr, VSUB_USE_SMPP);
break;
default:
LOGP(DSMPP, LOGL_NOTICE, "Unsupported NPI: %u\n", npi);
@ -117,7 +120,7 @@ static int submit_to_sms(struct gsm_sms **psms, struct gsm_network *net,
if (smpp34_submit_tlv_msg_payload(t, submit, &sms_msg,
&sms_msg_len) < 0) {
if (dest)
vlr_subscr_put(dest);
vlr_subscr_put(dest, VSUB_USE_SMPP);
return ESME_ROPTPARNOTALLWD;
}
break;
@ -136,7 +139,7 @@ static int submit_to_sms(struct gsm_sms **psms, struct gsm_network *net,
} else {
LOGP(DLSMS, LOGL_ERROR,
"SMPP neither message payload nor valid sm_length.\n");
vlr_subscr_put(dest);
vlr_subscr_put(dest, VSUB_USE_SMPP);
return ESME_RINVPARLEN;
}
}
@ -532,7 +535,7 @@ static void smpp_cmd_free(struct osmo_smpp_cmd *cmd)
{
osmo_timer_del(&cmd->response_timer);
llist_del(&cmd->list);
vlr_subscr_put(cmd->vsub);
vlr_subscr_put(cmd->vsub, VSUB_USE_SMPP_CMD);
talloc_free(cmd);
}
@ -619,7 +622,8 @@ static int smpp_cmd_enqueue(struct osmo_esme *esme,
cmd->is_report = sms->is_report;
cmd->gsm411_msg_ref = sms->gsm411.msg_ref;
cmd->gsm411_trans_id = sms->gsm411.transaction_id;
cmd->vsub = vlr_subscr_get(vsub);
vlr_subscr_get(vsub, VSUB_USE_SMPP_CMD);
cmd->vsub = vsub;
/* FIXME: No predefined value for this response_timer as specified by
* SMPP 3.4 specs, section 7.2. Make this configurable? Don't forget

View File

@ -118,14 +118,15 @@ static struct gsm_sms_pending *sms_pending_from(struct gsm_sms_queue *smsq,
if (!pending)
return NULL;
pending->vsub = vlr_subscr_get(sms->receiver);
vlr_subscr_get(sms->receiver, VSUB_USE_SMS_PENDING);
pending->vsub = sms->receiver;
pending->sms_id = sms->id;
return pending;
}
static void sms_pending_free(struct gsm_sms_pending *pending)
{
vlr_subscr_put(pending->vsub);
vlr_subscr_put(pending->vsub, VSUB_USE_SMS_PENDING);
llist_del(&pending->entry);
talloc_free(pending);
}
@ -482,12 +483,13 @@ static int sms_sms_cb(unsigned int subsys, unsigned int signal,
case S_SMS_DELIVERED:
/* Remember the subscriber and clear the pending entry */
network->sms_queue->pending -= 1;
vsub = vlr_subscr_get(pending->vsub);
vsub = pending->vsub;
vlr_subscr_get(vsub, __func__);
db_sms_delete_sent_message_by_id(pending->sms_id);
sms_pending_free(pending);
/* Attempt to send another SMS to this subscriber */
sms_send_next(vsub);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
break;
case S_SMS_MEM_EXCEEDED:
network->sms_queue->pending -= 1;

View File

@ -93,6 +93,11 @@ struct gsm_trans *trans_find_by_sm_rp_mr(const struct gsm_network *net,
return NULL;
}
static const char *trans_vsub_use(uint8_t proto)
{
return get_value_string_or_null(gsm48_pdisc_names, proto) ? : "trans-proto-unknown";
}
/*! Allocate a new transaction and add it to network list
* \param[in] net Netwokr in which we allocate transaction
* \param[in] subscr Subscriber for which we allocate transaction
@ -121,8 +126,8 @@ struct gsm_trans *trans_alloc(struct gsm_network *net,
if (!trans)
return NULL;
trans->vsub = vlr_subscr_get(vsub);
vlr_subscr_get(vsub, trans_vsub_use(protocol));
trans->vsub = vsub;
trans->protocol = protocol;
trans->transaction_id = trans_id;
trans->callref = callref;
@ -165,7 +170,7 @@ void trans_free(struct gsm_trans *trans)
}
if (trans->vsub) {
vlr_subscr_put(trans->vsub);
vlr_subscr_put(trans->vsub, trans_vsub_use(trans->protocol));
trans->vsub = NULL;
}

View File

@ -119,6 +119,7 @@ const char *vlr_subscr_msisdn_or_name(const struct vlr_subscr *vsub)
struct vlr_subscr *_vlr_subscr_find_by_imsi(struct vlr_instance *vlr,
const char *imsi,
const char *use,
const char *file, int line)
{
struct vlr_subscr *vsub;
@ -127,14 +128,17 @@ struct vlr_subscr *_vlr_subscr_find_by_imsi(struct vlr_instance *vlr,
return NULL;
llist_for_each_entry(vsub, &vlr->subscribers, list) {
if (vlr_subscr_matches_imsi(vsub, imsi))
return _vlr_subscr_get(vsub, file, line);
if (vlr_subscr_matches_imsi(vsub, imsi)) {
vlr_subscr_get_src(vsub, use, file, line);
return vsub;
}
}
return NULL;
}
struct vlr_subscr *_vlr_subscr_find_by_tmsi(struct vlr_instance *vlr,
uint32_t tmsi,
const char *use,
const char *file, int line)
{
struct vlr_subscr *vsub;
@ -143,14 +147,17 @@ struct vlr_subscr *_vlr_subscr_find_by_tmsi(struct vlr_instance *vlr,
return NULL;
llist_for_each_entry(vsub, &vlr->subscribers, list) {
if (vlr_subscr_matches_tmsi(vsub, tmsi))
return _vlr_subscr_get(vsub, file, line);
if (vlr_subscr_matches_tmsi(vsub, tmsi)) {
vlr_subscr_get_src(vsub, use, file, line);
return vsub;
}
}
return NULL;
}
struct vlr_subscr *_vlr_subscr_find_by_msisdn(struct vlr_instance *vlr,
const char *msisdn,
const char *use,
const char *file, int line)
{
struct vlr_subscr *vsub;
@ -159,8 +166,10 @@ struct vlr_subscr *_vlr_subscr_find_by_msisdn(struct vlr_instance *vlr,
return NULL;
llist_for_each_entry(vsub, &vlr->subscribers, list) {
if (vlr_subscr_matches_msisdn(vsub, msisdn))
return _vlr_subscr_get(vsub, file, line);
if (vlr_subscr_matches_msisdn(vsub, msisdn)) {
vlr_subscr_get_src(vsub, use, file, line);
return vsub;
}
}
return NULL;
}
@ -217,30 +226,24 @@ static int vlr_tx_gsup_error_reply(const struct vlr_instance *vlr,
return vlr_tx_gsup_message(vlr, &gsup_reply);
}
struct vlr_subscr *_vlr_subscr_get(struct vlr_subscr *sub, const char *file, int line)
static int vlr_subscr_use_cb(struct osmo_use_count_entry *e, int32_t old_use_count, const char *file, int line)
{
if (!sub)
return NULL;
OSMO_ASSERT(sub->use_count < INT_MAX);
sub->use_count++;
LOGPSRC(DREF, LOGL_DEBUG, file, line,
"VLR subscr %s usage increases to: %d\n",
vlr_subscr_name(sub), sub->use_count);
return sub;
}
struct vlr_subscr *vsub = e->use_count->talloc_object;
char buf[128];
struct vlr_subscr *_vlr_subscr_put(struct vlr_subscr *sub, const char *file, int line)
{
if (!sub)
return NULL;
sub->use_count--;
LOGPSRC(DREF, sub->use_count >= 0? LOGL_DEBUG : LOGL_ERROR,
file, line,
"VLR subscr %s usage decreases to: %d\n",
vlr_subscr_name(sub), sub->use_count);
if (sub->use_count <= 0)
vlr_subscr_free(sub);
return NULL;
if (!e->use)
return -EINVAL;
LOGPSRC(DREF, LOGL_DEBUG, file, line, "VLR subscr %s %s %s: now used by %s\n",
vlr_subscr_name(vsub), (e->count - old_use_count) > 0? "+" : "-", e->use,
osmo_use_count_name_buf(buf, sizeof(buf), e->use_count));
if (e->count < 0)
return -ERANGE;
if (osmo_use_count_total(e->use_count) <= 0)
vlr_subscr_free(vsub);
return 0;
}
/* Allocate a new subscriber and insert it into list */
@ -250,9 +253,16 @@ static struct vlr_subscr *_vlr_subscr_alloc(struct vlr_instance *vlr)
int i;
vsub = talloc_zero(vlr, struct vlr_subscr);
vsub->vlr = vlr;
vsub->tmsi = GSM_RESERVED_TMSI;
vsub->tmsi_new = GSM_RESERVED_TMSI;
*vsub = (struct vlr_subscr){
.vlr = vlr,
.tmsi = GSM_RESERVED_TMSI,
.tmsi_new = GSM_RESERVED_TMSI,
.use_count = (struct osmo_use_count){
.talloc_object = vsub,
.use_cb = vlr_subscr_use_cb,
},
};
osmo_use_count_make_static_entries(&vsub->use_count, vsub->use_count_buf, ARRAY_SIZE(vsub->use_count_buf));
for (i = 0; i < ARRAY_SIZE(vsub->auth_tuples); i++)
vsub->auth_tuples[i].key_seq = VLR_KEY_SEQ_INVAL;
@ -269,11 +279,6 @@ static struct vlr_subscr *_vlr_subscr_alloc(struct vlr_instance *vlr)
return vsub;
}
struct vlr_subscr *vlr_subscr_alloc(struct vlr_instance *vlr)
{
return vlr_subscr_get(_vlr_subscr_alloc(vlr));
}
/* Send a GSUP Purge MS request.
* TODO: this should be sent to the *previous* VLR when this VLR is "taking"
* this subscriber, not to the HLR? */
@ -297,12 +302,12 @@ void vlr_subscr_cancel_attach_fsm(struct vlr_subscr *vsub,
if (!vsub)
return;
vlr_subscr_get(vsub);
vlr_subscr_get(vsub, __func__);
if (vsub->lu_fsm)
vlr_loc_update_cancel(vsub->lu_fsm, fsm_cause, gsm48_cause);
if (vsub->proc_arq_fsm)
vlr_parq_cancel(vsub->proc_arq_fsm, fsm_cause, gsm48_cause);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
}
/* Call vlr_subscr_cancel(), then completely drop the entry from the VLR */
@ -327,6 +332,7 @@ int vlr_subscr_alloc_tmsi(struct vlr_subscr *vsub)
struct vlr_instance *vlr = vsub->vlr;
uint32_t tmsi;
int tried, rc;
struct vlr_subscr *other_vsub;
for (tried = 0; tried < 100; tried++) {
rc = osmo_get_rand_id((uint8_t *) &tmsi, sizeof(tmsi));
@ -349,8 +355,10 @@ int vlr_subscr_alloc_tmsi(struct vlr_subscr *vsub)
}
/* If this TMSI is already in use, try another one. */
if (vlr_subscr_find_by_tmsi(vlr, tmsi))
if ((other_vsub = vlr_subscr_find_by_tmsi(vlr, tmsi, __func__))) {
vlr_subscr_put(other_vsub, __func__);
continue;
}
vsub->tmsi_new = tmsi;
vsub->vlr->ops.subscr_update(vsub);
@ -368,21 +376,23 @@ int vlr_subscr_alloc_tmsi(struct vlr_subscr *vsub)
* \param[out] created if non-NULL, returns whether a new entry was created. */
struct vlr_subscr *_vlr_subscr_find_or_create_by_imsi(struct vlr_instance *vlr,
const char *imsi,
const char *use,
bool *created,
const char *file,
int line)
{
struct vlr_subscr *vsub;
vsub = _vlr_subscr_find_by_imsi(vlr, imsi, file, line);
vsub = _vlr_subscr_find_by_imsi(vlr, imsi, use, file, line);
if (vsub) {
if (created)
*created = false;
return vsub;
}
vsub = _vlr_subscr_get(_vlr_subscr_alloc(vlr), file, line);
vsub = _vlr_subscr_alloc(vlr);
if (!vsub)
return NULL;
vlr_subscr_get_src(vsub, use, file, line);
vlr_subscr_set_imsi(vsub, imsi);
LOGP(DVLR, LOGL_INFO, "New subscr, IMSI: %s\n", vsub->imsi);
if (created)
@ -396,21 +406,23 @@ struct vlr_subscr *_vlr_subscr_find_or_create_by_imsi(struct vlr_instance *vlr,
* \param[out] created if non-NULL, returns whether a new entry was created. */
struct vlr_subscr *_vlr_subscr_find_or_create_by_tmsi(struct vlr_instance *vlr,
uint32_t tmsi,
const char *use,
bool *created,
const char *file,
int line)
{
struct vlr_subscr *vsub;
vsub = _vlr_subscr_find_by_tmsi(vlr, tmsi, file, line);
vsub = _vlr_subscr_find_by_tmsi(vlr, tmsi, use, file, line);
if (vsub) {
if (created)
*created = false;
return vsub;
}
vsub = _vlr_subscr_get(_vlr_subscr_alloc(vlr), file, line);
vsub = _vlr_subscr_alloc(vlr);
if (!vsub)
return NULL;
vlr_subscr_get_src(vsub, use, file, line);
vsub->tmsi = tmsi;
LOGP(DVLR, LOGL_INFO, "New subscr, TMSI: 0x%08x\n", vsub->tmsi);
if (created)
@ -1098,7 +1110,7 @@ int vlr_gsupc_read_cb(struct osmo_gsup_client *gsupc, struct msgb *msg)
goto msgb_free_and_return;
}
vsub = vlr_subscr_find_by_imsi(vlr, gsup.imsi);
vsub = vlr_subscr_find_by_imsi(vlr, gsup.imsi, __func__);
if (!vsub) {
switch (gsup.message_type) {
case OSMO_GSUP_MSGT_PURGE_MS_RESULT:
@ -1146,7 +1158,7 @@ int vlr_gsupc_read_cb(struct osmo_gsup_client *gsupc, struct msgb *msg)
break;
}
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
msgb_free_and_return:
msgb_free(msg);
@ -1239,7 +1251,7 @@ bool vlr_subscr_expire(struct vlr_subscr *vsub)
if (vsub->lu_complete) {
/* balancing the get from vlr_lu_compl_fsm_success() */
vsub->lu_complete = false;
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_ATTACHED);
return true;
}
@ -1425,16 +1437,18 @@ void log_set_filter_vlr_subscr(struct log_target *target,
struct vlr_subscr *vlr_subscr)
{
struct vlr_subscr **fsub = (void*)&target->filter_data[LOG_FLT_VLR_SUBSCR];
const char *use = "logfilter";
/* free the old data */
if (*fsub) {
vlr_subscr_put(*fsub);
vlr_subscr_put(*fsub, use);
*fsub = NULL;
}
if (vlr_subscr) {
target->filter_map |= (1 << LOG_FLT_VLR_SUBSCR);
*fsub = vlr_subscr_get(vlr_subscr);
vlr_subscr_get(vlr_subscr, use);
*fsub = vlr_subscr;
} else
target->filter_map &= ~(1 << LOG_FLT_VLR_SUBSCR);
}

View File

@ -356,10 +356,10 @@ static void proc_arq_vlr_fn_init(struct osmo_fsm_inst *fi,
/* Obtain_Identity_VLR */
if (!par->by_tmsi) {
/* IMSI was included */
vsub = vlr_subscr_find_by_imsi(par->vlr, par->imsi);
vsub = vlr_subscr_find_by_imsi(par->vlr, par->imsi, __func__);
} else {
/* TMSI was included */
vsub = vlr_subscr_find_by_tmsi(par->vlr, par->tmsi);
vsub = vlr_subscr_find_by_tmsi(par->vlr, par->tmsi, __func__);
}
if (vsub) {
log_set_context(LOG_CTX_VLR_SUBSCR, vsub);
@ -377,7 +377,7 @@ static void proc_arq_vlr_fn_init(struct osmo_fsm_inst *fi,
proc_arq_fsm_done(fi, GSM48_REJECT_NETWORK_FAILURE);
else
proc_arq_vlr_fn_post_imsi(fi);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return;
}
/* No VSUB could be resolved. What now? */
@ -412,7 +412,7 @@ static void proc_arq_vlr_fn_w_obt_imsi(struct osmo_fsm_inst *fi,
OSMO_ASSERT(event == PR_ARQ_E_ID_IMSI);
vsub = vlr_subscr_find_by_imsi(vlr, par->imsi);
vsub = vlr_subscr_find_by_imsi(vlr, par->imsi, __func__);
if (!vsub) {
/* Set User Error: Unidentified Subscriber */
proc_arq_fsm_done(fi, GSM48_REJECT_IMSI_UNKNOWN_IN_VLR);
@ -422,7 +422,7 @@ static void proc_arq_vlr_fn_w_obt_imsi(struct osmo_fsm_inst *fi,
proc_arq_fsm_done(fi, GSM48_REJECT_NETWORK_FAILURE);
else
proc_arq_vlr_fn_post_imsi(fi);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
}
/* Authenticate_VLR has completed */

View File

@ -360,7 +360,7 @@ static void vlr_lu_compl_fsm_success(struct osmo_fsm_inst *fi)
if (!vsub->lu_complete) {
vsub->lu_complete = true;
/* Balanced by vlr_subscr_expire() */
vlr_subscr_get(vsub);
vlr_subscr_get(vsub, VSUB_USE_ATTACHED);
}
_vlr_lu_compl_fsm_done(fi, VLR_FSM_RESULT_SUCCESS, 0);
vlr_sgs_fsm_update_id(vsub);
@ -982,7 +982,7 @@ static int _lu_fsm_associate_vsub(struct osmo_fsm_inst *fi)
* someone else's TMSI.
* TODO: Otherwise we can ask for the IMSI and verify that it
* matches the IMSI on record. */
vsub = vlr_subscr_find_or_create_by_tmsi(vlr, lfp->tmsi, NULL);
vsub = vlr_subscr_find_or_create_by_tmsi(vlr, lfp->tmsi, __func__, NULL);
if (!vsub) {
LOGPFSML(fi, LOGL_ERROR, "VLR subscriber allocation failed\n");
@ -992,27 +992,27 @@ static int _lu_fsm_associate_vsub(struct osmo_fsm_inst *fi)
vsub->sub_dataconf_by_hlr_ind = false;
if (assoc_lfp_with_sub(fi, vsub)) {
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return -1; /* error, fsm failure invoked in assoc_lfp_with_sub() */
}
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
} else {
/* IMSI was used */
vsub = vlr_subscr_find_or_create_by_imsi(vlr, lfp->imsi, NULL);
vsub = vlr_subscr_find_or_create_by_imsi(vlr, lfp->imsi, __func__, NULL);
if (!vsub) {
LOGPFSML(fi, LOGL_ERROR, "VLR subscriber allocation failed\n");
lu_fsm_failure(fi, GSM48_REJECT_SRV_OPT_TMP_OUT_OF_ORDER);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return -1;
}
vsub->sub_dataconf_by_hlr_ind = false;
if (assoc_lfp_with_sub(fi, vsub)) {
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
return -1; /* error, fsm failure invoked in assoc_lfp_with_sub() */
}
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
}
return 0;
}

View File

@ -80,7 +80,7 @@ int vlr_sgs_loc_update(struct vlr_instance *vlr, struct vlr_sgs_cfg *cfg,
OSMO_ASSERT(cfg);
OSMO_ASSERT(imsi);
vsub = vlr_subscr_find_or_create_by_imsi(vlr, imsi, NULL);
vsub = vlr_subscr_find_or_create_by_imsi(vlr, imsi, VSUB_USE_SGS, NULL);
if (!vsub) {
LOGP(DSGS, LOGL_ERROR, "VLR subscriber allocation failed\n");
return -EINVAL;
@ -137,7 +137,7 @@ void vlr_sgs_imsi_detach(struct vlr_instance *vlr, const char *imsi, enum sgsap_
struct vlr_subscr *vsub;
enum sgs_ue_fsm_event evt;
vsub = vlr_subscr_find_by_imsi(vlr, imsi);
vsub = vlr_subscr_find_by_imsi(vlr, imsi, __func__);
if (!vsub)
return;
@ -164,12 +164,12 @@ void vlr_sgs_imsi_detach(struct vlr_instance *vlr, const char *imsi, enum sgsap_
}
osmo_fsm_inst_dispatch(vsub->sgs_fsm, evt, NULL);
vlr_subscr_put(vsub);
/* Detaching from non EPS services essentially means that the
* subscriber is detached from 2G. In any case the VLR will
* get rid of the subscriber. */
vlr_subscr_expire(vsub);
vlr_subscr_put(vsub, __func__);
}
/*! Perform an SGs EPS detach.
@ -180,7 +180,7 @@ void vlr_sgs_eps_detach(struct vlr_instance *vlr, const char *imsi, enum sgsap_i
{
struct vlr_subscr *vsub;
enum sgs_ue_fsm_event evt;
vsub = vlr_subscr_find_by_imsi(vlr, imsi);
vsub = vlr_subscr_find_by_imsi(vlr, imsi, __func__);
if (!vsub)
return;
@ -211,7 +211,7 @@ void vlr_sgs_eps_detach(struct vlr_instance *vlr, const char *imsi, enum sgsap_i
if (vsub->expire_lu == VLR_SUBSCRIBER_NO_EXPIRATION)
vlr_subscr_enable_expire_lu(vsub);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
}
/*! Perform an SGs TMSI reallocation complete.
@ -220,12 +220,12 @@ void vlr_sgs_eps_detach(struct vlr_instance *vlr, const char *imsi, enum sgsap_i
void vlr_sgs_tmsi_reall_compl(struct vlr_instance *vlr, const char *imsi)
{
struct vlr_subscr *vsub;
vsub = vlr_subscr_find_by_imsi(vlr, imsi);
vsub = vlr_subscr_find_by_imsi(vlr, imsi, __func__);
if (!vsub)
return;
osmo_fsm_inst_dispatch(vsub->sgs_fsm, SGS_UE_E_RX_TMSI_REALLOC, NULL);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
}
/*! Notify that an SGs paging has been rejected by the MME.
@ -235,7 +235,7 @@ void vlr_sgs_tmsi_reall_compl(struct vlr_instance *vlr, const char *imsi)
void vlr_sgs_pag_rej(struct vlr_instance *vlr, const char *imsi, enum sgsap_sgs_cause cause)
{
struct vlr_subscr *vsub;
vsub = vlr_subscr_find_by_imsi(vlr, imsi);
vsub = vlr_subscr_find_by_imsi(vlr, imsi, __func__);
if (!vsub)
return;
@ -246,10 +246,10 @@ void vlr_sgs_pag_rej(struct vlr_instance *vlr, const char *imsi, enum sgsap_sgs_
vlr_subscr_msisdn_or_name(vsub), vlr_sgs_state_timer_name(SGS_STATE_TS5), sgsap_sgs_cause_name(cause));
osmo_fsm_inst_dispatch(vsub->sgs_fsm, SGS_UE_E_RX_PAGING_FAILURE, &cause);
vlr_subscr_put(vsub);
/* Balance ref count increment from vlr_sgs_pag() */
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_SGS_PAGING);
vlr_subscr_put(vsub, __func__);
}
/*! Notify that an SGs paging has been accepted by the MME.
@ -258,16 +258,16 @@ void vlr_sgs_pag_rej(struct vlr_instance *vlr, const char *imsi, enum sgsap_sgs_
void vlr_sgs_pag_ack(struct vlr_instance *vlr, const char *imsi)
{
struct vlr_subscr *vsub;
vsub = vlr_subscr_find_by_imsi(vlr, imsi);
vsub = vlr_subscr_find_by_imsi(vlr, imsi, __func__);
if (!vsub)
return;
/* Stop Ts5 and and consider the paging as successful */
osmo_timer_del(&vsub->sgs.Ts5);
vlr_subscr_put(vsub);
/* Balance ref count increment from vlr_sgs_pag() */
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_SGS_PAGING);
vlr_subscr_put(vsub, __func__);
}
/*! Notify that the UE has been marked as unreachable by the MME.
@ -277,7 +277,7 @@ void vlr_sgs_pag_ack(struct vlr_instance *vlr, const char *imsi)
void vlr_sgs_ue_unr(struct vlr_instance *vlr, const char *imsi, enum sgsap_sgs_cause cause)
{
struct vlr_subscr *vsub;
vsub = vlr_subscr_find_by_imsi(vlr, imsi);
vsub = vlr_subscr_find_by_imsi(vlr, imsi, __func__);
if (!vsub)
return;
@ -289,7 +289,7 @@ void vlr_sgs_ue_unr(struct vlr_instance *vlr, const char *imsi, enum sgsap_sgs_c
vlr_subscr_msisdn_or_name(vsub), vlr_sgs_state_timer_name(SGS_STATE_TS5), sgsap_sgs_cause_name(cause));
osmo_fsm_inst_dispatch(vsub->sgs_fsm, SGS_UE_E_RX_SGSAP_UE_UNREACHABLE, &cause);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
}
/* Callback function that is called when an SGs paging request times out */
@ -306,7 +306,7 @@ static void Ts5_timeout_cb(void *arg)
vlr_subscr_msisdn_or_name(vsub), vlr_sgs_state_timer_name(SGS_STATE_TS5));
/* Balance ref count increment from vlr_sgs_pag() */
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, VSUB_USE_SGS_PAGING);
return;
}
@ -346,7 +346,7 @@ void vlr_sgs_pag(struct vlr_subscr *vsub, enum sgsap_service_ind serv_ind)
/* Ensure that the reference count is increased by one while the
* paging is happening. We will balance this again in vlr_sgs_pag_rej()
* and vlr_sgs_pag_ack(); */
vlr_subscr_get(vsub);
vlr_subscr_get(vsub, VSUB_USE_SGS_PAGING);
}
/*! Check if the SGs interface is currently paging

View File

@ -121,12 +121,12 @@ static void _test_auth_reuse(enum osmo_rat_type via_ran,
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x03020100, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == GSM_RESERVED_TMSI, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_release_clear(via_ran);
@ -141,11 +141,11 @@ static void _test_auth_reuse(enum osmo_rat_type via_ran,
for (i = 0; i < loop_requests_without_hlr; i++, expected_use_count++) {
BTW("Now the auth tuple has use_count == %d", expected_use_count);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
OSMO_ASSERT(vsub->last_tuple);
VERBOSE_ASSERT(vsub->last_tuple->use_count, == expected_use_count, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("after a while, a new conn sends a CM Service Request. VLR responds with Auth Req,"
" and reuses old auth vector");
@ -189,11 +189,11 @@ static void _test_auth_reuse(enum osmo_rat_type via_ran,
if (final_request_with_hlr) {
BTW("Now the auth tuple has use_count == %d, as much as is allowed.", expected_use_count);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
OSMO_ASSERT(vsub->last_tuple);
VERBOSE_ASSERT(vsub->last_tuple->use_count, == expected_use_count, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("after a while, a new conn sends a CM Service Request. VLR responds with Auth Req,"
" and needs to request a second auth vector from HLR");

File diff suppressed because it is too large Load Diff

View File

@ -152,11 +152,11 @@ static void standard_lu()
rnc_sends_release_complete();
EXPECT_CONN_COUNT(0);
vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI);
vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, IMSI), == 0, "%d");
VAL_ASSERT("LAC", vsub->cgi.lai.lac, == 23, "%u");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
}
static void test_call_mo()

View File

@ -16,12 +16,12 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU)
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: rev=R99 net=UTRAN Auth+Ciph
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000010650 id=901700000010650
DVLR New subscr, IMSI: 901700000010650
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000010650 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -39,7 +39,7 @@ DMM RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Awaitin
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000000156f00362201039fa2f4e3d523d8619a73b4f65c3e14d21049b36efdf2208059a4f668f6fbe39231027497388b6cb044648f396aa155b95ef2410f64735036e5871319c679f4742a75ea125108704f5ba55f30000d2ee44b22c8ea9192708e229c19e791f2e4103622010c187a53a5e6b9d573cac7c74451fd46d210485aa31302208d3d50a000bf04f6e23101159ec926a50e98c034a6b7d7c9f418d2410df3a03d9ca5335641efc8e36d76cd20b25101843a645b98d00005b2d666af46c45d927087db47cf7f81e4dc703622010efa9c29a9742148d5c9070348716e1bb210469d5f9fb22083df176f0c29f1a3d2310eb50e770ddcc3060101d2f43b6c2b884241076542abce5ff9345b0e8947f4c6e019c2510f9375e6d41e1000096e7fe4ff1c27e392708706f996719ba609c03622010f023d5a3b24726e0631b64b3840f82532104d570c03f2208ec011be8919883d62310c4e58af4ba43f3bcd904e16984f086d724100593f65e752e5cb7f473862bda05aa0a2510541ff1f077270000c5ea00d658bc7e9a27083fd26072eaa2a04d036220102f8f90c780d6a9c0c53da7ac57b6707e2104b072446f220823f39f9f425ad6e6231065af0527fda95b0dc5ae4aa515cdf32f2410537c3b35a3b13b08d08eeb28098f45cc25104bf4e564f75300009bc796706bc6574427080edb0eadbea94ac2
DVLR GSUP rx 511: 0a010809710000000156f00362201039fa2f4e3d523d8619a73b4f65c3e14d21049b36efdf2208059a4f668f6fbe39231027497388b6cb044648f396aa155b95ef2410f64735036e5871319c679f4742a75ea125108704f5ba55f30000d2ee44b22c8ea9192708e229c19e791f2e4103622010c187a53a5e6b9d573cac7c74451fd46d210485aa31302208d3d50a000bf04f6e23101159ec926a50e98c034a6b7d7c9f418d2410df3a03d9ca5335641efc8e36d76cd20b25101843a645b98d00005b2d666af46c45d927087db47cf7f81e4dc703622010efa9c29a9742148d5c9070348716e1bb210469d5f9fb22083df176f0c29f1a3d2310eb50e770ddcc3060101d2f43b6c2b884241076542abce5ff9345b0e8947f4c6e019c2510f9375e6d41e1000096e7fe4ff1c27e392708706f996719ba609c03622010f023d5a3b24726e0631b64b3840f82532104d570c03f2208ec011be8919883d62310c4e58af4ba43f3bcd904e16984f086d724100593f65e752e5cb7f473862bda05aa0a2510541ff1f077270000c5ea00d658bc7e9a27083fd26072eaa2a04d036220102f8f90c780d6a9c0c53da7ac57b6707e2104b072446f220823f39f9f425ad6e6231065af0527fda95b0dc5ae4aa515cdf32f2410537c3b35a3b13b08d08eeb28098f45cc25104bf4e564f75300009bc796706bc6574427080edb0eadbea94ac2
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000010650) Received 5 auth tuples
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -48,7 +48,7 @@ DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_WAIT_RESP}
- ...rand=39fa2f4e3d523d8619a73b4f65c3e14d
- ...autn=8704f5ba55f30000d2ee44b22c8ea919
- ...expecting res=e229c19e791f2e41
DREF VLR subscr IMSI-901700000010650 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -96,19 +96,19 @@ DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_INIT}: s
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000000156f00804032443f2
DVLR GSUP rx 17: 10010809710000000156f00804032443f2
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000010650 has MSISDN:42342
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=2)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000000156f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000000156f0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000000156f0
DVLR GSUP rx 11: 06010809710000000156f0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -122,12 +122,12 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: lu_compl_vlr_new_tmsi()
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=2)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_TMSI_CNF
- sending LU Accept for IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100, with TMSI 0x03020100
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_DONE}: Deallocated
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
lu_result_sent == 1
- a LU Accept with a new TMSI was sent, waiting for TMSI Realloc Compl
@ -140,9 +140,9 @@ DRLL Dispatching 04.08 message GSM48_MT_MM_TMSI_REALL_COMPL (0x5:0x1b)
DMM TMSI Reallocation Completed. Subscriber: IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_NEW_TMSI_ACK
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_TMSI_CNF}: Received Event LU_COMPL_VLR_E_NEW_TMSI_ACK
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=1)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + attached: now used by 2 (conn,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_TMSI_CNF}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)
@ -154,8 +154,8 @@ DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){R
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 2 (0x102: dtap,release)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 3 (conn,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 2 (conn,attached)
- Iu Release --UTRAN-Iu--> MS
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x100: release)
iu_release_sent == 1
@ -170,14 +170,14 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU)
DRLL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: Freeing RAN connection
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + standard_lu: now used by 2 (attached,standard_lu)
vsub != NULL == 1
strcmp(vsub->imsi, IMSI) == 0
LAC == 23
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - standard_lu: now used by 1 (attached)
---
- after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector
MSC <--UTRAN-Iu-- MS: GSM48_MT_MM_CM_SERV_REQ
@ -191,8 +191,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: is child of RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: rev=R99 net=UTRAN Auth+Ciph
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + proc_arq_vlr_fn_init: now used by 2 (attached,proc_arq_vlr_fn_init)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + conn: now used by 3 (attached,proc_arq_vlr_fn_init,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_NEW}: Updated ID
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi()
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_WAIT_AUTH
@ -205,7 +205,7 @@ DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu
- ...rand=c187a53a5e6b9d573cac7c74451fd46d
- ...autn=1843a645b98d00005b2d666af46c45d9
- ...expecting res=7db47cf7f81e4dc7
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - proc_arq_vlr_fn_init: now used by 2 (attached,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_COMPLETE_LAYER_3
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_AUTH_CIPH
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - compl_l3 == 0 (0x0: )
@ -266,7 +266,7 @@ DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2
DRLL Dispatching 04.08 message GSM48_MT_CC_SETUP (0x3:0x5)
DCC Unknown transaction ID 8, creating new trans.
DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 80000001) New transaction
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,conn,CC)
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + trans_cc == 3 (0x1a: dtap,cm_service,trans_cc)
DMM IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: rx msg GSM48_MT_CC_SETUP: received_cm_service_request changes to false
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - cm_service == 2 (0x12: dtap,trans_cc)
@ -352,15 +352,15 @@ DCC Sending 'MNCC_REL_CNF' to MNCC.
MS <--Call Release-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x0
DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL
DCC (sub 42342) stopping pending guard timer
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,conn)
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - trans_cc == 1 (0x2: dtap)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 0 (0x0: )
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 2 (attached,conn)
- Iu Release --UTRAN-Iu--> MS
- RNC sends Iu Release Complete
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - release == 0 (0x0: )
@ -371,7 +371,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x0302010
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Removing from parent RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ)
DRLL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: Freeing RAN connection
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100
@ -395,12 +395,12 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU)
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: rev=R99 net=UTRAN Auth+Ciph
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000010650 id=901700000010650
DVLR New subscr, IMSI: 901700000010650
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000010650 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -418,7 +418,7 @@ DMM RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Awaitin
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000000156f00362201039fa2f4e3d523d8619a73b4f65c3e14d21049b36efdf2208059a4f668f6fbe39231027497388b6cb044648f396aa155b95ef2410f64735036e5871319c679f4742a75ea125108704f5ba55f30000d2ee44b22c8ea9192708e229c19e791f2e4103622010c187a53a5e6b9d573cac7c74451fd46d210485aa31302208d3d50a000bf04f6e23101159ec926a50e98c034a6b7d7c9f418d2410df3a03d9ca5335641efc8e36d76cd20b25101843a645b98d00005b2d666af46c45d927087db47cf7f81e4dc703622010efa9c29a9742148d5c9070348716e1bb210469d5f9fb22083df176f0c29f1a3d2310eb50e770ddcc3060101d2f43b6c2b884241076542abce5ff9345b0e8947f4c6e019c2510f9375e6d41e1000096e7fe4ff1c27e392708706f996719ba609c03622010f023d5a3b24726e0631b64b3840f82532104d570c03f2208ec011be8919883d62310c4e58af4ba43f3bcd904e16984f086d724100593f65e752e5cb7f473862bda05aa0a2510541ff1f077270000c5ea00d658bc7e9a27083fd26072eaa2a04d036220102f8f90c780d6a9c0c53da7ac57b6707e2104b072446f220823f39f9f425ad6e6231065af0527fda95b0dc5ae4aa515cdf32f2410537c3b35a3b13b08d08eeb28098f45cc25104bf4e564f75300009bc796706bc6574427080edb0eadbea94ac2
DVLR GSUP rx 511: 0a010809710000000156f00362201039fa2f4e3d523d8619a73b4f65c3e14d21049b36efdf2208059a4f668f6fbe39231027497388b6cb044648f396aa155b95ef2410f64735036e5871319c679f4742a75ea125108704f5ba55f30000d2ee44b22c8ea9192708e229c19e791f2e4103622010c187a53a5e6b9d573cac7c74451fd46d210485aa31302208d3d50a000bf04f6e23101159ec926a50e98c034a6b7d7c9f418d2410df3a03d9ca5335641efc8e36d76cd20b25101843a645b98d00005b2d666af46c45d927087db47cf7f81e4dc703622010efa9c29a9742148d5c9070348716e1bb210469d5f9fb22083df176f0c29f1a3d2310eb50e770ddcc3060101d2f43b6c2b884241076542abce5ff9345b0e8947f4c6e019c2510f9375e6d41e1000096e7fe4ff1c27e392708706f996719ba609c03622010f023d5a3b24726e0631b64b3840f82532104d570c03f2208ec011be8919883d62310c4e58af4ba43f3bcd904e16984f086d724100593f65e752e5cb7f473862bda05aa0a2510541ff1f077270000c5ea00d658bc7e9a27083fd26072eaa2a04d036220102f8f90c780d6a9c0c53da7ac57b6707e2104b072446f220823f39f9f425ad6e6231065af0527fda95b0dc5ae4aa515cdf32f2410537c3b35a3b13b08d08eeb28098f45cc25104bf4e564f75300009bc796706bc6574427080edb0eadbea94ac2
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000010650) Received 5 auth tuples
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -427,7 +427,7 @@ DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_WAIT_RESP}
- ...rand=39fa2f4e3d523d8619a73b4f65c3e14d
- ...autn=8704f5ba55f30000d2ee44b22c8ea919
- ...expecting res=e229c19e791f2e41
DREF VLR subscr IMSI-901700000010650 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -475,19 +475,19 @@ DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_INIT}: s
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000000156f00804032443f2
DVLR GSUP rx 17: 10010809710000000156f00804032443f2
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000010650 has MSISDN:42342
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=2)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000000156f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000000156f0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000000156f0
DVLR GSUP rx 11: 06010809710000000156f0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -501,12 +501,12 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: lu_compl_vlr_new_tmsi()
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=2)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_TMSI_CNF
- sending LU Accept for IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100, with TMSI 0x03020100
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_DONE}: Deallocated
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
lu_result_sent == 1
- a LU Accept with a new TMSI was sent, waiting for TMSI Realloc Compl
@ -519,9 +519,9 @@ DRLL Dispatching 04.08 message GSM48_MT_MM_TMSI_REALL_COMPL (0x5:0x1b)
DMM TMSI Reallocation Completed. Subscriber: IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_NEW_TMSI_ACK
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_TMSI_CNF}: Received Event LU_COMPL_VLR_E_NEW_TMSI_ACK
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=1)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + attached: now used by 2 (conn,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_TMSI_CNF}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)
@ -533,8 +533,8 @@ DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){R
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 2 (0x102: dtap,release)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 3 (conn,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 2 (conn,attached)
- Iu Release --UTRAN-Iu--> MS
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x100: release)
iu_release_sent == 1
@ -549,25 +549,25 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU)
DRLL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: Freeing RAN connection
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + standard_lu: now used by 2 (attached,standard_lu)
vsub != NULL == 1
strcmp(vsub->imsi, IMSI) == 0
LAC == 23
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - standard_lu: now used by 1 (attached)
---
- after a while, MNCC asks us to setup a call, causing Paging
DMNCC receive message MNCC_SETUP_REQ
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_cc: now used by 2 (attached,mncc_tx_to_cc)
DCC (ti ff sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 423) New transaction
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_cc,CC)
DMM Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 not paged yet, start paging.
UTRAN-Iu sends out paging request to IMSI 901700000010650, TMSI 0x03020100, LAC 23
strcmp(paging_expecting_imsi, imsi) == 0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 4
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + Paging: now used by 4 (attached,mncc_tx_to_cc,CC,Paging)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - mncc_tx_to_cc: now used by 3 (attached,CC,Paging)
paging_sent == 1
paging_stopped == 0
- MS replies with Paging Response, and VLR sends Auth Request
@ -582,8 +582,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:PAGING_RESP){PR
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_INIT}: is child of RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:PAGING_RESP)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_INIT}: rev=R99 net=UTRAN Auth+Ciph
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 4
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 5
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + proc_arq_vlr_fn_init: now used by 4 (attached,CC,Paging,proc_arq_vlr_fn_init)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + conn: now used by 5 (attached,CC,Paging,proc_arq_vlr_fn_init,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_NEW}: Updated ID
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi()
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_WAIT_AUTH
@ -596,7 +596,7 @@ DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu
- ...rand=c187a53a5e6b9d573cac7c74451fd46d
- ...autn=1843a645b98d00005b2d666af46c45d9
- ...expecting res=7db47cf7f81e4dc7
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 4
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - proc_arq_vlr_fn_init: now used by 4 (attached,CC,Paging,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_COMPLETE_LAYER_3
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_AUTH_CIPH
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - compl_l3 == 0 (0x0: )
@ -650,7 +650,7 @@ DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL
DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
- DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305
- DTAP matches expected message
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - Paging: now used by 3 (attached,CC,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_ACCEPTED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_ACCEPTED}: ran_conn_fsm_has_active_transactions: connection still has active transaction: CC
paging_stopped == 1
@ -730,15 +730,15 @@ DCC Sending 'MNCC_REL_CNF' to MNCC.
MS <--Call Release-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x0
DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL
DCC (sub 42342) stopping pending guard timer
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,conn)
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - trans_cc == 1 (0x2: dtap)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 0 (0x0: )
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 2 (attached,conn)
- Iu Release --UTRAN-Iu--> MS
- RNC sends Iu Release Complete
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - release == 0 (0x0: )
@ -749,7 +749,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x0302010
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_DONE}: Removing from parent RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP)
DRLL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: Freeing RAN connection
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100
@ -773,12 +773,12 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU)
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: rev=R99 net=UTRAN Auth+Ciph
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000010650 id=901700000010650
DVLR New subscr, IMSI: 901700000010650
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000010650 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -796,7 +796,7 @@ DMM RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Awaitin
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000000156f00362201039fa2f4e3d523d8619a73b4f65c3e14d21049b36efdf2208059a4f668f6fbe39231027497388b6cb044648f396aa155b95ef2410f64735036e5871319c679f4742a75ea125108704f5ba55f30000d2ee44b22c8ea9192708e229c19e791f2e4103622010c187a53a5e6b9d573cac7c74451fd46d210485aa31302208d3d50a000bf04f6e23101159ec926a50e98c034a6b7d7c9f418d2410df3a03d9ca5335641efc8e36d76cd20b25101843a645b98d00005b2d666af46c45d927087db47cf7f81e4dc703622010efa9c29a9742148d5c9070348716e1bb210469d5f9fb22083df176f0c29f1a3d2310eb50e770ddcc3060101d2f43b6c2b884241076542abce5ff9345b0e8947f4c6e019c2510f9375e6d41e1000096e7fe4ff1c27e392708706f996719ba609c03622010f023d5a3b24726e0631b64b3840f82532104d570c03f2208ec011be8919883d62310c4e58af4ba43f3bcd904e16984f086d724100593f65e752e5cb7f473862bda05aa0a2510541ff1f077270000c5ea00d658bc7e9a27083fd26072eaa2a04d036220102f8f90c780d6a9c0c53da7ac57b6707e2104b072446f220823f39f9f425ad6e6231065af0527fda95b0dc5ae4aa515cdf32f2410537c3b35a3b13b08d08eeb28098f45cc25104bf4e564f75300009bc796706bc6574427080edb0eadbea94ac2
DVLR GSUP rx 511: 0a010809710000000156f00362201039fa2f4e3d523d8619a73b4f65c3e14d21049b36efdf2208059a4f668f6fbe39231027497388b6cb044648f396aa155b95ef2410f64735036e5871319c679f4742a75ea125108704f5ba55f30000d2ee44b22c8ea9192708e229c19e791f2e4103622010c187a53a5e6b9d573cac7c74451fd46d210485aa31302208d3d50a000bf04f6e23101159ec926a50e98c034a6b7d7c9f418d2410df3a03d9ca5335641efc8e36d76cd20b25101843a645b98d00005b2d666af46c45d927087db47cf7f81e4dc703622010efa9c29a9742148d5c9070348716e1bb210469d5f9fb22083df176f0c29f1a3d2310eb50e770ddcc3060101d2f43b6c2b884241076542abce5ff9345b0e8947f4c6e019c2510f9375e6d41e1000096e7fe4ff1c27e392708706f996719ba609c03622010f023d5a3b24726e0631b64b3840f82532104d570c03f2208ec011be8919883d62310c4e58af4ba43f3bcd904e16984f086d724100593f65e752e5cb7f473862bda05aa0a2510541ff1f077270000c5ea00d658bc7e9a27083fd26072eaa2a04d036220102f8f90c780d6a9c0c53da7ac57b6707e2104b072446f220823f39f9f425ad6e6231065af0527fda95b0dc5ae4aa515cdf32f2410537c3b35a3b13b08d08eeb28098f45cc25104bf4e564f75300009bc796706bc6574427080edb0eadbea94ac2
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000010650) Received 5 auth tuples
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -805,7 +805,7 @@ DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_WAIT_RESP}
- ...rand=39fa2f4e3d523d8619a73b4f65c3e14d
- ...autn=8704f5ba55f30000d2ee44b22c8ea919
- ...expecting res=e229c19e791f2e41
DREF VLR subscr IMSI-901700000010650 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -853,19 +853,19 @@ DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_INIT}: s
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000000156f00804032443f2
DVLR GSUP rx 17: 10010809710000000156f00804032443f2
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000010650 has MSISDN:42342
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=2)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000000156f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000000156f0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000000156f0
DVLR GSUP rx 11: 06010809710000000156f0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -879,12 +879,12 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: lu_compl_vlr_new_tmsi()
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=2)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_TMSI_CNF
- sending LU Accept for IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100, with TMSI 0x03020100
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_DONE}: Deallocated
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
lu_result_sent == 1
- a LU Accept with a new TMSI was sent, waiting for TMSI Realloc Compl
@ -897,9 +897,9 @@ DRLL Dispatching 04.08 message GSM48_MT_MM_TMSI_REALL_COMPL (0x5:0x1b)
DMM TMSI Reallocation Completed. Subscriber: IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_NEW_TMSI_ACK
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_TMSI_CNF}: Received Event LU_COMPL_VLR_E_NEW_TMSI_ACK
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=1)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + attached: now used by 2 (conn,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_TMSI_CNF}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)
@ -911,8 +911,8 @@ DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){R
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 2 (0x102: dtap,release)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 3 (conn,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 2 (conn,attached)
- Iu Release --UTRAN-Iu--> MS
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x100: release)
iu_release_sent == 1
@ -927,25 +927,25 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU)
DRLL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: Freeing RAN connection
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + standard_lu: now used by 2 (attached,standard_lu)
vsub != NULL == 1
strcmp(vsub->imsi, IMSI) == 0
LAC == 23
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - standard_lu: now used by 1 (attached)
---
- after a while, MNCC asks us to setup a call, causing Paging
DMNCC receive message MNCC_SETUP_REQ
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + mncc_tx_to_cc: now used by 2 (attached,mncc_tx_to_cc)
DCC (ti ff sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 423) New transaction
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,mncc_tx_to_cc,CC)
DMM Subscriber IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 not paged yet, start paging.
UTRAN-Iu sends out paging request to IMSI 901700000010650, TMSI 0x03020100, LAC 23
strcmp(paging_expecting_imsi, imsi) == 0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 4
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + Paging: now used by 4 (attached,mncc_tx_to_cc,CC,Paging)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - mncc_tx_to_cc: now used by 3 (attached,CC,Paging)
paging_sent == 1
paging_stopped == 0
- MS replies with Paging Response, and VLR sends Auth Request
@ -960,8 +960,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:PAGING_RESP){PR
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_INIT}: is child of RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:PAGING_RESP)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_INIT}: rev=R99 net=UTRAN Auth+Ciph
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 4
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 5
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + proc_arq_vlr_fn_init: now used by 4 (attached,CC,Paging,proc_arq_vlr_fn_init)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + conn: now used by 5 (attached,CC,Paging,proc_arq_vlr_fn_init,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_NEW}: Updated ID
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi()
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_WAIT_AUTH
@ -974,7 +974,7 @@ DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu
- ...rand=c187a53a5e6b9d573cac7c74451fd46d
- ...autn=1843a645b98d00005b2d666af46c45d9
- ...expecting res=7db47cf7f81e4dc7
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 4
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - proc_arq_vlr_fn_init: now used by 4 (attached,CC,Paging,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_COMPLETE_LAYER_3
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_AUTH_CIPH
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - compl_l3 == 0 (0x0: )
@ -1028,7 +1028,7 @@ DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state NULL
DMSC msc_tx 2 bytes to IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 via UTRAN-Iu
- DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_SETUP: 0305
- DTAP matches expected message
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - Paging: now used by 3 (attached,CC,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_ACCEPTED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_ACCEPTED}: ran_conn_fsm_has_active_transactions: connection still has active transaction: CC
paging_stopped == 1
@ -1062,8 +1062,8 @@ DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 2 (0x110: trans_cc,release)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 4
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,CC,conn,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,CC,conn)
DCC stopping pending timer T301
MS <--Call Release-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x423
DMNCC receive message MNCC_REL_REQ
@ -1080,7 +1080,7 @@ DCC Sending 'MNCC_REL_CNF' to MNCC.
DCC stopping pending timer T308
DCC (ti 00 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL
DCC (sub 42342) stopping pending guard timer
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,conn)
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - trans_cc == 1 (0x100: release)
- Iu Release --UTRAN-Iu--> MS
- RNC sends Iu Release Complete
@ -1092,7 +1092,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x0302010
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_DONE}: Removing from parent RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){PR_ARQ_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP)
DRLL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: Freeing RAN connection
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:PAGING_RESP){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
- Total time passed: 31.000069 s
@ -1117,12 +1117,12 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU)
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: rev=R99 net=UTRAN Auth+Ciph
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000010650 id=901700000010650
DVLR New subscr, IMSI: 901700000010650
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000010650 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -1140,7 +1140,7 @@ DMM RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Awaitin
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000000156f00362201039fa2f4e3d523d8619a73b4f65c3e14d21049b36efdf2208059a4f668f6fbe39231027497388b6cb044648f396aa155b95ef2410f64735036e5871319c679f4742a75ea125108704f5ba55f30000d2ee44b22c8ea9192708e229c19e791f2e4103622010c187a53a5e6b9d573cac7c74451fd46d210485aa31302208d3d50a000bf04f6e23101159ec926a50e98c034a6b7d7c9f418d2410df3a03d9ca5335641efc8e36d76cd20b25101843a645b98d00005b2d666af46c45d927087db47cf7f81e4dc703622010efa9c29a9742148d5c9070348716e1bb210469d5f9fb22083df176f0c29f1a3d2310eb50e770ddcc3060101d2f43b6c2b884241076542abce5ff9345b0e8947f4c6e019c2510f9375e6d41e1000096e7fe4ff1c27e392708706f996719ba609c03622010f023d5a3b24726e0631b64b3840f82532104d570c03f2208ec011be8919883d62310c4e58af4ba43f3bcd904e16984f086d724100593f65e752e5cb7f473862bda05aa0a2510541ff1f077270000c5ea00d658bc7e9a27083fd26072eaa2a04d036220102f8f90c780d6a9c0c53da7ac57b6707e2104b072446f220823f39f9f425ad6e6231065af0527fda95b0dc5ae4aa515cdf32f2410537c3b35a3b13b08d08eeb28098f45cc25104bf4e564f75300009bc796706bc6574427080edb0eadbea94ac2
DVLR GSUP rx 511: 0a010809710000000156f00362201039fa2f4e3d523d8619a73b4f65c3e14d21049b36efdf2208059a4f668f6fbe39231027497388b6cb044648f396aa155b95ef2410f64735036e5871319c679f4742a75ea125108704f5ba55f30000d2ee44b22c8ea9192708e229c19e791f2e4103622010c187a53a5e6b9d573cac7c74451fd46d210485aa31302208d3d50a000bf04f6e23101159ec926a50e98c034a6b7d7c9f418d2410df3a03d9ca5335641efc8e36d76cd20b25101843a645b98d00005b2d666af46c45d927087db47cf7f81e4dc703622010efa9c29a9742148d5c9070348716e1bb210469d5f9fb22083df176f0c29f1a3d2310eb50e770ddcc3060101d2f43b6c2b884241076542abce5ff9345b0e8947f4c6e019c2510f9375e6d41e1000096e7fe4ff1c27e392708706f996719ba609c03622010f023d5a3b24726e0631b64b3840f82532104d570c03f2208ec011be8919883d62310c4e58af4ba43f3bcd904e16984f086d724100593f65e752e5cb7f473862bda05aa0a2510541ff1f077270000c5ea00d658bc7e9a27083fd26072eaa2a04d036220102f8f90c780d6a9c0c53da7ac57b6707e2104b072446f220823f39f9f425ad6e6231065af0527fda95b0dc5ae4aa515cdf32f2410537c3b35a3b13b08d08eeb28098f45cc25104bf4e564f75300009bc796706bc6574427080edb0eadbea94ac2
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000010650) Received 5 auth tuples
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -1149,7 +1149,7 @@ DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_WAIT_RESP}
- ...rand=39fa2f4e3d523d8619a73b4f65c3e14d
- ...autn=8704f5ba55f30000d2ee44b22c8ea919
- ...expecting res=e229c19e791f2e41
DREF VLR subscr IMSI-901700000010650 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -1197,19 +1197,19 @@ DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_INIT}: s
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000000156f00804032443f2
DVLR GSUP rx 17: 10010809710000000156f00804032443f2
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000010650 has MSISDN:42342
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=2)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000000156f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000000156f0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000000156f0
DVLR GSUP rx 11: 06010809710000000156f0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -1223,12 +1223,12 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: lu_compl_vlr_new_tmsi()
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=2)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_TMSI_CNF
- sending LU Accept for IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100, with TMSI 0x03020100
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_DONE}: Deallocated
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
lu_result_sent == 1
- a LU Accept with a new TMSI was sent, waiting for TMSI Realloc Compl
@ -1241,9 +1241,9 @@ DRLL Dispatching 04.08 message GSM48_MT_MM_TMSI_REALL_COMPL (0x5:0x1b)
DMM TMSI Reallocation Completed. Subscriber: IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_NEW_TMSI_ACK
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_TMSI_CNF}: Received Event LU_COMPL_VLR_E_NEW_TMSI_ACK
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=1)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + attached: now used by 2 (conn,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_TMSI_CNF}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)
@ -1255,8 +1255,8 @@ DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){R
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 2 (0x102: dtap,release)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 3 (conn,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 2 (conn,attached)
- Iu Release --UTRAN-Iu--> MS
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x100: release)
iu_release_sent == 1
@ -1271,14 +1271,14 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU)
DRLL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: Freeing RAN connection
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + standard_lu: now used by 2 (attached,standard_lu)
vsub != NULL == 1
strcmp(vsub->imsi, IMSI) == 0
LAC == 23
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - standard_lu: now used by 1 (attached)
---
- after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector
MSC <--UTRAN-Iu-- MS: GSM48_MT_MM_CM_SERV_REQ
@ -1292,8 +1292,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: is child of RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: rev=R99 net=UTRAN Auth+Ciph
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + proc_arq_vlr_fn_init: now used by 2 (attached,proc_arq_vlr_fn_init)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + conn: now used by 3 (attached,proc_arq_vlr_fn_init,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_NEW}: Updated ID
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi()
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_WAIT_AUTH
@ -1306,7 +1306,7 @@ DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu
- ...rand=c187a53a5e6b9d573cac7c74451fd46d
- ...autn=1843a645b98d00005b2d666af46c45d9
- ...expecting res=7db47cf7f81e4dc7
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - proc_arq_vlr_fn_init: now used by 2 (attached,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_COMPLETE_LAYER_3
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_AUTH_CIPH
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - compl_l3 == 0 (0x0: )
@ -1367,7 +1367,7 @@ DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2
DRLL Dispatching 04.08 message GSM48_MT_CC_SETUP (0x3:0x5)
DCC Unknown transaction ID 8, creating new trans.
DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 80000002) New transaction
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,conn,CC)
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + trans_cc == 3 (0x1a: dtap,cm_service,trans_cc)
DMM IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: rx msg GSM48_MT_CC_SETUP: received_cm_service_request changes to false
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - cm_service == 2 (0x12: dtap,trans_cc)
@ -1415,15 +1415,15 @@ DCC Sending 'MNCC_REL_CNF' to MNCC.
MS <--Call Release-- MSC: subscr=IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref=0x0
DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL
DCC (sub 42342) stopping pending guard timer
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,conn)
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - trans_cc == 1 (0x2: dtap)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_COMMUNICATING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 0 (0x0: )
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 2 (attached,conn)
- Iu Release --UTRAN-Iu--> MS
- RNC sends Iu Release Complete
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - release == 0 (0x0: )
@ -1434,7 +1434,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x0302010
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Removing from parent RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ)
DRLL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: Freeing RAN connection
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100
@ -1458,12 +1458,12 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU)
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: rev=R99 net=UTRAN Auth+Ciph
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000010650 id=901700000010650
DVLR New subscr, IMSI: 901700000010650
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000010650 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -1481,7 +1481,7 @@ DMM RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Awaitin
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000000156f00362201039fa2f4e3d523d8619a73b4f65c3e14d21049b36efdf2208059a4f668f6fbe39231027497388b6cb044648f396aa155b95ef2410f64735036e5871319c679f4742a75ea125108704f5ba55f30000d2ee44b22c8ea9192708e229c19e791f2e4103622010c187a53a5e6b9d573cac7c74451fd46d210485aa31302208d3d50a000bf04f6e23101159ec926a50e98c034a6b7d7c9f418d2410df3a03d9ca5335641efc8e36d76cd20b25101843a645b98d00005b2d666af46c45d927087db47cf7f81e4dc703622010efa9c29a9742148d5c9070348716e1bb210469d5f9fb22083df176f0c29f1a3d2310eb50e770ddcc3060101d2f43b6c2b884241076542abce5ff9345b0e8947f4c6e019c2510f9375e6d41e1000096e7fe4ff1c27e392708706f996719ba609c03622010f023d5a3b24726e0631b64b3840f82532104d570c03f2208ec011be8919883d62310c4e58af4ba43f3bcd904e16984f086d724100593f65e752e5cb7f473862bda05aa0a2510541ff1f077270000c5ea00d658bc7e9a27083fd26072eaa2a04d036220102f8f90c780d6a9c0c53da7ac57b6707e2104b072446f220823f39f9f425ad6e6231065af0527fda95b0dc5ae4aa515cdf32f2410537c3b35a3b13b08d08eeb28098f45cc25104bf4e564f75300009bc796706bc6574427080edb0eadbea94ac2
DVLR GSUP rx 511: 0a010809710000000156f00362201039fa2f4e3d523d8619a73b4f65c3e14d21049b36efdf2208059a4f668f6fbe39231027497388b6cb044648f396aa155b95ef2410f64735036e5871319c679f4742a75ea125108704f5ba55f30000d2ee44b22c8ea9192708e229c19e791f2e4103622010c187a53a5e6b9d573cac7c74451fd46d210485aa31302208d3d50a000bf04f6e23101159ec926a50e98c034a6b7d7c9f418d2410df3a03d9ca5335641efc8e36d76cd20b25101843a645b98d00005b2d666af46c45d927087db47cf7f81e4dc703622010efa9c29a9742148d5c9070348716e1bb210469d5f9fb22083df176f0c29f1a3d2310eb50e770ddcc3060101d2f43b6c2b884241076542abce5ff9345b0e8947f4c6e019c2510f9375e6d41e1000096e7fe4ff1c27e392708706f996719ba609c03622010f023d5a3b24726e0631b64b3840f82532104d570c03f2208ec011be8919883d62310c4e58af4ba43f3bcd904e16984f086d724100593f65e752e5cb7f473862bda05aa0a2510541ff1f077270000c5ea00d658bc7e9a27083fd26072eaa2a04d036220102f8f90c780d6a9c0c53da7ac57b6707e2104b072446f220823f39f9f425ad6e6231065af0527fda95b0dc5ae4aa515cdf32f2410537c3b35a3b13b08d08eeb28098f45cc25104bf4e564f75300009bc796706bc6574427080edb0eadbea94ac2
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000010650) Received 5 auth tuples
DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -1490,7 +1490,7 @@ DVLR VLR_Authenticate(IMSI-901700000010650:UTRAN-Iu-42:LU){VLR_SUB_AS_WAIT_RESP}
- ...rand=39fa2f4e3d523d8619a73b4f65c3e14d
- ...autn=8704f5ba55f30000d2ee44b22c8ea919
- ...expecting res=e229c19e791f2e41
DREF VLR subscr IMSI-901700000010650 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -1538,19 +1538,19 @@ DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_INIT}: s
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000000156f00804032443f2
DVLR GSUP rx 17: 10010809710000000156f00804032443f2
DREF VLR subscr IMSI-901700000010650 usage increases to: 2
DREF VLR subscr IMSI-901700000010650 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000010650 has MSISDN:42342
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=2)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000000156f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000000156f0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000000156f0
DVLR GSUP rx 11: 06010809710000000156f0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -1564,12 +1564,12 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: lu_compl_vlr_new_tmsi()
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=2)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_WAIT_TMSI_CNF
- sending LU Accept for IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100, with TMSI 0x03020100
DVLR upd_hlr_vlr_fsm(IMSI-901700000010650:UTRAN-Iu-42:LU){UPD_HLR_VLR_S_DONE}: Deallocated
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
lu_result_sent == 1
- a LU Accept with a new TMSI was sent, waiting for TMSI Realloc Compl
@ -1582,9 +1582,9 @@ DRLL Dispatching 04.08 message GSM48_MT_MM_TMSI_REALL_COMPL (0x5:0x1b)
DMM TMSI Reallocation Completed. Subscriber: IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSInew-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_NEW_TMSI_ACK
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_TMSI_CNF}: Received Event LU_COMPL_VLR_E_NEW_TMSI_ACK
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342, used=1)
DVLR SUBSCR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) VLR: update for IMSI=901700000010650 (MSISDN=42342)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + attached: now used by 2 (conn,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_WAIT_TMSI_CNF}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000010650:MSISDN-42342:UTRAN-Iu-42:LU){LU_COMPL_VLR_S_DONE}: Terminating (cause = OSMO_FSM_TERM_PARENT)
@ -1596,8 +1596,8 @@ DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){R
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 2 (0x102: dtap,release)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 3 (conn,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 2 (conn,attached)
- Iu Release --UTRAN-Iu--> MS
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - dtap == 1 (0x100: release)
iu_release_sent == 1
@ -1612,14 +1612,14 @@ DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU)
DRLL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: Freeing RAN connection
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + standard_lu: now used by 2 (attached,standard_lu)
vsub != NULL == 1
strcmp(vsub->imsi, IMSI) == 0
LAC == 23
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - standard_lu: now used by 1 (attached)
---
- after a while, a new conn sends a CM Service Request. VLR responds with Auth Req, 2nd auth vector
MSC <--UTRAN-Iu-- MS: GSM48_MT_MM_CM_SERV_REQ
@ -1633,8 +1633,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: is child of RAN_conn(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: rev=R99 net=UTRAN Auth+Ciph
DVLR Process_Access_Request_VLR(IMSI-901700000010650:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + proc_arq_vlr_fn_init: now used by 2 (attached,proc_arq_vlr_fn_init)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + conn: now used by 3 (attached,proc_arq_vlr_fn_init,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_NEW}: Updated ID
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi()
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_WAIT_AUTH
@ -1647,7 +1647,7 @@ DVLR VLR_Authenticate(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu
- ...rand=c187a53a5e6b9d573cac7c74451fd46d
- ...autn=1843a645b98d00005b2d666af46c45d9
- ...expecting res=7db47cf7f81e4dc7
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - proc_arq_vlr_fn_init: now used by 2 (attached,conn)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_COMPLETE_LAYER_3
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_AUTH_CIPH
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - compl_l3 == 0 (0x0: )
@ -1708,7 +1708,7 @@ DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + dtap == 2
DRLL Dispatching 04.08 message GSM48_MT_CC_SETUP (0x3:0x5)
DCC Unknown transaction ID 8, creating new trans.
DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 callref 80000003) New transaction
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + CC: now used by 3 (attached,conn,CC)
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + trans_cc == 3 (0x1a: dtap,cm_service,trans_cc)
DMM IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: rx msg GSM48_MT_CC_SETUP: received_cm_service_request changes to false
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - cm_service == 2 (0x12: dtap,trans_cc)
@ -1755,13 +1755,13 @@ DCC Sending 'MNCC_REL_CNF' to MNCC.
MSC --> MNCC: callref 0x80000003: MNCC_REL_CNF
DCC (ti 08 sub IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100) new state RELEASE_REQ -> NULL
DCC (sub 42342) stopping pending guard timer
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - CC: now used by 2 (attached,conn)
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - trans_cc == 0 (0x0: )
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage increases to: 3
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 2
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 + vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - vlr_subscr_cancel_attach_fsm: now used by 2 (attached,conn)
- Iu Release --UTRAN-Iu--> MS
- RNC sends Iu Release Complete
DREF IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: MSC conn use - release == 0 (0x0: )
@ -1772,7 +1772,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x0302010
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Removing from parent RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ)
DRLL IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100: Freeing RAN connection
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 usage decreases to: 1
DREF VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu-42:CM_SERVICE_REQ){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100

View File

@ -126,7 +126,7 @@ static void test_gsm_authen()
BTW("an SMS is sent, MS is paged");
paging_expect_imsi(imsi);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -135,16 +135,16 @@ static void test_gsm_authen()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response, and VLR sends Auth Request with third key");
auth_request_sent = false;
@ -183,10 +183,10 @@ static void test_gsm_authen()
VERBOSE_ASSERT(paging_stopped, == true, "%d");
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);
@ -289,12 +289,12 @@ static void test_gsm_authen_tmsi()
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x03020100, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == GSM_RESERVED_TMSI, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_bssap_clear();
@ -306,12 +306,12 @@ static void test_gsm_authen_tmsi()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the new TMSI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == GSM_RESERVED_TMSI, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("after a while, a new conn sends a CM Service Request using above TMSI. VLR responds with Auth Req, 2nd auth vector");
auth_request_sent = false;
@ -344,7 +344,7 @@ static void test_gsm_authen_tmsi()
BTW("an SMS is sent, MS is paged");
paging_expect_tmsi(0x03020100);
paging_sent = false;
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -353,16 +353,16 @@ static void test_gsm_authen_tmsi()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response using TMSI, and VLR sends Auth Request with third key");
auth_request_sent = false;
@ -401,10 +401,10 @@ static void test_gsm_authen_tmsi()
VERBOSE_ASSERT(paging_stopped, == true, "%d");
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);
@ -466,12 +466,12 @@ static void test_gsm_authen_tmsi()
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x07060504, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_bssap_clear();
@ -483,12 +483,12 @@ static void test_gsm_authen_tmsi()
EXPECT_CONN_COUNT(0);
btw("subscriber has the new TMSI");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == GSM_RESERVED_TMSI, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == 0x07060504, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches, using new TMSI");
expect_bssap_clear();
@ -567,10 +567,10 @@ static void test_gsm_authen_imei()
btw("We will only do business when the IMEI is known");
EXPECT_CONN_COUNT(1);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -591,10 +591,10 @@ static void test_gsm_authen_imei()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the IMEI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches");
expect_bssap_clear();
@ -675,10 +675,10 @@ static void test_gsm_authen_imei_nack()
btw("We will only do business when the IMEI is known");
EXPECT_CONN_COUNT(1);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -768,10 +768,10 @@ static void test_gsm_authen_imei_err()
btw("We will only do business when the IMEI is known");
EXPECT_CONN_COUNT(1);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -862,10 +862,10 @@ static void test_gsm_authen_tmsi_imei()
btw("We will only do business when the IMEI is known");
EXPECT_CONN_COUNT(1);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -885,12 +885,12 @@ static void test_gsm_authen_tmsi_imei()
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x03020100, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == GSM_RESERVED_TMSI, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_bssap_clear();
@ -902,11 +902,11 @@ static void test_gsm_authen_tmsi_imei()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the IMEI and TMSI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches, using TMSI");
expect_bssap_clear();
@ -1037,7 +1037,7 @@ static void test_gsm_milenage_authen()
BTW("an SMS is sent, MS is paged");
paging_expect_imsi(imsi);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -1046,16 +1046,16 @@ static void test_gsm_milenage_authen()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response, and VLR sends Auth Request with third key");
auth_request_sent = false;
@ -1097,10 +1097,10 @@ static void test_gsm_milenage_authen()
VERBOSE_ASSERT(paging_stopped, == true, "%d");
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);

File diff suppressed because it is too large Load Diff

View File

@ -137,7 +137,7 @@ static void test_ciph()
BTW("an SMS is sent, MS is paged");
paging_expect_imsi(imsi);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -146,16 +146,16 @@ static void test_ciph()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response, and VLR sends Auth Request with third key");
auth_request_sent = false;
@ -203,10 +203,10 @@ static void test_ciph()
VERBOSE_ASSERT(paging_stopped, == true, "%d");
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);
@ -312,12 +312,12 @@ static void test_ciph_tmsi()
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x03020100, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == GSM_RESERVED_TMSI, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_bssap_clear();
@ -329,12 +329,12 @@ static void test_ciph_tmsi()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the new TMSI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == GSM_RESERVED_TMSI, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("after a while, a new conn sends a CM Service Request using above TMSI. VLR responds with Auth Req, 2nd auth vector");
cm_service_result_sent = RES_NONE;
@ -377,7 +377,7 @@ static void test_ciph_tmsi()
BTW("an SMS is sent, MS is paged");
paging_expect_tmsi(0x03020100);
paging_sent = false;
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -386,16 +386,16 @@ static void test_ciph_tmsi()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response using TMSI, and VLR sends Auth Request with third key");
auth_request_sent = false;
@ -443,10 +443,10 @@ static void test_ciph_tmsi()
VERBOSE_ASSERT(paging_stopped, == true, "%d");
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);
@ -547,10 +547,10 @@ static void test_ciph_imei()
btw("We will only do business when the IMEI is known");
EXPECT_CONN_COUNT(1);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -571,10 +571,10 @@ static void test_ciph_imei()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the IMEI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches");
expect_bssap_clear();
@ -642,10 +642,10 @@ static void test_ciph_imeisv()
thwart_rx_non_initial_requests();
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imeisv[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends Ciphering Mode Complete with IMEISV, VLR accepts and sends GSUP LU Req to HLR");
gsup_expect_tx("04010809710000004026f0280102");
@ -653,10 +653,10 @@ static void test_ciph_imeisv()
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
btw("Subscriber has the IMEISV");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imeisv, "4234234234234275"), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -758,10 +758,10 @@ static void test_ciph_tmsi_imei()
btw("We will only do business when the IMEI is known");
EXPECT_CONN_COUNT(1);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -781,12 +781,12 @@ static void test_ciph_tmsi_imei()
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x03020100, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == GSM_RESERVED_TMSI, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_bssap_clear();
@ -798,11 +798,11 @@ static void test_ciph_tmsi_imei()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the IMEI and TMSI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches, using TMSI");
expect_bssap_clear();
@ -986,7 +986,7 @@ static void test_gsm_ciph_in_umts_env()
BTW("an SMS is sent, MS is paged");
paging_expect_imsi(imsi);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -995,16 +995,16 @@ static void test_gsm_ciph_in_umts_env()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response, and VLR sends *UMTS AKA* Auth Request with third key");
auth_request_sent = false;
@ -1031,10 +1031,10 @@ static void test_gsm_ciph_in_umts_env()
VERBOSE_ASSERT(paging_stopped, == true, "%d");
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);
@ -1182,7 +1182,7 @@ static void test_a5_3_supported()
BTW("an SMS is sent, MS is paged");
paging_expect_imsi(imsi);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -1191,16 +1191,16 @@ static void test_a5_3_supported()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response, and VLR sends Auth Request with third key");
auth_request_sent = false;
@ -1248,10 +1248,10 @@ static void test_a5_3_supported()
VERBOSE_ASSERT(paging_stopped, == true, "%d");
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);
@ -1404,23 +1404,23 @@ static void test_cm_service_needs_classmark_update()
BTW("an SMS is sent, MS is paged");
paging_expect_imsi(imsi);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
send_sms(vsub, vsub, "Privacy in residential applications is a desirable marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response, and VLR sends Auth Request with third key");
auth_request_sent = false;
@ -1429,11 +1429,11 @@ static void test_cm_service_needs_classmark_update()
VERBOSE_ASSERT(auth_request_sent, == true, "%d");
BTW("Fake a situation where Classmark 2 is unknown during proc_arq_fsm");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
vsub->classmark.classmark2_len = 0;
vsub->classmark.classmark3_len = 0;
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends Authen Response, VLR accepts and requests Ciphering");
@ -1479,10 +1479,10 @@ static void test_cm_service_needs_classmark_update()
VERBOSE_ASSERT(paging_stopped, == true, "%d");
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);

File diff suppressed because it is too large Load Diff

View File

@ -136,13 +136,13 @@ static void test_hlr_rej_auth_info_net_fail_no_reuse_tuples()
BTW("Now one auth tuple is available, but used.");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
OSMO_ASSERT(vsub->last_tuple);
VERBOSE_ASSERT(vsub->last_tuple->use_count, == 1, "%d");
/* no need to look at all auth tuples, the ongoing test would take an
* unexpected course if there were more. */
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("Another LU wants to get new tuples; HLR sends Network Failure, we reject.");
@ -225,13 +225,13 @@ static void test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples()
BTW("Now one auth tuple is available, but used.");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
OSMO_ASSERT(vsub->last_tuple);
VERBOSE_ASSERT(vsub->last_tuple->use_count, == 1, "%d");
/* no need to look at all auth tuples, the ongoing test would take an
* unexpected course if there were more. */
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("Another LU wants to get new tuples; HLR sends IMSI Unknown. Even though we would re-use an old tuple, reject the unknown IMSI.");
VERBOSE_ASSERT(net->vlr->cfg.auth_reuse_old_sets_on_error, == true, "%d");
@ -348,13 +348,13 @@ static void test_hlr_rej_auth_info_net_fail_reuse_tuples()
BTW("Now one auth tuple is available, but used.");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
OSMO_ASSERT(vsub->last_tuple);
VERBOSE_ASSERT(vsub->last_tuple->use_count, == 1, "%d");
/* no need to look at all auth tuples, the ongoing test would take an
* unexpected course if there were more. */
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("Another LU wants to get new tuples; even though HLR sends Network Failure, we are reusing the old tuples.");

View File

@ -15,12 +15,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -38,7 +38,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _SEND_AUTH_INFO_ERROR = unknown IMSI
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: 09010809710000004026f0020102
DVLR GSUP rx 14: 09010809710000004026f0020102
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_NACK
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: GSUP: rx Auth Info Error cause: 2: IMSI unknown in HLR
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Authentication terminating with result IMSI unknown in HLR
@ -51,11 +51,11 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_WAIT_AUTH}: state_c
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620 usage increases to: 3
DREF VLR subscr IMSI-901700000004620 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 2 (conn,vlr_gsupc_read_cb)
- BSSAP Clear --GERAN-A--> MS
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0
auth_request_sent == 0
lu_result_sent == 2
@ -70,7 +70,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Removing fro
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DRLL IMSI-901700000004620: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620 usage decreases to: 0
DREF VLR subscr IMSI-901700000004620 - conn: now used by 0 (-)
DREF freeing VLR subscr IMSI-901700000004620
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
@ -93,12 +93,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -116,7 +116,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _SEND_AUTH_INFO_ERROR = net fail
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: 09010809710000004026f0020111
DVLR GSUP rx 14: 09010809710000004026f0020111
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_NACK
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: GSUP: rx Auth Info Error cause: 17: Network failure
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Authentication terminating with result Network failure
@ -129,11 +129,11 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_WAIT_AUTH}: state_c
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620 usage increases to: 3
DREF VLR subscr IMSI-901700000004620 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 2 (conn,vlr_gsupc_read_cb)
- BSSAP Clear --GERAN-A--> MS
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0
auth_request_sent == 0
lu_result_sent == 2
@ -148,7 +148,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Removing fro
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DRLL IMSI-901700000004620: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620 usage decreases to: 0
DREF VLR subscr IMSI-901700000004620 - conn: now used by 0 (-)
DREF freeing VLR subscr IMSI-901700000004620
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
@ -173,12 +173,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -196,7 +196,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a800
DVLR GSUP rx 47: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a800
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000004620) Received 1 auth tuples
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -204,7 +204,7 @@ DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_WAIT_RESP}:
- sending GSM Auth Request for IMSI-901700000004620: tuple use_count=1 key_seq=0 auth_types=0x1 and...
- ...rand=585df1ae287f6e273dce07090d61320b
- ...expecting sres=2d8b2c3e
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -239,19 +239,19 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -265,7 +265,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_V
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
- sending LU Accept for IMSI-901700000004620:MSISDN-46071
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + attached: now used by 3 (conn,vlr_gsupc_read_cb,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_DONE}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU))
@ -277,11 +277,11 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (conn,vlr_gsupc_read_cb,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,attached)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (conn,attached)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
bssap_clear_sent == 1
- LU was successful, and the conn has already been closed
@ -296,14 +296,14 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
---
- Now one auth tuple is available, but used.
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_hlr_rej_auth_info_net_fail_reuse_tuples: now used by 2 (attached,test_hlr_rej_auth_info_net_fail_reuse_tuples)
vsub->last_tuple->use_count == 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - test_hlr_rej_auth_info_net_fail_reuse_tuples: now used by 1 (attached)
---
- Another LU wants to get new tuples; even though HLR sends Network Failure, we are reusing the old tuples.
- Location Update request causes a GSUP Send Auth Info request to HLR
@ -319,10 +319,10 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _lu_fsm_associate_vsub: now used by 2 (attached,_lu_fsm_associate_vsub)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + conn: now used by 3 (attached,_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _lu_fsm_associate_vsub: now used by 2 (attached,conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -340,7 +340,7 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
- HLR sends _SEND_AUTH_INFO_ERROR = net fail
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: 09010809710000004026f0020111
DVLR GSUP rx 14: 09010809710000004026f0020111
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 3 (attached,conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_NACK
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: GSUP: rx Auth Info Error cause: 17: Network failure
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -348,7 +348,7 @@ DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS
- sending GSM Auth Request for IMSI-901700000004620:MSISDN-46071: tuple use_count=2 key_seq=0 auth_types=0x1 and...
- ...rand=585df1ae287f6e273dce07090d61320b
- ...expecting sres=2d8b2c3e
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (attached,conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -383,19 +383,19 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 3 (attached,conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=3)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (attached,conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 3 (attached,conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -420,11 +420,11 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,conn,vlr_gsupc_read_cb,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_gsupc_read_cb)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (attached,conn)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
bssap_clear_sent == 1
- LU was successful, and the conn has already been closed
@ -439,7 +439,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000004620:MSISDN-46071
@ -464,12 +464,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -487,7 +487,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a800
DVLR GSUP rx 47: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a800
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000004620) Received 1 auth tuples
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -495,7 +495,7 @@ DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_WAIT_RESP}:
- sending GSM Auth Request for IMSI-901700000004620: tuple use_count=1 key_seq=0 auth_types=0x1 and...
- ...rand=585df1ae287f6e273dce07090d61320b
- ...expecting sres=2d8b2c3e
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -530,19 +530,19 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -556,7 +556,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_V
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
- sending LU Accept for IMSI-901700000004620:MSISDN-46071
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + attached: now used by 3 (conn,vlr_gsupc_read_cb,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_DONE}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU))
@ -568,11 +568,11 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (conn,vlr_gsupc_read_cb,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,attached)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (conn,attached)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
bssap_clear_sent == 1
- LU was successful, and the conn has already been closed
@ -587,14 +587,14 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
---
- Now one auth tuple is available, but used.
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_hlr_rej_auth_info_net_fail_no_reuse_tuples: now used by 2 (attached,test_hlr_rej_auth_info_net_fail_no_reuse_tuples)
vsub->last_tuple->use_count == 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - test_hlr_rej_auth_info_net_fail_no_reuse_tuples: now used by 1 (attached)
---
- Another LU wants to get new tuples; HLR sends Network Failure, we reject.
- Location Update request causes a GSUP Send Auth Info request to HLR
@ -610,10 +610,10 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _lu_fsm_associate_vsub: now used by 2 (attached,_lu_fsm_associate_vsub)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + conn: now used by 3 (attached,_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _lu_fsm_associate_vsub: now used by 2 (attached,conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -631,7 +631,7 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
- HLR sends _SEND_AUTH_INFO_ERROR = net fail
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: 09010809710000004026f0020111
DVLR GSUP rx 14: 09010809710000004026f0020111
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 3 (attached,conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_NACK
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: GSUP: rx Auth Info Error cause: 17: Network failure
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Authentication terminating with result Network failure
@ -644,11 +644,11 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_A
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,conn,vlr_gsupc_read_cb,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_gsupc_read_cb)
- BSSAP Clear --GERAN-A--> MS
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (attached,conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0
auth_request_sent == 0
lu_result_sent == 2
@ -663,7 +663,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000004620:MSISDN-46071
@ -688,12 +688,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -711,7 +711,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a800
DVLR GSUP rx 47: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a800
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000004620) Received 1 auth tuples
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -719,7 +719,7 @@ DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_WAIT_RESP}:
- sending GSM Auth Request for IMSI-901700000004620: tuple use_count=1 key_seq=0 auth_types=0x1 and...
- ...rand=585df1ae287f6e273dce07090d61320b
- ...expecting sres=2d8b2c3e
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -754,19 +754,19 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -780,7 +780,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_V
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
- sending LU Accept for IMSI-901700000004620:MSISDN-46071
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + attached: now used by 3 (conn,vlr_gsupc_read_cb,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_DONE}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU))
@ -792,11 +792,11 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (conn,vlr_gsupc_read_cb,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,attached)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (conn,attached)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
bssap_clear_sent == 1
- LU was successful, and the conn has already been closed
@ -811,14 +811,14 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
---
- Now one auth tuple is available, but used.
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples: now used by 2 (attached,test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples)
vsub->last_tuple->use_count == 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - test_hlr_rej_auth_info_unkown_imsi_no_reuse_tuples: now used by 1 (attached)
---
- Another LU wants to get new tuples; HLR sends IMSI Unknown. Even though we would re-use an old tuple, reject the unknown IMSI.
net->vlr->cfg.auth_reuse_old_sets_on_error == 1
@ -835,10 +835,10 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _lu_fsm_associate_vsub: now used by 2 (attached,_lu_fsm_associate_vsub)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + conn: now used by 3 (attached,_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _lu_fsm_associate_vsub: now used by 2 (attached,conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -856,7 +856,7 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
- HLR sends _SEND_AUTH_INFO_ERROR = unknown IMSI
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: 09010809710000004026f0020102
DVLR GSUP rx 14: 09010809710000004026f0020102
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 3 (attached,conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_NACK
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: GSUP: rx Auth Info Error cause: 2: IMSI unknown in HLR
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Authentication terminating with result IMSI unknown in HLR
@ -869,11 +869,11 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_A
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,conn,vlr_gsupc_read_cb,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_gsupc_read_cb)
- BSSAP Clear --GERAN-A--> MS
DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (attached,conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_ERROR: vlr_gsupc_read_cb() returns 0
auth_request_sent == 0
lu_result_sent == 2
@ -888,7 +888,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000004620:MSISDN-46071
@ -911,12 +911,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -934,7 +934,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- from HLR, rx _SEND_AUTH_INFO_RESULT but it lacks auth tuples
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000004026f0
DVLR GSUP rx 11: 0a010809710000004026f0
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Authentication terminating with result Network failure
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_AUTH_FAILED
@ -946,11 +946,11 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_WAIT_AUTH}: state_c
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620 usage increases to: 3
DREF VLR subscr IMSI-901700000004620 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 2 (conn,vlr_gsupc_read_cb)
- BSSAP Clear --GERAN-A--> MS
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_AUTH_FAILED}: Deallocated
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 0
lu_result_sent == 2
@ -965,7 +965,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Removing fro
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DRLL IMSI-901700000004620: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620 usage decreases to: 0
DREF VLR subscr IMSI-901700000004620 - conn: now used by 0 (-)
DREF freeing VLR subscr IMSI-901700000004620
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
@ -988,12 +988,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph()
@ -1014,7 +1014,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends UPDATE_LOCATION_ERROR
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR: 05010809710000004026f0020102
DVLR GSUP rx 14: 05010809710000004026f0020102
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR SUBSCR(IMSI-901700000004620) UpdateLocation failed; gmm_cause: IMSI unknown in HLR
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_NACK
@ -1027,11 +1027,11 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: stat
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620 usage increases to: 3
DREF VLR subscr IMSI-901700000004620 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 2 (conn,vlr_gsupc_read_cb)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_ERROR: vlr_gsupc_read_cb() returns 0
lu_result_sent == 2
bssap_clear_sent == 1
@ -1045,7 +1045,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Removing fro
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DRLL IMSI-901700000004620: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620 usage decreases to: 0
DREF VLR subscr IMSI-901700000004620 - conn: now used by 0 (-)
DREF freeing VLR subscr IMSI-901700000004620
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
@ -1068,12 +1068,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph()
@ -1094,7 +1094,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends only _UPDATE_LOCATION_RESULT, no INSERT DATA
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -1108,7 +1108,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: R
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
- sending LU Accept for IMSI-901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 3
DREF VLR subscr IMSI-901700000004620 + attached: now used by 3 (conn,vlr_gsupc_read_cb,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){LU_COMPL_VLR_S_DONE}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU))
@ -1120,11 +1120,11 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: state_chg
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620 usage increases to: 4
DREF VLR subscr IMSI-901700000004620 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620 + vlr_subscr_cancel_attach_fsm: now used by 4 (conn,vlr_gsupc_read_cb,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,attached)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 2 (conn,attached)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
bssap_clear_sent == 1
- LU was successful, and the conn has already been closed
@ -1139,7 +1139,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Removing fro
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DRLL IMSI-901700000004620: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000004620

View File

@ -16,12 +16,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -55,12 +55,12 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Received
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Close event, cause: CONGESTION
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_subscr_cancel_attach_fsm: now used by 2 (conn,vlr_subscr_cancel_attach_fsm)
- sending LU Reject for IMSI-901700000004620, cause 22
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_DONE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASING}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASING}: Event RAN_CONN_E_CN_CLOSE not permitted
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 1 (conn)
- BSSAP Clear --GERAN-A--> MS
- RAN_CONN_TIMEOUT has passed, conn is gone.
bssap_clear_sent == 1
@ -77,7 +77,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Removing fro
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DRLL IMSI-901700000004620: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620 usage decreases to: 0
DREF VLR subscr IMSI-901700000004620 - conn: now used by 0 (-)
DREF freeing VLR subscr IMSI-901700000004620
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
@ -102,12 +102,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph()
@ -128,13 +128,13 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
---
@ -161,12 +161,12 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Close event, cause: CONGESTION
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 2 (conn,vlr_subscr_cancel_attach_fsm)
- sending LU Reject for IMSI-901700000004620:MSISDN-46071, cause 22
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: state_chg to VLR_ULA_S_DONE
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASING}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASING}: Event RAN_CONN_E_CN_CLOSE not permitted
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 1 (conn)
- BSSAP Clear --GERAN-A--> MS
- RAN_CONN_TIMEOUT has passed, conn is gone.
bssap_clear_sent == 1
@ -183,7 +183,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 0 (-)
DREF freeing VLR subscr IMSI-901700000004620:MSISDN-46071
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0

View File

@ -222,7 +222,7 @@ static void test_ms_timeout_paging()
BTW("an SMS is sent, MS is paged");
paging_expect_imsi(imsi);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -231,7 +231,7 @@ static void test_ms_timeout_paging()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
@ -242,7 +242,7 @@ static void test_ms_timeout_paging()
btw("the paging timeout has not yet expired");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->cs.is_paging, == true, "%d");
btw("another request is added to the list but does not cause another paging");
@ -251,7 +251,7 @@ static void test_ms_timeout_paging()
send_sms(vsub, vsub,
"One paging ought to be enough for anyone.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 2, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == false, "%d");
@ -259,7 +259,7 @@ static void test_ms_timeout_paging()
fake_time_passes(2, 0);
VERBOSE_ASSERT(paging_stopped, == true, "%d");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->cs.is_paging, == false, "%d");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -273,7 +273,7 @@ static void test_ms_timeout_paging()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
@ -284,7 +284,7 @@ static void test_ms_timeout_paging()
VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == true, "%d");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(!vsub);
bss_sends_clear_complete();

View File

@ -16,12 +16,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -39,7 +39,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a800
DVLR GSUP rx 47: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a800
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000004620) Received 1 auth tuples
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -47,7 +47,7 @@ DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_WAIT_RESP}:
- sending GSM Auth Request for IMSI-901700000004620: tuple use_count=1 key_seq=0 auth_types=0x1 and...
- ...rand=585df1ae287f6e273dce07090d61320b
- ...expecting sres=2d8b2c3e
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -75,12 +75,12 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Received
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Close event, cause: CONGESTION
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_subscr_cancel_attach_fsm: now used by 2 (conn,vlr_subscr_cancel_attach_fsm)
- sending LU Reject for IMSI-901700000004620, cause 22
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_WAIT_AUTH}: state_chg to VLR_ULA_S_DONE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASING}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASING}: Event RAN_CONN_E_CN_CLOSE not permitted
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 1 (conn)
- BSSAP Clear --GERAN-A--> MS
- RAN_CONN_TIMEOUT has passed, conn is gone.
bssap_clear_sent == 1
@ -97,7 +97,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Removing fro
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DRLL IMSI-901700000004620: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620 usage decreases to: 0
DREF VLR subscr IMSI-901700000004620 - conn: now used by 0 (-)
DREF freeing VLR subscr IMSI-901700000004620
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
@ -122,12 +122,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth (no Ciph)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -145,7 +145,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a8000322201012aca96fb4ffdea5c985cbafa9b6e18b210420bde240220807fa7502e07e1c0003222010e7c03ba7cf0e2fde82b2dc4d63077d422104a29514ae2208e2b234f80788640003222010fa8f20b781b5881329d4fea26b1a3c5121045afc8d7222082392f14f709ae000032220100fd4cc8dbe8715d1f439e304edfd68dc2104bc8d1c5b2208da7cdd6bfe2d7000
DVLR GSUP rx 191: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a8000322201012aca96fb4ffdea5c985cbafa9b6e18b210420bde240220807fa7502e07e1c0003222010e7c03ba7cf0e2fde82b2dc4d63077d422104a29514ae2208e2b234f80788640003222010fa8f20b781b5881329d4fea26b1a3c5121045afc8d7222082392f14f709ae000032220100fd4cc8dbe8715d1f439e304edfd68dc2104bc8d1c5b2208da7cdd6bfe2d7000
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000004620) Received 5 auth tuples
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -153,7 +153,7 @@ DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_WAIT_RESP}:
- sending GSM Auth Request for IMSI-901700000004620: tuple use_count=1 key_seq=0 auth_types=0x1 and...
- ...rand=585df1ae287f6e273dce07090d61320b
- ...expecting sres=2d8b2c3e
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
auth_request_sent == 1
lu_result_sent == 0
@ -188,19 +188,19 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -214,7 +214,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_V
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
- sending LU Accept for IMSI-901700000004620:MSISDN-46071
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + attached: now used by 3 (conn,vlr_gsupc_read_cb,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_DONE}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU))
@ -226,11 +226,11 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (conn,vlr_gsupc_read_cb,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,attached)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (conn,attached)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
bssap_clear_sent == 1
- LU was successful, and the conn has already been closed
@ -245,7 +245,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
---
@ -261,8 +261,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:CM_SERVICE_REQ){P
DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_INIT}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_INIT}: rev=GSM net=GERAN Auth (no Ciph)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + proc_arq_vlr_fn_init: now used by 2 (attached,proc_arq_vlr_fn_init)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + conn: now used by 3 (attached,proc_arq_vlr_fn_init,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_NEW}: Updated ID
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi()
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_INIT}: state_chg to PR_ARQ_S_WAIT_AUTH
@ -274,7 +274,7 @@ DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ
- sending GSM Auth Request for IMSI-901700000004620:MSISDN-46071: tuple use_count=1 key_seq=1 auth_types=0x1 and...
- ...rand=12aca96fb4ffdea5c985cbafa9b6e18b
- ...expecting sres=20bde240
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - proc_arq_vlr_fn_init: now used by 2 (attached,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_NEW}: Received Event RAN_CONN_E_COMPLETE_LAYER_3
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_AUTH_CIPH
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - compl_l3 == 0 (0x0: )
@ -306,7 +306,7 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CON
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_AUTH_CIPH}: Close event, cause: CONGESTION
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_AUTH_CIPH}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_subscr_cancel_attach_fsm)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: Cancel: OSMO_FSM_TERM_ERROR
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: proc_arq_fsm_done(CONGESTION)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_WAIT_AUTH}: state_chg to PR_ARQ_S_DONE
@ -314,7 +314,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_S
- sending CM Service Reject for IMSI-901700000004620:MSISDN-46071, cause: CONGESTION
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_RELEASING}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_RELEASING}: Event RAN_CONN_E_CN_CLOSE not permitted
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 2 (attached,conn)
- BSSAP Clear --GERAN-A--> MS
- RAN_CONN_TIMEOUT has passed, conn is gone.
bssap_clear_sent == 1
@ -330,7 +330,7 @@ DVLR VLR_Authenticate(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Removing from parent RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
cm_service_result_sent == 2
@ -355,12 +355,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph()
@ -381,19 +381,19 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -407,7 +407,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_V
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
- sending LU Accept for IMSI-901700000004620:MSISDN-46071
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + attached: now used by 3 (conn,vlr_gsupc_read_cb,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_DONE}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU))
@ -419,11 +419,11 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (conn,vlr_gsupc_read_cb,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,attached)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (conn,attached)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
- LU was successful, and the conn has already been closed
lu_result_sent == 1
@ -438,17 +438,17 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
---
- an SMS is sent, MS is paged
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_ms_timeout_paging: now used by 2 (attached,test_ms_timeout_paging)
llist_count(&vsub->cs.requests) == 0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_ms_timeout_paging,SMS-receiver)
DLSMS Going to send a MT SMS
DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000001) New transaction
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_ms_timeout_paging,SMS-receiver,SMS)
DLSMS SMC(0) instance created for network
DLSMS SMR(0) instance created for network.
DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
@ -460,22 +460,22 @@ DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to M
DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
strcmp(paging_expecting_imsi, imsi) == 0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 5
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + Paging: now used by 5 (attached,test_ms_timeout_paging,SMS-receiver,SMS,Paging)
llist_count(&vsub->cs.requests) == 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - test_ms_timeout_paging: now used by 4 (attached,SMS-receiver,SMS,Paging)
paging_sent == 1
paging_stopped == 0
- time passes and no paging result is received
- Total time passed: 9.000000 s
- the paging timeout has not yet expired
paging_stopped == 0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 5
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_ms_timeout_paging: now used by 5 (attached,SMS-receiver,SMS,Paging,test_ms_timeout_paging)
vsub->cs.is_paging == 1
- another request is added to the list but does not cause another paging
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 6
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 6 (attached,2*SMS-receiver,SMS,Paging,test_ms_timeout_paging)
DLSMS Going to send a MT SMS
DCC (ti 01 sub IMSI-901700000004620:MSISDN-46071 callref 40000002) New transaction
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 7
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 7 (attached,2*SMS-receiver,2*SMS,Paging,test_ms_timeout_paging)
DLSMS SMC(0) instance created for network
DLSMS SMR(0) instance created for network.
DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
@ -486,7 +486,7 @@ DLSMS SMC(0) new CP state IDLE -> MM_CONN_PENDING
DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to MMSMS_EST_REQ
DMM Subscriber IMSI-901700000004620:MSISDN-46071 already paged.
llist_count(&vsub->cs.requests) == 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 6
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - test_ms_timeout_paging: now used by 6 (attached,2*SMS-receiver,2*SMS,Paging)
paging_sent == 0
- the paging timeout expires, the paging as well as the requests are canceled
- Total time passed: 11.000000 s
@ -502,10 +502,10 @@ DLSMS SMR(0) TX SMS MNSMS-ERROR-IND
DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
DLSMS SMR(0) TX: MNSMS-REL-REQ
DLSMS SMC(0) message MNSMS-REL-REQ received in state IDLE
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 5
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 5 (attached,SMS-receiver,2*SMS,Paging)
DLSMS SMR(0) clearing SMR instance
DLSMS SMC(0) clearing instance
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 4 (attached,SMS-receiver,SMS,Paging)
DPAG Calling paging cbfn.
DLSMS paging_cb_mmsms_est_req(hooknum=1, event=1)
DLSMS SMC(0) message MMSMS-REL-IND received in state MM_CONN_PENDING
@ -517,21 +517,21 @@ DLSMS SMR(0) TX SMS MNSMS-ERROR-IND
DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
DLSMS SMR(0) TX: MNSMS-REL-REQ
DLSMS SMC(0) message MNSMS-REL-REQ received in state IDLE
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 3 (attached,SMS,Paging)
DLSMS SMR(0) clearing SMR instance
DLSMS SMC(0) clearing instance
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 2 (attached,Paging)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - Paging: now used by 1 (attached)
paging_stopped == 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + test_ms_timeout_paging: now used by 2 (attached,test_ms_timeout_paging)
vsub->cs.is_paging == 0
llist_count(&vsub->cs.requests) == 0
---
- Now that the timeout has expired, another Paging is sent on request
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS-receiver: now used by 3 (attached,test_ms_timeout_paging,SMS-receiver)
DLSMS Going to send a MT SMS
DCC (ti 00 sub IMSI-901700000004620:MSISDN-46071 callref 40000003) New transaction
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + SMS: now used by 4 (attached,test_ms_timeout_paging,SMS-receiver,SMS)
DLSMS SMC(0) instance created for network
DLSMS SMR(0) instance created for network.
DLSMS SMR(0) message SM-RL-DATA_REQ received in state IDLE
@ -543,9 +543,9 @@ DLSMS Initiating Paging procedure for IMSI-901700000004620:MSISDN-46071 due to M
DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
strcmp(paging_expecting_imsi, imsi) == 0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 5
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + Paging: now used by 5 (attached,test_ms_timeout_paging,SMS-receiver,SMS,Paging)
llist_count(&vsub->cs.requests) == 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - test_ms_timeout_paging: now used by 4 (attached,SMS-receiver,SMS,Paging)
paging_sent == 1
paging_stopped == 0
---
@ -556,7 +556,7 @@ DMM RAN_conn{RAN_CONN_S_NEW}: Allocated
DREF unknown: MSC conn use + compl_l3 == 1 (0x1: compl_l3)
DRLL Dispatching 04.08 message GSM48_MT_MM_IMSI_DETACH_IND (0x5:0x1)
DMM IMSI DETACH INDICATION: MI(IMSI)=901700000004620
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 5
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm48_rx_mm_imsi_detach_ind: now used by 5 (attached,SMS-receiver,SMS,Paging,gsm48_rx_mm_imsi_detach_ind)
DMM IMSI DETACH for IMSI-901700000004620:MSISDN-46071
DPAG Paging failure for IMSI-901700000004620:MSISDN-46071 (event=1)
DPAG Calling paging cbfn.
@ -570,15 +570,15 @@ DLSMS SMR(0) TX SMS MNSMS-ERROR-IND
DLSMS SMR(0) new RP state WAIT_FOR_RP_ACK -> IDLE
DLSMS SMR(0) TX: MNSMS-REL-REQ
DLSMS SMC(0) message MNSMS-REL-REQ received in state IDLE
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS-receiver: now used by 4 (attached,SMS,Paging,gsm48_rx_mm_imsi_detach_ind)
DLSMS SMR(0) clearing SMR instance
DLSMS SMC(0) clearing instance
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - SMS: now used by 3 (attached,Paging,gsm48_rx_mm_imsi_detach_ind)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - Paging: now used by 2 (attached,gsm48_rx_mm_imsi_detach_ind)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 2 (attached,gsm48_rx_mm_imsi_detach_ind)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 1 (gsm48_rx_mm_imsi_detach_ind)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 0 (-)
DREF freeing VLR subscr IMSI-901700000004620:MSISDN-46071
DMM RAN_conn{RAN_CONN_S_NEW}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn{RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_RELEASING
@ -615,12 +615,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN Auth+Ciph
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_AUTH
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH}: Allocated
@ -638,7 +638,7 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- from HLR, rx _SEND_AUTH_INFO_RESULT; VLR sends Auth Req to MS
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a800
DVLR GSUP rx 47: 0a010809710000004026f003222010585df1ae287f6e273dce07090d61320b21042d8b2c3e220861855fb81fc2a800
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: Received Event VLR_AUTH_E_HLR_SAI_ACK
DVLR SUBSCR(IMSI-901700000004620) Received 1 auth tuples
DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_NEEDS_AUTH_WAIT_AI}: state_chg to VLR_SUB_AS_WAIT_RESP
@ -646,7 +646,7 @@ DVLR VLR_Authenticate(IMSI-901700000004620:GERAN-A-0:LU){VLR_SUB_AS_WAIT_RESP}:
- sending GSM Auth Request for IMSI-901700000004620: tuple use_count=1 key_seq=0 auth_types=0x1 and...
- ...rand=585df1ae287f6e273dce07090d61320b
- ...expecting sres=2d8b2c3e
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_SEND_AUTH_INFO_RESULT: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
auth_request_sent == 1
@ -701,12 +701,12 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: Close event, cause: CONGESTION
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_WAIT_CLASSMARK_UPDATE}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_subscr_cancel_attach_fsm: now used by 2 (conn,vlr_subscr_cancel_attach_fsm)
- sending LU Reject for IMSI-901700000004620, cause 22
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_WAIT_CIPH}: state_chg to VLR_ULA_S_DONE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASING}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASING}: Event RAN_CONN_E_CN_CLOSE not permitted
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - vlr_subscr_cancel_attach_fsm: now used by 1 (conn)
- BSSAP Clear --GERAN-A--> MS
- RAN_CONN_TIMEOUT has passed, conn is gone.
bssap_clear_sent == 1
@ -720,7 +720,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Removing fro
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DRLL IMSI-901700000004620: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620 usage decreases to: 0
DREF VLR subscr IMSI-901700000004620 - conn: now used by 0 (-)
DREF freeing VLR subscr IMSI-901700000004620
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0

View File

@ -84,7 +84,7 @@ static void test_no_authen()
BTW("an SMS is sent, MS is paged");
paging_expect_imsi(imsi);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -93,16 +93,16 @@ static void test_no_authen()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response, we deliver the SMS");
dtap_expect_tx("09" /* SMS messages */
@ -131,10 +131,10 @@ static void test_no_authen()
VERBOSE_ASSERT(paging_stopped, == true, "%d");
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);
@ -203,12 +203,12 @@ static void test_no_authen_tmsi()
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x03020100, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == GSM_RESERVED_TMSI, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_bssap_clear();
@ -220,12 +220,12 @@ static void test_no_authen_tmsi()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the new TMSI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == GSM_RESERVED_TMSI, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("after a while, a new conn sends a CM Service Request using above TMSI");
cm_service_result_sent = RES_NONE;
@ -247,7 +247,7 @@ static void test_no_authen_tmsi()
BTW("an SMS is sent, MS is paged using above TMSI");
paging_expect_tmsi(0x03020100);
paging_sent = false;
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -256,16 +256,16 @@ static void test_no_authen_tmsi()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response using TMSI, we deliver the SMS");
dtap_expect_tx("09" /* SMS messages */
@ -294,10 +294,10 @@ static void test_no_authen_tmsi()
VERBOSE_ASSERT(paging_stopped, == true, "%d");
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);
@ -353,12 +353,12 @@ static void test_no_authen_tmsi()
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x07060504, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_bssap_clear();
@ -370,12 +370,12 @@ static void test_no_authen_tmsi()
EXPECT_CONN_COUNT(0);
btw("subscriber has the new TMSI");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == GSM_RESERVED_TMSI, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == 0x07060504, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches, using new TMSI");
expect_bssap_clear();
@ -422,10 +422,10 @@ static void test_no_authen_imei()
btw("We will only do business when the IMEI is known");
EXPECT_CONN_COUNT(1);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -446,10 +446,10 @@ static void test_no_authen_imei()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the IMEI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches");
expect_bssap_clear();
@ -497,10 +497,10 @@ static void test_no_authen_tmsi_imei()
btw("We will only do business when the IMEI is known");
EXPECT_CONN_COUNT(1);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -528,11 +528,11 @@ static void test_no_authen_tmsi_imei()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the IMEI and TMSI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches");
expect_bssap_clear();
@ -570,10 +570,10 @@ static void test_no_authen_imeisv()
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
btw("Subscriber has the IMEISV from the ID Response");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imeisv, "4234234234234275"), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT");
gsup_rx("10010809710000004026f00804036470f1",
@ -633,10 +633,10 @@ static void test_no_authen_imeisv_imei()
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
btw("Subscriber has the IMEISV from the ID Response");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imeisv, "4234234234234275"), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT");
gsup_rx("10010809710000004026f00804036470f1",
@ -654,10 +654,10 @@ static void test_no_authen_imeisv_imei()
btw("We will only do business when the IMEI is known");
EXPECT_CONN_COUNT(1);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -676,10 +676,10 @@ static void test_no_authen_imeisv_imei()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the IMEI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches");
expect_bssap_clear();
@ -717,10 +717,10 @@ static void test_no_authen_imeisv_tmsi()
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
btw("Subscriber has the IMEISV from the ID Response");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imeisv, "4234234234234275"), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT");
gsup_rx("10010809710000004026f00804036470f1",
@ -742,12 +742,12 @@ static void test_no_authen_imeisv_tmsi()
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x03020100, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == GSM_RESERVED_TMSI, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_bssap_clear();
@ -773,10 +773,10 @@ static void test_no_authen_imeisv_tmsi()
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
btw("Subscriber has the IMEISV from the ID Response");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imeisv, "5234234234234276"), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT");
gsup_rx("10010809710000004026f00804036470f1",
@ -798,12 +798,12 @@ static void test_no_authen_imeisv_tmsi()
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x07060504, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_bssap_clear();
@ -815,12 +815,12 @@ static void test_no_authen_imeisv_tmsi()
EXPECT_CONN_COUNT(0);
btw("subscriber has the new TMSI");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x07060504, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == GSM_RESERVED_TMSI, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == 0x07060504, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches, using new TMSI");
expect_bssap_clear();
@ -859,10 +859,10 @@ static void test_no_authen_imeisv_tmsi_imei()
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
btw("Subscriber has the IMEISV from the ID Response");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imeisv, "4234234234234275"), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT");
gsup_rx("10010809710000004026f00804036470f1",
@ -880,10 +880,10 @@ static void test_no_authen_imeisv_tmsi_imei()
btw("We will only do business when the IMEI is known");
EXPECT_CONN_COUNT(1);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(vsub->imei[0], == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
EXPECT_ACCEPTED(false);
thwart_rx_non_initial_requests();
@ -911,12 +911,12 @@ static void test_no_authen_imeisv_tmsi_imei()
EXPECT_CONN_COUNT(0);
btw("Subscriber has the IMEISV, IMEI and TMSI");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(strcmp(vsub->imeisv, "4234234234234275"), == 0, "%d");
VERBOSE_ASSERT(strcmp(vsub->imei, "423423423423420"), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi, == 0x03020100, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
BTW("subscriber detaches");
expect_bssap_clear();
@ -972,15 +972,15 @@ static void test_no_authen_subscr_expire()
bss_sends_clear_complete();
EXPECT_CONN_COUNT(0);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
/* Let T3212 (periodic Location update timer) expire */
fake_time_passes((net->t3212 * 60 * 6 * 2) + 60*4, 0);
/* The subscriber should now be gone. */
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub == NULL);
EXPECT_CONN_COUNT(0);

File diff suppressed because it is too large Load Diff

View File

@ -127,7 +127,7 @@ static void _page()
BTW("an SMS is sent, MS is paged");
paging_expect_imsi(imsi);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -136,7 +136,7 @@ static void _page()
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,7 @@
#include "msc_vlr_tests.h"
#include "stubs.h"
#include <osmocom/msc/vlr.h>
static void test_early_stage()
{
@ -43,7 +44,7 @@ static void test_early_stage()
thwart_rx_non_initial_requests();
btw("fake: acceptance");
g_conn->vsub = vlr_subscr_alloc(net->vlr);
g_conn->vsub = vlr_subscr_find_or_create_by_imsi(net->vlr, "135111", VSUB_USE_CONN, NULL);
g_conn->via_ran = OSMO_RAT_GERAN_A;
OSMO_ASSERT(g_conn->vsub);
/* mark as silent call so it sticks around */

View File

@ -19,7 +19,9 @@ DRLL subscr unknown: Message not permitted for initial conn: GSM48_MT_RR_SYSINFO
DRLL Dispatching 04.08 message SMS:0x01 (0x9:0x1)
DRLL subscr unknown: Message not permitted for initial conn: SMS:0x01
- fake: acceptance
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + conn: now used by 1 (conn)
DVLR set IMSI on subscriber; IMSI=135111 id=135111
DVLR New subscr, IMSI: 135111
DMM RAN_conn{RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_ACCEPTED
DMM RAN_conn{RAN_CONN_S_ACCEPTED}: ran_conn_fsm_has_active_transactions: silent call still active
llist_count(&net->ran_conns) == 1
@ -27,21 +29,21 @@ ran_conn_is_accepted() == true
- CLOSE event marks conn_fsm as released and frees the conn
DMM RAN_conn{RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn{RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF unknown: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr unknown usage increases to: 2
DREF VLR subscr unknown usage decreases to: 1
DREF IMSI-135111: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-135111 + vlr_subscr_cancel_attach_fsm: now used by 2 (conn,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-135111 - vlr_subscr_cancel_attach_fsm: now used by 1 (conn)
- BSSAP Clear --GERAN-A--> MS
bssap_clear_sent == 1
- BSS sends BSSMAP Clear Complete
DREF unknown: MSC conn use - release == 0 (0x0: )
DREF IMSI-135111: MSC conn use - release == 0 (0x0: )
DMM RAN_conn{RAN_CONN_S_RELEASING}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn{RAN_CONN_S_RELEASING}: state_chg to RAN_CONN_S_RELEASED
DMM RAN_conn{RAN_CONN_S_RELEASED}: Terminating (cause = OSMO_FSM_TERM_REGULAR)
DMM RAN_conn{RAN_CONN_S_RELEASED}: ran_conn_fsm_has_active_transactions: silent call still active
DMM RAN_conn{RAN_CONN_S_RELEASED}: Deallocating despite active transactions
DRLL unknown: Freeing RAN connection
DREF VLR subscr unknown usage decreases to: 0
DREF freeing VLR subscr unknown
DRLL IMSI-135111: Freeing RAN connection
DREF VLR subscr IMSI-135111 - conn: now used by 0 (-)
DREF freeing VLR subscr IMSI-135111
DMM RAN_conn{RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
===== test_early_stage: SUCCESS
@ -104,12 +106,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph()
@ -130,13 +132,13 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- having received subscriber data does not mean acceptance
@ -154,7 +156,7 @@ DRLL subscr IMSI-901700000004620:MSISDN-46071: Message not permitted for initial
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -168,7 +170,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_V
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
- sending LU Accept for IMSI-901700000004620:MSISDN-46071
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + attached: now used by 3 (conn,vlr_gsupc_read_cb,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_DONE}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU))
@ -180,11 +182,11 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (conn,vlr_gsupc_read_cb,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,attached)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (conn,attached)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
bssap_clear_sent == 1
- LU was successful, and the conn has already been closed
@ -199,7 +201,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
---
@ -217,10 +219,10 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _lu_fsm_associate_vsub: now used by 2 (attached,_lu_fsm_associate_vsub)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + conn: now used by 3 (attached,_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _lu_fsm_associate_vsub: now used by 2 (attached,conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth()
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph()
@ -241,13 +243,13 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 3 (attached,conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=3)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (attached,conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- having received subscriber data does not mean acceptance
@ -265,7 +267,7 @@ DRLL subscr IMSI-901700000004620:MSISDN-46071: Message not permitted for initial
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 3 (attached,conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -290,11 +292,11 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,conn,vlr_gsupc_read_cb,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_gsupc_read_cb)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (attached,conn)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
bssap_clear_sent == 1
- LU was successful, and the conn has already been closed
@ -309,7 +311,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
---
@ -320,12 +322,12 @@ DMM RAN_conn{RAN_CONN_S_NEW}: Allocated
DREF unknown: MSC conn use + compl_l3 == 1 (0x1: compl_l3)
DRLL Dispatching 04.08 message GSM48_MT_MM_IMSI_DETACH_IND (0x5:0x1)
DMM IMSI DETACH INDICATION: MI(IMSI)=901700000004620
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + gsm48_rx_mm_imsi_detach_ind: now used by 2 (attached,gsm48_rx_mm_imsi_detach_ind)
DMM IMSI DETACH for IMSI-901700000004620:MSISDN-46071
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 3 (attached,gsm48_rx_mm_imsi_detach_ind,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 2 (attached,gsm48_rx_mm_imsi_detach_ind)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - attached: now used by 1 (gsm48_rx_mm_imsi_detach_ind)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - gsm48_rx_mm_imsi_detach_ind: now used by 0 (-)
DREF freeing VLR subscr IMSI-901700000004620:MSISDN-46071
DMM RAN_conn{RAN_CONN_S_NEW}: Received Event RAN_CONN_E_CN_CLOSE
DMM RAN_conn{RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_RELEASING
@ -360,11 +362,11 @@ DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(TMSI-0x23422342:GERAN-A-0:LU)
DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)
DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR New subscr, TMSI: 0x23422342
DREF VLR subscr TMSI-0x23422342 usage increases to: 2
DREF VLR subscr TMSI-0x23422342 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(TMSI-0x23422342:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr TMSI-0x23422342 usage decreases to: 1
DREF VLR subscr TMSI-0x23422342 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_want_imsi()
DVLR vlr_lu_fsm(TMSI-0x23422342:GERAN-A-0:LU){VLR_ULA_S_IDLE}: state_chg to VLR_ULA_S_WAIT_IMSI
DMSC msc_tx 3 bytes to TMSI-0x23422342 via GERAN-A
@ -412,13 +414,13 @@ DMM RAN_conn(TMSI-0x23422342:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting resul
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620:TMSI-0x23422342 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:TMSI-0x23422342 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- having received subscriber data does not mean acceptance
@ -436,7 +438,7 @@ DRLL subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342: Message not permi
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(TMSI-0x23422342:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(TMSI-0x23422342:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -450,7 +452,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
- sending LU Accept for IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 + attached: now used by 3 (conn,vlr_gsupc_read_cb,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){LU_COMPL_VLR_S_DONE}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: upd_hlr_vlr_fsm(TMSI-0x23422342:GERAN-A-0:LU))
@ -462,11 +464,11 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){RAN
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 + vlr_subscr_cancel_attach_fsm: now used by 4 (conn,vlr_gsupc_read_cb,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 - vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,attached)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(TMSI-0x23422342:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 - vlr_gsupc_read_cb: now used by 2 (conn,attached)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
bssap_clear_sent == 1
- LU was successful, and the conn has already been closed
@ -481,7 +483,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000004620:MSISDN-46071:TMSI-0x23422342

View File

@ -66,11 +66,11 @@ static void perform_lu(void)
VERBOSE_ASSERT(lu_result_sent, == RES_ACCEPT, "%d");
VERBOSE_ASSERT(bssap_clear_sent, == true, "%d");
vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI);
vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, IMSI), == 0, "%d");
VAL_ASSERT("LAC", vsub->cgi.lai.lac, == 23, "%u");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
bss_sends_clear_complete();
EXPECT_CONN_COUNT(0);
@ -132,7 +132,7 @@ static void _test_ss_ussd_no(enum osmo_rat_type via_ran)
paging_expect_imsi(IMSI);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI);
vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -144,16 +144,16 @@ static void _test_ss_ussd_no(enum osmo_rat_type via_ran)
"3515" FACILITY_IE_REQ, NULL);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI);
vsub = vlr_subscr_find_by_imsi(net->vlr, IMSI, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response, we deliver the NC/USSD");

View File

@ -15,12 +15,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph()
@ -41,19 +41,19 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -67,7 +67,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_V
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
- sending LU Accept for IMSI-901700000004620:MSISDN-46071
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + attached: now used by 3 (conn,vlr_gsupc_read_cb,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_DONE}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU))
@ -79,20 +79,20 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (conn,vlr_gsupc_read_cb,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,attached)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (conn,attached)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
- LU was successful, and the conn has already been closed
lu_result_sent == 1
bssap_clear_sent == 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + perform_lu: now used by 3 (conn,attached,perform_lu)
vsub != NULL == 1
strcmp(vsub->imsi, IMSI) == 0
LAC == 23
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - perform_lu: now used by 2 (conn,attached)
- BSS sends BSSMAP Clear Complete
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - release == 0 (0x0: )
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASING}: Received Event RAN_CONN_E_UNUSED
@ -103,7 +103,7 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
---
@ -119,8 +119,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:CM_SERVICE_REQ){P
DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_INIT}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_INIT}: rev=GSM net=GERAN (no Auth)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + proc_arq_vlr_fn_init: now used by 2 (attached,proc_arq_vlr_fn_init)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + conn: now used by 3 (attached,proc_arq_vlr_fn_init,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_NEW}: Updated ID
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi()
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_INIT}: _proc_arq_vlr_node2()
@ -137,7 +137,7 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CON
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + cm_service == 2 (0x9: compl_l3,cm_service)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_ACCEPTED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: ran_conn_fsm_has_active_transactions: still awaiting first request after a CM Service Request
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - proc_arq_vlr_fn_init: now used by 2 (attached,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMPLETE_LAYER_3
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - compl_l3 == 1 (0x8: cm_service)
cm_service_result_sent == 1
@ -148,7 +148,7 @@ DRLL Dispatching 04.08 message GSM0480_MTYPE_REGISTER (0xb:0x3b)
DMM Received SS/USSD data (trans_id=8, msg_type=GSM0480_MTYPE_REGISTER)
DMM -> (new transaction)
DCC (ti 08 sub IMSI-901700000004620:MSISDN-46071 callref 20000001) New transaction
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + NCSS: now used by 3 (attached,conn,NCSS)
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + trans_nc_ss == 3 (0x4a: dtap,cm_service,trans_nc_ss)
DMM IMSI-901700000004620:MSISDN-46071: rx msg GSM0480_MTYPE_REGISTER: received_cm_service_request changes to false
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - cm_service == 2 (0x42: dtap,trans_nc_ss)
@ -158,20 +158,20 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CON
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - dtap == 1 (0x40: trans_nc_ss)
<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200000013101033527a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
DVLR GSUP rx 61: 20010809710000004026f03004200000013101033527a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 4 (attached,conn,NCSS,vlr_gsupc_read_cb)
DMSC Routed to GSM 09.11 SS/USSD handler
DMSC msc_tx 43 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
- DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 8b2a1c27a225020101302002013b301b04010f0416d9775d0e2ae3e965f73cfd7683d27310cd06bbc51a0d
- DTAP matches expected message
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 3 (attached,conn,vlr_gsupc_read_cb)
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - trans_nc_ss == 0 (0x0: )
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_COMMUNICATING}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,conn,vlr_gsupc_read_cb,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_gsupc_read_cb)
- BSSAP Clear --GERAN-A--> MS
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (attached,conn)
<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0
dtap_tx_confirmed == 1
bssap_clear_sent == 1
@ -185,7 +185,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_S
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Removing from parent RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){PR_ARQ_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:CM_SERVICE_REQ){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000004620:MSISDN-46071
@ -208,12 +208,12 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Allocated
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:LU)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: rev=GSM net=GERAN (no Auth)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: Received Event VLR_ULA_E_UPDATE_LA
DREF VLR subscr unknown usage increases to: 1
DREF VLR subscr unknown + _lu_fsm_associate_vsub: now used by 1 (_lu_fsm_associate_vsub)
DVLR set IMSI on subscriber; IMSI=901700000004620 id=901700000004620
DVLR New subscr, IMSI: 901700000004620
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + conn: now used by 2 (_lu_fsm_associate_vsub,conn)
DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_NEW}: Updated ID
DREF VLR subscr IMSI-901700000004620 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620 - _lu_fsm_associate_vsub: now used by 1 (conn)
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_node1()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_auth()
DVLR vlr_lu_fsm(IMSI-901700000004620:GERAN-A-0:LU){VLR_ULA_S_IDLE}: vlr_loc_upd_post_ciph()
@ -234,19 +234,19 @@ DMM RAN_conn(IMSI-901700000004620:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Awaiting
- HLR sends _INSERT_DATA_REQUEST, VLR responds with _INSERT_DATA_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: 10010809710000004026f00804036470f1
DVLR GSUP rx 17: 10010809710000004026f00804036470f1
DREF VLR subscr IMSI-901700000004620 usage increases to: 2
DREF VLR subscr IMSI-901700000004620 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR IMSI:901700000004620 has MSISDN:46071
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071, used=2)
DVLR SUBSCR(IMSI-901700000004620:MSISDN-46071) VLR: update for IMSI=901700000004620 (MSISDN=46071)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIPH}: Updated ID
DVLR GSUP tx: 12010809710000004026f0
GSUP --> HLR: OSMO_GSUP_MSGT_INSERT_DATA_RESULT: 12010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 1 (conn)
<-- GSUP rx OSMO_GSUP_MSGT_INSERT_DATA_REQUEST: vlr_gsupc_read_cb() returns 0
lu_result_sent == 0
- HLR also sends GSUP _UPDATE_LOCATION_RESULT
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: 06010809710000004026f0
DVLR GSUP rx 11: 06010809710000004026f0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 2 (conn,vlr_gsupc_read_cb)
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_HLR_UPD}: Received Event VLR_ULA_E_HLR_LU_RES
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: Received Event UPD_HLR_VLR_E_UPD_LOC_ACK
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_WAIT_FOR_DATA}: state_chg to UPD_HLR_VLR_S_DONE
@ -260,7 +260,7 @@ DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_V
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_INIT}: state_chg to LU_COMPL_VLR_S_WAIT_SUB_PRES
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: Received Event LU_COMPL_VLR_E_SUB_PRES_COMPL
- sending LU Accept for IMSI-901700000004620:MSISDN-46071
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + attached: now used by 3 (conn,vlr_gsupc_read_cb,attached)
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_WAIT_SUB_PRES}: state_chg to LU_COMPL_VLR_S_DONE
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_WAIT_LU_COMPL}: Received Event VLR_ULA_E_LU_COMPL_SUCCESS
DVLR lu_compl_vlr_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){LU_COMPL_VLR_S_DONE}: Terminating in cascade, depth 2 (cause = OSMO_FSM_TERM_PARENT, caused by: upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU))
@ -272,20 +272,20 @@ DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_AUTH_CIP
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_ACCEPTED}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (conn,vlr_gsupc_read_cb,attached,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (conn,vlr_gsupc_read_cb,attached)
- BSSAP Clear --GERAN-A--> MS
DVLR upd_hlr_vlr_fsm(IMSI-901700000004620:GERAN-A-0:LU){UPD_HLR_VLR_S_DONE}: Deallocated, including all deferred deallocations
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (conn,attached)
<-- GSUP rx OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT: vlr_gsupc_read_cb() returns 0
- LU was successful, and the conn has already been closed
lu_result_sent == 1
bssap_clear_sent == 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + perform_lu: now used by 3 (conn,attached,perform_lu)
vsub != NULL == 1
strcmp(vsub->imsi, IMSI) == 0
LAC == 23
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - perform_lu: now used by 2 (conn,attached)
- BSS sends BSSMAP Clear Complete
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - release == 0 (0x0: )
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASING}: Received Event RAN_CONN_E_UNUSED
@ -296,35 +296,35 @@ DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}:
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: fsm_lu_cleanup called with cause OSMO_FSM_TERM_PARENT
DVLR vlr_lu_fsm(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){VLR_ULA_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:LU){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
---
- after a while, HLR initiates SS/USSD session
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _test_ss_ussd_no: now used by 2 (attached,_test_ss_ussd_no)
llist_count(&vsub->cs.requests) == 0
<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f03004200001013101013515a11302010102013b300b04010f0406aa510c061b01
DVLR GSUP rx 43: 20010809710000004026f03004200001013101013515a11302010102013b300b04010f0406aa510c061b01
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 3 (attached,_test_ss_ussd_no,vlr_gsupc_read_cb)
DMSC Routed to GSM 09.11 SS/USSD handler
DMM Establishing network-originated session
DCC (ti ff sub IMSI-901700000004620:MSISDN-46071 callref 20000101) New transaction
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + NCSS: now used by 4 (attached,_test_ss_ussd_no,vlr_gsupc_read_cb,NCSS)
DMM Triggering Paging Request
DMM Subscriber IMSI-901700000004620:MSISDN-46071 not paged yet, start paging.
GERAN-A sends out paging request to IMSI 901700000004620, TMSI 0xffffffff, LAC 23
strcmp(paging_expecting_imsi, imsi) == 0
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 5
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + Paging: now used by 5 (attached,_test_ss_ussd_no,vlr_gsupc_read_cb,NCSS,Paging)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 4 (attached,_test_ss_ussd_no,NCSS,Paging)
<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns -22
llist_count(&vsub->cs.requests) == 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 3 (attached,NCSS,Paging)
paging_sent == 1
paging_stopped == 0
- the subscriber and its pending request should remain
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + _test_ss_ussd_no: now used by 4 (attached,NCSS,Paging,_test_ss_ussd_no)
llist_count(&vsub->cs.requests) == 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - _test_ss_ussd_no: now used by 3 (attached,NCSS,Paging)
- MS replies with Paging Response, we deliver the NC/USSD
MSC <--GERAN-A-- MS: GSM48_MT_RR_PAG_RESP
new conn
@ -337,8 +337,8 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:PAGING_RESP){PR_A
DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:PAGING_RESP){PR_ARQ_S_INIT}: is child of RAN_conn(IMSI-901700000004620:GERAN-A-0:PAGING_RESP)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:PAGING_RESP){PR_ARQ_S_INIT}: rev=GSM net=GERAN (no Auth)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:GERAN-A-0:PAGING_RESP){PR_ARQ_S_INIT}: Received Event PR_ARQ_E_START
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 5
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + proc_arq_vlr_fn_init: now used by 4 (attached,NCSS,Paging,proc_arq_vlr_fn_init)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + conn: now used by 5 (attached,NCSS,Paging,proc_arq_vlr_fn_init,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_NEW}: Updated ID
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){PR_ARQ_S_INIT}: proc_arq_vlr_fn_post_imsi()
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){PR_ARQ_S_INIT}: _proc_arq_vlr_node2()
@ -358,10 +358,10 @@ DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + trans_nc_ss == 2 (0x41: c
DMSC msc_tx 25 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
- DTAP --GERAN-A--> MS: GSM0480_MTYPE_REGISTER: 0b3b1c15a11302010102013b300b04010f0406aa510c061b01
- DTAP matches expected message
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - Paging: now used by 4 (attached,NCSS,proc_arq_vlr_fn_init,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_NEW}: state_chg to RAN_CONN_S_ACCEPTED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: ran_conn_fsm_has_active_transactions: connection still has active transaction: NCSS
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - proc_arq_vlr_fn_init: now used by 3 (attached,NCSS,conn)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_ACCEPTED}: Received Event RAN_CONN_E_COMPLETE_LAYER_3
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - compl_l3 == 1 (0x40: trans_nc_ss)
dtap_tx_confirmed == 1
@ -380,20 +380,20 @@ DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - dtap == 1 (0x40: trans_nc
- HLR terminates the session
<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: 20010809710000004026f0300420000101310103
DVLR GSUP rx 20: 20010809710000004026f0300420000101310103
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_gsupc_read_cb: now used by 4 (attached,NCSS,conn,vlr_gsupc_read_cb)
DMSC Routed to GSM 09.11 SS/USSD handler
DMSC msc_tx 2 bytes to IMSI-901700000004620:MSISDN-46071 via GERAN-A
- DTAP --GERAN-A--> MS: GSM0480_MTYPE_RELEASE_COMPLETE: 0b2a
- DTAP matches expected message
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - NCSS: now used by 3 (attached,conn,vlr_gsupc_read_cb)
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use - trans_nc_ss == 0 (0x0: )
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: Received Event RAN_CONN_E_UNUSED
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_COMMUNICATING}: state_chg to RAN_CONN_S_RELEASING
DREF IMSI-901700000004620:MSISDN-46071: MSC conn use + release == 1 (0x100: release)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage increases to: 4
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 3
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 + vlr_subscr_cancel_attach_fsm: now used by 4 (attached,conn,vlr_gsupc_read_cb,vlr_subscr_cancel_attach_fsm)
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_subscr_cancel_attach_fsm: now used by 3 (attached,conn,vlr_gsupc_read_cb)
- BSSAP Clear --GERAN-A--> MS
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 2
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - vlr_gsupc_read_cb: now used by 2 (attached,conn)
<-- GSUP rx OSMO_GSUP_MSGT_PROC_SS_REQUEST: vlr_gsupc_read_cb() returns 0
dtap_tx_confirmed == 1
bssap_clear_sent == 1
@ -407,7 +407,7 @@ DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGI
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){PR_ARQ_S_DONE}: Removing from parent RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP)
DVLR Process_Access_Request_VLR(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){PR_ARQ_S_DONE}: Deferring: will deallocate with RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP)
DRLL IMSI-901700000004620:MSISDN-46071: Freeing RAN connection
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 usage decreases to: 1
DREF VLR subscr IMSI-901700000004620:MSISDN-46071 - conn: now used by 1 (attached)
DMM RAN_conn(IMSI-901700000004620:MSISDN-46071:GERAN-A-0:PAGING_RESP){RAN_CONN_S_RELEASED}: Deallocated, including all deferred deallocations
llist_count(&net->ran_conns) == 0
DREF freeing VLR subscr IMSI-901700000004620:MSISDN-46071

View File

@ -160,12 +160,12 @@ static void _test_umts_authen(enum osmo_rat_type via_ran)
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x03020100, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == GSM_RESERVED_TMSI, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_release_clear(via_ran);
@ -223,7 +223,7 @@ static void _test_umts_authen(enum osmo_rat_type via_ran)
BTW("an SMS is sent, MS is paged");
paging_expect_imsi(imsi);
paging_sent = false;
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
@ -232,16 +232,16 @@ static void _test_umts_authen(enum osmo_rat_type via_ran)
" marketing option.");
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
vsub = NULL;
VERBOSE_ASSERT(paging_sent, == true, "%d");
VERBOSE_ASSERT(paging_stopped, == false, "%d");
btw("the subscriber and its pending request should remain");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 1, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS replies with Paging Response, and VLR sends Auth Request with third key");
auth_request_sent = false;
@ -277,10 +277,10 @@ static void _test_umts_authen(enum osmo_rat_type via_ran)
}
btw("SMS was delivered, no requests pending for subscr");
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi);
vsub = vlr_subscr_find_by_imsi(net->vlr, imsi, __func__);
OSMO_ASSERT(vsub);
VERBOSE_ASSERT(llist_count(&vsub->cs.requests), == 0, "%d");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("conn is still open to wait for SMS ack dance");
EXPECT_CONN_COUNT(1);
@ -529,12 +529,12 @@ static void _test_umts_authen_resync(enum osmo_rat_type via_ran)
thwart_rx_non_initial_requests();
btw("even though the TMSI is not acked, we can already find the subscr with it");
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100);
vsub = vlr_subscr_find_by_tmsi(net->vlr, 0x03020100, __func__);
VERBOSE_ASSERT(vsub != NULL, == true, "%d");
VERBOSE_ASSERT(strcmp(vsub->imsi, imsi), == 0, "%d");
VERBOSE_ASSERT(vsub->tmsi_new, == 0x03020100, "0x%08x");
VERBOSE_ASSERT(vsub->tmsi, == GSM_RESERVED_TMSI, "0x%08x");
vlr_subscr_put(vsub);
vlr_subscr_put(vsub, __func__);
btw("MS sends TMSI Realloc Complete");
expect_release_clear(via_ran);

File diff suppressed because it is too large Load Diff

View File

@ -27,6 +27,8 @@
#include <osmocom/msc/vlr.h>
#include <osmocom/msc/gsm_data.h>
#include <osmocom/msc/gsm_04_11.h>
#include <osmocom/msc/db.h>
#include <osmocom/msc/sms_queue.h>
static void *talloc_ctx = NULL;
extern void *tall_gsms_ctx;
@ -91,17 +93,25 @@ struct gsm_sms *__wrap_db_sms_get_next_unsent_rr_msisdn(struct gsm_network *net,
const char *last_msisdn,
unsigned int max_failed)
{
static struct vlr_subscr arbitrary_vsub;
static struct vlr_subscr arbitrary_vsub = {};
static bool arbitrary_vsub_set_up = false;
struct gsm_sms *sms;
int i;
printf(" hitting database: looking for MSISDN > '%s', failed_attempts <= %d\n",
last_msisdn, max_failed);
if (!arbitrary_vsub_set_up) {
osmo_use_count_make_static_entries(&arbitrary_vsub.use_count, arbitrary_vsub.use_count_buf,
ARRAY_SIZE(arbitrary_vsub.use_count_buf));
arbitrary_vsub_set_up = true;
}
/* Every time we call sms_free(), the internal logic of libmsc
* may call vlr_subscr_put() on our arbitrary_vsub, what would
* lead to a segfault if its use_count <= 0. To prevent this,
* let's ensure a big enough initial value. */
arbitrary_vsub.use_count = 1000;
osmo_use_count_get_put(&arbitrary_vsub.use_count, VSUB_USE_SMS_RECEIVER, 1000);
osmo_use_count_get_put(&arbitrary_vsub.use_count, VSUB_USE_SMS_PENDING, 1000);
arbitrary_vsub.lu_complete = true;
for (i = 0; i < ARRAY_SIZE(fake_sms_db); i++) {