Projects
osmocom:master
libosmo-sigtran
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 128
View file
commit_7174f1e18a0f4521af5752cb091644dd6ecfdd19.txt
Added
View file
commit_da9d4cc951fabf6f11c3df01699b729ef40848bc.txt
Deleted
View file
libosmo-sigtran_2.2.1.65.da9d.dsc -> libosmo-sigtran_2.2.1.66.7174.dsc
Changed
@@ -2,7 +2,7 @@ Source: libosmo-sigtran Binary: libosmo-sigtran12, libosmo-sigtran-dbg, libosmo-sigtran-doc, libosmo-sigtran-dev, osmo-stp, osmo-stp-dbg, osmo-stp-doc Architecture: any all -Version: 2.2.1.65.da9d +Version: 2.2.1.66.7174 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: https://projects.osmocom.org/projects/libosmo-sccp Standards-Version: 3.9.7 @@ -18,8 +18,8 @@ osmo-stp-dbg deb debug optional arch=any osmo-stp-doc deb doc optional arch=all Checksums-Sha1: - a24648b8d47b754508b8c642f1c157af46f36033 272520 libosmo-sigtran_2.2.1.65.da9d.tar.xz + d48bc874f117edf9cdb6768171dd55c388c805a4 273180 libosmo-sigtran_2.2.1.66.7174.tar.xz Checksums-Sha256: - 3f4e9da3107d11f495dc1b76da8562c2b07a29c14e913ee565a5140b6e3d2a31 272520 libosmo-sigtran_2.2.1.65.da9d.tar.xz + d60abbb17a6f89545fe7df981dae7a67ddf49da41ce18b638af504c8ad8316d4 273180 libosmo-sigtran_2.2.1.66.7174.tar.xz Files: - 9dec7a5b66f0c1e7d0fd79d5d39e8937 272520 libosmo-sigtran_2.2.1.65.da9d.tar.xz + ed2779bed79c2127f05b12666de443ea 273180 libosmo-sigtran_2.2.1.66.7174.tar.xz
View file
libosmo-sigtran_2.2.1.65.da9d.tar.xz/.tarball-version -> libosmo-sigtran_2.2.1.66.7174.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -2.2.1.65-da9d +2.2.1.66-7174
View file
libosmo-sigtran_2.2.1.65.da9d.tar.xz/debian/changelog -> libosmo-sigtran_2.2.1.66.7174.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -libosmo-sigtran (2.2.1.65.da9d) unstable; urgency=medium +libosmo-sigtran (2.2.1.66.7174) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Thu, 26 Mar 2026 21:48:41 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Thu, 26 Mar 2026 21:54:30 +0000 libosmo-sigtran (2.2.1) unstable; urgency=medium
View file
libosmo-sigtran_2.2.1.65.da9d.tar.xz/src/ss7_instance.c -> libosmo-sigtran_2.2.1.66.7174.tar.xz/src/ss7_instance.c
Changed
@@ -67,12 +67,16 @@ { .T = SS7_INST_XUA_T8, .default_val = SS7_INST_XUA_DEFAULT_T8_MSEC, .unit = OSMO_TDEF_MS, .desc = "T8 - Transfer prohibited inhibition timer (transient solution) (ms)", .min_val = 800, .max_val = 1200}, + { .T = SS7_INST_XUA_T10, .default_val = SS7_INST_XUA_DEFAULT_T10_SEC, .unit = OSMO_TDEF_S, + .desc = "T10 - Waiting to repeat signalling route set test message (s)", + .min_val = 30, .max_val = 60}, {} }; /* ITU Q.704 16.8 Timers and timer values */ const struct value_string ss7_instance_xua_timer_names = { { SS7_INST_XUA_T8, "T8" }, + { SS7_INST_XUA_T10, "T10" }, {} };
View file
libosmo-sigtran_2.2.1.65.da9d.tar.xz/src/ss7_instance.h -> libosmo-sigtran_2.2.1.66.7174.tar.xz/src/ss7_instance.h
Changed
@@ -22,6 +22,7 @@ enum ss7_instance_xua_timer { /* 0 kept unused on purpose since it's handled specially by osmo_fsm */ SS7_INST_XUA_T8 = 1, /* Q.704 T8 */ + SS7_INST_XUA_T10, /* Q.704 T10 */ /* This must remain the last item: */ SS7_INST_XUA_TIMERS_LEN }; @@ -29,6 +30,7 @@ extern const struct osmo_tdef ss7_instance_xua_timer_defaultsSS7_INST_XUA_TIMERS_LEN; /* According to SUA RFC3868 Section 8, M3UA RFC4666 Section 4.3.4.1 */ #define SS7_INST_XUA_DEFAULT_T8_MSEC 1000 +#define SS7_INST_XUA_DEFAULT_T10_SEC 45 enum ss7_instance_ctr { SS7_INST_CTR_PKT_RX_TOTAL,
View file
libosmo-sigtran_2.2.1.65.da9d.tar.xz/src/ss7_route.c -> libosmo-sigtran_2.2.1.66.7174.tar.xz/src/ss7_route.c
Changed
@@ -33,6 +33,8 @@ #include "ss7_route.h" #include "ss7_route_table.h" #include "ss7_internal.h" +#include "xua_internal.h" +#include "ss7_vty.h" /*********************************************************************** * SS7 Routes @@ -46,6 +48,57 @@ {} }; +/* Figure 46/Q.704 (sheet 1 of 3) RSRT: "Start T10" */ +static void t10_audit_timer_start(struct osmo_ss7_route *rt) +{ + unsigned int t10_sec = osmo_tdef_get(rt->rtable->inst->cfg.T_defs_xua, SS7_INST_XUA_T10, OSMO_TDEF_S, -1); + LOGPRT(rt, DLSS7, LOGL_INFO, "Start T10 (%us)\n", t10_sec); + osmo_timer_schedule(&rt->t10_audit_timer, t10_sec, 0); +} + +/* Figure 46/Q.704 (sheet 1 of 3) RSRT: "Stop T10" */ +static void t10_audit_timer_stop(struct osmo_ss7_route *rt) +{ + LOGPRT(rt, DLSS7, LOGL_INFO, "Stop T10\n"); + osmo_timer_del(&rt->t10_audit_timer); +} + +/* Figure 46/Q.704 (sheet 1 of 3) RSRT: "T10" */ +static void t10_audit_timer_cb(void *_rt) +{ + struct osmo_ss7_route *rt = _rt; + + LOGPRT(rt, DLSS7, LOGL_INFO, "T10 timeout\n"); + + /* "Signalling route set test RSRT → HMRT" */ + if (rt->dest.as) { + struct osmo_ss7_as *as = rt->dest.as; + uint32_t rctx = htonl(as->cfg.routing_key.context); + uint32_t aff_pc = htonl(rt->cfg.pc); /* mask = 0 */ + char buf_pcMAX_PC_STR_LEN; + struct ss7_as_asp_assoc *assoc; + + llist_for_each_entry(assoc, &as->assoc_asp_list, as_entry) { + struct osmo_ss7_asp *asp = assoc->asp; + + /* SSNM is only permitted for ASPs in ACTIVE state (RFC4666 4.3.1) */ + if (!osmo_ss7_asp_active(asp)) + continue; + + LOGPASP(asp, DLSS7, LOGL_INFO, "T10: Tx DAUD pc=%u=%s rtcx=%u\n", + rt->cfg.pc, + osmo_ss7_pointcode_print_buf(buf_pc, sizeof(buf_pc), asp->inst, rt->cfg.pc), + rctx); + xua_tx_snm_daud(asp, &rctx, 1, &aff_pc, 1, "T10"); + } + } else if (rt->dest.linkset) { + LOGPRT(rt, DLSS7, LOGL_INFO, "T10 on linkset route not implemented!\n"); + return; /* no need to keep printing "not implemented" repeteadly... */ + } + + t10_audit_timer_start(rt); +} + /*! \brief Allocate a route entry * \paramin rtbl Routing Table where the route belongs * \paramin pc Point Code of the destination of the route @@ -94,6 +147,9 @@ rt->cfg.pc = osmo_ss7_pc_normalize(&rtbl->inst->cfg.pc_fmt, pc); rt->cfg.priority = OSMO_SS7_ROUTE_PRIO_DEFAULT; rt->cfg.dyn_allocated = dynamic; + + osmo_timer_setup(&rt->t10_audit_timer, t10_audit_timer_cb, rt); + return rt; } @@ -240,6 +296,8 @@ "Destroying route: %s\n", osmo_ss7_route_name(rt, false)); ss7_combined_linkset_del_route(rt); } + + osmo_timer_del(&rt->t10_audit_timer); talloc_free(rt); } @@ -404,6 +462,31 @@ void ss7_route_update_route_status(struct osmo_ss7_route *rt, enum osmo_ss7_route_status status) { - LOGPRT(rt, DLSS7, LOGL_NOTICE, "changed to status '%s'\n", ss7_route_status_name(status)); + LOGPRT(rt, DLSS7, rt->status != status ? LOGL_NOTICE : LOGL_DEBUG, + "changed to status '%s'\n", ss7_route_status_name(status)); + + /* "Signalling route set test RSRT → HMRT" */ + if (rt->dest.as) { + int role = ss7_as_get_local_role(rt->dest.as); + if (role == OSMO_SS7_ASP_ROLE_ASP || + role == OSMO_SS7_ASP_ROLE_IPSP) { + /* Figure 46/Q.704 (sheet 1 of 3) - Signalling route management; signalling route set test control (RSRT) */ + if (rt->status == OSMO_SS7_ROUTE_STATUS_AVAILABLE && + status != OSMO_SS7_ROUTE_STATUS_AVAILABLE) { + /* rt becomes restricted or unavailable: + * "Transfer prohibited received", "Start route set test RTPC → RSRT" -> "Start T10". */ + unsigned int t10_sec = osmo_tdef_get(rt->rtable->inst->cfg.T_defs_xua, SS7_INST_XUA_T10, OSMO_TDEF_S, -1); + osmo_timer_schedule(&rt->t10_audit_timer, t10_sec, 0); + t10_audit_timer_start(rt); + } else if (rt->status != OSMO_SS7_ROUTE_STATUS_AVAILABLE && + status == OSMO_SS7_ROUTE_STATUS_AVAILABLE) { + /* rt becomes available, "Signalling route available RTAC → RSRT" -> "Stop T10". */ + t10_audit_timer_stop(rt); + } + } + } else if (rt->dest.linkset) { + LOGPRT(rt, DLSS7, LOGL_NOTICE, "update_route_status on linkset route not implemented!\n"); + } + rt->status = status; }
View file
libosmo-sigtran_2.2.1.65.da9d.tar.xz/src/ss7_route.h -> libosmo-sigtran_2.2.1.66.7174.tar.xz/src/ss7_route.h
Changed
@@ -34,6 +34,8 @@ struct osmo_ss7_combined_linkset *clset; enum osmo_ss7_route_status status; + /* T10: ITU Q.704 13.5.2 & rfc4666 4.5.3, ETSI TS 102 142 V1.1.1 */ + struct osmo_timer_list t10_audit_timer; struct { /*! pointer to linkset (destination) of route */
View file
libosmo-sigtran_2.2.1.65.da9d.tar.xz/tests/vty/osmo_stp_test.vty -> libosmo-sigtran_2.2.1.66.7174.tar.xz/tests/vty/osmo_stp_test.vty
Changed
@@ -132,7 +132,7 @@ no as NAME sccp-address NAME no sccp-address NAME - timer xua (T8) <1-999999> + timer xua (T8|T10) <1-999999> listen (sua|m3ua|ipa) <0-65534> (sctp|tcp) no listen (sua|m3ua|ipa) <0-65534> (sctp|tcp) route-table system
View file
libosmo-sigtran_2.2.1.65.da9d.tar.xz/tests/vty/ss7_asp_test.vty -> libosmo-sigtran_2.2.1.66.7174.tar.xz/tests/vty/ss7_asp_test.vty
Changed
@@ -130,7 +130,7 @@ no as NAME sccp-address NAME no sccp-address NAME - timer xua (T8) <1-999999> + timer xua (T8|T10) <1-999999> listen (sua|m3ua|ipa) <0-65534> (sctp|tcp) no listen (sua|m3ua|ipa) <0-65534> (sctp|tcp) sccp-timer (conn_est|ias|iar|rel|repeat_rel|int|guard|reset|reassembly) <1-999999>
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.