pespin has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/34925?usp=email )
Change subject: Use proper SCCP release cause enum value instead of hardcoded value
......................................................................
Abandoned
RE-submitted as https://gerrit.osmocom.org/c/osmo-hnbgw/+/40712
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/34925?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: abandon
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: If44e7c4a3166822d7732b7af4c136b8f97898dc0
Gerrit-Change-Number: 34925
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/40712?usp=email )
Change subject: Use proper SCCP release cause enum value instead of hardcoded value
......................................................................
Use proper SCCP release cause enum value instead of hardcoded value
There's no behavior change since the enum item has value 0.
Change-Id: I9de79db8e16cf425919b678d837b46f24ffe9bbe
---
M src/osmo-hnbgw/hnbgw_sccp.c
1 file changed, 2 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-hnbgw refs/changes/12/40712/1
diff --git a/src/osmo-hnbgw/hnbgw_sccp.c b/src/osmo-hnbgw/hnbgw_sccp.c
index 5baef06..6f01f7c 100644
--- a/src/osmo-hnbgw/hnbgw_sccp.c
+++ b/src/osmo-hnbgw/hnbgw_sccp.c
@@ -448,7 +448,8 @@
return -1;
}
- rc = osmo_sccp_tx_disconn(hsu->sccp_user, scu_conn_id, NULL, 0);
+ rc = osmo_sccp_tx_disconn(hsu->sccp_user, scu_conn_id, NULL,
+ SCCP_RELEASE_CAUSE_END_USER_ORIGINATED);
if (rc)
LOG_HSU(hsu, DCN, LOGL_ERROR, "Failed to send SCCP N-DISCONNECT.req(%u)\n", scu_conn_id);
return rc;
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/40712?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I9de79db8e16cf425919b678d837b46f24ffe9bbe
Gerrit-Change-Number: 40712
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-smlc/+/40711?usp=email )
Change subject: sccp: Handle N-NOTICE.ind (Routing Failure of SCCP CL messages)
......................................................................
sccp: Handle N-NOTICE.ind (Routing Failure of SCCP CL messages)
ITU Q.714 2.8:
"""
When an end node is informed of a routing failure, this information
is forwarded towards the SCCP user by using the N-DISCONNECT primitive
(refer to reason for release in 2.1.1.2.4/Q.711) or the N-NOTICE primitive
(refer to reason for return in 2.2.2.2.4/Q.711)
"""
We are already handling N-DISCONNECT.ind for CO messages, but
N-NOTICE.ind for CL messages was not being handled.
If CL messages are not arriving to the Lb peer, then reset the link
and mark the peer as disconnected, until a new RESET can successfully fo
through.
Related: OS#5917
Change-Id: I4bfea43a99c768162faefde06558941f697bd718
---
M src/osmo-smlc/sccp_lb_inst.c
1 file changed, 35 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-smlc refs/changes/11/40711/1
diff --git a/src/osmo-smlc/sccp_lb_inst.c b/src/osmo-smlc/sccp_lb_inst.c
index bfe8a0e..cea74bf 100644
--- a/src/osmo-smlc/sccp_lb_inst.c
+++ b/src/osmo-smlc/sccp_lb_inst.c
@@ -85,6 +85,36 @@
return sli;
}
+static void handle_notice_ind(struct sccp_lb_inst *sli, const struct osmo_scu_notice_param *ni)
+{
+ struct lb_peer *lbp;
+
+ lbp = lb_peer_find(sli, &ni->calling_addr);
+ if (!lbp) {
+ LOG_SCCP_LB(sli, LOGL_DEBUG, "(calling_addr=%s) N-NOTICE.ind cause=%u='%s' importance=%u didn't match any lb_peer, ignoring\n",
+ osmo_sccp_addr_dump(&ni->calling_addr),
+ ni->cause, osmo_sccp_return_cause_name(ni->cause),
+ ni->importance);
+ return;
+ }
+
+ LOG_LB_PEER(lbp, LOGL_NOTICE, "N-NOTICE.ind cause=%u='%s' importance=%u\n",
+ ni->cause, osmo_sccp_return_cause_name(ni->cause),
+ ni->importance);
+
+ switch (ni->cause) {
+ case SCCP_RETURN_CAUSE_SUBSYSTEM_CONGESTION:
+ case SCCP_RETURN_CAUSE_NETWORK_CONGESTION:
+ /* Transient failures (hopefully), keep going. */
+ return;
+ default:
+ break;
+ }
+
+ /* Messages are not arriving to lb_peer. Signal it is unavailable to update local state. */
+ osmo_fsm_inst_dispatch(lbp->fi, LB_PEER_EV_UNAVAILABLE, NULL);
+}
+
static void handle_pcstate_ind(struct sccp_lb_inst *sli, const struct osmo_scu_pcstate_param *pcst)
{
struct osmo_ss7_instance *cs7 = osmo_sccp_get_ss7(sli->sccp);
@@ -253,6 +283,11 @@
rc = lb_peer_up_l2(sli, peer_addr, false, 0, oph->msg);
break;
+ case OSMO_PRIM(OSMO_SCU_PRIM_N_NOTICE, PRIM_OP_INDICATION):
+ handle_notice_ind(sli, &prim->u.notice);
+ rc = 0;
+ break;
+
case OSMO_PRIM(OSMO_SCU_PRIM_N_PCSTATE, PRIM_OP_INDICATION):
handle_pcstate_ind(sli, &prim->u.pcstate);
rc = 0;
--
To view, visit https://gerrit.osmocom.org/c/osmo-smlc/+/40711?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-smlc
Gerrit-Branch: master
Gerrit-Change-Id: I4bfea43a99c768162faefde06558941f697bd718
Gerrit-Change-Number: 40711
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/40710?usp=email )
Change subject: sccp: Handle N-NOTICE.ind (Routing Failure of SCCP CL messages)
......................................................................
sccp: Handle N-NOTICE.ind (Routing Failure of SCCP CL messages)
ITU Q.714 2.8:
"""
When an end node is informed of a routing failure, this information
is forwarded towards the SCCP user by using the N-DISCONNECT primitive
(refer to reason for release in 2.1.1.2.4/Q.711) or the N-NOTICE primitive
(refer to reason for return in 2.2.2.2.4/Q.711)
"""
We are already handling N-DISCONNECT.ind for CO messages, but
N-NOTICE.ind for CL messages was not being handled.
If CL messages are not arriving to the RAN peer, then reset the link
and mark the peer as disconnected, until a new RESET can successfully fo
through.
Change-Id: Iddd10c8f97310b600374ff0141ea06e03087da8f
Related: OS#5917
---
M src/libmsc/sccp_ran.c
1 file changed, 35 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/10/40710/1
diff --git a/src/libmsc/sccp_ran.c b/src/libmsc/sccp_ran.c
index 71d250e..bc3d659 100644
--- a/src/libmsc/sccp_ran.c
+++ b/src/libmsc/sccp_ran.c
@@ -60,6 +60,36 @@
return sri;
}
+static void handle_notice_ind(struct sccp_ran_inst *sri, const struct osmo_scu_notice_param *ni)
+{
+ struct ran_peer *rp;
+
+ rp = ran_peer_find_by_addr(sri, &ni->calling_addr);
+ if (!rp) {
+ LOGP(DMSC, LOGL_DEBUG, "(calling_addr=%s) N-NOTICE.ind cause=%u='%s' importance=%u didn't match any ran_peer, ignoring\n",
+ osmo_sccp_addr_dump(&ni->calling_addr),
+ ni->cause, osmo_sccp_return_cause_name(ni->cause),
+ ni->importance);
+ return;
+ }
+
+ LOG_RAN_PEER(rp, LOGL_NOTICE, "N-NOTICE.ind cause=%u='%s' importance=%u\n",
+ ni->cause, osmo_sccp_return_cause_name(ni->cause),
+ ni->importance);
+
+ switch (ni->cause) {
+ case SCCP_RETURN_CAUSE_SUBSYSTEM_CONGESTION:
+ case SCCP_RETURN_CAUSE_NETWORK_CONGESTION:
+ /* Transient failures (hopefully), keep going. */
+ return;
+ default:
+ break;
+ }
+
+ /* Messages are not arriving to ran_peer. Signal it is unavailable to update local state. */
+ osmo_fsm_inst_dispatch(rp->fi, RAN_PEER_EV_UNAVAILABLE, NULL);
+}
+
static void handle_pcstate_ind(struct sccp_ran_inst *sri, const struct osmo_scu_pcstate_param *pcst)
{
struct osmo_ss7_instance *cs7 = osmo_sccp_get_ss7(sri->sccp);
@@ -232,6 +262,11 @@
rc = sri->ran->sccp_ran_ops.up_l2(sri, peer_addr, false, 0, oph->msg);
break;
+ case OSMO_PRIM(OSMO_SCU_PRIM_N_NOTICE, PRIM_OP_INDICATION):
+ handle_notice_ind(sri, &prim->u.notice);
+ rc = 0;
+ break;
+
case OSMO_PRIM(OSMO_SCU_PRIM_N_PCSTATE, PRIM_OP_INDICATION):
handle_pcstate_ind(sri, &prim->u.pcstate);
rc = 0;
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/40710?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Iddd10c8f97310b600374ff0141ea06e03087da8f
Gerrit-Change-Number: 40710
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/40704?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: sigtran: Avoid potential uninitialized ptr dereference
......................................................................
sigtran: Avoid potential uninitialized ptr dereference
Use osmo_sccp_addr_dump() instead of osmo_sccp_addr_name(), since msc
may be uninitialized and hence ss7 may not be available.
Change-Id: I682567e88f61c9ec3cfa25c50f2c12fc9d1f6e4f
---
M src/osmo-bsc/osmo_bsc_sigtran.c
1 file changed, 2 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/04/40704/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/40704?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I682567e88f61c9ec3cfa25c50f2c12fc9d1f6e4f
Gerrit-Change-Number: 40704
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder