Bug #3403
openosmo-sgsn doesn not connect properly with via SCCP when restarted
0%
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
Updated by laforge over 5 years ago
- Related to Feature #2623: SCCP/M3UA: detect restart of osmo-msc and osmo-sgsn added
Updated by lynxis about 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.
Updated by laforge about 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.
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.