Commit Graph

27 Commits

Author SHA1 Message Date
Pau Espin 777296babb Add GSUP_CN_DOMAIN_* defines
Change-Id: Ic5790e6984bfdb993ac0586b9dbc4c769e54e90e
2024-03-14 14:32:51 +01:00
Pau Espin b93def2dcb Add GSUP_CANCELLATION_TYPE_* defines
Change-Id: Iba72e60b47450e1eae6e77bee2cc4167e2b47e90
2024-03-14 14:23:06 +01:00
Pau Espin 25ace76f98 Add new PCO IE
Related: OS#6369
Related: osmo-gsm-manuals.git Change-Id Id912ead4e1205f84a40af6505a5ddf050d1e086d

Change-Id: I73629a8bf1f9a10a17c7509dee15c3c6dc36e939
2024-02-20 19:55:08 +01:00
Pau Espin 1391d074f6 gsup_protocol.hrl: Introduce GSUP Cause defines
Change-Id: I087316d5946a025b5c5dc883628453c19c6954ab
2024-01-24 17:38:35 +01:00
Pau Espin 1a064fa6ae Decode/Encode Apn as string
Change-Id: I1206e31272f03853aa8447fb263fff7757282b83
2024-01-22 17:53:32 +01:00
Pau Espin 058a99393e gsup: Convert PDP-Type IE to PDP-Address IE
The previous PDP-Type IE should have been a PDP-Address from the
start, since having only PDP-Type with no address is only a specific
case (dynamic addressing).
This becomes clear by looking at other similar protocols like:
* MAP: APN-Configuration IE has servedPartyIP-IP{v4,v6}-Address IEs
* Diameter S6b, 3GPP TS 29.272 7.3.35 APN-Configuration contains
  Served-Party-IP-Address AVPs
* Diameter SWx, 3GPP TS 29.273 APN-Configuration.
* GTPv1C Ts 29.060 7.7.29 PDP Context containing PDP Address.

Since PDP-Type on its own really makes no sense, being it a special case
of PDP-Address, let's keep the IE by renaming it (keeping old name too
for API backward compat) and extend it to support lengths > 2 bytes.

Old implementation of libosmogsm gsup actually ignored lengths > 2
bytes, so we are safe acting against older implementations here, both
on the sending and receiving side on the wire.

The big drawback of this commit is that it breaks ABI compatibility due
to adding "struct osmo_sockaddr pdp_address[2];" to struct
osmo_gsup_pdp_info, which in turn affects shift of fields in struct
osmo_gsup_message. Unfortunately, there's not much that can be done to
improve the situation when adding the missing field, due to existing API
having the same struct for all messages. Ideally we'd have 1 union with
structs per message type inside, this way the ABI break would be far
less pronounced.

Related: OS#6091
Depends: libosmocore.git Change-Id 70be3560659c58f24b8db529c4fc85da4bb0ec04
Depends: osmo-gsm-manuals.git Change-Id Ifb4e44b23d19ea049f03a3602c39f2471ff1bff4
Change-Id: I05562d7b0c0941ee619cbf07d90af47652c3897c
2024-01-22 17:50:54 +01:00
Alexander Couzens d023f75c55 gsup_protocol: auth_tuple: make rand, sres, kc optional
With only 3G auth data present, there isn't any 2G auth data.
2024-01-22 17:50:20 +01:00
Alexander Couzens daa4d882cf add support for epdg_tunnel request/error/result 2024-01-22 17:50:20 +01:00
Pau Espin 9487d9276a cosmetic: Fix trailing whitespace
Change-Id: I9c894440818040151015283b0df7e1646110f5d5
2024-01-22 14:39:38 +01:00
Vadim Yanitskiy ee15ee2b44 fix E-Routing-Error: both session state / ID IEs are optional
If a message that has triggered the E-Routing-Error contains no
session related IEs, they will also be absent in the error message.

Change-Id: I0c0c84c9dbd2e53e7d1720868cc157f9e21749c2
2020-04-19 19:57:21 +07:00
Alexander Couzens 8c724025e8 PDP_INFO_COMPLETE IE is optional for insert_sub_data_req
Change-Id: I37fdfc68ae47fe35ef010711be20995680260c2c
2020-01-21 12:06:44 +00:00
Alexander Couzens b656fc1965 Add optional NUM_VECTORS_REQ IE to send_auth_info_req
Change-Id: Ifb338cb849c0c9b2ce338eaa8ead6ac307188d3b
2020-01-21 12:06:44 +00:00
Vadim Yanitskiy 657fee93f6 gsup_protocol.hrl: SM-RP-MR IE is mandatory for READY-FOR-SM messages
Change-Id: I09b6b8afb1c0d28d4bf214fb8f01c21c895b8546
2020-01-20 20:56:18 +00:00
Vadim Yanitskiy e708e54b70 gsup_protocol.hrl: make source / destination name IEs optional by default
Change-Id: I67ff73dfdeba1bfadf8ddfe112d8b4bdba62a699
2020-01-20 20:56:18 +00:00
Vadim Yanitskiy 044400fa88 Introduce basic contrib/jenkins.sh for Jenkins build verification
Change-Id: I7b78aba09b1d249da90ad7a2d4359d8d23219ee5
Related: OS#4345
2020-01-19 14:03:51 +00:00
Oliver Smith 9f649c6178 contrib/jenkins.sh: new file
Related: OS#4345
Change-Id: Ifa6c846ec002ad748185ba5da7108a67a9367786
2020-01-17 08:58:48 +01:00
Harald Welte b470dfa204 Add support for CURRENT_RAT_TYPE IE
In libosmcore.git Change-Id I93850710ab55a605bf61b95063a69682a2899bb1,
a new OSMO_GSUP_CURRENT_RAT_TYPE_IE was introduced.  Let's add support
for it here, too.
2019-12-01 16:53:46 +01:00
Harald Welte bb32d46b18 GSUP IE 0x29 got renamed from RAT_TYPE to SUPPORTED_RAT_TYPEs
In git commit b76c7fad94 we introduced
support for the GSUP RAT_TYPE IE (0x29).  At that time, the
corresponding libosmocore change (Change-Id
I93850710ab55a605bf61b95063a69682a2899bb1) was still in review.

Meanwhile, that change has been merged, and the final IE name now
is OSMO_GSUP_SUPPORTED_RAT_TYPES_IE.
2019-12-01 16:36:59 +01:00
Harald Welte b76c7fad94 add support for the RAT Type IE of GSUP 2019-08-22 13:48:00 +02:00
Harald Welte c92ebfa444 split 'GSUPPdpInfo'() type definition from 'GSUPMessage'() 2019-08-13 07:37:20 +02:00
Harald Welte 0ba5533e1f split GSUPAuthTuple type definition from GSUPMessage 2019-08-13 07:37:08 +02:00
Andrey Velikiy fde0fd989d Change xx_forward_xxx to xx_forward_sm_xxx 2019-08-02 09:42:46 +03:00
Andrey Velikiy bb299668cb Add support of the GSUP E Interface messages
Encoding and decoding of the following GSUP messages were added to support inter-MSC handover functionality:
* E Prepare Handover Request/Result/Error
* E Prepare Subsequent Handover Request/Result/Error
* E Send End Signal Request/Result/Error
* E Forward Access Signalling Request
* E Process Access Signalling Request
* E Close, E Abort, E Routing Error.

Tests for GSUP E Interface messages were added from libosmocore library.
2019-06-25 16:48:23 +03:00
Andrey Velikiy 6df26d10d7 Add README 2019-06-25 16:48:23 +03:00
Andrey Velikiy 1e801787be Fix bugs in the GSUP library code and add tests from libosmocore library
A number of bugs were found in the initial implementation and fixed during the first real tests and after the tests from libosmocom library were added to the code.
2019-06-25 16:48:23 +03:00
Andrey Velikiy c66c8d0729 Add support of Message Class IE
This IE was introduced together with inter-MSC handover implementation.
Message Class IE is mandatory for Inter-MSC GSUP messages and optional for Subscriber Management, SS and SMS messages.
2019-06-25 16:48:23 +03:00
Andrey Velikiy b39df23758 Initial commit 2019-06-14 21:08:00 +03:00