blob: 7015edbc46e6034f21c989ecfcc8fc09c35cc3d3 [file] [log] [blame]
Philipp Maierfbf66102017-04-09 12:32:51 +02001/* (C) 2017 by Sysmocom s.f.m.c. GmbH
2 * All Rights Reserved
3 *
4 * Author: Philipp Maier
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU Affero General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
15 *
16 * You should have received a copy of the GNU Affero General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 *
19 */
20
21#pragma once
22
Neels Hofmeyr90843962017-09-04 15:04:35 +020023#include <osmocom/msc/gsm_data.h>
24#include <osmocom/msc/bsc_msc_data.h>
Philipp Maierfbf66102017-04-09 12:32:51 +020025
26/* Allocate resources to make a new connection oriented sigtran connection
27 * (not the connection ittself!) */
28enum bsc_con osmo_bsc_sigtran_new_conn(struct gsm_subscriber_connection *conn, struct bsc_msc_data *msc);
29
30/* Open a new connection oriented sigtran connection */
31int osmo_bsc_sigtran_open_conn(const struct osmo_bsc_sccp_con *conn, struct msgb *msg);
32
33/* Send data to MSC */
34int osmo_bsc_sigtran_send(const struct osmo_bsc_sccp_con *conn, struct msgb *msg);
35
36/* Delete a connection from the list with open connections
37 * (called by osmo_bsc_api.c on failing open connections and
38 * locally, when a connection is closed by the MSC */
39int osmo_bsc_sigtran_del_conn(struct osmo_bsc_sccp_con *sccp);
40
41/* Initalize osmo sigtran backhaul */
42int osmo_bsc_sigtran_init(struct llist_head *mscs);
43
44/* Close all open sigtran connections and channels */
45void osmo_bsc_sigtran_reset(const struct bsc_msc_data *msc);
46
47/* Send reset-ack to MSC */
48void osmo_bsc_sigtran_tx_reset_ack(const struct bsc_msc_data *msc);