diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2020-05-14 17:45:29 +0200 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2020-06-03 17:30:07 +0200 |
commit | 6109f1015b06ed0bbfa2648c8cc1e463457b9e4f (patch) | |
tree | ade3e303ad35be8a5b1c4f8c2bea87a898bb5b62 | |
parent | d3cb71b5510476f6f8aed1b3e9e5585dac317b5e (diff) |
create only one SCCP user per SCCP instance
Depends: I9ecbab16b45268f626950303d6ff8296dd6acda0 (libosmo-sccp)
Change-Id: I6a2710edeb9ba047ae70e6b49d4c2e5f06d41a4e
-rw-r--r-- | src/osmo-bsc/osmo_bsc_sigtran.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index cbf0fec1a..f5489e421 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -547,8 +547,12 @@ int osmo_bsc_sigtran_init(struct llist_head *mscs) LOGP(DMSC, LOGL_NOTICE, "(%s) A-interface: remote (MSC) SCCP address: %s\n", msc_name, osmo_sccp_inst_addr_name(msc->a.sccp, &msc->a.msc_addr)); - /* Bind SCCP user */ - msc->a.sccp_user = osmo_sccp_user_bind(msc->a.sccp, msc_name, sccp_sap_up, msc->a.bsc_addr.ssn); + /* Bind SCCP user. Bind only one user per sccp_instance. */ + msc->a.sccp_user = osmo_sccp_user_find(msc->a.sccp, msc->a.bsc_addr.ssn, msc->a.bsc_addr.pc); + LOGP(DMSC, LOGL_NOTICE, "(%s) A-interface: %s\n", msc_name, + msc->a.sccp_user ? "user already bound for this SCCP instance" : "binding SCCP user"); + if (!msc->a.sccp_user) + msc->a.sccp_user = osmo_sccp_user_bind(msc->a.sccp, msc_name, sccp_sap_up, msc->a.bsc_addr.ssn); if (!msc->a.sccp_user) return -EINVAL; |