nat: Find a connection by the real ref

This commit is contained in:
Holger Hans Peter Freyther 2010-10-16 16:35:00 +02:00
parent f961de1108
commit 3d38742d1c
2 changed files with 15 additions and 0 deletions

View File

@ -38,6 +38,7 @@
#define DIR_BSC 1
#define DIR_MSC 2
struct sccp_source_reference;
struct sccp_connections;
struct bsc_nat_parsed;
struct bsc_nat;
@ -276,6 +277,7 @@ int update_sccp_src_ref(struct sccp_connections *sccp, struct bsc_nat_parsed *pa
void remove_sccp_src_ref(struct bsc_connection *bsc, struct msgb *msg, struct bsc_nat_parsed *parsed);
struct sccp_connections *patch_sccp_src_ref_to_bsc(struct msgb *, struct bsc_nat_parsed *, struct bsc_nat *);
struct sccp_connections *patch_sccp_src_ref_to_msc(struct msgb *, struct bsc_nat_parsed *, struct bsc_connection *);
struct sccp_connections *bsc_nat_find_con_by_bsc(struct bsc_nat *, struct sccp_source_reference *);
/**
* MGCP/Audio handling

View File

@ -235,3 +235,16 @@ struct sccp_connections *patch_sccp_src_ref_to_msc(struct msgb *msg,
return NULL;
}
struct sccp_connections *bsc_nat_find_con_by_bsc(struct bsc_nat *nat,
struct sccp_source_reference *ref)
{
struct sccp_connections *conn;
llist_for_each_entry(conn, &nat->sccp_connections, list_entry) {
if (memcmp(ref, &conn->real_ref, sizeof(*ref)) == 0)
return conn;
}
return NULL;
}