From 5489ccc37d55f25c750e287b5639215771bb492d Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 9 May 2021 19:31:15 +0000 Subject: HACK: Add hard-coded DPC to SSA in response to SST At least some version of an Ericsson MSC is sending us a SST with point codes only in the M3UA header, but not in the SCCP Called/Calling address (which only contain SSN). So if we create a SSA in respone, it will only have SSN in it, and hence it cannot be routed. We hard-code the destination point code (7000) here just for testing. A proper solution would have to either a) set up some SCCP routing that routes the SSN to a given point code b) add the M3UA point codes from the MTP/M3UA layer to the SCCP Calling/CalledParty when receiving the message at the M3UA->SCCP boundary --- src/sccp_scmg.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/sccp_scmg.c b/src/sccp_scmg.c index a5d6226..9f16a72 100644 --- a/src/sccp_scmg.c +++ b/src/sccp_scmg.c @@ -243,7 +243,11 @@ static int scmg_rx_sst(struct osmo_sccp_user *scu, const struct osmo_sccp_addr * if (0 /* !subsys_available(scu) */) return 0; - return sccp_scmg_tx(scu, called_addr, calling_addr, SCCP_SCMG_MSGT_SSA, + struct osmo_sccp_addr peer_addr = *calling_addr; + peer_addr.pc = 7000; + peer_addr.presence |= OSMO_SCCP_ADDR_T_PC; + + return sccp_scmg_tx(scu, called_addr, &peer_addr, SCCP_SCMG_MSGT_SSA, sst->affected_ssn, sst->affected_pc, 0, NULL); } -- cgit v1.2.3