Project

General

Profile

Actions

Feature #2006

open

Implement M2PA support

Added by laforge almost 7 years ago. Updated about 1 month ago.

Status:
New
Priority:
Low
Assignee:
-
Target version:
-
Start date:
04/10/2017
Due date:
% Done:

0%

Spec Reference:

Description

M2PA is what is used e.g. by Cisco ITP, and I believe also by yate. So we could test SS7 routing/interop with those implementations if we had M2PA support.


Related issues

Related to OsmoSTP - Feature #3603: M2PA supportNew09/30/2018

Actions
Actions #1

Updated by laforge almost 2 years ago

Actions #2

Updated by laforge almost 2 years ago

Reading through RFC4165 and taking some random notes:

  • two SCTP streams per direction (one for Link Status, another for User Data)
  • M2PA retains classic notion of ss7 links + linksets
    • 1:1 mapping beteween SCTP association and SS7 link
      • same SLC for same link (==association) on both ends
  • empty user data messages used to acknowledge receipt in some situations

Message format / protocol elements

  • 24-bit FSN / BSN sequence numbers in each header
  • only one message class with two message types
    • User Data
      • contains MTP3 message with PRI/SIO/SIF fields
    • Link Status
      • Alignment / Proving Normal / Proving Emergency / Ready / Processor Outage / Processor Recovered / Busy / Busy Ended / OOS
      • not all are sent on Stream0, but some on Stream1
  • local processor outage
    • MTP3 from peer must be buffered
  • remote processor outage
    • MTP3 messages might also need buffering
  • flow control / congestion timers
    • criteria how to determine congestion onset is "implementation dependent"
  • signaling of SCTP association failures up to MTP3 / take link out of service
  • change-over procedure in case of link failure
    • message retrieval: obtain all not-yet-transmitted and all sent-but-not-yet-acknowledged messages from the old link
    • MTP3 XCO / XCA messages instead of COO/COA due to longer FSM/BSN range

FSMs

  • MTP2 IAC (Initial Alignment Control) as per Q.703 Figure 4 / Figure 9
  • MTP2 LSC (Link State Control) as per Q.703 Figure 3 / Figure 8
  • MTP3 SLTC (Signalling Link Test Control) as per Q.707
  • MTP3 HMDT (Message Distribution) as per Q.704
Actions #3

Updated by laforge about 1 month ago

for reference, there is some initial/incomplete WIP code towards m2pa support in the laforge/m2pa branch, specifically the following commits:

commit 6683ebc2acd86f4a9841b7c0037c7e5ef8a6a599 (gerrit/laforge/m2pa)
Author: Harald Welte <laforge@osmocom.org>
Date:   Sun Sep 4 11:13:36 2022 +0200

    WIP: MTP2 IAC + LSC FSM

    Change-Id: I1392b8b2f85c70f3783af655d5906a86a8b9a9c1

commit 6a8c053d4a1f914556613eda8bbfcf37aad6fbd2
Author: Harald Welte <laforge@osmocom.org>
Date:   Fri Sep 2 20:23:52 2022 +0200

    WIP: M2PA

    Change-Id: Icd0f9464447a98031c3ee093e2b8362f52eab47d
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)