blob: b5ab1c6ea55d2db57348778369a051f2a7a0fa99 [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
Mike Habendc329a62009-10-22 09:56:44 +02009struct ussd_request {
Mike Haben2449b372009-10-26 20:36:34 +010010 char text[MAX_LEN_USSD_STRING + 1];
Mike Habendc329a62009-10-22 09:56:44 +020011 u_int8_t transaction_id;
12 u_int8_t invoke_id;
13};
14
Mike Haben2449b372009-10-26 20:36:34 +010015int gsm0480_decode_ussd_request(const struct msgb *msg,
Mike Habendc329a62009-10-22 09:56:44 +020016 struct ussd_request *request);
Mike Haben2449b372009-10-26 20:36:34 +010017int gsm0480_send_ussd_response(const struct msgb *in_msg, const char* response_text,
Mike Habendc329a62009-10-22 09:56:44 +020018 const struct ussd_request *req);
Mike Haben2449b372009-10-26 20:36:34 +010019int gsm0480_send_ussd_reject(const struct msgb *msg,
Mike Habendc329a62009-10-22 09:56:44 +020020 const struct ussd_request *request);
Harald Welte6eafe912009-10-16 08:32:58 +020021
22#endif