nat: Return the newest SCCP connection...

In case we have a stale SCCP connection with an Endpoint that
we want to reassign...use the newest (last) occurence of that
as it is most likely the one we want to handle.
This commit is contained in:
Holger Hans Peter Freyther 2010-04-18 02:14:45 +08:00
parent 3d0049f4a0
commit eb52e89c3a
1 changed files with 5 additions and 1 deletions

View File

@ -94,6 +94,7 @@ void bsc_mgcp_free_endpoints(struct bsc_nat *nat)
struct bsc_connection *bsc_mgcp_find_con(struct bsc_nat *nat, int endpoint)
{
struct bsc_connection *bsc = NULL;
struct sccp_connections *sccp;
llist_for_each_entry(sccp, &nat->sccp_connections, list_entry) {
@ -102,9 +103,12 @@ struct bsc_connection *bsc_mgcp_find_con(struct bsc_nat *nat, int endpoint)
if (mgcp_timeslot_to_endpoint(0, sccp->msc_timeslot) != endpoint)
continue;
return sccp->bsc;
bsc = sccp->bsc;
}
if (bsc)
return bsc;
LOGP(DMGCP, LOGL_ERROR, "Failed to find the connection.\n");
return NULL;
}