aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-01-26 11:16:45 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-11-27 18:10:00 +0100
commit2e0d1b0a0842d80ed2bb041c044239e51327f485 (patch)
treed7d3dfaff0ac60ca50abb6cf6bbc952c67678bbe
parenta6e189f639850eccae20fe8ea4d1c556c508819e (diff)
share chapters/gsup.adoc from OsmoSGSN to OsmoMSC + OsmoHLR
Since the NITB split, GSUP is used in all three network elements, so make the protocol a shared chapter Change-Id: Id2d7c27ef16eb0ebe5f60d625a1fcf42f1603f4f
-rw-r--r--doc/manuals/chapters/gsup.adoc859
-rw-r--r--doc/manuals/osmosgsn-usermanual.adoc2
2 files changed, 1 insertions, 860 deletions
diff --git a/doc/manuals/chapters/gsup.adoc b/doc/manuals/chapters/gsup.adoc
deleted file mode 100644
index 733b60e..0000000
--- a/doc/manuals/chapters/gsup.adoc
+++ /dev/null
@@ -1,859 +0,0 @@
-[[gsup]]
-== GPRS Subscriber Update Protocol
-
-=== General
-
-This chapter describes the remote protocol that is used by the SGSN to update
-and manage the local subscriber list. Functionally, it resembles the
-interface between the SGSN on the one hand side, and HLR/AUC on the
-other side.
-
-For more information, see the specification of the Gr interface (3GPP TS 03.60).
-
-Traditionally, the GSM MAP (Mobile Application Part) protocol is used
-for this purpose, running on top of a full telecom signalling protocol
-stck of MTP2/MTP3/SCCP/TCAP, or any of the SIGTRAN alternatvives.
-
-In order to avoid many of the complexities of MAP, which are difficult
-to implement in the plain C language evnironment of the Osmocom
-cellular network elements like the SGSN, we introduce the GSUP
-protocol.
-
-The GSUP protocol and the messages are designed after the
-corresponding MAP messages (see 3GPP TS 09.02) with the following
-main differences:
-
-* The encoding uses TLV structures instead of ASN.1 BER
-* Segmentation is not used, i.e. we rely on the fact that the
- underlying transport protocol can transport signalling messages of
- any size.
-
-=== Connection
-
-The protocol expects that a reliable, ordered, packet boundaries preserving
-connection is used (e.g. IPA over TCP). The remote peer is either a service
-that understands the protocol natively or a wrapper service that maps the
-messages to/from real MAP messages that can be used to directly communicate
-with an HLR.
-
-=== Using IPA
-
-By default, the following identifiers should be used:
-
-* IPA Stream ID: 0xEE (OSMO)
-* IPA OSMO protocol extension: 0x05
-
-For more information about the IPA multiplex, please see the 'OsmoBTS
-Abis/IP Specification'.
-
-=== Procedures
-
-==== Authentication management
-
-The SGSN sends a SEND_AUTHENTICATION_INFO_REQ message containing the MS's IMSI
-to the peer. On errors, especially if authentication info is not available for
-that IMSI, the peer returns a SEND_AUTHENTICATION_INFO_ERR message. Otherwise
-the peer returns a SEND_AUTHENTICATION_INFO_RES message. If this message
-contains at least one authentication tuple, the SGSN replaces all tuples that
-are assigned to the subscriber. If the message doesn't contain any tuple the
-SGSN may reject the Attach Request. (see 3GPP TS 09.02, 25.5.6)
-
-.Send Authentication Info (Normal Case)
-["mscgen"]
-----
-msc {
- hscale="1.5";
- SGSN [label="SGSN"], Peer [label="Network Peer (HLR)"];
-
- SGSN => Peer [label="SEND AUTHENTICATION INFO REQUEST (IMSI)"];
- Peer => SGSN [label="SEND AUTHENTICATION INFO RESPONSE (Tuples)"];
-}
-----
-
-.Send Authentication Info (Erroneous Case)
-["mscgen"]
-----
-msc {
- hscale="1.5";
- SGSN [label="SGSN"], Peer [label="Network Peer (HLR)"];
-
- SGSN => Peer [label="SEND AUTHENTICATION INFO REQUEST (IMSI)"];
- Peer => SGSN [label="SEND AUTHENTICATION INFO ERROR (Cause)"];
-}
-----
-
-==== Reporting of Authentication Failure
-
-Using this procedure, the SGSN reports authentication failures to the
-HLR.
-
-.Authentication Failure Report (Normal Case)
-["mscgen"]
-----
-msc {
- hscale="1.5";
- SGSN [label="SGSN"], Peer [label="Network Peer (HLR)"];
-
- SGSN => Peer [label="AUTHENTICATION FAILURE REPORT (IMSI)"];
-}
-----
-
-==== Location Updating
-
-The SGSN sends a UPDATE_LOCATION_REQ to the peer. If the request is denied by
-the network, the peer returns an UPDATE_LOCATION_ERR message to the SGSN.
-Otherwise the peer returns an UPDATE_LOCATION_RES message containing all
-information fields that shall be inserted into the subscriber record. If
-the 'PDP info complete' information element is set in the message, the SGSN
-clears existing PDP information fields in the subscriber record first.
-(see 3GPP TS 09.02, 19.1.1.8)
-
-.Update Location (Normal Case)
-["mscgen"]
-----
-msc {
- hscale="1.5";
- SGSN [label="SGSN"], Peer [label="Network Peer (HLR)"];
-
- SGSN => Peer [label="UPDATE LOCATION REQUEST (IMSI)"];
- Peer => SGSN [label="INSERT SUBSCRIBER DATA"];
- SGSN => Peer [label="INSERT SUBSCRIBER DATA ACK"];
- Peer => SGSN [label="UPDATE LOCATTION RESULT"];
-}
-----
-
-.Update Location (Error Case)
-["mscgen"]
-----
-msc {
- hscale="1.5";
- SGSN [label="SGSN"], Peer [label="Network Peer (HLR)"];
-
- SGSN => Peer [label="UPDATE LOCATION REQUEST (IMSI)"];
- Peer => SGSN [label="UPDATE LOCATTION ERROR (Cause)"];
-}
-----
-
-==== Location Cancellation
-
-Using the Location Cancellation procedure, the Network Peer (HLR) can
-request the SGSN to remove a subscriber record.
-
-.Cancel Location (Normal Case)
-["mscgen"]
-----
-msc {
- hscale="1.5";
- SGSN [label="SGSN"], Peer [label="Network Peer (HLR)"];
-
- Peer => SGSN [label="CANCEL LOCATION REQUEST (IMSI)"];
- SGSN => Peer [label="CANCEL LOCATION RESULT"];
-}
-----
-
-.Cancel Location (Error Case)
-["mscgen"]
-----
-msc {
- hscale="1.5";
- SGSN [label="SGSN"], Peer [label="Network Peer (HLR)"];
-
- Peer => SGSN [label="CANCEL LOCATION REQUEST (IMSI)"];
- SGSN => Peer [label="CANCEL LOCATION ERROR (Cause)"];
-}
-----
-
-==== Purge MS
-
-Using the Purge MS procedure, the SGSN can request purging of MS
-related state from a previous SGSN during an inter-SGSN location
-update.
-
-.Purge MS (Normal Case)
-["mscgen"]
-----
-msc {
- hscale="1.5";
- SGSN [label="SGSN"], Peer [label="Network Peer (HLR)"];
-
- SGSN => Peer [label="PURGE MS REQUEST (IMSI)"];
- Peer => SGSN [label="PURGE MS RESULT"];
-}
-----
-
-==== Delete Subscriber Data
-
-Using the Delete Subscriber Data procedure, the Peer (HLR) can remove
-some of the subscriber data from the SGSN. This is used in case the
-subscription details (e.g. PDP Contexts / APNs) change while the
-subscriber is registred to that SGSN.
-
-.Delete Subscriber Data (Normal Case)
-["mscgen"]
-----
-msc {
- hscale="1.5";
- SGSN [label="SGSN"], Peer [label="Network Peer (HLR)"];
-
- Peer => SGSN [label="DELETE SUBSCRIBER DATA REQUEST (IMSI)"];
- SGSN => Peer [label="DELETE SUBSCRIBER DATA RESULT"];
-}
-----
-
-=== Message Format
-
-==== General
-
-Every message is based on the following message format
-
-[options="header",cols="5%,20%,45%,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
-|===
-
-If a numeric range is indicated in the 'presence' column, multiple information
-elements with the same tag may be used in sequence. The information elements
-shall be sent in the given order. Nevertheless after the generic part the
-receiver shall be able to received them in any order. Unknown IE shall be
-ignored.
-
-==== Send Authentication Info Request
-
-Direction: SGSN => Network peer
-
-[options="header",cols="5%,20%,45%,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
-|28|CN Domain|<<gsup-ie-cndomain>>|O|TLV|3
-|26|AUTS|<<gsup-ie-auts>>|C|TLV|18
-|20|RAND|<<gsup-ie-rand>>|C|TLV|18
-|===
-
-The conditional 'AUTS' and 'RAND' IEs are both present in case the SIM
-(via UE) requests an UMTS AKA re-synchronization procedure. Eiter
-both optional IEs are present, or none of them.
-
-==== Send Authentication Info Error
-
-Direction: Network peer => SGSN
-
-[options="header",cols="5%,20%,45%,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
-|02|Cause|<<gsup-ie-cause>>|M|TLV|3
-|===
-
-==== Send Authentication Info Response
-
-Direction: Network peer => SGSN
-
-[options="header",cols="5%,20%,45%,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
-|03|Auth Tuple|<<gsup-ie-authtuple>>|0-5|TLV|36
-|===
-
-==== Authentication Failure Report
-
-Direction: SGSN => Network peer
-
-[options="header",cols="5%,20%,45%,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
-|28|CN Domain|<<gsup-ie-cndomain>>|O|TLV|3
-|===
-
-==== Update Location Request
-
-Direction: SGSN => Network peer
-
-[options="header",cols="5%,20%,45%,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
-|28|CN Domain|<<gsup-ie-cndomain>>|O|TLV|3
-|===
-
-==== Update Location Error
-
-Direction: Network peer => SGSN
-
-[options="header",cols="5%,20%,45%,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
-|02|Cause|<<gsup-ie-cause>>|M|TLV|3
-|===
-
-==== Update Location Result
-
-Direction: Network peer => SGSN
-
-[options="header",cols="5%,20%,45%,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
-|08|MSISDN|<<gsup-ie-msisdn>>|O|TLV|0-9
-|09|HLR Number|<<gsup-ie-hlr>>|O|TLV|0-9
-|04|PDP info complete|<<gsup-ie-empty>>|O|TLV|2
-|05|PDP info|<<gsup-ie-pdpinfo>>|1-10|TLV|
-|===
-
-If the PDP info complete IE is present, the old PDP info list shall be cleared.
-
-==== Location Cancellation Request
-
-Direction: Network peer => SGSN
-
-[options="header",cols="5%,20%,45%,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
-|28|CN Domain|<<gsup-ie-cndomain>>|O|TLV|3
-|06|Cancellation type|<<gsup-ie-canctype>>|O|TLV|3
-|===
-
-==== Location Cancellation Result
-
-Direction: SGSN => Network peer
-
-[options="header",cols="5%,20%,45%,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
-|28|CN Domain|<<gsup-ie-cndomain>>|O|TLV|3
-|===
-
-==== Purge MS Request
-
-Direction: SGSN => Network peer
-
-[options="header",cols="5%,20%,45%,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
-|28|CN Domain|<<gsup-ie-cndomain>>|O|TLV|3
-|09|HLR Number|<<gsup-ie-hlr>>|M|TLV|0-9
-|===
-
-==== Purge MS Error
-
-Direction: Network peer => SGSN
-
-[options="header",cols="5%,20%,45%,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
-|02|Cause|<<gsup-ie-cause>>|M|TLV|3
-|===
-
-==== Purge MS Result
-
-Direction: Network peer => SGSN
-
-[options="header",cols="5%,20%,45%,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
-|07|Freeze P-TMSI|<<gsup-ie-empty>>|M|TLV|2
-|===
-
-==== Insert Subscriber Data Request
-
-Direction: Network peer => SGSN
-
-[options="header",cols="5%,20%,45%,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
-|28|CN Domain|<<gsup-ie-cndomain>>|O|TLV|3
-|08|MSISDN|<<gsup-ie-msisdn>>|O|TLV|0-9
-|09|HLR Number|<<gsup-ie-hlr>>|O|TLV|0-9
-|04|PDP info complete|<<gsup-ie-empty>>|M|TLV|2
-|05|PDP info|<<gsup-ie-pdpinfo>>|0-10|TLV|
-|14|PDP-Charging Characteristics|<<gsup-ie-charging>>|O|TLV|4
-|===
-
-If the PDP info complete IE is present, the old PDP info list shall be cleared.
-
-==== Insert Subscriber Data Error
-
-Direction: SGSN => Network peer
-
-[options="header",cols="5%,20%,45%,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
-|02|Cause|<<gsup-ie-cause>>|M|TLV|3
-|===
-
-==== Insert Subscriber Data Result
-
-Direction: SGSN => Network peer
-
-[options="header",cols="5%,20%,45%,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
-|===
-
-==== Delete Subscriber Data Request
-
-Direction: Network peer => SGSN
-
-[options="header",cols="5%,20%,45%,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
-|28|CN Domain|<<gsup-ie-cndomain>>|O|TLV|3
-|10|PDP context id|<<gsup-ie-pdpinfo>> (no conditional IE)|0-10|TLV|
-|===
-
-==== Delete Subscriber Data Error
-
-Direction: SGSN => Network peer
-
-[options="header",cols="5%,20%,45%,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
-|02|Cause|<<gsup-ie-cause>>|M|TLV|3
-|===
-
-==== Delete Subscriber Data Result
-
-Direction: Network peer => SGSN
-
-[options="header",cols="5%,20%,45%,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
-|===
-
-=== Information Elements
-
-[[gsup-ie-msgtype]]
-==== Message Type
-
-[options="header",cols="10%,90%"]
-|===
-|Type|Description
-|0x04|Update Location Request
-|0x05|Update Location Error
-|0x06|Update Location Result
-|0x08|Send Auth Info Request
-|0x09|Send Auth Info Error
-|0x0a|Send Auth Info Result
-|0x0b|Authentication Failure Report
-|0x0c|Purge MS Request
-|0x0d|Purge MS Error
-|0x0e|Purge MS Result
-|0x10|Insert Subscriber Data Request
-|0x11|Insert Subscriber Data Error
-|0x12|Insert Subscriber Data Result
-|0x14|Delete Subscriber Data Request
-|0x15|Delete Subscriber Data Error
-|0x16|Delete Subscriber Data Result
-|0x1c|Location Cancellation Request
-|0x1d|Location Cancellation Error
-|0x1e|Location Cancellation Result
-|===
-
-[[gsup-ie-ipaddr]]
-==== IP Address
-
-The value part is encoded like in the Packet data protocol address IE defined
-in 3GPP TS 04.08, Chapter 10.5.6.4. PDP type organization must be set to
-'IETF allocated address'.
-
-[[gsup-ie-pdpinfo]]
-==== PDP Info
-
-This is a container for information elements describing a single PDP.
-
-[options="header",cols="5%,20%,45%,10%,10%,10%"]
-|===
-|IEI|IE|Type|Presence|Format|Length
-| |PDP Info IEI|<<gsup-iei>>|M|V|1
-| |Length of PDP Info IE||M|V|1
-|10|PDP Context ID|<<gsup-ie-pdpctxid>>|C|TLV|3
-|11|PDP Type|<<gsup-ie-pdptype>>|C|TLV|4
-|12|Access Point Name|<<gsup-ie-apn>>|C|TLV|3-102
-|13|Quality of Service|<<gsup-ie-qos>>|O|TLV|1-20
-|14|PDP-Charging Characteristics|<<gsup-ie-charging>>|O|TLV|4
-|===
-
-The conditional IE are mandantory unless mentioned otherwise.
-
-[[gsup-ie-pdptype]]
-==== PDP Type
-
-The PDP type value consists of 2 octets that are encoded like octet 4-5 of the
-End User Address defined in 3GPP TS 09.60, 7.9.18.
-
-[packetdiag]
-----
-{
- colwidth = 8
- node_height = 24
-
- 0-6: PDP type IEI
- 7: Res
- 8-15: Length (2)
- 16-19: Spare
- 20-23: PDP type org
- 24-31: PDP type number
-}
-----
-
-The spare bits are left undefined. While 09.60 defines them as '1 1 1 1', there
-are MAP traces where these bits are set to '0 0 0 0'. So the receiver shall
-ignore these bits.
-
-Examples:
-
-* IPv4: PDP type org: 1 (IETF), PDP type number: 0x21
-* IPv6: PDP type org: 1 (IETF), PDP type number: 0x57
-
-[[gsup-ie-pdpctxid]]
-==== PDP Context ID
-
-The PDP type context ID IE consists of a single integer byte wrapped in
-a TLV.
-
-[packetdiag]
-----
-{
- colwidth = 8
- node_height = 24
-
- 0-6: PDP context ID IEI
- 7: Res
- 8-15: Length (1)
- 16-23: PDP Context ID
-}
-----
-
-[[gsup-ie-authtuple]]
-==== Auth tuple
-
-This is a container for information elements describing a single authentication
-tuple.
-
-[options="header",cols="5%,20%,45%,10%,10%,10%"]
-|===
-|IEI|IE|Type|Presence|Format|Length
-| |Auth Tuple IEI|<<gsup-iei>>|M|V|1
-| |Length of Auth Tuple IE||M|V|1
-|20|RAND|<<gsup-ie-rand>>|M|TLV|18
-|21|SRES|<<gsup-ie-sres>>|M|TLV|6
-|22|Kc|<<gsup-ie-kc>>|M|TLV|10
-|23|IK|<<gsup-ie-ik>>|C|TLV|18
-|24|CK|<<gsup-ie-ck>>|C|TLV|18
-|25|AUTN|<<gsup-ie-autn>>|C|TLV|18
-|27|RES|<<gsup-ie-res>>|C|TLV|2-18
-|===
-
-The conditional IEs 'IK', 'CK', 'AUTN' and 'RES' are onl present in
-case the subscriber supports UMTS AKA.
-
-[[gsup-ie-rand]]
-==== RAND
-
-The 16-byte Random Challenge of the GSM Authentication Algorithm.
-
-[[gsup-ie-sres]]
-==== SRES
-
-The 4-byte Authentication Result of the GSM Authentication Algorithm.
-
-[[gsup-ie-kc]]
-==== Kc
-
-The 8-byte Encryption Key of the GSM Authentication and Key Agreemnt
-Algorithm.
-
-[[gsup-ie-ik]]
-==== IK
-
-The 16-byte Integrity Protection Key generated by the UMTS
-Authentication and Key Agreement Algorithm.
-
-[[gsup-ie-ck]]
-==== CK
-
-The 16-byte Ciphering Key generated by the UMTS Authentication and Key
-Agreement Algorithm.
-
-[[gsup-ie-autn]]
-==== AUTN
-
-The 16-byte Authentication Nonce sent from network to USIM in the UMTS
-Authentication and Key Agreement Algorithm.
-
-[[gsup-ie-auts]]
-==== AUTS
-
-The 14-byte Authentication Synchronization Nonce generated by the USIM
-in case the UMTS Authentication and Key Agreement Algorithm needs to
-re-synchronize the sequence counters between AUC and USIM.
-
-[[gsup-ie-res]]
-==== RES
-
-The (variable length, but typically 16 byte) Authentication Result
-generated by the USIM in the UMTS Authentication and Key Agreement
-Algorithm.
-
-[[gsup-ie-cndomain]]
-==== CN Domain
-
-This single-byte information element indicates the Core Network
-Domain, i.e. if the message is related to Circuit Switched or Packet
-Switched services.
-
-For backwards compatibility reasons, if no CN Domain IE is present
-within a request, the PS Domain is assumed.
-
-.CN Domain Number
-[options="header",cols="10%,90%"]
-|===
-|Type|Description
-|0x01|PS Domain
-|0x02|CS Domain
-|===
-
-[[gsup-ie-canctype]]
-==== Cancellation Type
-
-[packetdiag]
-----
-{
- colwidth = 8
- node_height = 24
-
- 0-6: PDP type IEI
- 7: Res
- 8-15: Length (1)
- 16-23: Canc. Type Nr.
-}
-----
-
-.Cancellation Type Number
-[options="header",cols="10%,90%"]
-|===
-|Number|Description
-|0x00|Update Procedure
-|0x01|Subscription Withdrawn
-|===
-
-[[gsup-iei]]
-==== IE Identifier (informational)
-
-These are the standard values for the IEI. See the message definitions for the
-IEI that shall be used for the encoding.
-
-.GSUP IE Identifiers
-[options="header",cols="15%,35%,50%"]
-|===
-|IEI|Info Element|Type / Encoding
-|0x01|IMSI|Mobile Identity, 3GPP TS 04.08 Ch. 10.5.1.4
-|0x02|Cause|<<gsup-ie-cause>>
-|0x03|Auth Tuple|<<gsup-ie-authtuple>>
-|0x04|PDP Info Compl|<<gsup-ie-empty>>
-|0x05|PDP Info|<<gsup-ie-pdpinfo>>
-|0x06|Cancel Type|<<gsup-ie-canctype>>
-|0x07|Freeze P-TMSI|<<gsup-ie-empty>>
-|0x08|MSISDN|ISDN-AddressString/octet, <<gsup-ie-msisdn>>
-|0x09|HLR Number|<<gsup-ie-hlr>>
-|0x10|PDP Context ID|<<gsup-ie-pdpctxid>>
-|0x11|PDP Type|<<gsup-ie-pdptype>>
-|0x12|Access Point Name|<<gsup-ie-apn>>
-|0x13|QoS|<<gsup-ie-qos>>
-|0x14|PDP-Charging Characteristics|<<gsup-ie-charging>>
-|0x20|RAND|<<gsup-ie-rand>>
-|0x21|SRES|<<gsup-ie-sres>>
-|0x22|Kc|<<gsup-ie-kc>>
-|0x23|IK|<<gsup-ie-ik>>
-|0x24|CK|<<gsup-ie-ck>>
-|0x25|AUTN|<<gsup-ie-autn>>
-|0x26|AUTS|<<gsup-ie-auts>>
-|0x27|RES|<<gsup-ie-res>>
-|0x28|CN Domain|<<gsup-ie-cndomain>>
-|===
-
-[[gsup-ie-empty]]
-==== Empty field
-
-This is used for flags, if and only if this IE is present, the flag is set.
-The semantics depend on the IEI and the context.
-
-[packetdiag]
-----
-{
- colwidth = 8
- node_height = 24
-
- 0-6: PDP type IEI
- 7: Res
- 8-15: Length (0)
-}
-----
-
-[[gsup-ie-imsi]]
-==== IMSI
-
-The IMSI is encoded like in octet 4-N of the Called Party BCD Number
-defined in 3GPP TS 04.08, 10.5.4.7.
-
-[packetdiag]
-----
-{
- colwidth = 8
- node_height = 24
-
- 0-6: PDP type IEI
- 7: Res
- 8-15: Length of IE content
- 16-19: Digit 1
- 20-23: Digit 2
- 24-27: Digit ...
- 28-31: Digit N
- 32-39: see Note
-}
-----
-
-NOTE: Either '1 1 1 1 | Number digit N' (N odd) or 'Number digit N |
-Number digit N-1' (N even), where N is the number of digits.
-
-[[gsup-ie-msisdn]]
-==== ISDN-AddressString / MSISDN / Called Party BCD Number
-
-The MSISDN is encoded as an ISDN-AddressString in 3GPP TS 09.02 and Called Party
-BCD Number in 3GPP TS 04.08. It will be stored by the SGSN and then passed as is
-to the GGSN during the activation of the primary PDP Context.
-
-[packetdiag]
-----
-{
- colwidth = 8
- node_height = 24
-
- 0-6: PDP type IEI
- 7: Res
- 8-15: Length of IE content
- 16-19: NPI
- 20-22: TON
- 23: ext
- 24-27: Digit 1
- 28-31: Digit 2
- 32-35: Digit ...
- 36-39: Digit N
-}
-----
-
-[[gsup-ie-apn]]
-==== Access Point Name
-
-This encodes the Access Point Name of a PDP Context. The encoding
-is defined in 3GPP TS 23.003.
-
-[[gsup-ie-qos]]
-==== Quality of Service Subscribed Service
-
-This encodes the subscribed QoS of a subscriber. It will be used by the
-SGSN during the PDP Context activation. If the length of the QoS data
-is 3 (three) octets it is assumed that these are octets 3-5 of the TS
-3GPP TS 24.008 Quality of Service Octets. If it is more than three then
-then it is assumed that the first octet is the Allocation/Retention
-Priority and the reset are encoded as octets 3-N of 24.008.
-
-[packetdiag]
-----
-{
- colwidth = 8
- node_height = 24
-
- 0-6: PDP type IEI
- 7: Res
- 8-15: Length of IE content
- 16-23: Payload
-}
-----
-
-
-[[gsup-ie-charging]]
-==== PDP-Charging Characteristics
-
-This encodes the ChargingCharacteristics of 3GPP TS 32.215. A HLR may
-send this as part of the InsertSubscriberData or within a single PDP
-context definition. If the HLR supplies this information it must be
-used by the SGSN when activating a PDP context.
-
-[packetdiag]
-----
-{
- colwidth = 8
- node_height = 24
-
- 0-3: Profile Index
- 4-15: Behavior
-}
-----
-
-
-[[gsup-ie-hlr]]
-==== HLR Number encoded as 3GPP TS 09.02 ISDN-AddressString
-
-The HLR Number is encoded as an ISDN-AddressString in 3GPP TS 09.02. It
-will be stored by the SGSN can be used by the CDR module to keep a
-record.
-
-[packetdiag]
-----
-{
- colwidth = 8
- node_height = 24
-
- 0-6: PDP type IEI
- 7: Res
- 8-15: Length of IE content
- 16-19: NPI
- 20-22: TON
- 23: ext
- 24-27: Digit 1
- 28-31: Digit 2
- 32-35: Digit ...
- 36-39: Digit N
-}
-----
-
-[[gsup-ie-cause]]
-==== Cause
-
-This IE shall be encoded according to the 'GMM Cause' as described in
-Chapter 10.5.5.14 of 3GPP TS 04.08.
diff --git a/doc/manuals/osmosgsn-usermanual.adoc b/doc/manuals/osmosgsn-usermanual.adoc
index a6a7709..079e811 100644
--- a/doc/manuals/osmosgsn-usermanual.adoc
+++ b/doc/manuals/osmosgsn-usermanual.adoc
@@ -25,7 +25,7 @@ include::../common/chapters/control_if.adoc[]
include::../common/chapters/oap.adoc[]
-include::chapters/gsup.adoc[]
+include::../common/chapters/gsup.adoc[]
include::chapters/counters.adoc[]