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/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/16960 )
Change subject: sccp_scoc: Deliver correct disconnect cause and importance to user on timer expiration
......................................................................
sccp_scoc: Deliver correct disconnect cause and importance to user on timer expiration
Change-Id: I87b84e9c3c4cb35135efdb4ba155c684917fbab7
---
M src/sccp_scoc.c
1 file changed, 17 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/60/16960/1
diff --git a/src/sccp_scoc.c b/src/sccp_scoc.c
index b5b6547..d2fb8d1 100644
--- a/src/sccp_scoc.c
+++ b/src/sccp_scoc.c
@@ -734,6 +734,7 @@
udisp = &scu_prim->u.disconnect;
udisp->conn_id = conn->conn_id;
udisp->responding_addr = conn->called_addr;
+ udisp->importance = conn->importance;
udisp->originator = OSMO_SCCP_ORIG_UNDEFINED;
//udisp->in_sequence_control;
if (xua) {
@@ -1080,9 +1081,14 @@
osmo_fsm_inst_state_chg(fi, S_IDLE, 0, 0);
break;
case SCOC_E_T_IAR_EXP:
+ xua = xua_msg_alloc();
+ xua_msg_add_u32(xua, SUA_IEI_CAUSE,
+ SUA_CAUSE_T_RELEASE | SCCP_RELEASE_CAUSE_EXPIRATION_INACTIVE);
+ xua_msg_add_u32(xua, SUA_IEI_IMPORTANCE, conn->importance);
/* Send N-DISCONNECT.ind to local user */
- scu_gen_encode_and_send(conn, event, NULL, OSMO_SCU_PRIM_N_DISCONNECT,
+ scu_gen_encode_and_send(conn, event, xua, OSMO_SCU_PRIM_N_DISCONNECT,
PRIM_OP_INDICATION);
+ talloc_free(xua);
/* Send RLSD to peer */
xua_gen_relre_and_send(conn, SCCP_RELEASE_CAUSE_EXPIRATION_INACTIVE, NULL);
conn_start_rel_timer(conn);
@@ -1120,14 +1126,20 @@
if (xua_msg_get_u32(xua, SUA_IEI_SRC_REF) != conn->remote_ref ||
xua_msg_get_u32(xua, SUA_IEI_PROTO_CLASS) != conn->sccp_class) {
/* Release connection */
- /* send N-DISCONNECT.ind to user */
- scu_gen_encode_and_send(conn, event, NULL,
- OSMO_SCU_PRIM_N_DISCONNECT,
- PRIM_OP_INDICATION);
/* Stop inactivity Timers */
conn_stop_inact_timers(conn);
+ xua = xua_msg_alloc();
+ xua_msg_add_u32(xua, SUA_IEI_CAUSE,
+ SUA_CAUSE_T_RELEASE | SCCP_RELEASE_CAUSE_INCONSISTENT_CONN_DATA);
+ xua_msg_add_u32(xua, SUA_IEI_IMPORTANCE, conn->importance);
+ /* send N-DISCONNECT.ind to user */
+ scu_gen_encode_and_send(conn, event, xua,
+ OSMO_SCU_PRIM_N_DISCONNECT,
+ PRIM_OP_INDICATION);
+ talloc_free(xua);
/* Send RLSD to SCRC */
xua_gen_relre_and_send(conn, SCCP_RELEASE_CAUSE_INCONSISTENT_CONN_DATA, NULL);
+ talloc_free(xua);
/* Start release timer */
conn_start_rel_timer(conn);
osmo_fsm_inst_state_chg(fi, S_DISCONN_PEND, 0, 0);
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/16960
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-sccp
Gerrit-Branch: master
Gerrit-Change-Id: I87b84e9c3c4cb35135efdb4ba155c684917fbab7
Gerrit-Change-Number: 16960
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200120/e7ca3792/attachment.htm>