aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-01-14 02:09:08 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2019-05-06 23:45:28 +0200
commitf417bf40e6a0fa046a33fd62b535112ea1408af1 (patch)
tree1038fb9e160f7626f88c86c2edeb945fae806958
parentab6f7ad0a1556bd61387615b44d53e9024459f52 (diff)
doc/interMSC_HO_GSUP_msgs.txtneels/ho
-rw-r--r--doc/interMSC_HO_GSUP_msgs.txt89
1 files changed, 89 insertions, 0 deletions
diff --git a/doc/interMSC_HO_GSUP_msgs.txt b/doc/interMSC_HO_GSUP_msgs.txt
new file mode 100644
index 000000000..17fcf7f16
--- /dev/null
+++ b/doc/interMSC_HO_GSUP_msgs.txt
@@ -0,0 +1,89 @@
+GSUP messages on the E-interface (MSC<->MSC)
+============================================
+
+Draft blueprint of requried IEs.
+
+Interesting specs
+-----------------
+
+- 3GPP TS 29.010
+- 3GPP TS 29.002
+
+
+Message sequences
+-----------------
+
+ MSC-A=MSC-I MSC-B=MSC-T (MSC-T: transitional MSC, with a potential RAN connection)
+ ------------------> request prepareHandover (an_apdu == Handover Request)
+ <------------------ response prepareHandover (an_apdu == Handover Request Ack)
+ <------------------ request processAccessSignalling (an_apdu == Handover Detect)
+ <------------------ request sendEndSignal (an_apdu == Handover Complete)
+ MSC-B=MSC-I (MSC-I: internal MSC, the one with the active RAN connection)
+
+
+ MSC-A MSC-B=MSC-I MSC-B'=MSC-T
+ <------------------ request prepareSubsequentHandover (an_apdu == Handover Required)
+ ------------------------------------------> request prepareHandover (an_apdu == Handover Request)
+ <------------------------------------------ response prepareHandover (an_apdu == Handover Request Ack)
+ ------------------> response prepareSubsequentHandover (an_apdu == Handover Request Ack)
+ <------------------------------------------ request processAccessSignalling (an_apdu == Handover Detect)
+ <------------------------------------------ request processAccessSignalling (an_apdu == Handover Complete)
+ ------------------> request close
+ MSC-B clears MSC-B'=MSC-I
+
+
+ MSC-A MSC-B=MSC-I
+ ------------------> request forwardAccessSignalling (an_apdu == DTAP, e.g. CC, SMS, ...)
+ <------------------ request processAccessSignalling (an_apdu == DTAP, e.g. CC, SMS, ...)
+
+
+ ------------------> source_name=MSC-A; destination_name=MSC-B
+ <------------------ source_name=MSC-B; destination_name=MSC-A
+
+
+GSUP Message Contents
+---------------------
+
+Prefix these messages to mark them as part of the E-interface; e.g.
+OSMO_GSUP_MSGT_E_PREPARE_HANDOVER.
+
+message_type:
+ [prepareHandover|prepareSubsequentHandover|sendEndSignal]x{Request,Error,Result}
+ [processAccessSignalling|forwardAccessSignalling|close|abort] (x{Request})
+imsi: BCD (handle to associate with subscriber connection)
+source_name: blob (string: osmo-msc: sender's gsmnet->msc_ipa_name, to route messages)
+destination_name: blob (string: osmo-msc: IPA_NAME as in https://gerrit.osmocom.org/c/osmo-msc/+/12446, or received from previous source_name IE)
+session_state: osmo_gsup_session_state
+session_id: uint32_t
+handover_number: (MSC-A <-- MSC-B, Handover Request Ack)
+ extension: [Extension=0|NoExtension=1] (1 bit; should currently always be == 1)
+ nature_of_nr: [GSM340_TYPE_NATIONAL|GSM340_TYPE_INTERNATIONAL|...] (3 bit)
+ number_plan: GSM340_PLAN_ISDN (4 bit)
+ msisdn: BCD
+an_apdu:
+ access_network_proto: [ts3G-48006=1|ts3G-25413=2] (i.e. BSSAP or RANAP; 1 byte value; 3GPP 29.002 AccessNetworkProtocolId)
+ data: blob up to 2560 bytes (complete BSSAP or RANAP message; 3GPP 29.002 LongSignalInfo)
+cause_rr: enum gsm48_rr_cause (3GPP TS 44.018 10.5.2.31) (for 'abort' message type or 'Error' responses)
+cause_bssap: enum gsm0808_cause (3GPP TS 48.008 3.2.2.5) (for 'abort' message type or 'Error' responses)
+cause_sm: enum gsm48_gsm_cause (3GPP TS 24.008 10.5.6.6 / Table 10.5.157) (for 'abort' message type or 'Error' responses)
+
+
+Of which are newly added message IEs:
+- source_name
+- target_name
+- handover_number
+- an_apdu
+- cause_*
+
+
+GSUP Message Contents, maybe added at a later stage
+---------------------------------------------------
+
+So far this information is only in-band in the BSSAP/RANAP messages.
+There is currently no need to copy them to the GSUP message structures.
+
+target_cell_id: osmo_cell_global_id (MSC-A --> MSC-B, Handover Request)
+encryption_info: gsm0808_encrypt_info
+integrity_protection_info: gsm0808_encrypt_info
+aoip_supported_codecs: gsm0808_speech_codec_list
+...