diff options
Diffstat (limited to 'openbsc/include/openbsc')
-rw-r--r-- | openbsc/include/openbsc/bsc_msc.h | 16 | ||||
-rw-r--r-- | openbsc/include/openbsc/bsc_nat.h | 8 | ||||
-rw-r--r-- | openbsc/include/openbsc/osmo_msc_data.h | 6 |
3 files changed, 19 insertions, 11 deletions
diff --git a/openbsc/include/openbsc/bsc_msc.h b/openbsc/include/openbsc/bsc_msc.h index ddaad3ba7..e3653ac12 100644 --- a/openbsc/include/openbsc/bsc_msc.h +++ b/openbsc/include/openbsc/bsc_msc.h @@ -25,14 +25,22 @@ #include <osmocom/core/write_queue.h> #include <osmocom/core/timer.h> +struct bsc_msc_dest { + struct llist_head list; + + char *ip; + int port; + int dscp; +}; + + struct bsc_msc_connection { struct write_queue write_queue; int is_connected; int is_authenticated; int first_contact; - const char *ip; - int port; - int prio; + + struct llist_head *dests; void (*connection_loss) (struct bsc_msc_connection *); void (*connected) (struct bsc_msc_connection *); @@ -40,7 +48,7 @@ struct bsc_msc_connection { struct timer_list timeout_timer; }; -struct bsc_msc_connection *bsc_msc_create(const char *ip, int port, int prio); +struct bsc_msc_connection *bsc_msc_create(void *ctx, struct llist_head *dest); int bsc_msc_connect(struct bsc_msc_connection *); void bsc_msc_schedule_connect(struct bsc_msc_connection *); diff --git a/openbsc/include/openbsc/bsc_nat.h b/openbsc/include/openbsc/bsc_nat.h index 8d552e254..8fbed5be7 100644 --- a/openbsc/include/openbsc/bsc_nat.h +++ b/openbsc/include/openbsc/bsc_nat.h @@ -1,6 +1,6 @@ /* - * (C) 2010 by Holger Hans Peter Freyther <zecke@selfish.org> - * (C) 2010 by On-Waves + * (C) 2010-2011 by Holger Hans Peter Freyther <zecke@selfish.org> + * (C) 2010-2011 by On-Waves * All Rights Reserved * * This program is free software; you can redistribute it and/or modify @@ -236,8 +236,8 @@ struct bsc_nat { int mgcp_length; /* msc things */ - char *msc_ip; - int msc_port; + struct llist_head dests; + struct bsc_msc_dest *main_dest; struct bsc_msc_connection *msc_con; char *token; diff --git a/openbsc/include/openbsc/osmo_msc_data.h b/openbsc/include/openbsc/osmo_msc_data.h index a35e6f244..f360da584 100644 --- a/openbsc/include/openbsc/osmo_msc_data.h +++ b/openbsc/include/openbsc/osmo_msc_data.h @@ -41,9 +41,6 @@ struct osmo_msc_data { /* Connection data */ char *bsc_token; - int msc_port; - int msc_ip_dscp; - char *msc_ip; int ping_timeout; int pong_timeout; struct timer_list ping_timer; @@ -57,6 +54,9 @@ struct osmo_msc_data { struct gsm_audio_support **audio_support; int audio_length; + /* destinations */ + struct llist_head dests; + /* mgcp agent */ struct write_queue mgcp_agent; |