diff options
Diffstat (limited to 'src/libvlr')
-rw-r--r-- | src/libvlr/vlr.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index cff2e1204..2f7dc3052 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -1042,10 +1042,8 @@ int vlr_gsupc_read_cb(struct gsup_client *gsupc, struct msgb *msg) rc = -GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL; break; default: - LOGVSUBP(LOGL_ERROR, vsub, - "Rx GSUP msg_type=%d not valid at VLR/SGSN side\n", - gsup.message_type); - rc = -GMM_CAUSE_MSGT_NOTEXIST_NOTIMPL; + /* Forward message towards MSC */ + rc = vlr->ops.forward_gsup_msg(vsub, &gsup); break; } @@ -1192,6 +1190,7 @@ struct vlr_instance *vlr_alloc(void *ctx, const struct vlr_ops *ops) OSMO_ASSERT(ops->tx_common_id); OSMO_ASSERT(ops->subscr_update); OSMO_ASSERT(ops->subscr_assoc); + OSMO_ASSERT(ops->forward_gsup_msg); INIT_LLIST_HEAD(&vlr->subscribers); INIT_LLIST_HEAD(&vlr->operations); |