diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2018-06-21 17:55:56 +0700 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-07-22 10:55:21 +0200 |
commit | 3dd05659620add246fd785dbd894a1227527fbb7 (patch) | |
tree | 604c555e33f6e3321f7e3686eb673bcff257973f | |
parent | 54593c4d1fb273cca6b0f2d7fe07854c34530adc (diff) |
libmsc/gsm_09_11.c: properly handle MS-initiated release
According to GSM TS 02.90, section 4.3, release of the connection
used for SS/USSD is normally the responsibility of the network.
But the user may also initiate connection release, e.g. by
pressing the 'red button'.
TTCN-3 test case: I7936ed5072ed2ae02f039dc90a1fece1e7f70a70
Change-Id: I76fc277bf9db614a97824b1541cd5bb75aa3e29d
-rw-r--r-- | src/libmsc/gsm_09_11.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 9423ec732..96acd8c4a 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -179,8 +179,11 @@ int gsm0911_rcv_nc_ss(struct gsm_subscriber_connection *conn, struct msgb *msg) goto error; } - /* Don't release connection, wait for response */ - msc_subscr_conn_communicating(conn); + /* Should we release connection? Or wait for response? */ + if (msg_type == GSM0480_MTYPE_RELEASE_COMPLETE) + trans_free(trans); + else + msc_subscr_conn_communicating(conn); return 0; |