blob: 8215ca736378bfaf4bdcfd4925d96a24fd2a502c [file] [log] [blame]
Harald Welte6eafe912009-10-16 08:32:58 +02001#ifndef _GSM_04_80_H
2#define _GSM_04_80_H
3
Harald Weltedfe6c7d2010-02-20 16:24:02 +01004#include <osmocore/msgb.h>
Harald Welte13f52972010-02-20 18:56:00 +01005#include <osmocore/protocol/gsm_04_80.h>
Harald Welte6eafe912009-10-16 08:32:58 +02006
Mike Haben2449b372009-10-26 20:36:34 +01007#define MAX_LEN_USSD_STRING 31
8
Holger Hans Peter Freytherd42c3f22010-06-17 17:35:57 +08009struct gsm_subscriber_connection;
10
Mike Habendc329a62009-10-22 09:56:44 +020011struct ussd_request {
Mike Haben2449b372009-10-26 20:36:34 +010012 char text[MAX_LEN_USSD_STRING + 1];
Mike Habendc329a62009-10-22 09:56:44 +020013 u_int8_t transaction_id;
14 u_int8_t invoke_id;
15};
16
Mike Haben2449b372009-10-26 20:36:34 +010017int gsm0480_decode_ussd_request(const struct msgb *msg,
Mike Habendc329a62009-10-22 09:56:44 +020018 struct ussd_request *request);
Holger Hans Peter Freytherd42c3f22010-06-17 17:35:57 +080019int gsm0480_send_ussd_response(struct gsm_subscriber_connection *conn,
20 const struct msgb *in_msg, const char* response_text,
21 const struct ussd_request *req);
22int gsm0480_send_ussd_reject(struct gsm_subscriber_connection *conn,
23 const struct msgb *msg,
24 const struct ussd_request *request);
Harald Welte6eafe912009-10-16 08:32:58 +020025
Holger Hans Peter Freyther80dfa752010-07-26 17:59:28 +080026struct msgb *gsm0480_create_notifySS(const char *text);
Holger Hans Peter Freyther15ef17e2010-07-26 18:34:27 +080027struct msgb *gsm0480_create_unstructuredSS_Notify(const char *text);
Holger Hans Peter Freytherb02c89e2010-07-26 19:05:56 +080028
Holger Hans Peter Freyther6a4b3622010-07-26 03:41:11 +080029int gsm0480_wrap_invoke(struct msgb *msg, int op, int link_id);
Holger Hans Peter Freytherb02c89e2010-07-26 19:05:56 +080030int gsm0480_wrap_facility(struct msgb *msg);
Holger Hans Peter Freyther680833e2010-07-25 18:08:53 +080031
Holger Hans Peter Freytherdaf75342010-07-26 20:01:07 +080032int gsm0480_send_ussdNotify(struct gsm_subscriber_connection *conn, const char *text);
33
Harald Welte6eafe912009-10-16 08:32:58 +020034#endif