blob: bd8b06398b9c05fb5bd1abaf4898f67b27176f50 [file] [log] [blame]
Philipp Maier39f62bb2017-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 Hofmeyrc0164792017-09-04 15:15:32 +020023#include <osmocom/bsc/gsm_data.h>
24#include <osmocom/bsc/bsc_msc_data.h>
Philipp Maier39f62bb2017-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 */
Harald Welte519c7e12018-01-28 02:45:46 +010031int osmo_bsc_sigtran_open_conn(struct gsm_subscriber_connection *conn, struct msgb *msg);
Philipp Maier39f62bb2017-04-09 12:32:51 +020032
33/* Send data to MSC */
Harald Welte519c7e12018-01-28 02:45:46 +010034int osmo_bsc_sigtran_send(struct gsm_subscriber_connection *conn, struct msgb *msg);
Philipp Maier39f62bb2017-04-09 12:32:51 +020035
Philipp Maier39f62bb2017-04-09 12:32:51 +020036/* Initalize osmo sigtran backhaul */
37int osmo_bsc_sigtran_init(struct llist_head *mscs);
38
39/* Close all open sigtran connections and channels */
40void osmo_bsc_sigtran_reset(const struct bsc_msc_data *msc);
41
42/* Send reset-ack to MSC */
43void osmo_bsc_sigtran_tx_reset_ack(const struct bsc_msc_data *msc);
Harald Welte68e4be92018-05-26 22:42:29 +020044
45/* receive + process a CTRL command from the piggy-back on the IPA/SCCPlite link */
46int bsc_sccplite_rx_ctrl(struct osmo_ss7_asp *asp, struct msgb *msg);