Holger Hans Peter Freyther | 4f448c9 | 2010-07-05 16:02:04 +0800 | [diff] [blame] | 1 | /* OpenBSC BSC code */ |
| 2 | |
| 3 | #ifndef OSMO_BSC_H |
| 4 | #define OSMO_BSC_H |
| 5 | |
| 6 | #include "bsc_api.h" |
| 7 | |
Holger Hans Peter Freyther | b8781d2 | 2010-11-06 18:08:43 +0100 | [diff] [blame] | 8 | struct sccp_connection; |
Holger Hans Peter Freyther | 4cdb050 | 2011-06-04 14:51:51 +0200 | [diff] [blame] | 9 | struct osmo_msc_data; |
| 10 | struct bsc_msc_connection; |
Holger Hans Peter Freyther | b8781d2 | 2010-11-06 18:08:43 +0100 | [diff] [blame] | 11 | |
Holger Hans Peter Freyther | d65305f | 2010-11-05 11:31:08 +0100 | [diff] [blame] | 12 | struct osmo_bsc_sccp_con { |
Holger Hans Peter Freyther | b8781d2 | 2010-11-06 18:08:43 +0100 | [diff] [blame] | 13 | struct llist_head entry; |
| 14 | |
Holger Hans Peter Freyther | fae3c65 | 2010-11-10 09:44:34 +0100 | [diff] [blame] | 15 | int ciphering_handled; |
Holger Hans Peter Freyther | 50c579b | 2010-11-10 10:07:30 +0100 | [diff] [blame] | 16 | int rtp_port; |
Holger Hans Peter Freyther | fae3c65 | 2010-11-10 09:44:34 +0100 | [diff] [blame] | 17 | |
Holger Hans Peter Freyther | b8781d2 | 2010-11-06 18:08:43 +0100 | [diff] [blame] | 18 | /* SCCP connection realted */ |
| 19 | struct sccp_connection *sccp; |
Holger Hans Peter Freyther | 4cdb050 | 2011-06-04 14:51:51 +0200 | [diff] [blame] | 20 | struct osmo_msc_data *msc; |
Pablo Neira Ayuso | bf540cb | 2011-05-06 12:11:06 +0200 | [diff] [blame] | 21 | struct osmo_timer_list sccp_it_timeout; |
| 22 | struct osmo_timer_list sccp_cc_timeout; |
Holger Hans Peter Freyther | b8781d2 | 2010-11-06 18:08:43 +0100 | [diff] [blame] | 23 | |
Holger Hans Peter Freyther | b4e72f8 | 2010-11-15 10:31:53 +0100 | [diff] [blame] | 24 | struct llist_head sccp_queue; |
| 25 | unsigned int sccp_queue_size; |
| 26 | |
Holger Hans Peter Freyther | 7e90108 | 2010-11-06 20:15:17 +0100 | [diff] [blame] | 27 | struct gsm_subscriber_connection *conn; |
Holger Hans Peter Freyther | d65305f | 2010-11-05 11:31:08 +0100 | [diff] [blame] | 28 | uint8_t new_subscriber; |
| 29 | }; |
| 30 | |
Holger Hans Peter Freyther | 4f448c9 | 2010-07-05 16:02:04 +0800 | [diff] [blame] | 31 | struct bsc_api *osmo_bsc_api(); |
| 32 | |
Holger Hans Peter Freyther | 863a55d | 2010-11-10 09:31:41 +0100 | [diff] [blame] | 33 | int bsc_queue_for_msc(struct osmo_bsc_sccp_con *conn, struct msgb *msg); |
Holger Hans Peter Freyther | 7e90108 | 2010-11-06 20:15:17 +0100 | [diff] [blame] | 34 | int bsc_open_connection(struct osmo_bsc_sccp_con *sccp, struct msgb *msg); |
Holger Hans Peter Freyther | 9b17c76 | 2010-11-05 19:48:47 +0100 | [diff] [blame] | 35 | int bsc_create_new_connection(struct gsm_subscriber_connection *conn); |
Holger Hans Peter Freyther | 7e90108 | 2010-11-06 20:15:17 +0100 | [diff] [blame] | 36 | int bsc_delete_connection(struct osmo_bsc_sccp_con *sccp); |
Holger Hans Peter Freyther | 4582586 | 2010-11-04 11:48:49 +0100 | [diff] [blame] | 37 | |
Holger Hans Peter Freyther | 5bb874d | 2010-11-05 11:21:18 +0100 | [diff] [blame] | 38 | int bsc_scan_bts_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); |
Holger Hans Peter Freyther | a54732d | 2010-11-05 18:11:19 +0100 | [diff] [blame] | 39 | int bsc_scan_msc_msg(struct gsm_subscriber_connection *conn, struct msgb *msg); |
Holger Hans Peter Freyther | 5bb874d | 2010-11-05 11:21:18 +0100 | [diff] [blame] | 40 | |
Holger Hans Peter Freyther | 3485feb | 2010-11-09 23:28:33 +0100 | [diff] [blame] | 41 | int bsc_handle_udt(struct gsm_network *net, struct bsc_msc_connection *conn, struct msgb *msg, unsigned int length); |
| 42 | int bsc_handle_dt1(struct osmo_bsc_sccp_con *conn, struct msgb *msg, unsigned int len); |
| 43 | |
Daniel Willmann | 5e95f45 | 2011-08-05 12:22:35 +0200 | [diff] [blame^] | 44 | int bsc_ctrl_cmds_install(); |
Holger Hans Peter Freyther | 00f4cc2 | 2010-11-06 23:50:06 +0100 | [diff] [blame] | 45 | |
Holger Hans Peter Freyther | 4f448c9 | 2010-07-05 16:02:04 +0800 | [diff] [blame] | 46 | #endif |