diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-12-31 16:53:40 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-12-31 16:54:04 +0100 |
commit | 0945961af38e66799689979a5f5a076d490d0164 (patch) | |
tree | 97e280d588a59eabf18500f7c04d73ea112e750d | |
parent | 80ab4c60668ac63ea52fbe5d65a212df934570f5 (diff) |
mtp: Add some SSNs we want to handle.
This should be really configurable. SSN=1 should always lead to a
SSA, the others depend on what we run on our end of the link.
-rw-r--r-- | src/mtp_layer3.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mtp_layer3.c b/src/mtp_layer3.c index b788208..e2e9980 100644 --- a/src/mtp_layer3.c +++ b/src/mtp_layer3.c @@ -440,9 +440,14 @@ static int mtp_link_sccp_data(struct mtp_link *link, struct mtp_level_3_hdr *hdr } prt = (struct sccp_con_ctrl_prt_mgt *) &msg->l3h[0]; - if (prt->assn != 254 || prt->apoc != MTP_MAKE_APOC(link->opc)) { - LOGP(DINP, LOGL_ERROR, "Unknown SSN/APOC assn: %u, apoc: %u/%u\n", - prt->assn, ntohs(prt->apoc), prt->apoc); + if (prt->apoc != MTP_MAKE_APOC(link->opc)) { + LOGP(DINP, LOGL_ERROR, "Unknown APOC: %u/%u\n", + ntohs(prt->apoc), prt->apoc); + type = SCCP_SSP; + } else if (prt->assn != 1 && prt->assn != 254 && + prt->assn != 7 && prt->assn != 8 && prt->assn != 146) { + LOGP(DINP, LOGL_ERROR, "Unknown affected SSN assn: %u\n", + prt->assn); type = SCCP_SSP; } else { type = SCCP_SSA; |