This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
dexter gerrit-no-reply at lists.osmocom.org
Review at https://gerrit.osmocom.org/3104
simple-client/server: Let user decide on which ss7 instance to bind
osmo_sccp_simple_client() and osmo_sccp_simple_server() are binding
on the ss7 instance with the id 1 by default. If the instance does
not exist, it is created automatically.
Allow the user to choose an ss7 instance by supplying the id number
himself. Add two new functions:
osmo_sccp_simple_client_id()
osmo_sccp_simple_server_id()
Change-Id: I62e608253212415bddbb4c7dcf5d3b5e79c8d28e
---
M include/osmocom/sigtran/osmo_ss7.h
M src/sccp_user.c
2 files changed, 36 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/04/3104/1
diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h
index caf12f5..cd9dc33 100644
--- a/include/osmocom/sigtran/osmo_ss7.h
+++ b/include/osmocom/sigtran/osmo_ss7.h
@@ -439,11 +439,21 @@
const char *local_ip, int remote_port, const char *remote_ip);
struct osmo_sccp_instance *
+osmo_sccp_simple_client_id(void *ctx, uint32_t ss7_id, const char *name, uint32_t pc,
+ enum osmo_ss7_asp_protocol prot, int local_port,
+ const char *local_ip, int remote_port, const char *remote_ip);
+
+struct osmo_sccp_instance *
osmo_sccp_simple_server(void *ctx, uint32_t pc,
enum osmo_ss7_asp_protocol prot, int local_port,
const char *local_ip);
struct osmo_sccp_instance *
+osmo_sccp_simple_server_id(void *ctx, uint32_t ss7_id, uint32_t pc,
+ enum osmo_ss7_asp_protocol prot, int local_port,
+ const char *local_ip);
+
+struct osmo_sccp_instance *
osmo_sccp_simple_server_add_clnt(struct osmo_sccp_instance *inst,
enum osmo_ss7_asp_protocol prot,
const char *name, uint32_t pc,
diff --git a/src/sccp_user.c b/src/sccp_user.c
index 93b03f6..08709cd 100644
--- a/src/sccp_user.c
+++ b/src/sccp_user.c
@@ -236,9 +236,9 @@
***********************************************************************/
struct osmo_sccp_instance *
-osmo_sccp_simple_client(void *ctx, const char *name, uint32_t pc,
- enum osmo_ss7_asp_protocol prot, int local_port,
- const char *local_ip, int remote_port, const char *remote_ip)
+osmo_sccp_simple_client_id(void *ctx, uint32_t ss7_id, const char *name, uint32_t pc,
+ enum osmo_ss7_asp_protocol prot, int local_port,
+ const char *local_ip, int remote_port, const char *remote_ip)
{
struct osmo_ss7_instance *ss7;
struct osmo_ss7_as *as;
@@ -252,7 +252,7 @@
local_port = osmo_ss7_asp_protocol_port(prot);
/* allocate + initialize SS7 instance */
- ss7 = osmo_ss7_instance_find_or_create(ctx, 1);
+ ss7 = osmo_ss7_instance_find_or_create(ctx, ss7_id);
if (!ss7) {
LOGP(DLSCCP, LOGL_ERROR, "Failed to find or create SS7 instance\n");
return NULL;
@@ -309,14 +309,23 @@
return NULL;
}
+struct osmo_sccp_instance *
+osmo_sccp_simple_client(void *ctx, const char *name, uint32_t pc,
+ enum osmo_ss7_asp_protocol prot, int local_port,
+ const char *local_ip, int remote_port, const char *remote_ip)
+{
+ return osmo_sccp_simple_client_id(ctx, 1, name, pc, prot, local_port,
+ local_ip, remote_port, remote_ip);
+}
+
/***********************************************************************
* Convenience function for SERVER
***********************************************************************/
struct osmo_sccp_instance *
-osmo_sccp_simple_server(void *ctx, uint32_t pc,
- enum osmo_ss7_asp_protocol prot, int local_port,
- const char *local_ip)
+osmo_sccp_simple_server_id(void *ctx, uint32_t ss7_id, uint32_t pc,
+ enum osmo_ss7_asp_protocol prot, int local_port,
+ const char *local_ip)
{
struct osmo_ss7_instance *ss7;
struct osmo_xua_server *xs;
@@ -325,7 +334,7 @@
local_port = osmo_ss7_asp_protocol_port(prot);
/* allocate + initialize SS7 instance */
- ss7 = osmo_ss7_instance_find_or_create(ctx, 1);
+ ss7 = osmo_ss7_instance_find_or_create(ctx, ss7_id);
if (!ss7)
return NULL;
ss7->cfg.primary_pc = pc;
@@ -350,6 +359,15 @@
}
struct osmo_sccp_instance *
+osmo_sccp_simple_server(void *ctx, uint32_t pc,
+ enum osmo_ss7_asp_protocol prot, int local_port,
+ const char *local_ip)
+{
+ return osmo_sccp_simple_server_id(ctx, 1, pc, prot,
+ local_port, local_ip);
+}
+
+struct osmo_sccp_instance *
osmo_sccp_simple_server_add_clnt(struct osmo_sccp_instance *inst,
enum osmo_ss7_asp_protocol prot,
const char *name, uint32_t pc,
--
To view, visit https://gerrit.osmocom.org/3104
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I62e608253212415bddbb4c7dcf5d3b5e79c8d28e
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Owner: dexter <pmaier at sysmocom.de>