diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2009-08-01 07:30:25 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2009-11-20 17:35:45 +0100 |
commit | d954dcf9e1178b3f8709831fba47bb54141f486b (patch) | |
tree | 108215c82827d6217050657ab02dd58f0d484b2a /openbsc/include/openbsc/gsm_data.h | |
parent | adb8bcea5f0a5f34b5742df124b2a9de1cba602a (diff) |
[bsc_msc_ip] This is a BSC that connects to real MSC via IP
This is a BSC to be used by on-waves.com to connect to a real
MSC using SCCP over IP.
The following messages and features are currently implemented:
- IPA identity ack's
- COMPLETE LAYER3 INFORMATION
- DTAP
- PAGING COMMAND
- CLEAR COMPLETE/CLEAR REQUEST
- CIPHER MODE COMMAND/ REJECT /COMPLETE
It comes with a tool to create the enum's from the spec and
a very simple test server to do the handshaking.
Diffstat (limited to 'openbsc/include/openbsc/gsm_data.h')
-rw-r--r-- | openbsc/include/openbsc/gsm_data.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h index 0ac8674fd..8a9446a5e 100644 --- a/openbsc/include/openbsc/gsm_data.h +++ b/openbsc/include/openbsc/gsm_data.h @@ -110,11 +110,25 @@ struct gsm_bts_link { struct gsm_bts *bts; }; +struct sccp_connection; struct gsm_lchan; struct gsm_subscriber; struct gsm_mncc; struct rtp_socket; +/* BSC/MSC data holding them together */ +struct bss_sccp_connection_data { + struct gsm_lchan *lchan; + struct sccp_connection *sccp; + int ciphering_handled : 1; +}; + +#define sccp_get_lchan(data_ctx) ((struct bss_sccp_connection_data *)data_ctx)->lchan +#define lchan_get_sccp(lchan) lchan->msc_data->sccp +struct bss_sccp_connection_data *bss_sccp_create_data(); +void bss_sccp_free_data(struct bss_sccp_connection_data *); + + /* Network Management State */ struct gsm_nm_state { u_int8_t operational; @@ -183,6 +197,12 @@ struct gsm_lchan { */ struct gsm_loc_updating_operation *loc_operation; + /* + * MSC handling... + */ + struct bss_sccp_connection_data *msc_data; + + /* use count. how many users use this channel */ unsigned int use_count; }; |