aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-08-05 10:47:40 +0000
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-08-08 07:22:55 +0800
commit20f3d21665539a9bac4290a0595393264db40829 (patch)
tree6d758cc64bb51b8c99ac88726cc037c579d81971
parent889fd79511fccf9325cfad0afeae8e9d97981717 (diff)
mgcp: Only discover the bts once, the extra check got lost
-rw-r--r--openbsc/src/mgcp/mgcp_network.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/openbsc/src/mgcp/mgcp_network.c b/openbsc/src/mgcp/mgcp_network.c
index 81600b7f3..b7f4ee1ac 100644
--- a/openbsc/src/mgcp/mgcp_network.c
+++ b/openbsc/src/mgcp/mgcp_network.c
@@ -271,9 +271,9 @@ static int rtp_data_bts(struct bsc_fd *fd, unsigned int what)
/* We have no idea who called us, maybe it is the BTS. */
/* it was the BTS... */
- if (!cfg->bts_ip
- || memcmp(&addr.sin_addr, &cfg->bts_in, sizeof(cfg->bts_in)) == 0
- || memcmp(&addr.sin_addr, &endp->bts_end.addr, sizeof(endp->bts_end.addr)) == 0) {
+ if (endp->bts_end.rtp_port == 0 && (!cfg->bts_ip
+ || memcmp(&addr.sin_addr, &cfg->bts_in, sizeof(cfg->bts_in)) == 0
+ || memcmp(&addr.sin_addr, &endp->bts_end.addr, sizeof(endp->bts_end.addr)) == 0)) {
if (proto == PROTO_RTP)
endp->bts_end.rtp_port = addr.sin_port;
else