Project

General

Profile

Actions

Feature #3774

closed

implement GSUP messages for inter-MSC handover

Added by neels about 5 years ago. Updated almost 5 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
-
Start date:
01/31/2019
Due date:
% Done:

100%

Resolution:
Spec Reference:
Tags:

Description

For #3618 I need GSUP messages:

- definition in gsup.adoc
- implementation of decoding and encoding
- rudimentary message tests

so that I can just go on and use them when I'm ready.

See http://git.osmocom.org/osmo-msc/tree/doc/interMSC_HO_GSUP_msgs.txt?h=neels/ho


Files

interMSC_HO_GSUP_msgs.txt interMSC_HO_GSUP_msgs.txt 4.08 KB osmith, 05/20/2019 08:18 AM

Checklist

  • get libosmocore patch merged
  • osmo-gsm-manuals.git patch submit to gerrit
  • osmo-gsm-manuals.git patch merged
  • TTCN3: update GSUP_Types.ttcn

Related issues

Related to OsmoHLR - Bug #3793: GSUP message routing for inter-MSC handoverResolvedosmith02/08/2019

Actions
Is duplicate of OsmoMSC - Feature #3619: GSUP protocol extension for inter-MSC HOClosedneels10/02/2018

Actions
Actions #1

Updated by osmith about 5 years ago

Actions #2

Updated by osmith about 5 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 20
Actions #3

Updated by osmith about 5 years ago

  • % Done changed from 20 to 40

WIP branch is osmith/gsup-msc-ho at libosmocore.git.

Actions #4

Updated by osmith about 5 years ago

  • Checklist item get libosmocore patch merged added
  • Checklist item osmo-gsm-manuals.git patch submit to gerrit added
  • Checklist item osmo-gsm-manuals.git patch merged added
  • % Done changed from 40 to 60
Actions #5

Updated by osmith about 5 years ago

  • Related to Bug #3793: GSUP message routing for inter-MSC handover added
Actions #6

Updated by osmith about 5 years ago

  • Checklist item wireshark: submit patch added
  • Checklist item wireshark: get patch merged added

This will take a bit until it gets merged (and then the other steps in the checklist follow), as neels wrote in gerrit:

In general, I would like to keep this patch unmerged before I have osmo-msc's inter-MSC HO pretty much complete and working. Likely more insights and needs about the protocol will arise from chiseling out the details. But it would be nice to continue the review process nevertheless; just not merge it yet (so we don't need to worry about api compat later).

Actions #7

Updated by osmith about 5 years ago

  • Checklist item TTCN3: update GSUP_Types.ttcn added
Actions #8

Updated by osmith about 5 years ago

  • Tags set to Inter-MSC HO
Actions #9

Updated by neels almost 5 years ago

  • Blocks Feature #3893: update wireshark dissector for new inter-MSC GSUP messages added
Actions #10

Updated by neels almost 5 years ago

  • Checklist item deleted (wireshark: submit patch)
  • Checklist item deleted (wireshark: get patch merged)
  • moved the wireshark bit to a separate issue.
  • I think the Send End Signal is also just a request without a Response or Error. Could you take a look in the specs to verify that?
  • I added a GSUP Kind IE.

The current version of your patch tweaked by me is in libosmocore branch neels/gsup

Actions #11

Updated by osmith almost 5 years ago

The current version of your patch tweaked by me is in libosmocore branch neels/gsup

Pushed as patchset 6 to: https://gerrit.osmocom.org/#/c/libosmocore/+/12860/

I think the Send End Signal is also just a request without a Response or Error. Could you take a look in the specs to verify that?

According to 3GPP TS 29.002 17.6.1 Mobile Service Operation, the SendEndSignal Operation has an "Argument" and "Result" block, which is what we have as "Request" and "Result" in GSUP. No "Errors" block though (which other Operations do have), so I've dropped OSMO_GSUP_MSGT_E_SEND_END_SIGNAL_ERROR in patchset 7.

Actions #12

Updated by neels almost 5 years ago

  • Is duplicate of Feature #3619: GSUP protocol extension for inter-MSC HO added
Actions #13

Updated by neels almost 5 years ago

  • Status changed from In Progress to Resolved

merged to libosmocore master and used in osmo-msc master

Actions #14

Updated by laforge almost 5 years ago

  • Blocks deleted (Feature #3893: update wireshark dissector for new inter-MSC GSUP messages)
Actions #15

Updated by laforge almost 5 years ago

  • Checklist item get libosmocore patch merged set to Done
  • Checklist item TTCN3: update GSUP_Types.ttcn set to Done
Actions #16

Updated by laforge almost 5 years ago

  • Status changed from Resolved to In Progress

re-opening: the checkboxes related to the manuals have not yet been checked.

Actions #17

Updated by osmith almost 5 years ago

  • % Done changed from 60 to 70

I have started with the documentation (branch: osmith/gsup-msc-ho-docs in osmo-gsm-manuals.git).

While documenting, and looking through the code, I'm noticing that there are few new IEs, which are not being used:
  • RR Cause
  • BSSAP Cause
  • Session Management Cause (SM Cause)

It seems that AN-APDU is used instead, to store results and error reasons etc. I know that this is already in gsup in libosmocore, and also in the wireshark dissector, but still I'm wondering if there was a way to remove them again (to keep gsup lightweight)?

There is also one unused message type: OSMO_GSUP_MSGT_E_ABORT


Furthermore I found that the "E Routing Error" message type is currently filling out more fields than necessary. As OsmoHLR is using it, it looks like this:

[options="header",cols="5%,45%,20%,10%,10%,10%"]
|===
|IEI|IE|Type|Presence|Format|Length
|  |Message Type|<<gsup-ie-msgtype>>|M|V|1
|01|IMSI|<<gsup-ie-imsi>>|M|TLV|2-10
|0a|Message Class|<<gsup-ie-message-class>>|M|TLV|3
|60|Source Name|<<gsup-ie-source-name>>|M|TLV|2-...
|61|Destination Name|<<gsup-ie-destination-name>>|M|TLV|2-...
|30|Session ID|<<gsup-ie-session-id>>|M|TLV|6
|31|Session State|<<gsup-ie-session-state>>|M|TLV|3
|===

But OsmoMSC never fills out Session ID and Session State. Therefore OsmoHLR will always send them back empty. So if there is no problem with that, I would suggest to not document Session ID and Session State IEs being used in this message, and I could submit a patch to OsmoHLR to remove these lines:

    gsup_err->session_state = gsup->session_state;
    gsup_err->session_id = gsup->session_id;

https://git.osmocom.org/osmo-hlr/tree/src/hlr.c?id=e21b45aecddbf388f22ab4832f4a8f5bf41a2ddc#n469

fixeria, laforge: any opinion on that?

Actions #18

Updated by osmith almost 5 years ago

See http://git.osmocom.org/osmo-msc/tree/doc/interMSC_HO_GSUP_msgs.txt?h=neels/ho

I'm not sure if you are planning to delete that WIP branch. The text file did not get merged to master, so I'll attach it here for reference.

Actions #19

Updated by osmith almost 5 years ago

  • Checklist item osmo-gsm-manuals.git patch submit to gerrit set to Done
  • % Done changed from 70 to 90
Actions #20

Updated by osmith almost 5 years ago

  • Status changed from In Progress to Closed
Actions #21

Updated by osmith almost 5 years ago

  • Status changed from Closed to In Progress

This was unexpected, I closed the duplicate #3619, and this one got closed too?! Reopening.

Actions #22

Updated by osmith almost 5 years ago

  • Checklist item osmo-gsm-manuals.git patch merged set to Done
  • Status changed from In Progress to Resolved
  • % Done changed from 90 to 100
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)