Project

General

Profile

Actions

Bug #3403

open

osmo-sgsn doesn not connect properly with via SCCP when restarted

Added by lynxis over 5 years ago. Updated about 3 years ago.

Status:
New
Priority:
Normal
Assignee:
Category:
Iu interface
Target version:
-
Start date:
07/17/2018
Due date:
% Done:

0%

Spec Reference:

Description

Having a 3G setup with the ip.access.
When restarting the SGSN, the SGSN doesn't answer any IU related requests.
From the log it looks to me, the SCCP connection is not in a good state. A reset/re-sync detection might be missing.

Jul 17 18:00:42 osmocom systemd[1]: Started OpenBSC SGSN.
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <001b> telnet_interface.c:104 telnet at 127.0.0.1 4245
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0022> control_if.c:886 CTRL at 127.0.0.1 4251
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0023> gtp.c:757 GTP: gtp_newgsn() started at 192.168.56.7
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <000e> sgsn_libgtp.c:839 Created GTP on 192.168.56.7
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <000e> sgsn_main.c:478 libGTP v1.2.1 initialized
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0025> gsup_client.c:76 GSUP connecting to 127.0.0.1:4222
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <000f> gprs_ns.c:1628 Listening for nsip packets on 192.168.56.7:23000
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <000f> gprs_ns.c:1641 NS UDP socket at 192.168.56.7:23000
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0028> sccp_user.c:370 OsmoSGSN: Creating SS7 instance
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0028> sccp_user.c:397 OsmoSGSN: Using SS7 instance 1, pc:0.23.4
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0028> sccp_user.c:411 OsmoSGSN: Creating AS instance
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0028> sccp_user.c:421 OsmoSGSN: Using AS instance as-clnt-OsmoSGSN
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0028> sccp_user.c:426 OsmoSGSN: Creating default route
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0028> sccp_user.c:446 OsmoSGSN: Creating ASP instance
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0028> sccp_user.c:481 OsmoSGSN: Using ASP instance asp-clnt-OsmoSGSN
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <0028> sccp_user.c:484 OsmoSGSN: Creating SCCP instance
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <001d> input/ipa.c:131 127.0.0.1:4222 connection done
Jul 17 18:00:42 osmocom osmo-sgsn[6305]: <001d> input/ipaccess.c:705 received ID get from 0/0/0
Jul 17 18:00:44 osmocom osmo-sgsn[6305]: <002a> m3ua.c:633 asp-asp-clnt-OsmoSGSN: Received NOTIFY Type State Change:AS Inactive ()
Jul 17 18:00:44 osmocom osmo-sgsn[6305]: <0027> xua_default_lm_fsm.c:353 xua_default_lm(asp-clnt-OsmoSGSN)[0x56053f820ec0]{ACTIVE}: Ignoring primitive M-ASP_ACTIVE.confirm
Jul 17 18:00:44 osmocom osmo-sgsn[6305]: <002a> m3ua.c:633 asp-asp-clnt-OsmoSGSN: Received NOTIFY Type State Change:AS Active ()
Jul 17 18:00:51 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:01:01 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:01:12 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:01:22 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:01:33 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:01:43 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:01:54 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:02:04 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:02:15 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:02:20 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 315
Jul 17 18:02:20 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 314
Jul 17 18:02:25 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:02:35 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:02:46 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:02:56 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:03:07 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:03:17 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:03:28 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0
Jul 17 18:03:38 osmocom osmo-sgsn[6305]: <0028> sccp_scoc.c:1539 Cannot find connection for local reference 0


Related issues

Related to Cellular Network Infrastructure - Feature #2623: SCCP/M3UA: detect restart of osmo-msc and osmo-sgsnNewneels11/07/2017

Actions
Actions #1

Updated by laforge over 5 years ago

  • Assignee set to laforge
Actions #2

Updated by laforge over 5 years ago

  • Related to Feature #2623: SCCP/M3UA: detect restart of osmo-msc and osmo-sgsn added
Actions #3

Updated by laforge over 5 years ago

  • Assignee changed from laforge to msuraev
Actions #4

Updated by laforge almost 5 years ago

  • Assignee changed from msuraev to lynxis
Actions #5

Updated by lynxis almost 5 years ago

  • Assignee changed from lynxis to laforge

laforge can you take a look? I don't know the SCCP stack. IMHO: we should send out a RESET to the connections within libsccp. But how does the other end (HNBGW) notices, that the SGSN has been restarted? In #2623 you wrote

One could implement the classic SCCP messsages / primitives for infomring the BSC that the MSC is no longer reachable at the old point code. On the MTP-level, this is MTP-STATUS.ind from the MTP up into the SCCP stack. The SCCP stack then would use N-PCSTATE.ind (Q.711 6.3.2.3.3)

And we don't know how many HNBGW will connect to the SGSNs and what's their address in advance.

Actions #6

Updated by laforge almost 5 years ago

  • Assignee changed from laforge to lynxis

This is nothing that is handled at the SCCP level. SCCP just provides transport of RANAP messages. The logical "reset" state between a given RNC/HNBGW and the SGSN must be done on RANAP level. The fact that a given peer is no longer reachable is detected mainly if no responses to [normal] messages are received, and the RANAP RESET procedure is used to re-initialize the logical relation between two peers.

SCCP may in the future provide us hints to detect outages more reliably/directly, but that doesn't prevent us from implementing this properly.

Actions #7

Updated by laforge almost 5 years ago

  • Category set to Iu interface
Actions #8

Updated by laforge about 4 years ago

  • Assignee deleted (lynxis)
Actions #9

Updated by laforge about 3 years ago

  • Assignee set to lynxis

I've implemented notification of SCCP users via the SCCP-User SAP in https://gerrit.osmocom.org/c/libosmo-sccp/+/22778

This means that every time a [remote] point code becomes available or unavailable, the SCCP user application (MSC, BSC, SGSN, SMLC, ...) should now receive a N-PCSTATE.ind stating the "affected point code". and either
sp_status OSMO_SCCP_SP_S_INACCESSIBLE or OSMO_SCCP_SP_S_ACCESSIBLE.

This indication should then be used by the applications to trigger whatever internal logic that needs to happen if a remote point-code disappears or re-appears. I'll leave that part to lynxis. I'll just implement some tests to ensure we get those notifications as expected now.

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)