aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2021-05-09 19:31:15 +0000
committerHarald Welte <laforge@osmocom.org>2021-05-09 19:31:15 +0000
commit5489ccc37d55f25c750e287b5639215771bb492d (patch)
tree8593726dba6a455115800af2439c7042d61c702b
parentbbe87f584ce710ccfcff01ad5ccdfe4321e86753 (diff)
HACK: Add hard-coded DPC to SSA in response to SSTlaforge/hack
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
-rw-r--r--src/sccp_scmg.c6
1 files changed, 5 insertions, 1 deletions
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);
}