diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-08-05 10:47:40 +0000 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-08-08 07:22:55 +0800 |
commit | 20f3d21665539a9bac4290a0595393264db40829 (patch) | |
tree | 6d758cc64bb51b8c99ac88726cc037c579d81971 | |
parent | 889fd79511fccf9325cfad0afeae8e9d97981717 (diff) |
mgcp: Only discover the bts once, the extra check got lost
-rw-r--r-- | openbsc/src/mgcp/mgcp_network.c | 6 |
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 |