diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-05-30 15:04:56 +0200 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2017-03-16 15:32:31 +0100 |
commit | 1730487d54c93aea175305c0fe7d038761d2a207 (patch) | |
tree | 932ce54b93e879c27ab4569fd2fcfde82bd41b25 /openbsc/src/libmsc/gsm_04_08.c | |
parent | 5a53de7a08b35334a60c5ab14f7849cc1823a265 (diff) |
complete IuCS paging implementation
Add paging timeout to struct gsm_subscriber. Previously, paging timeout was
implemented only on BSC level, where each request has its own timeout value.
The MSC will still send individual requests to BSC or RNC level, where they
timeout individually. However, the MSC must also have an own timeout to be sure
to discard stale pagings that the BSC or RNC never replied for.
Add handle_paging_resp(), copying the few libmsc relevant parts of
gsm48_handle_paging_resp().
Diffstat (limited to 'openbsc/src/libmsc/gsm_04_08.c')
-rw-r--r-- | openbsc/src/libmsc/gsm_04_08.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/openbsc/src/libmsc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c index cf16fcc35..31633f131 100644 --- a/openbsc/src/libmsc/gsm_04_08.c +++ b/openbsc/src/libmsc/gsm_04_08.c @@ -1157,7 +1157,7 @@ static int gsm48_rx_rr_pag_resp(struct gsm_subscriber_connection *conn, struct m classmark_is_r99(&conn->classmark), conn->via_ran == RAN_UTRAN_IU); - return rc; + return 0; } static int gsm48_rx_rr_app_info(struct gsm_subscriber_connection *conn, struct msgb *msg) @@ -3440,13 +3440,11 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg) trans_free(trans); return 0; } - /* store setup informations until paging was successfull */ + /* store setup information until paging succeeds */ memcpy(&trans->cc.msg, data, sizeof(struct gsm_mncc)); /* Request a channel */ - trans->paging_request = subscr_request_channel( - vsub, - RSL_CHANNEED_TCH_F, + trans->paging_request = subscr_request_conn(subscr, setup_trig_pag_evt, trans); if (!trans->paging_request) { |