diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-06-16 20:21:10 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-07-30 14:53:13 +0000 |
commit | bb77939a86260fcd0c6e2c15b5c6f06df8a0b9fe (patch) | |
tree | bb05e9a1d093fd38dc589fc6dd7b89b288c7aab1 /src/hlr_ussd.h | |
parent | 4956ae1f7074aca8b9c45dfd29bd6e3bc36c65ae (diff) |
USSD: Add basic dispatch + decode of GSUP-encapsulated SS/USSD
We don't want any SS session to run for more than 30s. The timeout
is currently not refreshed.
If we need more comprehensive timeout handling, using osmo_fsm for SS
sessions might make sense.
Change-Id: I5c9fb6b619402d2a23fea9db99590143d85ac11a
Diffstat (limited to 'src/hlr_ussd.h')
-rw-r--r-- | src/hlr_ussd.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/hlr_ussd.h b/src/hlr_ussd.h index 05d2099..433a7f2 100644 --- a/src/hlr_ussd.h +++ b/src/hlr_ussd.h @@ -1,5 +1,9 @@ #include <stdint.h> #include <osmocom/core/linuxlist.h> +#include <osmocom/gsm/gsup.h> +#include "gsup_server.h" + +struct osmo_gsup_conn; struct hlr_euse_route { /* hlr_euse.routes */ @@ -18,6 +22,9 @@ struct hlr_euse { const char *description; /* list of hlr_euse_route */ struct llist_head routes; + + /* GSUP connection to the EUSE, if any */ + struct osmo_gsup_conn *conn; }; @@ -28,3 +35,6 @@ void euse_del(struct hlr_euse *euse); struct hlr_euse_route *euse_route_find(struct hlr_euse *euse, const char *prefix); struct hlr_euse_route *euse_route_prefix_alloc(struct hlr_euse *euse, const char *prefix); void euse_route_del(struct hlr_euse_route *rt); + +int rx_proc_ss_req(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup); +int rx_proc_ss_error(struct osmo_gsup_conn *conn, const struct osmo_gsup_message *gsup); |