diff options
-rw-r--r-- | include/osmocom/sigtran/sccp_sap.h | 2 | ||||
-rw-r--r-- | src/sccp_user.c | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/osmocom/sigtran/sccp_sap.h b/include/osmocom/sigtran/sccp_sap.h index 9d285eb..e012635 100644 --- a/include/osmocom/sigtran/sccp_sap.h +++ b/include/osmocom/sigtran/sccp_sap.h @@ -261,6 +261,8 @@ osmo_sccp_user_bind_pc(struct osmo_sccp_instance *inst, const char *name, struct osmo_sccp_user * osmo_sccp_user_bind(struct osmo_sccp_instance *inst, const char *name, osmo_prim_cb prim_cb, uint16_t ssn); +struct osmo_sccp_user * +osmo_sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc); int osmo_sccp_user_sap_down(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph); int osmo_sccp_user_sap_down_nofree(struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph); diff --git a/src/sccp_user.c b/src/sccp_user.c index d85fc1d..a36ac93 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -39,6 +39,8 @@ #include "xua_internal.h" /*! \brief Find a SCCP User registered for given PC+SSN or SSN only + * First search all users with a valid PC for a full PC+SSN match. + * If no such match was found, search all users with an invalid PC for an SSN-only match. * \param[in] inst SCCP Instance in which to search * \param[in] ssn Sub-System Number to search for * \param[in] pc Point Code to search for @@ -63,6 +65,20 @@ sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc) return NULL; } +/*! Find a SCCP User registered for given PC+SSN or SSN only. + * First search all users with a valid PC for a full PC+SSN match. + * If no match was found, search all users with an invalid PC for an SSN-only match. + * \param[in] inst SCCP Instance in which to search. + * \param[in] ssn Sub-System Number to search for. + * \param[in] pc Point Code to search for. + * \returns Matching SCCP User; NULL if none found. + */ +struct osmo_sccp_user * +osmo_sccp_user_find(struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc) +{ + return sccp_user_find(inst, ssn, pc); +} + /*! \brief Bind a SCCP User to a given Point Code * \param[in] inst SCCP Instance * \param[in] name human-readable name |