Changes of Revision 21

open5gs_2.4.8.202207150002.dsc -> open5gs_2.4.8.202207180859.dsc Changed
x
 
1
@@ -2,7 +2,7 @@
2
 Source: open5gs
3
 Binary: open5gs-common, open5gs-mme, open5gs-sgwc, open5gs-smf, open5gs-amf, open5gs-sgwu, open5gs-upf, open5gs-hss, open5gs-pcrf, open5gs-nrf, open5gs-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg
4
 Architecture: any
5
-Version: 2.4.8.202207150002
6
+Version: 2.4.8.202207180859
7
 Maintainer: Harald Welte <laforge@gnumonks.org>
8
 Uploaders: Sukchan Lee <acetcom@gmail.com>
9
 Homepage: https://open5gs.org
10
@@ -30,8 +30,8 @@
11
  open5gs-udr deb net optional arch=any
12
  open5gs-upf deb net optional arch=any
13
 Checksums-Sha1:
14
- c1635a1d6072ac1d396c4b255aacb79f66d59e99 11446152 open5gs_2.4.8.202207150002.tar.xz
15
+ f07c2ac3eaaabcce636cd698e1e0af8990bb798e 11455352 open5gs_2.4.8.202207180859.tar.xz
16
 Checksums-Sha256:
17
- 099a1859eea0c38a0b7a466155024110d29ae243321734273ffb6aa871436395 11446152 open5gs_2.4.8.202207150002.tar.xz
18
+ c6d539af02674769ccc73642c761db340be01004bfebea715e793ea3d08ed802 11455352 open5gs_2.4.8.202207180859.tar.xz
19
 Files:
20
- fb5aca857619d011245408c5cfabe46b 11446152 open5gs_2.4.8.202207150002.tar.xz
21
+ c9e3064bc9ec33a7309195fecd73641f 11455352 open5gs_2.4.8.202207180859.tar.xz
22
open5gs_2.4.8.202207150002.tar.xz/configs/310014.yaml.in -> open5gs_2.4.8.202207180859.tar.xz/configs/310014.yaml.in Changed
21
 
1
@@ -4,6 +4,7 @@
2
 
3
 parameter:
4
 #    no_nrf: true
5
+#    no_scp: true
6
 #    no_amf: true
7
 #    no_smf: true
8
 #    no_upf: true
9
@@ -194,6 +195,11 @@
10
         - ::1
11
         port: 7777
12
 
13
+scp:
14
+    sbi:
15
+      - addr: 127.0.1.10
16
+        port: 7777
17
+
18
 ausf:
19
     sbi:
20
       - addr: 127.0.0.11
21
open5gs_2.4.8.202207150002.tar.xz/configs/csfb.yaml.in -> open5gs_2.4.8.202207180859.tar.xz/configs/csfb.yaml.in Changed
9
 
1
@@ -4,6 +4,7 @@
2
 
3
 parameter:
4
 #    no_nrf: true
5
+#    no_scp: true
6
 #    no_amf: true
7
 #    no_smf: true
8
 #    no_upf: true
9
open5gs_2.4.8.202207150002.tar.xz/configs/non3gpp.yaml.in -> open5gs_2.4.8.202207180859.tar.xz/configs/non3gpp.yaml.in Changed
9
 
1
@@ -4,6 +4,7 @@
2
 
3
 parameter:
4
 #    no_nrf: true
5
+#    no_scp: true
6
 #    no_amf: true
7
 #    no_smf: true
8
 #    no_upf: true
9
open5gs_2.4.8.202207150002.tar.xz/configs/open5gs/meson.build -> open5gs_2.4.8.202207180859.tar.xz/configs/open5gs/meson.build Changed
9
 
1
@@ -29,6 +29,7 @@
2
     hss.yaml
3
     pcrf.yaml
4
     nrf.yaml
5
+    scp.yaml
6
     ausf.yaml
7
     udm.yaml
8
     udr.yaml
9
open5gs_2.4.8.202207180859.tar.xz/configs/open5gs/scp.yaml.in Added
201
 
1
@@ -0,0 +1,213 @@
2
+db_uri: mongodb://localhost/open5gs
3
+
4
+#
5
+# logger:
6
+#
7
+#  o Set OGS_LOG_INFO to all domain level
8
+#   - If `level` is omitted, the default level is OGS_LOG_INFO)
9
+#   - If `domain` is omitted, the all domain level is set from 'level'
10
+#    (Nothing is needed)
11
+#
12
+#  o Set OGS_LOG_ERROR to all domain level
13
+#   - `level` can be set with none, fatal, error, warn, info, debug, trace
14
+#    level: error
15
+#
16
+#  o Set OGS_LOG_DEBUG to mme/emm domain level
17
+#    level: debug
18
+#    domain: mme,emm
19
+#
20
+#  o Set OGS_LOG_TRACE to all domain level
21
+#    level: trace
22
+#    domain: core,sbi,scp,event,tlv,mem,sock
23
+#
24
+logger:
25
+    file: @localstatedir@/log/open5gs/scp.log
26
+
27
+#
28
+# scp:
29
+#
30
+#  <SBI Server>
31
+#
32
+#  o SBI Server(http://<all address available>:80)
33
+#    sbi:
34
+#
35
+#  o SBI Server(http://<any address>:80)
36
+#    sbi:
37
+#      - addr:
38
+#          - 0.0.0.0
39
+#          - ::0
40
+#        port: 7777
41
+#
42
+#  o SBI Server(https://<all address avaiable>:443)
43
+#    sbi:
44
+#      - tls:
45
+#          key: scp.key
46
+#          pem: scp.pem
47
+#
48
+#  o SBI Server(https://127.0.1.10:443, http://::1:80)
49
+#    sbi:
50
+#      - addr: 127.0.1.10
51
+#        tls:
52
+#          key: scp.key
53
+#          pem: scp.pem
54
+#      - addr: ::1
55
+#
56
+#  o SBI Server(http://scp.open5gs.org:80)
57
+#    sbi:
58
+#      - name: scp.open5gs.org
59
+#
60
+#  o SBI Server(http://127.0.1.10:7777)
61
+#    sbi:
62
+#      - addr: 127.0.1.10
63
+#        port: 7777
64
+#
65
+#  o SBI Server(http://<eth0 IP address>:80)
66
+#    sbi:
67
+#      - dev: eth0
68
+#
69
+#  o Provide custom SBI address to be advertised to NRF
70
+#    sbi:
71
+#      - dev: eth0
72
+#        advertise: open5gs-scp.svc.local
73
+#
74
+#    sbi:
75
+#      - addr: localhost
76
+#        advertise:
77
+#          - 127.0.0.99
78
+#          - ::1
79
+#
80
+#  o SBI Option (Default)
81
+#    - tcp_nodelay : true
82
+#    - so_linger.l_onoff : false
83
+#
84
+#    sbi:
85
+#      addr: 127.0.1.10
86
+#      option:
87
+#        tcp_nodelay: false
88
+#        so_linger:
89
+#          l_onoff: true
90
+#          l_linger: 10
91
+#
92
+#  <Next hop SCP>
93
+#
94
+#  o Next hop SCP Server(https://127.0.1.11:7777)
95
+#  next_scp:
96
+#      sbi:
97
+#        - addr: 127.0.1.11
98
+#          port: 7777
99
+#
100
+#  <Discovery>
101
+#
102
+#  o NF Discovery and Selection
103
+#    for indirect communication with Delegated Discovery;
104
+#
105
+#  o delegated:
106
+#    o auto: (Default)
107
+#            Use next-hop SCP if next-hop SCP avaiable. Otherwise NRF is used.
108
+#            => App fails if both next-hop SCP and NRF are unavailable.
109
+#    o yes:  Use next-hop SCP always.
110
+#            => App fails if no next-hop SCP available.
111
+#    o no:   Don't use next-hop SCP server.
112
+#            => App fails if no NRF available.
113
+#
114
+#  next_scp:
115
+#      sbi:
116
+#        - addr: 127.0.1.11
117
+#          port: 7777
118
+#      discovery:
119
+#        delegated: auto|yes|no
120
+#
121
+scp:
122
+    sbi:
123
+      - addr: 127.0.1.10
124
+        port: 7777
125
+
126
+#
127
+# nrf:
128
+#
129
+#  <SBI Client>>
130
+#
131
+#  o SBI Client(http://127.0.0.10:7777)
132
+#    sbi:
133
+#      addr: 127.0.0.10
134
+#      port: 7777
135
+#
136
+#  o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80)
137
+#    sbi:
138
+#      - addr: 127.0.0.10
139
+#        tls:
140
+#          key: nrf.key
141
+#          pem: nrf.pem
142
+#      - name: nrf.open5gs.org
143
+#
144
+#  o SBI Client(http://fd69:f21d:873c:fa::1:80)
145
+#    If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
146
+#
147
+#    sbi:
148
+#      addr:
149
+#        - 127.0.0.10
150
+#        - fd69:f21d:873c:fa::1
151
+#
152
+#  o SBI Option (Default)
153
+#    - tcp_nodelay : true
154
+#    - so_linger.l_onoff : false
155
+#
156
+#    sbi:
157
+#      addr: 127.0.0.10
158
+#      option:
159
+#        tcp_nodelay: false
160
+#        so_linger:
161
+#          l_onoff: true
162
+#          l_linger: 10
163
+#
164
+nrf:
165
+    sbi:
166
+      - addr:
167
+          - 127.0.0.10
168
+          - ::1
169
+        port: 7777
170
+
171
+#
172
+# parameter:
173
+#
174
+#  o Disable use of IPv4 addresses (only IPv6)
175
+#      no_ipv4: true
176
+#
177
+#  o Disable use of IPv6 addresses (only IPv4)
178
+#      no_ipv6: true
179
+#
180
+#  o Prefer IPv4 instead of IPv6 for estabishing new GTP connections.
181
+#      prefer_ipv4: true
182
+#
183
+parameter:
184
+
185
+#
186
+# max:
187
+#
188
+# o Maximum Number of UE per AMF/MME
189
+#    ue: 1024
190
+# o Maximum Number of gNB/eNB per AMF/MME
191
+#    gnb: 64
192
+#
193
+max:
194
+
195
+#
196
+# time:
197
+#
198
+#  o NF Instance Heartbeat (Default : 0)
199
+#    NFs will not send heart-beat timer in NFProfile
200
+#    NRF will send heart-beat timer in NFProfile
201
open5gs_2.4.8.202207150002.tar.xz/configs/sample.yaml.in -> open5gs_2.4.8.202207180859.tar.xz/configs/sample.yaml.in Changed
80
 
1
@@ -4,6 +4,7 @@
2
 
3
 parameter:
4
 #    no_nrf: true
5
+#    no_scp: true
6
 #    no_amf: true
7
 #    no_smf: true
8
 #    no_upf: true
9
@@ -194,6 +195,70 @@
10
         - ::1
11
         port: 7777
12
 
13
+#
14
+# scp:
15
+#
16
+#  <SBI Client>>
17
+#
18
+#  o SBI Client(http://127.0.0.10:7777)
19
+#    sbi:
20
+#      addr: 127.0.0.10
21
+#      port: 7777
22
+#
23
+#  o SBI Client(https://127.0.0.10:443, http://scp.open5gs.org:80)
24
+#    sbi:
25
+#      - addr: 127.0.0.10
26
+#        tls:
27
+#          key: scp.key
28
+#          pem: scp.pem
29
+#      - name: scp.open5gs.org
30
+#
31
+#  o SBI Client(http://fd69:f21d:873c:fa::1:80)
32
+#    If prefer_ipv4 is true, http://127.0.0.10:80 is selected.
33
+#
34
+#    sbi:
35
+#      addr:
36
+#        - 127.0.0.10
37
+#        - fd69:f21d:873c:fa::1
38
+#
39
+#  o SBI Option (Default)
40
+#    - tcp_nodelay : true
41
+#    - so_linger.l_onoff : false
42
+#
43
+#    sbi:
44
+#      addr: 127.0.0.10
45
+#      option:
46
+#        tcp_nodelay: false
47
+#        so_linger:
48
+#          l_onoff: true
49
+#          l_linger: 10
50
+#
51
+#  <Discovery>
52
+#
53
+#  o NF Discovery and Selection
54
+#    for indirect communication with Delegated Discovery;
55
+#
56
+#  o delegated:
57
+#    o auto: (Default)
58
+#            Use SCP if SCP avaiable. Otherwise NRF is used.
59
+#            => App fails if both NRF and SCP are unavailable.
60
+#    o yes:  Use SCP always.
61
+#            => App fails if no SCP available.
62
+#    o no:   Don't use SCP server.
63
+#            => App fails if no NRF available.
64
+#
65
+#  scp:
66
+#      sbi:
67
+#        - addr: 127.0.1.10
68
+#          port: 7777
69
+#      discovery:
70
+#        delegated: auto|yes|no
71
+#
72
+scp:
73
+    sbi:
74
+      - addr: 127.0.1.10
75
+        port: 7777
76
+
77
 ausf:
78
     sbi:
79
       - addr: 127.0.0.11
80
open5gs_2.4.8.202207150002.tar.xz/configs/slice.yaml.in -> open5gs_2.4.8.202207180859.tar.xz/configs/slice.yaml.in Changed
9
 
1
@@ -4,6 +4,7 @@
2
 
3
 parameter:
4
 #    no_nrf: true
5
+    no_scp: true
6
 #    no_amf: true
7
 #    no_smf: true
8
 #    no_upf: true
9
open5gs_2.4.8.202207150002.tar.xz/configs/srslte.yaml.in -> open5gs_2.4.8.202207180859.tar.xz/configs/srslte.yaml.in Changed
9
 
1
@@ -4,6 +4,7 @@
2
 
3
 parameter:
4
 #    no_nrf: true
5
+#    no_scp: true
6
 #    no_amf: true
7
 #    no_smf: true
8
 #    no_upf: true
9
open5gs_2.4.8.202207150002.tar.xz/configs/volte.yaml.in -> open5gs_2.4.8.202207180859.tar.xz/configs/volte.yaml.in Changed
9
 
1
@@ -4,6 +4,7 @@
2
 
3
 parameter:
4
 #    no_nrf: true
5
+#    no_scp: true
6
 #    no_amf: true
7
 #    no_smf: true
8
 #    no_upf: true
9
open5gs_2.4.8.202207150002.tar.xz/configs/vonr.yaml.in -> open5gs_2.4.8.202207180859.tar.xz/configs/vonr.yaml.in Changed
21
 
1
@@ -4,6 +4,7 @@
2
 
3
 parameter:
4
 #    no_nrf: true
5
+#    no_scp: true
6
 #    no_amf: true
7
 #    no_smf: true
8
 #    no_upf: true
9
@@ -199,6 +200,11 @@
10
         - ::1
11
         port: 7777
12
 
13
+scp:
14
+    sbi:
15
+      - addr: 127.0.1.10
16
+        port: 7777
17
+
18
 ausf:
19
     sbi:
20
       - addr: 127.0.0.11
21
open5gs_2.4.8.202207150002.tar.xz/debian/changelog -> open5gs_2.4.8.202207180859.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-open5gs (2.4.8.202207150002) UNRELEASED; urgency=medium
3
+open5gs (2.4.8.202207180859) UNRELEASED; urgency=medium
4
 
5
   * Snapshot build
6
 
7
- -- Sukchan Lee <acetcom@gmail.com>  Fri, 15 Jul 2022 00:09:11 +0000
8
+ -- Sukchan Lee <acetcom@gmail.com>  Mon, 18 Jul 2022 09:05:50 +0000
9
 
10
 open5gs (2.4.8) unstable; urgency=medium
11
 
12
open5gs_2.4.8.202207150002.tar.xz/debian/control -> open5gs_2.4.8.202207180859.tar.xz/debian/control Changed
163
 
1
@@ -31,7 +31,7 @@
2
 Package: open5gs-common
3
 Architecture: any
4
 Multi-Arch: same
5
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
6
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
7
          ${misc:Depends}
8
 Description: 5G Core and EPC (Shared Files)
9
  Open5GS is a C-language implementation of 5G Core and EPC
10
@@ -43,7 +43,7 @@
11
 Package: open5gs-mme
12
 Architecture: any
13
 Multi-Arch: same
14
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
15
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
16
          ${misc:Depends},
17
          open5gs-common (= ${binary:Version})
18
 Description: MME (Mobility Management Entity)
19
@@ -58,7 +58,7 @@
20
 Package: open5gs-sgwc
21
 Architecture: any
22
 Multi-Arch: same
23
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
24
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
25
          ${misc:Depends},
26
          open5gs-common (= ${binary:Version})
27
 Description: SGW-C (Serving Gateway - Control Plane)
28
@@ -72,7 +72,7 @@
29
 Package: open5gs-smf
30
 Architecture: any
31
 Multi-Arch: same
32
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
33
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
34
          ${misc:Depends},
35
          open5gs-common (= ${binary:Version})
36
 Description: SMF (Session Management Function)
37
@@ -84,7 +84,7 @@
38
 Package: open5gs-amf
39
 Architecture: any
40
 Multi-Arch: same
41
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
42
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
43
          ${misc:Depends},
44
          open5gs-common (= ${binary:Version})
45
 Description: AMF (Access and Mobility Management Function)
46
@@ -96,7 +96,7 @@
47
 Package: open5gs-sgwu
48
 Architecture: any
49
 Multi-Arch: same
50
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
51
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
52
          ${misc:Depends},
53
          open5gs-common (= ${binary:Version})
54
 Description: SGW-U (Serving Gateway - User Plane)
55
@@ -110,7 +110,7 @@
56
 Package: open5gs-upf
57
 Architecture: any
58
 Multi-Arch: same
59
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
60
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
61
          ${misc:Depends},
62
          udev,
63
          open5gs-common (= ${binary:Version})
64
@@ -123,7 +123,7 @@
65
 Package: open5gs-hss
66
 Architecture: any
67
 Multi-Arch: same
68
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
69
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
70
          ${misc:Depends},
71
          mongodb-org | mongodb,
72
          open5gs-common (= ${binary:Version})
73
@@ -140,7 +140,7 @@
74
 Package: open5gs-pcrf
75
 Architecture: any
76
 Multi-Arch: same
77
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
78
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
79
          ${misc:Depends},
80
          mongodb-org | mongodb,
81
          open5gs-common (= ${binary:Version})
82
@@ -156,7 +156,7 @@
83
 Package: open5gs-nrf
84
 Architecture: any
85
 Multi-Arch: same
86
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
87
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
88
          ${misc:Depends},
89
          open5gs-common (= ${binary:Version})
90
 Description: NRF (Network Repository Function)
91
@@ -168,7 +168,7 @@
92
 Package: open5gs-ausf
93
 Architecture: any
94
 Multi-Arch: same
95
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
96
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
97
          ${misc:Depends},
98
          open5gs-common (= ${binary:Version})
99
 Description: AUSF (Authentication Server Function)
100
@@ -180,7 +180,7 @@
101
 Package: open5gs-udm
102
 Architecture: any
103
 Multi-Arch: same
104
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
105
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
106
          ${misc:Depends},
107
          open5gs-common (= ${binary:Version})
108
 Description: UDM (Unified Data Management)
109
@@ -192,7 +192,7 @@
110
 Package: open5gs-pcf
111
 Architecture: any
112
 Multi-Arch: same
113
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
114
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
115
          ${misc:Depends},
116
          open5gs-common (= ${binary:Version})
117
 Description: PCF (Policy Control Function)
118
@@ -204,7 +204,7 @@
119
 Package: open5gs-nssf
120
 Architecture: any
121
 Multi-Arch: same
122
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
123
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
124
          ${misc:Depends},
125
          open5gs-common (= ${binary:Version})
126
 Description: NSSF (Network Slice Selection Function)
127
@@ -216,7 +216,7 @@
128
 Package: open5gs-bsf
129
 Architecture: any
130
 Multi-Arch: same
131
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
132
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
133
          ${misc:Depends},
134
          open5gs-common (= ${binary:Version})
135
 Description: BSF (Binding Support Function)
136
@@ -228,7 +228,7 @@
137
 Package: open5gs-udr
138
 Architecture: any
139
 Multi-Arch: same
140
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${shlibs:Depends},
141
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${shlibs:Depends},
142
          ${misc:Depends},
143
          open5gs-common (= ${binary:Version})
144
 Description: UDR (Unified Data Repository)
145
@@ -240,7 +240,7 @@
146
 Package: open5gs
147
 Architecture: any
148
 Multi-Arch: same
149
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${misc:Depends},
150
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${misc:Depends},
151
          open5gs-common (= ${binary:Version}),
152
          open5gs-mme (= ${binary:Version}),
153
          open5gs-sgwc (= ${binary:Version}),
154
@@ -266,7 +266,7 @@
155
 Package: open5gs-dbg
156
 Architecture: any
157
 Multi-Arch: same
158
-Depends: osmocom-nightly (= 1.0.0.202207150002), ${misc:Depends},
159
+Depends: osmocom-nightly (= 1.0.0.202207180859), ${misc:Depends},
160
          open5gs (= ${binary:Version})
161
 Description: Debug symbols for Open5GS
162
  Open5GS is a C-language implementation of 5G Core and EPC
163
open5gs_2.4.8.202207150002.tar.xz/lib/app/ogs-app.h -> open5gs_2.4.8.202207180859.tar.xz/lib/app/ogs-app.h Changed
11
 
1
@@ -94,6 +94,9 @@
2
 int amf_initialize(void);
3
 void amf_terminate(void);
4
 
5
+int scp_initialize(void);
6
+void scp_terminate(void);
7
+
8
 #ifdef __cplusplus
9
 }
10
 #endif
11
open5gs_2.4.8.202207150002.tar.xz/lib/app/ogs-context.c -> open5gs_2.4.8.202207180859.tar.xz/lib/app/ogs-context.c Changed
20
 
1
@@ -113,7 +113,7 @@
2
         ogs_max(ogs_time_from_sec(3),
3
             self.time.message.sbi.client_wait_duration + ogs_time_from_sec(1));
4
     self.time.message.sbi.nf_register_interval_in_exception =
5
-                ogs_time_from_msec(300);
6
+                ogs_time_from_sec(2);
7
 
8
 #define PFCP_N1_RESPONSE_RETRY_COUNT  3
9
     self.time.message.pfcp.n1_response_rcount = PFCP_N1_RESPONSE_RETRY_COUNT;
10
@@ -316,6 +316,9 @@
11
                 } else if (!strcmp(parameter_key, "no_nrf")) {
12
                     self.parameter.no_nrf =
13
                         ogs_yaml_iter_bool(&parameter_iter);
14
+                } else if (!strcmp(parameter_key, "no_scp")) {
15
+                    self.parameter.no_scp =
16
+                        ogs_yaml_iter_bool(&parameter_iter);
17
                 } else if (!strcmp(parameter_key, "no_amf")) {
18
                     self.parameter.no_amf =
19
                         ogs_yaml_iter_bool(&parameter_iter);
20
open5gs_2.4.8.202207150002.tar.xz/lib/app/ogs-context.h -> open5gs_2.4.8.202207180859.tar.xz/lib/app/ogs-context.h Changed
9
 
1
@@ -64,6 +64,7 @@
2
         int no_nssf;
3
         int no_bsf;
4
         int no_udr;
5
+        int no_scp;
6
         int no_nrf;
7
 
8
         /* Network */
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/ANY.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/ANY.c Changed
13
 
1
@@ -32,6 +32,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    ANY_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     0,
12
     0,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/ANY.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/ANY.h Changed
12
 
1
@@ -42,6 +42,10 @@
2
 xer_type_encoder_f ANY_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f ANY_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_UPER_SUPPORT)
10
 per_type_decoder_f ANY_decode_uper;
11
 per_type_encoder_f ANY_encode_uper;
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/ANY_aper.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/ANY_aper.c Changed
28
 
1
@@ -132,7 +132,7 @@
2
         int ret;
3
 
4
         /* Get the PER length */
5
-        raw_len = aper_get_length(pd, -1, 0, &repeat);
6
+        raw_len = aper_get_length(pd, -1, -1, 0, &repeat);
7
         if(raw_len < 0) RETURN(RC_WMORE);
8
         if(raw_len == 0 && st->buf) break;
9
 
10
@@ -173,7 +173,7 @@
11
     size = st->size;
12
     do {
13
         int need_eom = 0;
14
-        ssize_t may_save = aper_put_length(po, -1, size, &need_eom);
15
+        ssize_t may_save = aper_put_length(po, -1, -1, size, &need_eom);
16
         if(may_save < 0) ASN__ENCODE_FAILED;
17
 
18
         ret = per_put_many_bits(po, buf, may_save * 8);
19
@@ -182,7 +182,7 @@
20
         buf += may_save;
21
         size -= may_save;
22
         assert(!(may_save & 0x07) || !size);
23
-        if(need_eom && aper_put_length(po, -1, 0, 0))
24
+        if(need_eom && aper_put_length(po, -1, -1, 0, NULL))
25
             ASN__ENCODE_FAILED; /* End of Message length */
26
     } while(size);
27
 
28
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/ANY_jer.c Added
19
 
1
@@ -0,0 +1,17 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <ANY.h>
9
+
10
+asn_enc_rval_t
11
+ANY_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
12
+               enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb,
13
+               void *app_key) {
14
+  ASN__ENCODE_FAILED;
15
+
16
+  /* Dump as binary */
17
+  return OCTET_STRING_encode_jer(td, sptr, ilevel, flags, cb, app_key);
18
+}
19
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/BIT_STRING.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/BIT_STRING.c Changed
13
 
1
@@ -38,6 +38,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    BIT_STRING_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     BIT_STRING_decode_oer,
12
     BIT_STRING_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/BIT_STRING.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/BIT_STRING.h Changed
12
 
1
@@ -44,6 +44,10 @@
2
 xer_type_encoder_f BIT_STRING_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f BIT_STRING_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 oer_type_decoder_f BIT_STRING_decode_oer;
11
 oer_type_encoder_f BIT_STRING_encode_oer;
12
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/BIT_STRING_jer.c Added
72
 
1
@@ -0,0 +1,70 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <BIT_STRING.h>
9
+
10
+static const char *_bit_pattern16 = {
11
+    "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
12
+    "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"
13
+};
14
+
15
+asn_enc_rval_t
16
+BIT_STRING_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
17
+                      int ilevel, enum jer_encoder_flags_e flags,
18
+                      asn_app_consume_bytes_f *cb, void *app_key) {
19
+    asn_enc_rval_t er = {0, 0, 0};
20
+    char scratch128;
21
+    char *p = scratch;
22
+    char *scend = scratch + (sizeof(scratch) - 10);
23
+    const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
24
+    int xcan = 0;
25
+    uint8_t *buf;
26
+    uint8_t *end;
27
+
28
+    if(!st || !st->buf)
29
+        ASN__ENCODE_FAILED;
30
+
31
+    er.encoded = 0;
32
+
33
+    buf = st->buf;
34
+    end = buf + st->size - 1;  /* Last byte is special */
35
+
36
+    /*
37
+     * Binary dump
38
+     */
39
+    for(; buf < end; buf++) {
40
+        int v = *buf;
41
+        int nline = xcan?0:(((buf - st->buf) % 8) == 0);
42
+        if(p >= scend || nline) {
43
+            ASN__CALLBACK(scratch, p - scratch);
44
+            p = scratch;
45
+            if(nline) ASN__TEXT_INDENT(1, ilevel);
46
+        }
47
+        memcpy(p + 0, _bit_patternv >> 4, 4);
48
+        memcpy(p + 4, _bit_patternv & 0x0f, 4);
49
+        p += 8;
50
+    }
51
+
52
+    if(!xcan && ((buf - st->buf) % 8) == 0)
53
+        ASN__TEXT_INDENT(1, ilevel);
54
+    ASN__CALLBACK(scratch, p - scratch);
55
+    p = scratch;
56
+
57
+    if(buf == end) {
58
+        int v = *buf;
59
+        int ubits = st->bits_unused;
60
+        int i;
61
+        for(i = 7; i >= ubits; i--)
62
+            *p++ = (v & (1 << i)) ? 0x31 : 0x30;
63
+        ASN__CALLBACK(scratch, p - scratch);
64
+    }
65
+
66
+    if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1);
67
+
68
+    ASN__ENCODED_OK(er);
69
+cb_failed:
70
+    ASN__ENCODE_FAILED;
71
+}
72
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/GraphicString.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/GraphicString.c Changed
13
 
1
@@ -34,6 +34,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    OCTET_STRING_encode_jer,  /* Can't expect it to be ASCII/UTF8 */
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     OCTET_STRING_decode_oer,
12
     OCTET_STRING_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/GraphicString.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/GraphicString.h Changed
12
 
1
@@ -36,6 +36,10 @@
2
 #define GraphicString_encode_xer OCTET_STRING_encode_xer
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+#define GraphicString_encode_jer OCTET_STRING_encode_jer
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_UPER_SUPPORT)
10
 #define GraphicString_decode_uper OCTET_STRING_decode_uper
11
 #define GraphicString_encode_uper OCTET_STRING_encode_uper
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/INTEGER.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/INTEGER.c Changed
13
 
1
@@ -36,6 +36,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    INTEGER_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     INTEGER_decode_oer,  /* OER decoder */
12
     INTEGER_encode_oer,  /* Canonical OER encoder */
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/INTEGER.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/INTEGER.h Changed
12
 
1
@@ -60,6 +60,10 @@
2
 xer_type_encoder_f INTEGER_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f INTEGER_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 oer_type_decoder_f INTEGER_decode_oer;
11
 oer_type_encoder_f INTEGER_encode_oer;
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/INTEGER_aper.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/INTEGER_aper.c Changed
27
 
1
@@ -129,7 +129,7 @@
2
         int ret;
3
 
4
         /* Get the PER length */
5
-        len = aper_get_length(pd, -1, -1, &repeat);
6
+        len = aper_get_length(pd, -1, -1, -1, &repeat);
7
         if(len < 0) ASN__DECODE_STARVED;
8
 
9
         p = REALLOC(st->buf, st->size + len + 1);
10
@@ -291,13 +291,14 @@
11
 
12
     for(buf = st->buf, end = st->buf + st->size; buf < end;) {
13
         int need_eom = 0;
14
-        ssize_t mayEncode = aper_put_length(po, -1, end - buf, &need_eom);
15
+        ssize_t mayEncode = aper_put_length(po, -1, -1, end - buf, &need_eom);
16
         if(mayEncode < 0)
17
             ASN__ENCODE_FAILED;
18
         if(per_put_many_bits(po, buf, 8 * mayEncode))
19
             ASN__ENCODE_FAILED;
20
         buf += mayEncode;
21
-        if(need_eom && aper_put_length(po, -1, 0, 0)) ASN__ENCODE_FAILED;
22
+        if(need_eom && (aper_put_length(po, -1, -1, 0, NULL) < 0))
23
+            ASN__ENCODE_FAILED;
24
     }
25
 
26
     ASN__ENCODED_OK(er);
27
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/INTEGER_jer.c Added
28
 
1
@@ -0,0 +1,26 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <INTEGER.h>
9
+
10
+asn_enc_rval_t
11
+INTEGER_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
12
+                   int ilevel, enum jer_encoder_flags_e flags,
13
+                   asn_app_consume_bytes_f *cb, void *app_key) {
14
+    const INTEGER_t *st = (const INTEGER_t *)sptr;
15
+    asn_enc_rval_t er = {0,0,0};
16
+
17
+    (void)ilevel;
18
+    (void)flags;
19
+
20
+    if(!st || !st->buf)
21
+        ASN__ENCODE_FAILED;
22
+
23
+    er.encoded = INTEGER__dump(td, st, cb, app_key, 1);
24
+    if(er.encoded < 0) ASN__ENCODE_FAILED;
25
+
26
+    ASN__ENCODED_OK(er);
27
+}
28
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/NULL.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/NULL.c Changed
13
 
1
@@ -33,6 +33,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    NULL_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     NULL_decode_oer,
12
     NULL_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/NULL.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/NULL.h Changed
12
 
1
@@ -40,6 +40,10 @@
2
 xer_type_encoder_f NULL_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f NULL_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 oer_type_decoder_f NULL_decode_oer;
11
 oer_type_encoder_f NULL_encode_oer;
12
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/NULL_jer.c Added
28
 
1
@@ -0,0 +1,26 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <asn_codecs_prim.h>
9
+#include <NULL.h>
10
+
11
+asn_enc_rval_t
12
+NULL_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
13
+                enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb,
14
+                void *app_key) {
15
+    asn_enc_rval_t er = {0,0,0};
16
+
17
+    (void)td;
18
+    (void)sptr;
19
+    (void)ilevel;
20
+    (void)flags;
21
+    (void)cb;
22
+    (void)app_key;
23
+
24
+    /* XMLNullValue is empty */
25
+    er.encoded = 0;
26
+    ASN__ENCODED_OK(er);
27
+}
28
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/NativeEnumerated.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/NativeEnumerated.c Changed
13
 
1
@@ -40,6 +40,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    NativeEnumerated_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     NativeEnumerated_decode_oer,
12
     NativeEnumerated_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/NativeEnumerated.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/NativeEnumerated.h Changed
12
 
1
@@ -41,6 +41,10 @@
2
 xer_type_encoder_f NativeEnumerated_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f NativeEnumerated_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 oer_type_decoder_f NativeEnumerated_decode_oer;
11
 oer_type_encoder_f NativeEnumerated_encode_oer;
12
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/NativeEnumerated_jer.c Added
38
 
1
@@ -0,0 +1,36 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <NativeEnumerated.h>
9
+
10
+asn_enc_rval_t
11
+NativeEnumerated_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
12
+                            int ilevel, enum jer_encoder_flags_e flags,
13
+                            asn_app_consume_bytes_f *cb, void *app_key) {
14
+    const asn_INTEGER_specifics_t *specs =
15
+        (const asn_INTEGER_specifics_t *)td->specifics;
16
+    asn_enc_rval_t er = {0,0,0};
17
+    const long *native = (const long *)sptr;
18
+    const asn_INTEGER_enum_map_t *el;
19
+
20
+    (void)ilevel;
21
+    (void)flags;
22
+
23
+    if(!native) ASN__ENCODE_FAILED;
24
+
25
+    el = INTEGER_map_value2enum(specs, *native);
26
+    if(el) {
27
+        er.encoded =
28
+            asn__format_to_callback(cb, app_key, "\"%s\"", el->enum_name);
29
+        if(er.encoded < 0) ASN__ENCODE_FAILED;
30
+        ASN__ENCODED_OK(er);
31
+    } else {
32
+        ASN_DEBUG(
33
+            "ASN.1 forbids dealing with "
34
+            "unknown value of ENUMERATED type");
35
+        ASN__ENCODE_FAILED;
36
+    }
37
+}
38
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/NativeInteger.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/NativeInteger.c Changed
13
 
1
@@ -41,6 +41,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    NativeInteger_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     NativeInteger_decode_oer,  /* OER decoder */
12
     NativeInteger_encode_oer,  /* Canonical OER encoder */
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/NativeInteger.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/NativeInteger.h Changed
12
 
1
@@ -42,6 +42,10 @@
2
 xer_type_encoder_f NativeInteger_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f NativeInteger_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 oer_type_decoder_f NativeInteger_decode_oer;
11
 oer_type_encoder_f NativeInteger_encode_oer;
12
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/NativeInteger_jer.c Added
34
 
1
@@ -0,0 +1,32 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <NativeInteger.h>
9
+
10
+asn_enc_rval_t
11
+NativeInteger_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
12
+                         int ilevel, enum jer_encoder_flags_e flags,
13
+                         asn_app_consume_bytes_f *cb, void *app_key) {
14
+    const asn_INTEGER_specifics_t *specs =
15
+        (const asn_INTEGER_specifics_t *)td->specifics;
16
+    char scratch32;  /* Enough for 64-bit int */
17
+    asn_enc_rval_t er = {0,0,0};
18
+    const long *native = (const long *)sptr;
19
+
20
+    (void)ilevel;
21
+    (void)flags;
22
+
23
+    if(!native) ASN__ENCODE_FAILED;
24
+
25
+    er.encoded = snprintf(scratch, sizeof(scratch),
26
+                          (specs && specs->field_unsigned)
27
+                              ? "%lu" : "%ld", *native);
28
+    if(er.encoded <= 0 || (size_t)er.encoded >= sizeof(scratch)
29
+        || cb(scratch, er.encoded, app_key) < 0)
30
+        ASN__ENCODE_FAILED;
31
+
32
+    ASN__ENCODED_OK(er);
33
+}
34
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/OBJECT_IDENTIFIER.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/OBJECT_IDENTIFIER.c Changed
13
 
1
@@ -38,6 +38,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    OBJECT_IDENTIFIER_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     OBJECT_IDENTIFIER_decode_oer,
12
     OBJECT_IDENTIFIER_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/OBJECT_IDENTIFIER.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/OBJECT_IDENTIFIER.h Changed
12
 
1
@@ -45,6 +45,10 @@
2
 xer_type_encoder_f OBJECT_IDENTIFIER_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f OBJECT_IDENTIFIER_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 #define OBJECT_IDENTIFIER_decode_oer oer_decode_primitive
11
 #define OBJECT_IDENTIFIER_encode_oer oer_encode_primitive
12
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/OBJECT_IDENTIFIER_jer.c Added
30
 
1
@@ -0,0 +1,28 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <OBJECT_IDENTIFIER.h>
9
+
10
+
11
+asn_enc_rval_t
12
+OBJECT_IDENTIFIER_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
13
+                             int ilevel, enum jer_encoder_flags_e flags,
14
+                             asn_app_consume_bytes_f *cb, void *app_key) {
15
+    const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr;
16
+    asn_enc_rval_t er = {0,0,0};
17
+
18
+    (void)ilevel;
19
+    (void)flags;
20
+
21
+    if(!st || !st->buf) {
22
+        ASN__ENCODE_FAILED;
23
+    }
24
+
25
+    er.encoded = OBJECT_IDENTIFIER__dump_body(st, cb, app_key);
26
+    if(er.encoded < 0) ASN__ENCODE_FAILED;
27
+
28
+    ASN__ENCODED_OK(er);
29
+}
30
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/OCTET_STRING.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/OCTET_STRING.c Changed
13
 
1
@@ -40,6 +40,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    OCTET_STRING_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     OCTET_STRING_decode_oer,
12
     OCTET_STRING_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/OCTET_STRING.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/OCTET_STRING.h Changed
13
 
1
@@ -45,6 +45,11 @@
2
 xer_type_encoder_f OCTET_STRING_encode_xer_utf8;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f OCTET_STRING_encode_jer;
7
+jer_type_encoder_f OCTET_STRING_encode_jer_utf8;
8
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
9
+
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
 oer_type_decoder_f OCTET_STRING_decode_oer;
12
 oer_type_encoder_f OCTET_STRING_encode_oer;
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/OCTET_STRING_aper.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/OCTET_STRING_aper.c Changed
55
 
1
@@ -173,9 +173,10 @@
2
         /* Get the PER length */
3
         if (csiz->upper_bound - csiz->lower_bound == 0)
4
             /* Indefinite length case */
5
-            raw_len = aper_get_length(pd, -1, csiz->effective_bits, &repeat);
6
+            raw_len = aper_get_length(pd, -1, -1, csiz->effective_bits, &repeat);
7
         else
8
-            raw_len = aper_get_length(pd, csiz->upper_bound - csiz->lower_bound + 1, csiz->effective_bits, &repeat);
9
+            raw_len = aper_get_length(pd, csiz->lower_bound, csiz->upper_bound,
10
+                                      csiz->effective_bits, &repeat);
11
         if(raw_len < 0) RETURN(RC_WMORE);
12
         raw_len += csiz->lower_bound;
13
 
14
@@ -342,10 +343,9 @@
15
                   st->size, sizeinunits - csiz->lower_bound,
16
                   csiz->effective_bits);
17
         if (csiz->effective_bits > 0) {
18
-                ret = aper_put_length(po,
19
-                                      csiz->upper_bound - csiz->lower_bound + 1,
20
-                                      sizeinunits - csiz->lower_bound, 0);
21
-                if(ret) ASN__ENCODE_FAILED;
22
+                ret = aper_put_length(po, csiz->lower_bound, csiz->upper_bound,
23
+                                      sizeinunits - csiz->lower_bound, NULL);
24
+                if(ret < 0) ASN__ENCODE_FAILED;
25
         }
26
         if (csiz->effective_bits > 0 || (st->size > 2)
27
             || (csiz->upper_bound > (2 * 8 / unit_bits))
28
@@ -372,7 +372,7 @@
29
     ASN_DEBUG("Encoding %lu bytes", st->size);
30
 
31
     if(sizeinunits == 0) {
32
-        if(aper_put_length(po, -1, 0, 0))
33
+        if(aper_put_length(po, -1, -1, 0, NULL) < 0)
34
             ASN__ENCODE_FAILED;
35
         ASN__ENCODED_OK(er);
36
     }
37
@@ -380,7 +380,7 @@
38
     buf = st->buf;
39
     while(sizeinunits) {
40
         int need_eom = 0;
41
-        ssize_t maySave = aper_put_length(po, -1, sizeinunits, &need_eom);
42
+        ssize_t maySave = aper_put_length(po, -1, -1, sizeinunits, &need_eom);
43
 
44
         if(maySave < 0) ASN__ENCODE_FAILED;
45
 
46
@@ -404,7 +404,7 @@
47
             buf += maySave >> 3;
48
         sizeinunits -= maySave;
49
         assert(!(maySave & 0x07) || !sizeinunits);
50
-        if(need_eom && aper_put_length(po, -1, 0, 0))
51
+        if(need_eom && (aper_put_length(po, -1, -1, 0, NULL) < 0))
52
             ASN__ENCODE_FAILED; /* End of Message length */
53
     }
54
 
55
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/OCTET_STRING_jer.c Added
153
 
1
@@ -0,0 +1,151 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <OCTET_STRING.h>
9
+#include <BIT_STRING.h>  /* for .bits_unused member */
10
+
11
+asn_enc_rval_t
12
+OCTET_STRING_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
13
+                        int ilevel, enum jer_encoder_flags_e flags,
14
+                        asn_app_consume_bytes_f *cb, void *app_key) {
15
+    const char * const h2c = "0123456789ABCDEF";
16
+    const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
17
+    asn_enc_rval_t er = { 0, 0, 0 };
18
+    char scratch16 * 3 + 4;
19
+    char *p = scratch;
20
+    uint8_t *buf;
21
+    uint8_t *end;
22
+    size_t i;
23
+
24
+    if(!st || (!st->buf && st->size))
25
+        ASN__ENCODE_FAILED;
26
+
27
+    er.encoded = 0;
28
+
29
+    /*
30
+     * Dump the contents of the buffer in hexadecimal.
31
+     */
32
+    buf = st->buf;
33
+    end = buf + st->size;
34
+    for(i = 0; buf < end; buf++, i++) {
35
+      if(!(i % 16) && (i || st->size > 16)) {
36
+        ASN__CALLBACK(scratch, p-scratch);
37
+        p = scratch;
38
+        ASN__TEXT_INDENT(1, ilevel);
39
+      }
40
+      *p++ = h2c(*buf >> 4) & 0x0F;
41
+      *p++ = h2c*buf & 0x0F;
42
+      *p++ = 0x20;
43
+    }
44
+    if(p - scratch) {
45
+      p--;  /* Remove the tail space */
46
+      ASN__CALLBACK3("\"", 1, scratch, p-scratch, "\"", 1);  /* Dump the rest */
47
+      if(st->size > 16)
48
+        ASN__TEXT_INDENT(1, ilevel-1);
49
+    }
50
+
51
+    ASN__ENCODED_OK(er);
52
+cb_failed:
53
+    ASN__ENCODE_FAILED;
54
+}
55
+
56
+static const struct OCTET_STRING__jer_escape_table_s {
57
+    const char *string;
58
+    int size;
59
+} OCTET_STRING__jer_escape_table = {
60
+#define    OSXET(s)    { s, sizeof(s) - 1 }
61
+    OSXET("\074\156\165\154\057\076"),  /* <nul/> */
62
+    OSXET("\074\163\157\150\057\076"),  /* <soh/> */
63
+    OSXET("\074\163\164\170\057\076"),  /* <stx/> */
64
+    OSXET("\074\145\164\170\057\076"),  /* <etx/> */
65
+    OSXET("\074\145\157\164\057\076"),  /* <eot/> */
66
+    OSXET("\074\145\156\161\057\076"),  /* <enq/> */
67
+    OSXET("\074\141\143\153\057\076"),  /* <ack/> */
68
+    OSXET("\074\142\145\154\057\076"),  /* <bel/> */
69
+    OSXET("\074\142\163\057\076"),      /* <bs/> */
70
+    OSXET("\011"),                      /* \t */
71
+    OSXET("\012"),                      /* \n */
72
+    OSXET("\074\166\164\057\076"),      /* <vt/> */
73
+    OSXET("\074\146\146\057\076"),      /* <ff/> */
74
+    OSXET("\015"),                      /* \r */
75
+    OSXET("\074\163\157\057\076"),      /* <so/> */
76
+    OSXET("\074\163\151\057\076"),      /* <si/> */
77
+    OSXET("\074\144\154\145\057\076"),  /* <dle/> */
78
+    OSXET("\074\144\143\061\057\076"),  /* <de1/> */
79
+    OSXET("\074\144\143\062\057\076"),  /* <de2/> */
80
+    OSXET("\074\144\143\063\057\076"),  /* <de3/> */
81
+    OSXET("\074\144\143\064\057\076"),  /* <de4/> */
82
+    OSXET("\074\156\141\153\057\076"),  /* <nak/> */
83
+    OSXET("\074\163\171\156\057\076"),  /* <syn/> */
84
+    OSXET("\074\145\164\142\057\076"),  /* <etb/> */
85
+    OSXET("\074\143\141\156\057\076"),  /* <can/> */
86
+    OSXET("\074\145\155\057\076"),      /* <em/> */
87
+    OSXET("\074\163\165\142\057\076"),  /* <sub/> */
88
+    OSXET("\074\145\163\143\057\076"),  /* <esc/> */
89
+    OSXET("\074\151\163\064\057\076"),  /* <is4/> */
90
+    OSXET("\074\151\163\063\057\076"),  /* <is3/> */
91
+    OSXET("\074\151\163\062\057\076"),  /* <is2/> */
92
+    OSXET("\074\151\163\061\057\076"),  /* <is1/> */
93
+    { 0, 0 },                           /* " " */
94
+    { 0, 0 },                           /* ! */
95
+    { 0, 0 },                           /* \" */
96
+    { 0, 0 },                           /* # */
97
+    { 0, 0 },                           /* $ */
98
+    { 0, 0 },                           /* % */
99
+    OSXET("\046\141\155\160\073"),      /* &amp; */
100
+    { 0, 0 },                           /* ' */
101
+    {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},  /* ()*+,-./ */
102
+    {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},  /* 01234567 */
103
+    {0,0},{0,0},{0,0},{0,0},            /* 89:; */
104
+    OSXET("\046\154\164\073"),          /* &lt; */
105
+    { 0, 0 },                           /* = */
106
+    OSXET("\046\147\164\073"),          /* &gt; */
107
+};
108
+
109
+asn_enc_rval_t
110
+OCTET_STRING_encode_jer_utf8(const asn_TYPE_descriptor_t *td, const void *sptr,
111
+                             int ilevel, enum jer_encoder_flags_e flags,
112
+                             asn_app_consume_bytes_f *cb, void *app_key) {
113
+    const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
114
+    asn_enc_rval_t er = { 0, 0, 0 };
115
+    uint8_t *buf, *end;
116
+    uint8_t *ss;  /* Sequence start */
117
+    ssize_t encoded_len = 0;
118
+
119
+    (void)ilevel;  /* Unused argument */
120
+    (void)flags;  /* Unused argument */
121
+
122
+    if(!st || (!st->buf && st->size))
123
+        ASN__ENCODE_FAILED;
124
+
125
+    buf = st->buf;
126
+    end = buf + st->size;
127
+    for(ss = buf; buf < end; buf++) {
128
+        unsigned int ch = *buf;
129
+        int s_len; /* Special encoding sequence length */
130
+
131
+        /*
132
+         * Escape certain characters: X.680/11.15
133
+         */
134
+        if(ch < sizeof(OCTET_STRING__jer_escape_table)
135
+            / sizeof(OCTET_STRING__jer_escape_table0)
136
+        && (s_len = OCTET_STRING__jer_escape_tablech.size)) {
137
+            if(((buf - ss) && cb(ss, buf - ss, app_key) < 0)
138
+            || cb(OCTET_STRING__jer_escape_tablech.string, s_len, app_key) < 0)
139
+                ASN__ENCODE_FAILED;
140
+            encoded_len += (buf - ss) + s_len;
141
+            ss = buf + 1;
142
+        }
143
+    }
144
+
145
+    encoded_len += (buf - ss);
146
+    if((buf - ss) && cb(ss, buf - ss, app_key) < 0)
147
+        ASN__ENCODE_FAILED;
148
+
149
+    er.encoded = encoded_len;
150
+    ASN__ENCODED_OK(er);
151
+}
152
+
153
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/OPEN_TYPE.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/OPEN_TYPE.c Changed
13
 
1
@@ -28,6 +28,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    OPEN_TYPE_encode_jer,
7
+#else
8
+    0,
9
+#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     OPEN_TYPE_decode_oer,
12
     OPEN_TYPE_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/OPEN_TYPE.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/OPEN_TYPE.h Changed
12
 
1
@@ -58,6 +58,10 @@
2
 #define OPEN_TYPE_encode_xer CHOICE_encode_xer
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+#define OPEN_TYPE_encode_jer CHOICE_encode_jer
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 asn_dec_rval_t OPEN_TYPE_oer_get(
11
     const asn_codec_ctx_t *opt_codec_ctx,
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/OPEN_TYPE_aper.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/OPEN_TYPE_aper.c Changed
15
 
1
@@ -146,7 +146,7 @@
2
     rv.code = RC_FAIL;
3
 
4
     do {
5
-        bytes = aper_get_length(pd, -1, -1, &repeat);
6
+        bytes = aper_get_length(pd, -1, -1, -1, &repeat);
7
         if (bytes > 10 * ASN_DUMMY_BYTES)
8
         {
9
             return rv;
10
@@ -171,4 +171,3 @@
11
      return rv;
12
 #undef ASN_DUMMY_BYTES
13
 }
14
-
15
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/ObjectDescriptor.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/ObjectDescriptor.c Changed
13
 
1
@@ -34,6 +34,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    OCTET_STRING_encode_jer_utf8,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     0,
12
     0,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/ObjectDescriptor.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/ObjectDescriptor.h Changed
12
 
1
@@ -34,6 +34,10 @@
2
 #define ObjectDescriptor_encode_xer OCTET_STRING_encode_xer_utf8
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+#define ObjectDescriptor_encode_jer OCTET_STRING_encode_jer_utf8
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_UPER_SUPPORT)
10
 #define ObjectDescriptor_decode_uper OCTET_STRING_decode_uper
11
 #define ObjectDescriptor_encode_uper OCTET_STRING_encode_uper
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/PrintableString.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/PrintableString.c Changed
13
 
1
@@ -71,6 +71,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    OCTET_STRING_encode_jer_utf8,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     OCTET_STRING_decode_oer,
12
     OCTET_STRING_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/PrintableString.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/PrintableString.h Changed
12
 
1
@@ -36,6 +36,10 @@
2
 #define PrintableString_encode_xer OCTET_STRING_encode_xer_utf8
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+#define PrintableString_encode_jer OCTET_STRING_encode_jer_utf8
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_UPER_SUPPORT)
10
 #define PrintableString_decode_uper OCTET_STRING_decode_uper
11
 #define PrintableString_encode_uper OCTET_STRING_encode_uper
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/UTF8String.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/UTF8String.c Changed
13
 
1
@@ -35,6 +35,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    OCTET_STRING_encode_jer_utf8,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     OCTET_STRING_decode_oer,
12
     OCTET_STRING_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/UTF8String.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/UTF8String.h Changed
12
 
1
@@ -36,6 +36,10 @@
2
 #define UTF8String_encode_xer OCTET_STRING_encode_xer_utf8
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+#define UTF8String_encode_jer OCTET_STRING_encode_jer_utf8
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_UPER_SUPPORT)
10
 #define UTF8String_decode_uper OCTET_STRING_decode_uper
11
 #define UTF8String_encode_uper OCTET_STRING_encode_uper
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/VisibleString.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/VisibleString.c Changed
13
 
1
@@ -41,6 +41,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    OCTET_STRING_encode_jer_utf8,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     OCTET_STRING_decode_oer,
12
     OCTET_STRING_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/VisibleString.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/VisibleString.h Changed
12
 
1
@@ -36,6 +36,10 @@
2
 #define VisibleString_encode_xer OCTET_STRING_encode_xer
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+#define VisibleString_encode_jer OCTET_STRING_encode_jer
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_UPER_SUPPORT)
10
 #define VisibleString_decode_uper OCTET_STRING_decode_uper
11
 #define VisibleString_encode_uper OCTET_STRING_encode_uper
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/aper_decoder.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/aper_decoder.c Changed
10
 
1
@@ -75,7 +75,7 @@
2
     */
3
    if(!td->op->aper_decoder)
4
        ASN__DECODE_FAILED; /* PER is not compiled in */
5
-       rval = td->op->aper_decoder(opt_codec_ctx, td, 0, sptr, &pd);
6
+   rval = td->op->aper_decoder(opt_codec_ctx, td, 0, sptr, &pd);
7
    if(rval.code == RC_OK) {
8
        /* Return the number of consumed bits */
9
        rval.consumed = ((pd.buffer - (const uint8_t *)buffer) << 3)
10
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/aper_opentype.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/aper_opentype.c Changed
25
 
1
@@ -25,7 +25,7 @@
2
    ASN_DEBUG("Getting open type %s...", td->name);
3
 
4
    do {
5
-           chunk_bytes = aper_get_length(pd, -1, -1, &repeat);
6
+           chunk_bytes = aper_get_length(pd, -1, -1, -1, &repeat);
7
        if(chunk_bytes < 0) {
8
            FREEMEM(buf);
9
            ASN__DECODE_STARVED;
10
@@ -101,12 +101,12 @@
11
 
12
    for(bptr = buf, toGo = size; toGo;) {
13
         int need_eom = 0;
14
-       ssize_t maySave = aper_put_length(po, -1, toGo, &need_eom);
15
+       ssize_t maySave = aper_put_length(po, -1, -1, toGo, &need_eom);
16
        if(maySave < 0) break;
17
        if(per_put_many_bits(po, bptr, maySave * 8)) break;
18
        bptr = (char *)bptr + maySave;
19
        toGo -= maySave;
20
-        if(need_eom && aper_put_length(po, -1, 0, 0)) {
21
+        if(need_eom && (aper_put_length(po, -1, -1, 0, NULL) < 0)) {
22
             FREEMEM(buf);
23
             return -1;
24
         }
25
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/aper_support.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/aper_support.c Changed
201
 
1
@@ -17,26 +17,17 @@
2
 }
3
 
4
 ssize_t
5
-aper_get_length(asn_per_data_t *pd, int range, int ebits, int *repeat) {
6
+aper_get_length(asn_per_data_t *pd, ssize_t lb, ssize_t ub,
7
+       int ebits, int *repeat) {
8
+   int constrained = (lb >= 0) && (ub >= 0);
9
    ssize_t value;
10
 
11
    *repeat = 0;
12
 
13
-    /*
14
-     * ITU-T X.691(08/2015)
15
-     * #11.9.4.2
16
-     *
17
-     * If the length determinant "n" to be encoded is a normally small length,
18
-     * or a constrained whole number with "ub" greater than or equal to 64K,
19
-     * or is a semi-constrained whole number, then "n" shall be encoded
20
-     * as specified in 11.9.3.4 to 11.9.3.8.4.
21
-     *
22
-     * NOTE – Thus, if "ub" is greater than or equal to 64K,
23
-     * the encoding of the length determinant is the same as it would be
24
-     * if the length were unconstrained.
25
-     */
26
-   if (range <= 65535 && range >= 0)
27
+   if (constrained && ub < 65536) {
28
+       int range = ub - lb + 1;
29
        return aper_get_nsnnwn(pd, range);
30
+   }
31
 
32
    if (aper_get_align(pd) < 0)
33
        return -1;
34
@@ -72,13 +63,12 @@
35
        return length;
36
    } else {
37
        int repeat;
38
-       length = aper_get_length(pd, -1, -1, &repeat);
39
+       length = aper_get_length(pd, -1, -1, -1, &repeat);
40
        if(length >= 0 && !repeat) return length;
41
        return -1; /* Error, or do not support >16K extensions */
42
    }
43
 }
44
 
45
-#if !defined(USE_OLDER_APER_NSNNWN)
46
 ssize_t
47
 aper_get_nsnnwn(asn_per_data_t *pd, int range) {
48
    ssize_t value;
49
@@ -108,53 +98,28 @@
50
        //return -1;
51
        int length;
52
 
53
-       /* handle indefinite range */
54
-       length = per_get_few_bits(pd, 1);
55
-       if (length == 0)
56
-           return per_get_few_bits(pd, 6);
57
-
58
-       if (aper_get_align(pd) < 0)
59
-           return -1;
60
-
61
-       length = per_get_few_bits(pd, 8);
62
-       /* the length is not likely to be that big */
63
-       if (length > 4)
64
-           return -1;
65
-       value = 0;
66
-       if (per_get_many_bits(pd, (uint8_t *)&value, 0, length * 8) < 0)
67
-           return -1;
68
-       return value;
69
+       /* handle indefinite range */
70
+       length = per_get_few_bits(pd, 1);
71
+       if (length == 0)
72
+           return per_get_few_bits(pd, 6);
73
+
74
+       if (aper_get_align(pd) < 0)
75
+           return -1;
76
+
77
+       length = per_get_few_bits(pd, 8);
78
+       /* the length is not likely to be that big */
79
+       if (length > 4)
80
+           return -1;
81
+       value = 0;
82
+       if (per_get_many_bits(pd, (uint8_t *)&value, 0, length * 8) < 0)
83
+           return -1;
84
+       return value;
85
    }
86
    if (aper_get_align(pd) < 0)
87
        return -1;
88
    value = per_get_few_bits(pd, 8 * bytes);
89
    return value;
90
 }
91
-#else /* old APER codec */
92
-ssize_t
93
-aper_get_nsnnwn(asn_per_data_t *pd, int dummy_range) {
94
-       ssize_t value;
95
-
96
-       ASN_DEBUG("Get the normally small non-negative whole number APER");
97
-
98
-       value = per_get_few_bits(pd, 7);
99
-       if(value & 64) {        /* implicit (value < 0) */
100
-               value &= 63;
101
-               value <<= 2;
102
-               value |= per_get_few_bits(pd, 2);
103
-               if(value & 128) /* implicit (value < 0) */
104
-                       return -1;
105
-               if(value == 0)
106
-                       return 0;
107
-               if(value >= 3)
108
-                       return -1;
109
-               value = per_get_few_bits(pd, 8 * value);
110
-               return value;
111
-       }
112
-
113
-       return value;
114
-}
115
-#endif /* don't use old APER */
116
 
117
 int aper_put_align(asn_per_outp_t *po) {
118
 
119
@@ -167,38 +132,42 @@
120
 }
121
 
122
 ssize_t
123
-aper_put_length(asn_per_outp_t *po, int range, size_t length, int *need_eom) {
124
-    int dummy = 0;
125
-    if(!need_eom) need_eom = &dummy;
126
+aper_put_length(asn_per_outp_t *po, ssize_t lb, ssize_t ub, size_t n, int *need_eom) {
127
+   int constrained = (lb >= 0) && (ub >= 0);
128
+   int dummy = 0;
129
+   if(!need_eom) need_eom = &dummy;
130
+
131
+   *need_eom = 0;
132
 
133
-    *need_eom = 0;
134
 
135
-   ASN_DEBUG("APER put length %zu with range %d", length, range);
136
+   ASN_DEBUG("APER put length %zu with range (%zd..%zd)", n, lb, ub);
137
 
138
    /* 11.9 X.691 Note 2 */
139
-   if (range <= 65536 && range >= 0)
140
-       return aper_put_nsnnwn(po, range, length);
141
+   if (constrained && ub < 65536) {
142
+       int range = ub - lb + 1;
143
+       return aper_put_nsnnwn(po, range, n) ? -1 : (ssize_t)n;
144
+   }
145
 
146
    if (aper_put_align(po) < 0)
147
        return -1;
148
 
149
-   if(length <= 127)      /* #11.9.3.6 */{
150
-       return per_put_few_bits(po, length, 8)
151
-       ? -1 : (ssize_t)length;
152
-   }
153
-   else if(length < 16384) /* #11.9.3.7 */
154
-       return per_put_few_bits(po, length|0x8000, 16)
155
-       ? -1 : (ssize_t)length;
156
-
157
-    *need_eom = 0 == (length & 16383);
158
-   length >>= 14;
159
-   if(length > 4) {
160
-        *need_eom = 0;
161
-        length = 4;
162
-    }
163
+   if(n <= 127) { /* #11.9.3.6 */
164
+       return per_put_few_bits(po, n, 8)
165
+       ? -1 : (ssize_t)n;
166
+   }
167
+   else if(n < 16384) /* #11.9.3.7 */
168
+       return per_put_few_bits(po, n|0x8000, 16)
169
+       ? -1 : (ssize_t)n;
170
+
171
+   *need_eom = 0 == (n & 16383);
172
+   n >>= 14;
173
+   if(n > 4) {
174
+       *need_eom = 0;
175
+       n = 4;
176
+   }
177
 
178
-   return per_put_few_bits(po, 0xC0 | length, 8)
179
-   ? -1 : (ssize_t)(length << 14);
180
+   return per_put_few_bits(po, 0xC0 | n, 8)
181
+   ? -1 : (ssize_t)(n << 14);
182
 }
183
 
184
 
185
@@ -210,7 +179,7 @@
186
        if(length == 0) return -1;
187
        return per_put_few_bits(po, length-1, 7) ? -1 : 0;
188
    } else {
189
-       if(aper_put_length(po, -1, length, 0) != (ssize_t)length) {
190
+       if(aper_put_length(po, -1, -1, length, NULL) != (ssize_t)length) {
191
            /* This might happen in case of >16K extensions */
192
            return -1;
193
        }
194
@@ -219,12 +188,11 @@
195
    return 0;
196
 }
197
 
198
-#if !defined(USE_OLDER_APER_NSNNWN)
199
 int
200
 aper_put_nsnnwn(asn_per_outp_t *po, int range, int number) {
201
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/aper_support.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/aper_support.h Changed
29
 
1
@@ -16,7 +16,7 @@
2
  * X.691 (08/2015) #11.9 "General rules for encoding a length determinant"
3
  * Get the length "n" from the Aligned PER stream.
4
  */
5
-ssize_t aper_get_length(asn_per_data_t *pd, int range,
6
+ssize_t aper_get_length(asn_per_data_t *pd, ssize_t lb, ssize_t ub,
7
                         int effective_bound_bits, int *repeat);
8
 
9
 /*
10
@@ -31,13 +31,14 @@
11
 
12
 /*
13
  * X.691 (08/2015) #11.9 "General rules for encoding a length determinant"
14
- * Put the length "whole_length" to the Aligned PER stream.
15
- * If (opt_need_eom) is given, it will be set to 1 if final 0-length is needed.
16
- * In that case, invoke uper_put_length(po, 0, 0) after encoding the last block.
17
+ * Put the length "n" to the Aligned PER stream.
18
+ * If (opt_need_eom) is given, it will be set to 1 if final 0-n is needed.
19
+ * In that case, invoke aper_put_length(po, -1, -1, 0, NULL) after encoding the
20
+ * last block.
21
  * This function returns the number of units which may be flushed
22
  * in the next units saving iteration.
23
  */
24
-ssize_t aper_put_length(asn_per_outp_t *po, int range, size_t length,
25
+ssize_t aper_put_length(asn_per_outp_t *po, ssize_t lb, ssize_t ub, size_t n,
26
                         int *opt_need_eom);
27
 
28
 /* Align the current bit position to octet bundary */
29
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/asn_application.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/asn_application.c Changed
25
 
1
@@ -431,6 +431,23 @@
2
         break;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    case ATS_BASIC_JER:
7
+        if(td->op->jer_encoder) {
8
+            er = jer_encode(td, sptr, callback, callback_key);
9
+            if(er.encoded == -1) {
10
+                if(er.failed_type && er.failed_type->op->jer_encoder) {
11
+                    errno = EBADF;   /* Structure has incorrect form. */
12
+                } else {
13
+                    errno = ENOENT;  /* JER is not defined for this type. */
14
+                }
15
+            }
16
+        } else {
17
+            errno = ENOENT;  /* Transfer syntax is not defined for this type. */
18
+            ASN__ENCODE_FAILED;
19
+        }
20
+        break;
21
+#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
22
     default:
23
         errno = ENOENT;
24
         ASN__ENCODE_FAILED;
25
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/asn_application.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/asn_application.h Changed
11
 
1
@@ -60,7 +60,8 @@
2
      * CANONICAL-XER is a more strict variant of BASIC-XER.
3
      */
4
     ATS_BASIC_XER,
5
-    ATS_CANONICAL_XER
6
+    ATS_CANONICAL_XER,
7
+    ATS_BASIC_JER,
8
 };
9
 
10
 /*
11
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_CHOICE.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_CHOICE.c Changed
13
 
1
@@ -27,6 +27,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    CHOICE_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     CHOICE_decode_oer,
12
     CHOICE_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_CHOICE.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_CHOICE.h Changed
12
 
1
@@ -59,6 +59,10 @@
2
 xer_type_encoder_f CHOICE_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f CHOICE_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 oer_type_decoder_f CHOICE_decode_oer;
11
 oer_type_encoder_f CHOICE_encode_oer;
12
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_CHOICE_jer.c Added
81
 
1
@@ -0,0 +1,79 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <constr_CHOICE.h>
9
+
10
+/*
11
+ * Return a standardized complex structure.
12
+ */
13
+#undef RETURN
14
+#define RETURN(_code)                     \
15
+    do {                                  \
16
+        rval.code = _code;                \
17
+        rval.consumed = consumed_myself;  \
18
+        return rval;                      \
19
+    } while(0)
20
+
21
+#undef JER_ADVANCE
22
+#define JER_ADVANCE(num_bytes)                                    \
23
+    do {                                                          \
24
+        size_t num = num_bytes;                                   \
25
+        buf_ptr = (const void *)(((const char *)buf_ptr) + num);  \
26
+        size -= num;                                              \
27
+        consumed_myself += num;                                   \
28
+    } while(0)
29
+
30
+asn_enc_rval_t
31
+CHOICE_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
32
+                  enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb,
33
+                  void *app_key) {
34
+    const asn_CHOICE_specifics_t *specs =
35
+        (const asn_CHOICE_specifics_t *)td->specifics;
36
+    asn_enc_rval_t er = {0,0,0};
37
+    unsigned present = 0;
38
+
39
+    if(!sptr)
40
+        ASN__ENCODE_FAILED;
41
+
42
+    /*
43
+     * Figure out which CHOICE element is encoded.
44
+     */
45
+    present = _fetch_present_idx(sptr, specs->pres_offset,specs->pres_size);
46
+
47
+    if(present == 0 || present > td->elements_count) {
48
+        ASN__ENCODE_FAILED;
49
+    } else {
50
+        asn_enc_rval_t tmper = {0,0,0};
51
+        asn_TYPE_member_t *elm = &td->elementspresent-1;
52
+        const void *memb_ptr = NULL;
53
+        const char *mname = elm->name;
54
+        unsigned int mlen = strlen(mname);
55
+
56
+        if(elm->flags & ATF_POINTER) {
57
+            memb_ptr =
58
+                *(const void *const *)((const char *)sptr + elm->memb_offset);
59
+            if(!memb_ptr) ASN__ENCODE_FAILED;
60
+        } else {
61
+            memb_ptr = (const void *)((const char *)sptr + elm->memb_offset);
62
+        }
63
+
64
+        er.encoded = 0;
65
+
66
+        ASN__CALLBACK3("{\n\"", 3, mname, mlen, "\": ", 2);
67
+
68
+        tmper = elm->type->op->jer_encoder(elm->type, memb_ptr,
69
+                                           ilevel + 1, flags, cb, app_key);
70
+        if(tmper.encoded == -1) return tmper;
71
+        er.encoded += tmper.encoded;
72
+
73
+        ASN__CALLBACK("}", 1);
74
+        //        ASN__CALLBACK3("</", 2, mname, mlen, ">", 1);
75
+    }
76
+
77
+    ASN__ENCODED_OK(er);
78
+cb_failed:
79
+    ASN__ENCODE_FAILED;
80
+}
81
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_SEQUENCE.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SEQUENCE.c Changed
13
 
1
@@ -28,6 +28,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    SEQUENCE_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     SEQUENCE_decode_oer,
12
     SEQUENCE_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_SEQUENCE.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SEQUENCE.h Changed
12
 
1
@@ -64,6 +64,10 @@
2
 xer_type_encoder_f SEQUENCE_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f SEQUENCE_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 oer_type_decoder_f SEQUENCE_decode_oer;
11
 oer_type_encoder_f SEQUENCE_encode_oer;
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_SEQUENCE_OF.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SEQUENCE_OF.c Changed
13
 
1
@@ -29,6 +29,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    SEQUENCE_OF_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     SEQUENCE_OF_decode_oer,  /* Same as SET OF decoder. */
12
     SEQUENCE_OF_encode_oer,  /* Same as SET OF encoder */
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_SEQUENCE_OF.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SEQUENCE_OF.h Changed
12
 
1
@@ -36,6 +36,10 @@
2
 xer_type_encoder_f SEQUENCE_OF_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f SEQUENCE_OF_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 #define SEQUENCE_OF_decode_oer SET_OF_decode_oer
11
 #define SEQUENCE_OF_encode_oer SET_OF_encode_oer
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_SEQUENCE_OF_aper.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SEQUENCE_OF_aper.c Changed
28
 
1
@@ -54,7 +54,7 @@
2
 */
3
         if (ct->lower_bound == ct->upper_bound && ct->upper_bound < 65536) {
4
             /* No length determinant */
5
-        } else if (aper_put_length(po, ct->upper_bound - ct->lower_bound + 1, list->count - ct->lower_bound, 0) < 0)
6
+    } else if (aper_put_length(po, ct->lower_bound, ct->upper_bound, list->count - ct->lower_bound, 0) < 0)
7
             ASN__ENCODE_FAILED;
8
     }
9
 
10
@@ -65,7 +65,7 @@
11
         if(ct && ct->effective_bits >= 0) {
12
             mayEncode = list->count;
13
         } else {
14
-            mayEncode = aper_put_length(po, -1, list->count - seq, &need_eom);
15
+            mayEncode = aper_put_length(po, -1, -1, list->count - seq, &need_eom);
16
             if(mayEncode < 0) ASN__ENCODE_FAILED;
17
         }
18
 
19
@@ -79,7 +79,7 @@
20
                 ASN__ENCODE_FAILED;
21
         }
22
 
23
-        if(need_eom && aper_put_length(po, -1, 0, 0))
24
+        if(need_eom && (aper_put_length(po, -1, -1, 0, NULL) < 0))
25
             ASN__ENCODE_FAILED;  /* End of Message length */
26
     }
27
 
28
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SEQUENCE_OF_jer.c Added
67
 
1
@@ -0,0 +1,65 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <constr_SEQUENCE_OF.h>
9
+#include <asn_SEQUENCE_OF.h>
10
+
11
+asn_enc_rval_t
12
+SEQUENCE_OF_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
13
+                       int ilevel, enum jer_encoder_flags_e flags,
14
+                       asn_app_consume_bytes_f *cb, void *app_key) {
15
+    asn_enc_rval_t er = {0,0,0};
16
+    const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics;
17
+    const asn_TYPE_member_t *elm = td->elements;
18
+    const asn_anonymous_sequence_ *list = _A_CSEQUENCE_FROM_VOID(sptr);
19
+    const char *mname = specs->as_XMLValueList
20
+                            ? 0
21
+                            : ((*elm->name) ? elm->name : elm->type->xml_tag);
22
+    size_t mlen = mname ? strlen(mname) : 0;
23
+    int xcan = 0;
24
+    int i;
25
+
26
+    if(!sptr) ASN__ENCODE_FAILED;
27
+
28
+    er.encoded = 0;
29
+    ASN__CALLBACK("", 1);
30
+
31
+    for(i = 0; i < list->count; i++) {
32
+        asn_enc_rval_t tmper = {0,0,0};
33
+        void *memb_ptr = list->arrayi;
34
+        if(!memb_ptr) continue;
35
+
36
+        if(mname) {
37
+            if(!xcan) ASN__TEXT_INDENT(1, ilevel);
38
+            ASN__CALLBACK3("{\"", 2, mname, mlen, "\":", 2);
39
+        }
40
+
41
+        tmper = elm->type->op->jer_encoder(elm->type, memb_ptr, ilevel + 1,
42
+                                           flags, cb, app_key);
43
+        if(tmper.encoded == -1) return tmper;
44
+        er.encoded += tmper.encoded;
45
+        if(tmper.encoded == 0 && specs->as_XMLValueList) {
46
+            const char *name = elm->type->xml_tag;
47
+            size_t len = strlen(name);
48
+            if(!xcan) ASN__TEXT_INDENT(1, ilevel + 1);
49
+            ASN__CALLBACK3("\"", 1, name, len, "\"", 1);
50
+        }
51
+
52
+        if(mname) {
53
+          ASN__CALLBACK("}", 1);
54
+        }
55
+        if (i != list->count - 1) {
56
+          ASN__CALLBACK(",", 1);
57
+        }
58
+    }
59
+
60
+    if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1);
61
+    ASN__CALLBACK("", 1);
62
+
63
+    ASN__ENCODED_OK(er);
64
+cb_failed:
65
+    ASN__ENCODE_FAILED;
66
+}
67
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SEQUENCE_jer.c Added
86
 
1
@@ -0,0 +1,84 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <constr_SEQUENCE.h>
9
+#include <OPEN_TYPE.h>
10
+
11
+asn_enc_rval_t SEQUENCE_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
12
+                    int ilevel, enum jer_encoder_flags_e flags,
13
+                    asn_app_consume_bytes_f *cb, void *app_key) {
14
+    asn_enc_rval_t er = {0,0,0};
15
+    int xcan = 0;
16
+    asn_TYPE_descriptor_t *tmp_def_val_td = 0;
17
+    void *tmp_def_val = 0;
18
+    size_t edx;
19
+
20
+    if(!sptr) ASN__ENCODE_FAILED;
21
+
22
+    er.encoded = 0;
23
+
24
+    int bAddComma = 0;
25
+    ASN__CALLBACK("{\n", 2);
26
+    for(edx = 0; edx < td->elements_count; edx++) {
27
+        asn_enc_rval_t tmper = {0,0,0};
28
+        asn_TYPE_member_t *elm = &td->elementsedx;
29
+        const void *memb_ptr;
30
+        const char *mname = elm->name;
31
+        unsigned int mlen = strlen(mname);
32
+
33
+        if(elm->flags & ATF_POINTER) {
34
+            memb_ptr =
35
+                *(const void *const *)((const char *)sptr + elm->memb_offset);
36
+            if(!memb_ptr) {
37
+                assert(tmp_def_val == 0);
38
+                if(elm->default_value_set) {
39
+                    if(elm->default_value_set(&tmp_def_val)) {
40
+                        ASN__ENCODE_FAILED;
41
+                    } else {
42
+                        memb_ptr = tmp_def_val;
43
+                        tmp_def_val_td = elm->type;
44
+                    }
45
+                } else if(elm->optional) {
46
+                    continue;
47
+                } else {
48
+                    /* Mandatory element is missing */
49
+                    ASN__ENCODE_FAILED;
50
+                }
51
+            }
52
+        } else {
53
+            memb_ptr = (const void *)((const char *)sptr + elm->memb_offset);
54
+        }
55
+
56
+        if (bAddComma == 1) {
57
+          ASN__CALLBACK(",", 1);
58
+          bAddComma = 0;
59
+        }
60
+
61
+        if(!xcan) ASN__TEXT_INDENT(1, ilevel);
62
+        ASN__CALLBACK3("\"", 1, mname, mlen, "\": ", 3);
63
+
64
+        /* Print the member itself */
65
+        tmper = elm->type->op->jer_encoder(elm->type, memb_ptr, ilevel + 1,
66
+                                           flags, cb, app_key);
67
+        if(tmp_def_val) {
68
+            ASN_STRUCT_FREE(*tmp_def_val_td, tmp_def_val);
69
+            tmp_def_val = 0;
70
+        }
71
+        if(tmper.encoded == -1) return tmper;
72
+        er.encoded += tmper.encoded;
73
+        if (edx != td->elements_count - 1) {
74
+          bAddComma = 1;
75
+        }
76
+    }
77
+    ASN__CALLBACK("}", 1);
78
+
79
+    if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1);
80
+
81
+    ASN__ENCODED_OK(er);
82
+cb_failed:
83
+    if(tmp_def_val) ASN_STRUCT_FREE(*tmp_def_val_td, tmp_def_val);
84
+    ASN__ENCODE_FAILED;
85
+}
86
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_SET_OF.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SET_OF.c Changed
13
 
1
@@ -28,6 +28,11 @@
2
     0,
3
     0,
4
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+    SET_OF_encode_jer,
7
+#else
8
+    0,
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
 #if !defined(ASN_DISABLE_OER_SUPPORT)
11
     SET_OF_decode_oer,
12
     SET_OF_encode_oer,
13
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_SET_OF.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SET_OF.h Changed
12
 
1
@@ -46,6 +46,10 @@
2
 xer_type_encoder_f SET_OF_encode_xer;
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+jer_type_encoder_f SET_OF_encode_jer;
7
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
8
+
9
 #if !defined(ASN_DISABLE_OER_SUPPORT)
10
 oer_type_decoder_f SET_OF_decode_oer;
11
 oer_type_encoder_f SET_OF_encode_oer;
12
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_SET_OF_aper.c -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SET_OF_aper.c Changed
42
 
1
@@ -52,7 +52,7 @@
2
                             ct->effective_bits))
3
             ASN__ENCODE_FAILED;*/
4
 
5
-        if (aper_put_length(po, ct->upper_bound - ct->lower_bound + 1, list->count - ct->lower_bound, 0) < 0) {
6
+        if (aper_put_length(po, ct->lower_bound, ct->upper_bound, list->count - ct->lower_bound, 0) < 0) {
7
             ASN__ENCODE_FAILED;
8
         }
9
     }
10
@@ -70,7 +70,7 @@
11
             may_encode = list->count;
12
         } else {
13
             may_encode =
14
-                aper_put_length(po, -1, list->count - seq, &need_eom);
15
+                aper_put_length(po, -1, -1, list->count - seq, &need_eom);
16
             if(may_encode < 0) ASN__ENCODE_FAILED;
17
         }
18
 
19
@@ -81,7 +81,7 @@
20
                 break;
21
             }
22
         }
23
-        if(need_eom && aper_put_length(po, -1, 0, 0))
24
+        if(need_eom && (aper_put_length(po, -1, -1, 0, NULL) < 0))
25
             ASN__ENCODE_FAILED;  /* End of Message length */
26
     }
27
 
28
@@ -141,8 +141,11 @@
29
     do {
30
         int i;
31
         if(nelems < 0) {
32
-            nelems = aper_get_length(pd, ct ? ct->upper_bound - ct->lower_bound + 1 : -1,
33
-                                     ct ? ct->effective_bits : -1, &repeat);
34
+            if (ct)
35
+                nelems = aper_get_length(pd, ct->lower_bound, ct->upper_bound,
36
+                                         ct->effective_bits, &repeat);
37
+            else
38
+                nelems = aper_get_length(pd, -1, -1, -1, &repeat);
39
             ASN_DEBUG("Got to decode %d elements (eff %d)",
40
                       (int)nelems, (int)(ct ? ct->effective_bits : -1));
41
             if(nelems < 0) ASN__DECODE_STARVED;
42
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_SET_OF_jer.c Added
146
 
1
@@ -0,0 +1,144 @@
2
+/*
3
+ * Copyright (c) 2017 Lev Walkin <vlm@lionet.info>.
4
+ * All rights reserved.
5
+ * Redistribution and modifications are permitted subject to BSD license.
6
+ */
7
+#include <asn_internal.h>
8
+#include <constr_SET_OF.h>
9
+
10
+typedef struct jer_tmp_enc_s {
11
+    void *buffer;
12
+    size_t offset;
13
+    size_t size;
14
+} jer_tmp_enc_t;
15
+
16
+static int
17
+SET_OF_encode_jer_callback(const void *buffer, size_t size, void *key) {
18
+    jer_tmp_enc_t *t = (jer_tmp_enc_t *)key;
19
+    if(t->offset + size >= t->size) {
20
+        size_t newsize = (t->size << 2) + size;
21
+        void *p = REALLOC(t->buffer, newsize);
22
+        if(!p) return -1;
23
+        t->buffer = p;
24
+        t->size = newsize;
25
+    }
26
+    memcpy((char *)t->buffer + t->offset, buffer, size);
27
+    t->offset += size;
28
+    return 0;
29
+}
30
+
31
+static int
32
+SET_OF_jer_order(const void *aptr, const void *bptr) {
33
+    const jer_tmp_enc_t *a = (const jer_tmp_enc_t *)aptr;
34
+    const jer_tmp_enc_t *b = (const jer_tmp_enc_t *)bptr;
35
+    size_t minlen = a->offset;
36
+    int ret;
37
+    if(b->offset < minlen) minlen = b->offset;
38
+    /* Well-formed UTF-8 has this nice lexicographical property... */
39
+    ret = memcmp(a->buffer, b->buffer, minlen);
40
+    if(ret != 0) return ret;
41
+    if(a->offset == b->offset)
42
+        return 0;
43
+    if(a->offset == minlen)
44
+        return -1;
45
+    return 1;
46
+}
47
+
48
+asn_enc_rval_t
49
+SET_OF_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
50
+                  enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb,
51
+                  void *app_key) {
52
+    asn_enc_rval_t er = {0,0,0};
53
+    const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics;
54
+    const asn_TYPE_member_t *elm = td->elements;
55
+    const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr);
56
+    const char *mname = specs->as_XMLValueList
57
+        ? 0 : ((*elm->name) ? elm->name : elm->type->xml_tag);
58
+    size_t mlen = mname ? strlen(mname) : 0;
59
+    int xcan = 0;
60
+    jer_tmp_enc_t *encs = 0;
61
+    size_t encs_count = 0;
62
+    void *original_app_key = app_key;
63
+    asn_app_consume_bytes_f *original_cb = cb;
64
+    int i;
65
+
66
+    if(!sptr) ASN__ENCODE_FAILED;
67
+
68
+    if(xcan) {
69
+        encs = (jer_tmp_enc_t *)MALLOC(list->count * sizeof(encs0));
70
+        if(!encs) ASN__ENCODE_FAILED;
71
+        cb = SET_OF_encode_jer_callback;
72
+    }
73
+
74
+    er.encoded = 0;
75
+
76
+    for(i = 0; i < list->count; i++) {
77
+        asn_enc_rval_t tmper = {0,0,0};
78
+
79
+        void *memb_ptr = list->arrayi;
80
+        if(!memb_ptr) continue;
81
+
82
+        if(encs) {
83
+            memset(&encsencs_count, 0, sizeof(encs0));
84
+            app_key = &encsencs_count;
85
+            encs_count++;
86
+        }
87
+
88
+        if(mname) {
89
+            if(!xcan) ASN__TEXT_INDENT(1, ilevel);
90
+            ASN__CALLBACK3("\"", 1, mname, mlen, "\"", 1);
91
+        }
92
+
93
+        if(!xcan && specs->as_XMLValueList == 1)
94
+            ASN__TEXT_INDENT(1, ilevel + 1);
95
+        tmper = elm->type->op->jer_encoder(elm->type, memb_ptr,
96
+                                           ilevel + (specs->as_XMLValueList != 2),
97
+                                           flags, cb, app_key);
98
+        if(tmper.encoded == -1) return tmper;
99
+        er.encoded += tmper.encoded;
100
+        if(tmper.encoded == 0 && specs->as_XMLValueList) {
101
+            const char *name = elm->type->xml_tag;
102
+            size_t len = strlen(name);
103
+            ASN__CALLBACK3("<", 1, name, len, "/>", 2);
104
+        }
105
+
106
+        /* if(mname) { */
107
+        /*     ASN__CALLBACK3("</", 2, mname, mlen, ">", 1); */
108
+        /* } */
109
+
110
+    }
111
+
112
+    if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1);
113
+
114
+    if(encs) {
115
+        jer_tmp_enc_t *enc = encs;
116
+        jer_tmp_enc_t *end = encs + encs_count;
117
+        ssize_t control_size = 0;
118
+
119
+        er.encoded = 0;
120
+        cb = original_cb;
121
+        app_key = original_app_key;
122
+        qsort(encs, encs_count, sizeof(encs0), SET_OF_jer_order);
123
+
124
+        for(; enc < end; enc++) {
125
+            ASN__CALLBACK(enc->buffer, enc->offset);
126
+            FREEMEM(enc->buffer);
127
+            enc->buffer = 0;
128
+            control_size += enc->offset;
129
+        }
130
+        assert(control_size == er.encoded);
131
+    }
132
+
133
+    goto cleanup;
134
+cb_failed:
135
+    ASN__ENCODE_FAILED;
136
+cleanup:
137
+    if(encs) {
138
+        size_t n;
139
+        for(n = 0; n < encs_count; n++) {
140
+            FREEMEM(encsn.buffer);
141
+        }
142
+        FREEMEM(encs);
143
+    }
144
+    ASN__ENCODED_OK(er);
145
+}
146
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/constr_TYPE.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/constr_TYPE.h Changed
22
 
1
@@ -50,6 +50,12 @@
2
 typedef void (xer_type_encoder_f)(void);
3
 #endif  /* !defined(ASN_DISABLE_XER_SUPPORT) */
4
 
5
+#if !defined(ASN_DISABLE_JER_SUPPORT)
6
+#include <jer_encoder.h>  /* Encoder into JER (JSON, text) */
7
+#else
8
+typedef void (jer_type_encoder_f)(void);
9
+#endif  /* !defined(ASN_DISABLE_JER_SUPPORT) */
10
+
11
 #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
12
 #include <per_decoder.h>  /* Packet Encoding Rules decoder */
13
 #include <per_encoder.h>  /* Packet Encoding Rules encoder */
14
@@ -171,6 +177,7 @@
15
     der_type_encoder_f *der_encoder;      /* Canonical DER encoder */
16
     xer_type_decoder_f *xer_decoder;      /* Generic XER decoder */
17
     xer_type_encoder_f *xer_encoder;      /* Canonical XER encoder */
18
+    jer_type_encoder_f *jer_encoder;      /* Generic JER encoder */
19
     oer_type_decoder_f *oer_decoder;      /* Generic OER decoder */
20
     oer_type_encoder_f *oer_encoder;      /* Canonical OER encoder */
21
     per_type_decoder_f *uper_decoder;     /* Unaligned PER decoder */
22
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/jer_encoder.c Added
71
 
1
@@ -0,0 +1,69 @@
2
+/*-
3
+ * Copyright (c) 2003, 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
4
+ * Redistribution and modifications are permitted subject to BSD license.
5
+ */
6
+#include <asn_internal.h>
7
+#include <stdio.h>
8
+#include <errno.h>
9
+
10
+/*
11
+ * The JER encoder of any type. May be invoked by the application.
12
+ */
13
+asn_enc_rval_t
14
+jer_encode(const asn_TYPE_descriptor_t *td, const void *sptr,
15
+           asn_app_consume_bytes_f *cb,
16
+           void *app_key) {
17
+    asn_enc_rval_t er = {0, 0, 0};
18
+   asn_enc_rval_t tmper;
19
+   const char *mname;
20
+   size_t mlen;
21
+
22
+   if(!td || !sptr) goto cb_failed;
23
+
24
+   mname = td->xml_tag;
25
+   mlen = strlen(mname);
26
+
27
+   ASN__CALLBACK3("{\n\"", 3, mname, mlen, "\":", 2);
28
+
29
+        int xFlag = 0;
30
+   tmper = td->op->jer_encoder(td, sptr, 1, xFlag, cb, app_key);
31
+   if(tmper.encoded == -1) return tmper;
32
+   er.encoded += tmper.encoded;
33
+
34
+        ASN__CALLBACK("}", 1);
35
+        // ASN__CALLBACK3("</", 2, mname, mlen, ">\n", xcan);
36
+
37
+   ASN__ENCODED_OK(er);
38
+cb_failed:
39
+   ASN__ENCODE_FAILED;
40
+}
41
+
42
+/*
43
+ * This is a helper function for jer_fprint, which directs all incoming data
44
+ * into the provided file descriptor.
45
+ */
46
+static int
47
+jer__print2fp(const void *buffer, size_t size, void *app_key) {
48
+   FILE *stream = (FILE *)app_key;
49
+
50
+   if(fwrite(buffer, 1, size, stream) != size)
51
+       return -1;
52
+
53
+   return 0;
54
+}
55
+
56
+int
57
+jer_fprint(FILE *stream, const asn_TYPE_descriptor_t *td, const void *sptr) {
58
+   asn_enc_rval_t er = {0,0,0};
59
+
60
+   if(!stream) stream = stdout;
61
+   if(!td || !sptr)
62
+       return -1;
63
+
64
+   er = jer_encode(td, sptr, jer__print2fp, stream);
65
+   if(er.encoded == -1)
66
+       return -1;
67
+
68
+   return fflush(stream);
69
+}
70
+
71
open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/jer_encoder.h Added
83
 
1
@@ -0,0 +1,81 @@
2
+/*-
3
+ * Copyright (c) 2004-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
4
+ * Redistribution and modifications are permitted subject to BSD license.
5
+ */
6
+#ifndef    _JER_ENCODER_H_
7
+#define    _JER_ENCODER_H_
8
+
9
+#include <asn_application.h>
10
+
11
+#ifdef __cplusplus
12
+extern "C" {
13
+#endif
14
+
15
+struct asn_TYPE_descriptor_s;  /* Forward declaration */
16
+
17
+/* Flags used by the jer_encode() and (*jer_type_encoder_f), defined below */
18
+enum jer_encoder_flags_e {
19
+   /* Mode of encoding */
20
+   JER_F_BASIC = 0x01, /* BASIC-JER (pretty-printing) */
21
+};
22
+
23
+/*
24
+ * The JER encoder of any type. May be invoked by the application.
25
+ * Produces CANONICAL-JER and BASIC-JER depending on the (jer_flags).
26
+ */
27
+asn_enc_rval_t jer_encode(const struct asn_TYPE_descriptor_s *type_descriptor,
28
+                          const void *struct_ptr, /* Structure to be encoded */
29
+                          asn_app_consume_bytes_f *consume_bytes_cb,
30
+                          void *app_key /* Arbitrary callback argument */
31
+);
32
+
33
+/*
34
+ * The variant of the above function which dumps the BASIC-JER (JER_F_BASIC)
35
+ * output into the chosen file pointer.
36
+ * RETURN VALUES:
37
+ *      0: The structure is printed.
38
+ *     -1: Problem printing the structure.
39
+ * WARNING: No sensible errno value is returned.
40
+ */
41
+int jer_fprint(FILE *stream, const struct asn_TYPE_descriptor_s *td,
42
+               const void *struct_ptr);
43
+
44
+/*
45
+ * A helper function that uses JER encoding/decoding to verify that:
46
+ * - Both structures encode into the same BASIC JER.
47
+ * - Both resulting JER byte streams can be decoded back.
48
+ * - Both decoded structures encode into the same BASIC JER (round-trip).
49
+ * All of this verifies equivalence between structures and a round-trip.
50
+ * ARGUMENTS:
51
+ *  (opt_debug_stream)  - If specified, prints ongoing details.
52
+ */
53
+enum jer_equivalence_e {
54
+    JEQ_SUCCESS,          /* The only completely positive return value */
55
+    JEQ_FAILURE,          /* General failure */
56
+    JEQ_ENCODE1_FAILED,   /* First structure JER encoding failed */
57
+    JEQ_ENCODE2_FAILED,   /* Second structure JER encoding failed */
58
+    JEQ_DIFFERENT,        /* Structures encoded into different JER */
59
+    JEQ_DECODE_FAILED,    /* Decode of the JER data failed */
60
+    JEQ_ROUND_TRIP_FAILED /* Bad round-trip */
61
+};
62
+enum jer_equivalence_e jer_equivalent(
63
+    const struct asn_TYPE_descriptor_s *type_descriptor, const void *struct1,
64
+    const void *struct2, FILE *opt_debug_stream);
65
+
66
+/*
67
+ * Type of the generic JER encoder.
68
+ */
69
+typedef asn_enc_rval_t(jer_type_encoder_f)(
70
+    const struct asn_TYPE_descriptor_s *type_descriptor,
71
+    const void *struct_ptr, /* Structure to be encoded */
72
+    int ilevel,             /* Level of indentation */
73
+    enum jer_encoder_flags_e jer_flags,
74
+    asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */
75
+    void *app_key                              /* Arbitrary callback argument */
76
+);
77
+
78
+#ifdef __cplusplus
79
+}
80
+#endif
81
+
82
+#endif /* _JER_ENCODER_H_ */
83
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/common/meson.build -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/common/meson.build Changed
22
 
1
@@ -124,6 +124,20 @@
2
     constr_CHOICE_rfill.c
3
     constr_SEQUENCE_rfill.c
4
     constr_SET_OF_rfill.c
5
+    ANY_jer.c
6
+   BIT_STRING_jer.c
7
+   INTEGER_jer.c
8
+   NULL_jer.c
9
+   NativeEnumerated_jer.c
10
+   NativeInteger_jer.c
11
+   OBJECT_IDENTIFIER_jer.c
12
+   OCTET_STRING_jer.c
13
+   jer_encoder.c
14
+   jer_encoder.h
15
+   constr_CHOICE_jer.c
16
+   constr_SEQUENCE_OF_jer.c
17
+   constr_SEQUENCE_jer.c
18
+   constr_SET_OF_jer.c
19
 '''.split())
20
 
21
 libasn1c_common_cc_flags = '-DASN_DISABLE_BER_SUPPORT',
22
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AMF-UE-NGAP-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AMF-UE-NGAP-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_AMF_UE_NGAP_ID_free;
3
 asn_struct_print_f NGAP_AMF_UE_NGAP_ID_print;
4
 asn_constr_check_f NGAP_AMF_UE_NGAP_ID_constraint;
5
+jer_type_encoder_f NGAP_AMF_UE_NGAP_ID_encode_jer;
6
 per_type_decoder_f NGAP_AMF_UE_NGAP_ID_decode_aper;
7
 per_type_encoder_f NGAP_AMF_UE_NGAP_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AMFName.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AMFName.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_AMFName_free;
3
 asn_struct_print_f NGAP_AMFName_print;
4
 asn_constr_check_f NGAP_AMFName_constraint;
5
+jer_type_encoder_f NGAP_AMFName_encode_jer;
6
 per_type_decoder_f NGAP_AMFName_decode_aper;
7
 per_type_encoder_f NGAP_AMFName_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AMFNameUTF8String.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AMFNameUTF8String.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_AMFNameUTF8String_free;
3
 asn_struct_print_f NGAP_AMFNameUTF8String_print;
4
 asn_constr_check_f NGAP_AMFNameUTF8String_constraint;
5
+jer_type_encoder_f NGAP_AMFNameUTF8String_encode_jer;
6
 per_type_decoder_f NGAP_AMFNameUTF8String_decode_aper;
7
 per_type_encoder_f NGAP_AMFNameUTF8String_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AMFNameVisibleString.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AMFNameVisibleString.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_AMFNameVisibleString_free;
3
 asn_struct_print_f NGAP_AMFNameVisibleString_print;
4
 asn_constr_check_f NGAP_AMFNameVisibleString_constraint;
5
+jer_type_encoder_f NGAP_AMFNameVisibleString_encode_jer;
6
 per_type_decoder_f NGAP_AMFNameVisibleString_decode_aper;
7
 per_type_encoder_f NGAP_AMFNameVisibleString_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AMFPointer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AMFPointer.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_AMFPointer_free;
3
 asn_struct_print_f NGAP_AMFPointer_print;
4
 asn_constr_check_f NGAP_AMFPointer_constraint;
5
+jer_type_encoder_f NGAP_AMFPointer_encode_jer;
6
 per_type_decoder_f NGAP_AMFPointer_decode_aper;
7
 per_type_encoder_f NGAP_AMFPointer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AMFRegionID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AMFRegionID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_AMFRegionID_free;
3
 asn_struct_print_f NGAP_AMFRegionID_print;
4
 asn_constr_check_f NGAP_AMFRegionID_constraint;
5
+jer_type_encoder_f NGAP_AMFRegionID_encode_jer;
6
 per_type_decoder_f NGAP_AMFRegionID_decode_aper;
7
 per_type_encoder_f NGAP_AMFRegionID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AMFSetID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AMFSetID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_AMFSetID_free;
3
 asn_struct_print_f NGAP_AMFSetID_print;
4
 asn_constr_check_f NGAP_AMFSetID_constraint;
5
+jer_type_encoder_f NGAP_AMFSetID_encode_jer;
6
 per_type_decoder_f NGAP_AMFSetID_decode_aper;
7
 per_type_encoder_f NGAP_AMFSetID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AdditionalQosFlowInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AdditionalQosFlowInformation.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f AdditionalQosFlowInformation_free;
3
 asn_struct_print_f AdditionalQosFlowInformation_print;
4
 asn_constr_check_f AdditionalQosFlowInformation_constraint;
5
+jer_type_encoder_f AdditionalQosFlowInformation_encode_jer;
6
 per_type_decoder_f AdditionalQosFlowInformation_decode_aper;
7
 per_type_encoder_f AdditionalQosFlowInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AlternativeQoSParaSetIndex.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AlternativeQoSParaSetIndex.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_AlternativeQoSParaSetIndex_free;
3
 asn_struct_print_f NGAP_AlternativeQoSParaSetIndex_print;
4
 asn_constr_check_f NGAP_AlternativeQoSParaSetIndex_constraint;
5
+jer_type_encoder_f NGAP_AlternativeQoSParaSetIndex_encode_jer;
6
 per_type_decoder_f NGAP_AlternativeQoSParaSetIndex_decode_aper;
7
 per_type_encoder_f NGAP_AlternativeQoSParaSetIndex_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AlternativeQoSParaSetNotifyIndex.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AlternativeQoSParaSetNotifyIndex.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_AlternativeQoSParaSetNotifyIndex_free;
3
 asn_struct_print_f NGAP_AlternativeQoSParaSetNotifyIndex_print;
4
 asn_constr_check_f NGAP_AlternativeQoSParaSetNotifyIndex_constraint;
5
+jer_type_encoder_f NGAP_AlternativeQoSParaSetNotifyIndex_encode_jer;
6
 per_type_decoder_f NGAP_AlternativeQoSParaSetNotifyIndex_decode_aper;
7
 per_type_encoder_f NGAP_AlternativeQoSParaSetNotifyIndex_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AuthenticatedIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AuthenticatedIndication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_AuthenticatedIndication_free;
3
 asn_struct_print_f NGAP_AuthenticatedIndication_print;
4
 asn_constr_check_f NGAP_AuthenticatedIndication_constraint;
5
+jer_type_encoder_f NGAP_AuthenticatedIndication_encode_jer;
6
 per_type_decoder_f NGAP_AuthenticatedIndication_decode_aper;
7
 per_type_encoder_f NGAP_AuthenticatedIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_AveragingWindow.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_AveragingWindow.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_AveragingWindow_free;
3
 asn_struct_print_f NGAP_AveragingWindow_print;
4
 asn_constr_check_f NGAP_AveragingWindow_constraint;
5
+jer_type_encoder_f NGAP_AveragingWindow_encode_jer;
6
 per_type_decoder_f NGAP_AveragingWindow_decode_aper;
7
 per_type_encoder_f NGAP_AveragingWindow_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_BitRate.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_BitRate.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_BitRate_free;
3
 asn_struct_print_f NGAP_BitRate_print;
4
 asn_constr_check_f NGAP_BitRate_constraint;
5
+jer_type_encoder_f NGAP_BitRate_encode_jer;
6
 per_type_decoder_f NGAP_BitRate_decode_aper;
7
 per_type_encoder_f NGAP_BitRate_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_BluetoothMeasConfig.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_BluetoothMeasConfig.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f BluetoothMeasConfig_free;
3
 asn_struct_print_f BluetoothMeasConfig_print;
4
 asn_constr_check_f BluetoothMeasConfig_constraint;
5
+jer_type_encoder_f BluetoothMeasConfig_encode_jer;
6
 per_type_decoder_f BluetoothMeasConfig_decode_aper;
7
 per_type_encoder_f BluetoothMeasConfig_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_BluetoothName.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_BluetoothName.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_BluetoothName_free;
3
 asn_struct_print_f NGAP_BluetoothName_print;
4
 asn_constr_check_f NGAP_BluetoothName_constraint;
5
+jer_type_encoder_f NGAP_BluetoothName_encode_jer;
6
 per_type_decoder_f NGAP_BluetoothName_decode_aper;
7
 per_type_encoder_f NGAP_BluetoothName_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_BurstArrivalTime.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_BurstArrivalTime.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_BurstArrivalTime_free;
3
 asn_struct_print_f NGAP_BurstArrivalTime_print;
4
 asn_constr_check_f NGAP_BurstArrivalTime_constraint;
5
+jer_type_encoder_f NGAP_BurstArrivalTime_encode_jer;
6
 per_type_decoder_f NGAP_BurstArrivalTime_decode_aper;
7
 per_type_encoder_f NGAP_BurstArrivalTime_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CAG-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CAG-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_CAG_ID_free;
3
 asn_struct_print_f NGAP_CAG_ID_print;
4
 asn_constr_check_f NGAP_CAG_ID_constraint;
5
+jer_type_encoder_f NGAP_CAG_ID_encode_jer;
6
 per_type_decoder_f NGAP_CAG_ID_decode_aper;
7
 per_type_encoder_f NGAP_CAG_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CEmodeBSupport-Indicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CEmodeBSupport-Indicator.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_CEmodeBSupport_Indicator_free;
3
 asn_struct_print_f NGAP_CEmodeBSupport_Indicator_print;
4
 asn_constr_check_f NGAP_CEmodeBSupport_Indicator_constraint;
5
+jer_type_encoder_f NGAP_CEmodeBSupport_Indicator_encode_jer;
6
 per_type_decoder_f NGAP_CEmodeBSupport_Indicator_decode_aper;
7
 per_type_encoder_f NGAP_CEmodeBSupport_Indicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CEmodeBrestricted.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CEmodeBrestricted.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f NGAP_CEmodeBrestricted_free;
3
 asn_struct_print_f NGAP_CEmodeBrestricted_print;
4
 asn_constr_check_f NGAP_CEmodeBrestricted_constraint;
5
+jer_type_encoder_f NGAP_CEmodeBrestricted_encode_jer;
6
 per_type_decoder_f NGAP_CEmodeBrestricted_decode_aper;
7
 per_type_encoder_f NGAP_CEmodeBrestricted_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CNTypeRestrictionsForServing.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CNTypeRestrictionsForServing.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_CNTypeRestrictionsForServing_free;
3
 asn_struct_print_f NGAP_CNTypeRestrictionsForServing_print;
4
 asn_constr_check_f NGAP_CNTypeRestrictionsForServing_constraint;
5
+jer_type_encoder_f NGAP_CNTypeRestrictionsForServing_encode_jer;
6
 per_type_decoder_f NGAP_CNTypeRestrictionsForServing_decode_aper;
7
 per_type_encoder_f NGAP_CNTypeRestrictionsForServing_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CancelAllWarningMessages.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CancelAllWarningMessages.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_CancelAllWarningMessages_free;
3
 asn_struct_print_f NGAP_CancelAllWarningMessages_print;
4
 asn_constr_check_f NGAP_CancelAllWarningMessages_constraint;
5
+jer_type_encoder_f NGAP_CancelAllWarningMessages_encode_jer;
6
 per_type_decoder_f NGAP_CancelAllWarningMessages_decode_aper;
7
 per_type_encoder_f NGAP_CancelAllWarningMessages_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CauseMisc.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CauseMisc.h Changed
9
 
1
@@ -41,6 +41,7 @@
2
 asn_struct_free_f CauseMisc_free;
3
 asn_struct_print_f CauseMisc_print;
4
 asn_constr_check_f CauseMisc_constraint;
5
+jer_type_encoder_f CauseMisc_encode_jer;
6
 per_type_decoder_f CauseMisc_decode_aper;
7
 per_type_encoder_f CauseMisc_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CauseNas.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CauseNas.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f CauseNas_free;
3
 asn_struct_print_f CauseNas_print;
4
 asn_constr_check_f CauseNas_constraint;
5
+jer_type_encoder_f CauseNas_encode_jer;
6
 per_type_decoder_f CauseNas_decode_aper;
7
 per_type_encoder_f CauseNas_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CauseProtocol.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CauseProtocol.h Changed
9
 
1
@@ -42,6 +42,7 @@
2
 asn_struct_free_f CauseProtocol_free;
3
 asn_struct_print_f CauseProtocol_print;
4
 asn_constr_check_f CauseProtocol_constraint;
5
+jer_type_encoder_f CauseProtocol_encode_jer;
6
 per_type_decoder_f CauseProtocol_decode_aper;
7
 per_type_encoder_f CauseProtocol_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CauseRadioNetwork.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CauseRadioNetwork.h Changed
9
 
1
@@ -87,6 +87,7 @@
2
 asn_struct_free_f CauseRadioNetwork_free;
3
 asn_struct_print_f CauseRadioNetwork_print;
4
 asn_constr_check_f CauseRadioNetwork_constraint;
5
+jer_type_encoder_f CauseRadioNetwork_encode_jer;
6
 per_type_decoder_f CauseRadioNetwork_decode_aper;
7
 per_type_encoder_f CauseRadioNetwork_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CauseTransport.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CauseTransport.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f CauseTransport_free;
3
 asn_struct_print_f CauseTransport_print;
4
 asn_constr_check_f CauseTransport_constraint;
5
+jer_type_encoder_f CauseTransport_encode_jer;
6
 per_type_decoder_f CauseTransport_decode_aper;
7
 per_type_encoder_f CauseTransport_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CellSize.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CellSize.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f CellSize_free;
3
 asn_struct_print_f CellSize_print;
4
 asn_constr_check_f CellSize_constraint;
5
+jer_type_encoder_f CellSize_encode_jer;
6
 per_type_decoder_f CellSize_decode_aper;
7
 per_type_encoder_f CellSize_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CommonNetworkInstance.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CommonNetworkInstance.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_CommonNetworkInstance_free;
3
 asn_struct_print_f NGAP_CommonNetworkInstance_print;
4
 asn_constr_check_f NGAP_CommonNetworkInstance_constraint;
5
+jer_type_encoder_f NGAP_CommonNetworkInstance_encode_jer;
6
 per_type_decoder_f NGAP_CommonNetworkInstance_decode_aper;
7
 per_type_encoder_f NGAP_CommonNetworkInstance_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ConcurrentWarningMessageInd.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ConcurrentWarningMessageInd.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_ConcurrentWarningMessageInd_free;
3
 asn_struct_print_f NGAP_ConcurrentWarningMessageInd_print;
4
 asn_constr_check_f NGAP_ConcurrentWarningMessageInd_constraint;
5
+jer_type_encoder_f NGAP_ConcurrentWarningMessageInd_encode_jer;
6
 per_type_decoder_f NGAP_ConcurrentWarningMessageInd_decode_aper;
7
 per_type_encoder_f NGAP_ConcurrentWarningMessageInd_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ConfidentialityProtectionIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ConfidentialityProtectionIndication.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f ConfidentialityProtectionIndication_free;
3
 asn_struct_print_f ConfidentialityProtectionIndication_print;
4
 asn_constr_check_f ConfidentialityProtectionIndication_constraint;
5
+jer_type_encoder_f ConfidentialityProtectionIndication_encode_jer;
6
 per_type_decoder_f ConfidentialityProtectionIndication_decode_aper;
7
 per_type_encoder_f ConfidentialityProtectionIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ConfidentialityProtectionResult.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ConfidentialityProtectionResult.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f ConfidentialityProtectionResult_free;
3
 asn_struct_print_f ConfidentialityProtectionResult_print;
4
 asn_constr_check_f ConfidentialityProtectionResult_constraint;
5
+jer_type_encoder_f ConfidentialityProtectionResult_encode_jer;
6
 per_type_decoder_f ConfidentialityProtectionResult_decode_aper;
7
 per_type_encoder_f ConfidentialityProtectionResult_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ConfiguredNSSAI.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ConfiguredNSSAI.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_ConfiguredNSSAI_free;
3
 asn_struct_print_f NGAP_ConfiguredNSSAI_print;
4
 asn_constr_check_f NGAP_ConfiguredNSSAI_constraint;
5
+jer_type_encoder_f NGAP_ConfiguredNSSAI_encode_jer;
6
 per_type_decoder_f NGAP_ConfiguredNSSAI_decode_aper;
7
 per_type_encoder_f NGAP_ConfiguredNSSAI_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ConfiguredTACIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ConfiguredTACIndication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_ConfiguredTACIndication_free;
3
 asn_struct_print_f NGAP_ConfiguredTACIndication_print;
4
 asn_constr_check_f NGAP_ConfiguredTACIndication_constraint;
5
+jer_type_encoder_f NGAP_ConfiguredTACIndication_encode_jer;
6
 per_type_decoder_f NGAP_ConfiguredTACIndication_decode_aper;
7
 per_type_encoder_f NGAP_ConfiguredTACIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_CoverageEnhancementLevel.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_CoverageEnhancementLevel.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_CoverageEnhancementLevel_free;
3
 asn_struct_print_f NGAP_CoverageEnhancementLevel_print;
4
 asn_constr_check_f NGAP_CoverageEnhancementLevel_constraint;
5
+jer_type_encoder_f NGAP_CoverageEnhancementLevel_encode_jer;
6
 per_type_decoder_f NGAP_CoverageEnhancementLevel_decode_aper;
7
 per_type_encoder_f NGAP_CoverageEnhancementLevel_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Criticality.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Criticality.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f Criticality_free;
3
 asn_struct_print_f Criticality_print;
4
 asn_constr_check_f Criticality_constraint;
5
+jer_type_encoder_f Criticality_encode_jer;
6
 per_type_decoder_f Criticality_decode_aper;
7
 per_type_encoder_f Criticality_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_DL-NAS-MAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_DL-NAS-MAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_DL_NAS_MAC_free;
3
 asn_struct_print_f NGAP_DL_NAS_MAC_print;
4
 asn_constr_check_f NGAP_DL_NAS_MAC_constraint;
5
+jer_type_encoder_f NGAP_DL_NAS_MAC_encode_jer;
6
 per_type_decoder_f NGAP_DL_NAS_MAC_decode_aper;
7
 per_type_encoder_f NGAP_DL_NAS_MAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_DL-NGU-TNLInformationReused.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_DL-NGU-TNLInformationReused.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f DL_NGU_TNLInformationReused_free;
3
 asn_struct_print_f DL_NGU_TNLInformationReused_print;
4
 asn_constr_check_f DL_NGU_TNLInformationReused_constraint;
5
+jer_type_encoder_f DL_NGU_TNLInformationReused_encode_jer;
6
 per_type_decoder_f DL_NGU_TNLInformationReused_decode_aper;
7
 per_type_encoder_f DL_NGU_TNLInformationReused_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_DLForwarding.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_DLForwarding.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f DLForwarding_free;
3
 asn_struct_print_f DLForwarding_print;
4
 asn_constr_check_f DLForwarding_constraint;
5
+jer_type_encoder_f DLForwarding_encode_jer;
6
 per_type_decoder_f DLForwarding_decode_aper;
7
 per_type_encoder_f DLForwarding_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_DRB-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_DRB-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_DRB_ID_free;
3
 asn_struct_print_f NGAP_DRB_ID_print;
4
 asn_constr_check_f NGAP_DRB_ID_constraint;
5
+jer_type_encoder_f NGAP_DRB_ID_encode_jer;
6
 per_type_decoder_f NGAP_DRB_ID_decode_aper;
7
 per_type_encoder_f NGAP_DRB_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_DataCodingScheme.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_DataCodingScheme.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_DataCodingScheme_free;
3
 asn_struct_print_f NGAP_DataCodingScheme_print;
4
 asn_constr_check_f NGAP_DataCodingScheme_constraint;
5
+jer_type_encoder_f NGAP_DataCodingScheme_encode_jer;
6
 per_type_decoder_f NGAP_DataCodingScheme_decode_aper;
7
 per_type_encoder_f NGAP_DataCodingScheme_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_DataForwardingAccepted.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_DataForwardingAccepted.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f DataForwardingAccepted_free;
3
 asn_struct_print_f DataForwardingAccepted_print;
4
 asn_constr_check_f DataForwardingAccepted_constraint;
5
+jer_type_encoder_f DataForwardingAccepted_encode_jer;
6
 per_type_decoder_f DataForwardingAccepted_decode_aper;
7
 per_type_encoder_f DataForwardingAccepted_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_DataForwardingNotPossible.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_DataForwardingNotPossible.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_DataForwardingNotPossible_free;
3
 asn_struct_print_f NGAP_DataForwardingNotPossible_print;
4
 asn_constr_check_f NGAP_DataForwardingNotPossible_constraint;
5
+jer_type_encoder_f NGAP_DataForwardingNotPossible_encode_jer;
6
 per_type_decoder_f NGAP_DataForwardingNotPossible_decode_aper;
7
 per_type_encoder_f NGAP_DataForwardingNotPossible_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_DelayCritical.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_DelayCritical.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f DelayCritical_free;
3
 asn_struct_print_f DelayCritical_print;
4
 asn_constr_check_f DelayCritical_constraint;
5
+jer_type_encoder_f DelayCritical_encode_jer;
6
 per_type_decoder_f DelayCritical_decode_aper;
7
 per_type_encoder_f DelayCritical_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_DirectForwardingPathAvailability.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_DirectForwardingPathAvailability.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f DirectForwardingPathAvailability_free;
3
 asn_struct_print_f DirectForwardingPathAvailability_print;
4
 asn_constr_check_f DirectForwardingPathAvailability_constraint;
5
+jer_type_encoder_f DirectForwardingPathAvailability_encode_jer;
6
 per_type_decoder_f DirectForwardingPathAvailability_decode_aper;
7
 per_type_encoder_f DirectForwardingPathAvailability_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_E-RAB-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_E-RAB-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_E_RAB_ID_free;
3
 asn_struct_print_f NGAP_E_RAB_ID_print;
4
 asn_constr_check_f NGAP_E_RAB_ID_constraint;
5
+jer_type_encoder_f NGAP_E_RAB_ID_encode_jer;
6
 per_type_decoder_f NGAP_E_RAB_ID_decode_aper;
7
 per_type_encoder_f NGAP_E_RAB_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EDT-Session.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EDT-Session.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_EDT_Session_free;
3
 asn_struct_print_f NGAP_EDT_Session_print;
4
 asn_constr_check_f NGAP_EDT_Session_constraint;
5
+jer_type_encoder_f NGAP_EDT_Session_encode_jer;
6
 per_type_decoder_f NGAP_EDT_Session_decode_aper;
7
 per_type_encoder_f NGAP_EDT_Session_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EN-DCSONConfigurationTransfer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EN-DCSONConfigurationTransfer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_EN_DCSONConfigurationTransfer_free;
3
 asn_struct_print_f NGAP_EN_DCSONConfigurationTransfer_print;
4
 asn_constr_check_f NGAP_EN_DCSONConfigurationTransfer_constraint;
5
+jer_type_encoder_f NGAP_EN_DCSONConfigurationTransfer_encode_jer;
6
 per_type_decoder_f NGAP_EN_DCSONConfigurationTransfer_decode_aper;
7
 per_type_encoder_f NGAP_EN_DCSONConfigurationTransfer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EPS-TAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EPS-TAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_EPS_TAC_free;
3
 asn_struct_print_f NGAP_EPS_TAC_print;
4
 asn_constr_check_f NGAP_EPS_TAC_constraint;
5
+jer_type_encoder_f NGAP_EPS_TAC_encode_jer;
6
 per_type_decoder_f NGAP_EPS_TAC_decode_aper;
7
 per_type_encoder_f NGAP_EPS_TAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EUTRACellIdentity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EUTRACellIdentity.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_EUTRACellIdentity_free;
3
 asn_struct_print_f NGAP_EUTRACellIdentity_print;
4
 asn_constr_check_f NGAP_EUTRACellIdentity_constraint;
5
+jer_type_encoder_f NGAP_EUTRACellIdentity_encode_jer;
6
 per_type_decoder_f NGAP_EUTRACellIdentity_decode_aper;
7
 per_type_encoder_f NGAP_EUTRACellIdentity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EUTRAencryptionAlgorithms.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EUTRAencryptionAlgorithms.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_EUTRAencryptionAlgorithms_free;
3
 asn_struct_print_f NGAP_EUTRAencryptionAlgorithms_print;
4
 asn_constr_check_f NGAP_EUTRAencryptionAlgorithms_constraint;
5
+jer_type_encoder_f NGAP_EUTRAencryptionAlgorithms_encode_jer;
6
 per_type_decoder_f NGAP_EUTRAencryptionAlgorithms_decode_aper;
7
 per_type_encoder_f NGAP_EUTRAencryptionAlgorithms_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EUTRAintegrityProtectionAlgorithms.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EUTRAintegrityProtectionAlgorithms.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_EUTRAintegrityProtectionAlgorithms_free;
3
 asn_struct_print_f NGAP_EUTRAintegrityProtectionAlgorithms_print;
4
 asn_constr_check_f NGAP_EUTRAintegrityProtectionAlgorithms_constraint;
5
+jer_type_encoder_f NGAP_EUTRAintegrityProtectionAlgorithms_encode_jer;
6
 per_type_decoder_f NGAP_EUTRAintegrityProtectionAlgorithms_decode_aper;
7
 per_type_encoder_f NGAP_EUTRAintegrityProtectionAlgorithms_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EmergencyAreaID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EmergencyAreaID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_EmergencyAreaID_free;
3
 asn_struct_print_f NGAP_EmergencyAreaID_print;
4
 asn_constr_check_f NGAP_EmergencyAreaID_constraint;
5
+jer_type_encoder_f NGAP_EmergencyAreaID_encode_jer;
6
 per_type_decoder_f NGAP_EmergencyAreaID_decode_aper;
7
 per_type_encoder_f NGAP_EmergencyAreaID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EmergencyFallbackRequestIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EmergencyFallbackRequestIndicator.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f EmergencyFallbackRequestIndicator_free;
3
 asn_struct_print_f EmergencyFallbackRequestIndicator_print;
4
 asn_constr_check_f EmergencyFallbackRequestIndicator_constraint;
5
+jer_type_encoder_f EmergencyFallbackRequestIndicator_encode_jer;
6
 per_type_decoder_f EmergencyFallbackRequestIndicator_decode_aper;
7
 per_type_encoder_f EmergencyFallbackRequestIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EmergencyServiceTargetCN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EmergencyServiceTargetCN.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f EmergencyServiceTargetCN_free;
3
 asn_struct_print_f EmergencyServiceTargetCN_print;
4
 asn_constr_check_f EmergencyServiceTargetCN_constraint;
5
+jer_type_encoder_f EmergencyServiceTargetCN_encode_jer;
6
 per_type_decoder_f EmergencyServiceTargetCN_decode_aper;
7
 per_type_encoder_f EmergencyServiceTargetCN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EndIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EndIndication.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f NGAP_EndIndication_free;
3
 asn_struct_print_f NGAP_EndIndication_print;
4
 asn_constr_check_f NGAP_EndIndication_constraint;
5
+jer_type_encoder_f NGAP_EndIndication_encode_jer;
6
 per_type_decoder_f NGAP_EndIndication_decode_aper;
7
 per_type_encoder_f NGAP_EndIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Enhanced-CoverageRestriction.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Enhanced-CoverageRestriction.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_Enhanced_CoverageRestriction_free;
3
 asn_struct_print_f NGAP_Enhanced_CoverageRestriction_print;
4
 asn_constr_check_f NGAP_Enhanced_CoverageRestriction_constraint;
5
+jer_type_encoder_f NGAP_Enhanced_CoverageRestriction_encode_jer;
6
 per_type_decoder_f NGAP_Enhanced_CoverageRestriction_decode_aper;
7
 per_type_encoder_f NGAP_Enhanced_CoverageRestriction_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_EventType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_EventType.h Changed
9
 
1
@@ -41,6 +41,7 @@
2
 asn_struct_free_f EventType_free;
3
 asn_struct_print_f EventType_print;
4
 asn_constr_check_f EventType_constraint;
5
+jer_type_encoder_f EventType_encode_jer;
6
 per_type_decoder_f EventType_decode_aper;
7
 per_type_encoder_f EventType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ExpectedActivityPeriod.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ExpectedActivityPeriod.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_ExpectedActivityPeriod_free;
3
 asn_struct_print_f NGAP_ExpectedActivityPeriod_print;
4
 asn_constr_check_f NGAP_ExpectedActivityPeriod_constraint;
5
+jer_type_encoder_f NGAP_ExpectedActivityPeriod_encode_jer;
6
 per_type_decoder_f NGAP_ExpectedActivityPeriod_decode_aper;
7
 per_type_encoder_f NGAP_ExpectedActivityPeriod_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ExpectedHOInterval.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ExpectedHOInterval.h Changed
9
 
1
@@ -42,6 +42,7 @@
2
 asn_struct_free_f ExpectedHOInterval_free;
3
 asn_struct_print_f ExpectedHOInterval_print;
4
 asn_constr_check_f ExpectedHOInterval_constraint;
5
+jer_type_encoder_f ExpectedHOInterval_encode_jer;
6
 per_type_decoder_f ExpectedHOInterval_decode_aper;
7
 per_type_encoder_f ExpectedHOInterval_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ExpectedIdlePeriod.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ExpectedIdlePeriod.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_ExpectedIdlePeriod_free;
3
 asn_struct_print_f NGAP_ExpectedIdlePeriod_print;
4
 asn_constr_check_f NGAP_ExpectedIdlePeriod_constraint;
5
+jer_type_encoder_f NGAP_ExpectedIdlePeriod_encode_jer;
6
 per_type_decoder_f NGAP_ExpectedIdlePeriod_decode_aper;
7
 per_type_encoder_f NGAP_ExpectedIdlePeriod_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ExpectedUEMobility.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ExpectedUEMobility.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f ExpectedUEMobility_free;
3
 asn_struct_print_f ExpectedUEMobility_print;
4
 asn_constr_check_f ExpectedUEMobility_constraint;
5
+jer_type_encoder_f ExpectedUEMobility_encode_jer;
6
 per_type_decoder_f ExpectedUEMobility_decode_aper;
7
 per_type_encoder_f ExpectedUEMobility_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Extended-ConnectedTime.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Extended-ConnectedTime.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_Extended_ConnectedTime_free;
3
 asn_struct_print_f NGAP_Extended_ConnectedTime_print;
4
 asn_constr_check_f NGAP_Extended_ConnectedTime_constraint;
5
+jer_type_encoder_f NGAP_Extended_ConnectedTime_encode_jer;
6
 per_type_decoder_f NGAP_Extended_ConnectedTime_decode_aper;
7
 per_type_encoder_f NGAP_Extended_ConnectedTime_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ExtendedPacketDelayBudget.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ExtendedPacketDelayBudget.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_ExtendedPacketDelayBudget_free;
3
 asn_struct_print_f NGAP_ExtendedPacketDelayBudget_print;
4
 asn_constr_check_f NGAP_ExtendedPacketDelayBudget_constraint;
5
+jer_type_encoder_f NGAP_ExtendedPacketDelayBudget_encode_jer;
6
 per_type_decoder_f NGAP_ExtendedPacketDelayBudget_decode_aper;
7
 per_type_encoder_f NGAP_ExtendedPacketDelayBudget_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ExtendedRNC-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ExtendedRNC-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_ExtendedRNC_ID_free;
3
 asn_struct_print_f NGAP_ExtendedRNC_ID_print;
4
 asn_constr_check_f NGAP_ExtendedRNC_ID_constraint;
5
+jer_type_encoder_f NGAP_ExtendedRNC_ID_encode_jer;
6
 per_type_decoder_f NGAP_ExtendedRNC_ID_decode_aper;
7
 per_type_encoder_f NGAP_ExtendedRNC_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ExtendedUEIdentityIndexValue.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ExtendedUEIdentityIndexValue.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_ExtendedUEIdentityIndexValue_free;
3
 asn_struct_print_f NGAP_ExtendedUEIdentityIndexValue_print;
4
 asn_constr_check_f NGAP_ExtendedUEIdentityIndexValue_constraint;
5
+jer_type_encoder_f NGAP_ExtendedUEIdentityIndexValue_encode_jer;
6
 per_type_decoder_f NGAP_ExtendedUEIdentityIndexValue_decode_aper;
7
 per_type_encoder_f NGAP_ExtendedUEIdentityIndexValue_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_FiveG-TMSI.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_FiveG-TMSI.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_FiveG_TMSI_free;
3
 asn_struct_print_f NGAP_FiveG_TMSI_print;
4
 asn_constr_check_f NGAP_FiveG_TMSI_constraint;
5
+jer_type_encoder_f NGAP_FiveG_TMSI_encode_jer;
6
 per_type_decoder_f NGAP_FiveG_TMSI_decode_aper;
7
 per_type_encoder_f NGAP_FiveG_TMSI_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_FiveQI.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_FiveQI.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_FiveQI_free;
3
 asn_struct_print_f NGAP_FiveQI_print;
4
 asn_constr_check_f NGAP_FiveQI_constraint;
5
+jer_type_encoder_f NGAP_FiveQI_encode_jer;
6
 per_type_decoder_f NGAP_FiveQI_decode_aper;
7
 per_type_encoder_f NGAP_FiveQI_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_GNBSetID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_GNBSetID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_GNBSetID_free;
3
 asn_struct_print_f NGAP_GNBSetID_print;
4
 asn_constr_check_f NGAP_GNBSetID_constraint;
5
+jer_type_encoder_f NGAP_GNBSetID_encode_jer;
6
 per_type_decoder_f NGAP_GNBSetID_decode_aper;
7
 per_type_encoder_f NGAP_GNBSetID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_GTP-TEID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_GTP-TEID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_GTP_TEID_free;
3
 asn_struct_print_f NGAP_GTP_TEID_print;
4
 asn_constr_check_f NGAP_GTP_TEID_constraint;
5
+jer_type_encoder_f NGAP_GTP_TEID_encode_jer;
6
 per_type_decoder_f NGAP_GTP_TEID_decode_aper;
7
 per_type_encoder_f NGAP_GTP_TEID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_GUAMIType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_GUAMIType.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f NGAP_GUAMIType_free;
3
 asn_struct_print_f NGAP_GUAMIType_print;
4
 asn_constr_check_f NGAP_GUAMIType_constraint;
5
+jer_type_encoder_f NGAP_GUAMIType_encode_jer;
6
 per_type_decoder_f NGAP_GUAMIType_decode_aper;
7
 per_type_encoder_f NGAP_GUAMIType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_GlobalCable-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_GlobalCable-ID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_GlobalCable_ID_free;
3
 asn_struct_print_f NGAP_GlobalCable_ID_print;
4
 asn_constr_check_f NGAP_GlobalCable_ID_constraint;
5
+jer_type_encoder_f NGAP_GlobalCable_ID_encode_jer;
6
 per_type_decoder_f NGAP_GlobalCable_ID_decode_aper;
7
 per_type_encoder_f NGAP_GlobalCable_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_GlobalLineIdentity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_GlobalLineIdentity.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_GlobalLineIdentity_free;
3
 asn_struct_print_f NGAP_GlobalLineIdentity_print;
4
 asn_constr_check_f NGAP_GlobalLineIdentity_constraint;
5
+jer_type_encoder_f NGAP_GlobalLineIdentity_encode_jer;
6
 per_type_decoder_f NGAP_GlobalLineIdentity_decode_aper;
7
 per_type_encoder_f NGAP_GlobalLineIdentity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_HFCNode-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_HFCNode-ID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_HFCNode_ID_free;
3
 asn_struct_print_f NGAP_HFCNode_ID_print;
4
 asn_constr_check_f NGAP_HFCNode_ID_constraint;
5
+jer_type_encoder_f NGAP_HFCNode_ID_encode_jer;
6
 per_type_decoder_f NGAP_HFCNode_ID_decode_aper;
7
 per_type_encoder_f NGAP_HFCNode_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_HandoverFlag.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_HandoverFlag.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_HandoverFlag_free;
3
 asn_struct_print_f NGAP_HandoverFlag_print;
4
 asn_constr_check_f NGAP_HandoverFlag_constraint;
5
+jer_type_encoder_f NGAP_HandoverFlag_encode_jer;
6
 per_type_decoder_f NGAP_HandoverFlag_decode_aper;
7
 per_type_encoder_f NGAP_HandoverFlag_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_HandoverType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_HandoverType.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f NGAP_HandoverType_free;
3
 asn_struct_print_f NGAP_HandoverType_print;
4
 asn_constr_check_f NGAP_HandoverType_constraint;
5
+jer_type_encoder_f NGAP_HandoverType_encode_jer;
6
 per_type_decoder_f NGAP_HandoverType_decode_aper;
7
 per_type_encoder_f NGAP_HandoverType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Hysteresis.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Hysteresis.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_Hysteresis_free;
3
 asn_struct_print_f NGAP_Hysteresis_print;
4
 asn_constr_check_f NGAP_Hysteresis_constraint;
5
+jer_type_encoder_f NGAP_Hysteresis_encode_jer;
6
 per_type_decoder_f NGAP_Hysteresis_decode_aper;
7
 per_type_encoder_f NGAP_Hysteresis_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_IAB-Authorized.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_IAB-Authorized.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f NGAP_IAB_Authorized_free;
3
 asn_struct_print_f NGAP_IAB_Authorized_print;
4
 asn_constr_check_f NGAP_IAB_Authorized_constraint;
5
+jer_type_encoder_f NGAP_IAB_Authorized_encode_jer;
6
 per_type_decoder_f NGAP_IAB_Authorized_decode_aper;
7
 per_type_encoder_f NGAP_IAB_Authorized_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_IAB-Supported.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_IAB-Supported.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_IAB_Supported_free;
3
 asn_struct_print_f NGAP_IAB_Supported_print;
4
 asn_constr_check_f NGAP_IAB_Supported_constraint;
5
+jer_type_encoder_f NGAP_IAB_Supported_encode_jer;
6
 per_type_decoder_f NGAP_IAB_Supported_decode_aper;
7
 per_type_encoder_f NGAP_IAB_Supported_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_IABNodeIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_IABNodeIndication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_IABNodeIndication_free;
3
 asn_struct_print_f NGAP_IABNodeIndication_print;
4
 asn_constr_check_f NGAP_IABNodeIndication_constraint;
5
+jer_type_encoder_f NGAP_IABNodeIndication_encode_jer;
6
 per_type_decoder_f NGAP_IABNodeIndication_decode_aper;
7
 per_type_encoder_f NGAP_IABNodeIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_IMSVoiceSupportIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_IMSVoiceSupportIndicator.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f NGAP_IMSVoiceSupportIndicator_free;
3
 asn_struct_print_f NGAP_IMSVoiceSupportIndicator_print;
4
 asn_constr_check_f NGAP_IMSVoiceSupportIndicator_constraint;
5
+jer_type_encoder_f NGAP_IMSVoiceSupportIndicator_encode_jer;
6
 per_type_decoder_f NGAP_IMSVoiceSupportIndicator_decode_aper;
7
 per_type_encoder_f NGAP_IMSVoiceSupportIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_IndexToRFSP.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_IndexToRFSP.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_IndexToRFSP_free;
3
 asn_struct_print_f NGAP_IndexToRFSP_print;
4
 asn_constr_check_f NGAP_IndexToRFSP_constraint;
5
+jer_type_encoder_f NGAP_IndexToRFSP_encode_jer;
6
 per_type_decoder_f NGAP_IndexToRFSP_decode_aper;
7
 per_type_encoder_f NGAP_IndexToRFSP_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_IntegrityProtectionIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_IntegrityProtectionIndication.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f IntegrityProtectionIndication_free;
3
 asn_struct_print_f IntegrityProtectionIndication_print;
4
 asn_constr_check_f IntegrityProtectionIndication_constraint;
5
+jer_type_encoder_f IntegrityProtectionIndication_encode_jer;
6
 per_type_decoder_f IntegrityProtectionIndication_decode_aper;
7
 per_type_encoder_f IntegrityProtectionIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_IntegrityProtectionResult.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_IntegrityProtectionResult.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f IntegrityProtectionResult_free;
3
 asn_struct_print_f IntegrityProtectionResult_print;
4
 asn_constr_check_f IntegrityProtectionResult_constraint;
5
+jer_type_encoder_f IntegrityProtectionResult_encode_jer;
6
 per_type_decoder_f IntegrityProtectionResult_decode_aper;
7
 per_type_encoder_f IntegrityProtectionResult_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_IntendedNumberOfPagingAttempts.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_IntendedNumberOfPagingAttempts.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_IntendedNumberOfPagingAttempts_free;
3
 asn_struct_print_f NGAP_IntendedNumberOfPagingAttempts_print;
4
 asn_constr_check_f NGAP_IntendedNumberOfPagingAttempts_constraint;
5
+jer_type_encoder_f NGAP_IntendedNumberOfPagingAttempts_encode_jer;
6
 per_type_decoder_f NGAP_IntendedNumberOfPagingAttempts_decode_aper;
7
 per_type_encoder_f NGAP_IntendedNumberOfPagingAttempts_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_InterfacesToTrace.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_InterfacesToTrace.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_InterfacesToTrace_free;
3
 asn_struct_print_f NGAP_InterfacesToTrace_print;
4
 asn_constr_check_f NGAP_InterfacesToTrace_constraint;
5
+jer_type_encoder_f NGAP_InterfacesToTrace_encode_jer;
6
 per_type_decoder_f NGAP_InterfacesToTrace_decode_aper;
7
 per_type_encoder_f NGAP_InterfacesToTrace_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_LAC_free;
3
 asn_struct_print_f NGAP_LAC_print;
4
 asn_constr_check_f NGAP_LAC_constraint;
5
+jer_type_encoder_f NGAP_LAC_encode_jer;
6
 per_type_decoder_f NGAP_LAC_decode_aper;
7
 per_type_encoder_f NGAP_LAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LTEM-Indication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LTEM-Indication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_LTEM_Indication_free;
3
 asn_struct_print_f NGAP_LTEM_Indication_print;
4
 asn_constr_check_f NGAP_LTEM_Indication_constraint;
5
+jer_type_encoder_f NGAP_LTEM_Indication_encode_jer;
6
 per_type_decoder_f NGAP_LTEM_Indication_decode_aper;
7
 per_type_encoder_f NGAP_LTEM_Indication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LTEUERLFReportContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LTEUERLFReportContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_LTEUERLFReportContainer_free;
3
 asn_struct_print_f NGAP_LTEUERLFReportContainer_print;
4
 asn_constr_check_f NGAP_LTEUERLFReportContainer_constraint;
5
+jer_type_encoder_f NGAP_LTEUERLFReportContainer_encode_jer;
6
 per_type_decoder_f NGAP_LTEUERLFReportContainer_decode_aper;
7
 per_type_encoder_f NGAP_LTEUERLFReportContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LastVisitedEUTRANCellInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LastVisitedEUTRANCellInformation.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_LastVisitedEUTRANCellInformation_free;
3
 asn_struct_print_f NGAP_LastVisitedEUTRANCellInformation_print;
4
 asn_constr_check_f NGAP_LastVisitedEUTRANCellInformation_constraint;
5
+jer_type_encoder_f NGAP_LastVisitedEUTRANCellInformation_encode_jer;
6
 per_type_decoder_f NGAP_LastVisitedEUTRANCellInformation_decode_aper;
7
 per_type_encoder_f NGAP_LastVisitedEUTRANCellInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LastVisitedGERANCellInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LastVisitedGERANCellInformation.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_LastVisitedGERANCellInformation_free;
3
 asn_struct_print_f NGAP_LastVisitedGERANCellInformation_print;
4
 asn_constr_check_f NGAP_LastVisitedGERANCellInformation_constraint;
5
+jer_type_encoder_f NGAP_LastVisitedGERANCellInformation_encode_jer;
6
 per_type_decoder_f NGAP_LastVisitedGERANCellInformation_decode_aper;
7
 per_type_encoder_f NGAP_LastVisitedGERANCellInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LastVisitedUTRANCellInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LastVisitedUTRANCellInformation.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_LastVisitedUTRANCellInformation_free;
3
 asn_struct_print_f NGAP_LastVisitedUTRANCellInformation_print;
4
 asn_constr_check_f NGAP_LastVisitedUTRANCellInformation_constraint;
5
+jer_type_encoder_f NGAP_LastVisitedUTRANCellInformation_encode_jer;
6
 per_type_decoder_f NGAP_LastVisitedUTRANCellInformation_decode_aper;
7
 per_type_encoder_f NGAP_LastVisitedUTRANCellInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LineType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LineType.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f LineType_free;
3
 asn_struct_print_f LineType_print;
4
 asn_constr_check_f LineType_constraint;
5
+jer_type_encoder_f LineType_encode_jer;
6
 per_type_decoder_f LineType_decode_aper;
7
 per_type_encoder_f LineType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Links-to-log.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Links-to-log.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f Links_to_log_free;
3
 asn_struct_print_f Links_to_log_print;
4
 asn_constr_check_f Links_to_log_constraint;
5
+jer_type_encoder_f Links_to_log_encode_jer;
6
 per_type_decoder_f Links_to_log_decode_aper;
7
 per_type_encoder_f Links_to_log_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LocationReportingAdditionalInfo.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LocationReportingAdditionalInfo.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_LocationReportingAdditionalInfo_free;
3
 asn_struct_print_f NGAP_LocationReportingAdditionalInfo_print;
4
 asn_constr_check_f NGAP_LocationReportingAdditionalInfo_constraint;
5
+jer_type_encoder_f NGAP_LocationReportingAdditionalInfo_encode_jer;
6
 per_type_decoder_f NGAP_LocationReportingAdditionalInfo_decode_aper;
7
 per_type_encoder_f NGAP_LocationReportingAdditionalInfo_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LocationReportingReferenceID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LocationReportingReferenceID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_LocationReportingReferenceID_free;
3
 asn_struct_print_f NGAP_LocationReportingReferenceID_print;
4
 asn_constr_check_f NGAP_LocationReportingReferenceID_constraint;
5
+jer_type_encoder_f NGAP_LocationReportingReferenceID_encode_jer;
6
 per_type_decoder_f NGAP_LocationReportingReferenceID_decode_aper;
7
 per_type_encoder_f NGAP_LocationReportingReferenceID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LoggingDuration.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LoggingDuration.h Changed
9
 
1
@@ -41,6 +41,7 @@
2
 asn_struct_free_f LoggingDuration_free;
3
 asn_struct_print_f LoggingDuration_print;
4
 asn_constr_check_f LoggingDuration_constraint;
5
+jer_type_encoder_f LoggingDuration_encode_jer;
6
 per_type_decoder_f LoggingDuration_decode_aper;
7
 per_type_encoder_f LoggingDuration_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_LoggingInterval.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_LoggingInterval.h Changed
9
 
1
@@ -46,6 +46,7 @@
2
 asn_struct_free_f LoggingInterval_free;
3
 asn_struct_print_f LoggingInterval_print;
4
 asn_constr_check_f LoggingInterval_constraint;
5
+jer_type_encoder_f LoggingInterval_encode_jer;
6
 per_type_decoder_f LoggingInterval_decode_aper;
7
 per_type_encoder_f LoggingInterval_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_M1ReportingTrigger.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_M1ReportingTrigger.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f M1ReportingTrigger_free;
3
 asn_struct_print_f M1ReportingTrigger_print;
4
 asn_constr_check_f M1ReportingTrigger_constraint;
5
+jer_type_encoder_f M1ReportingTrigger_encode_jer;
6
 per_type_decoder_f M1ReportingTrigger_decode_aper;
7
 per_type_encoder_f M1ReportingTrigger_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_M4period.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_M4period.h Changed
9
 
1
@@ -40,6 +40,7 @@
2
 asn_struct_free_f M4period_free;
3
 asn_struct_print_f M4period_print;
4
 asn_constr_check_f M4period_constraint;
5
+jer_type_encoder_f M4period_encode_jer;
6
 per_type_decoder_f M4period_decode_aper;
7
 per_type_encoder_f M4period_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_M5period.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_M5period.h Changed
9
 
1
@@ -40,6 +40,7 @@
2
 asn_struct_free_f M5period_free;
3
 asn_struct_print_f M5period_print;
4
 asn_constr_check_f M5period_constraint;
5
+jer_type_encoder_f M5period_encode_jer;
6
 per_type_decoder_f M5period_decode_aper;
7
 per_type_encoder_f M5period_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_M6report-Interval.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_M6report-Interval.h Changed
9
 
1
@@ -49,6 +49,7 @@
2
 asn_struct_free_f M6report_Interval_free;
3
 asn_struct_print_f M6report_Interval_print;
4
 asn_constr_check_f M6report_Interval_constraint;
5
+jer_type_encoder_f M6report_Interval_encode_jer;
6
 per_type_decoder_f M6report_Interval_decode_aper;
7
 per_type_encoder_f M6report_Interval_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_M7period.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_M7period.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_M7period_free;
3
 asn_struct_print_f NGAP_M7period_print;
4
 asn_constr_check_f NGAP_M7period_constraint;
5
+jer_type_encoder_f NGAP_M7period_encode_jer;
6
 per_type_decoder_f NGAP_M7period_decode_aper;
7
 per_type_encoder_f NGAP_M7period_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MDT-Activation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MDT-Activation.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f MDT_Activation_free;
3
 asn_struct_print_f MDT_Activation_print;
4
 asn_constr_check_f MDT_Activation_constraint;
5
+jer_type_encoder_f MDT_Activation_encode_jer;
6
 per_type_decoder_f MDT_Activation_decode_aper;
7
 per_type_encoder_f MDT_Activation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MDT-Location-Information.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MDT-Location-Information.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_MDT_Location_Information_free;
3
 asn_struct_print_f NGAP_MDT_Location_Information_print;
4
 asn_constr_check_f NGAP_MDT_Location_Information_constraint;
5
+jer_type_encoder_f NGAP_MDT_Location_Information_encode_jer;
6
 per_type_decoder_f NGAP_MDT_Location_Information_decode_aper;
7
 per_type_encoder_f NGAP_MDT_Location_Information_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MDTModeEutra.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MDTModeEutra.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_MDTModeEutra_free;
3
 asn_struct_print_f NGAP_MDTModeEutra_print;
4
 asn_constr_check_f NGAP_MDTModeEutra_constraint;
5
+jer_type_encoder_f NGAP_MDTModeEutra_encode_jer;
6
 per_type_decoder_f NGAP_MDTModeEutra_decode_aper;
7
 per_type_encoder_f NGAP_MDTModeEutra_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MICOModeIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MICOModeIndication.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f MICOModeIndication_free;
3
 asn_struct_print_f MICOModeIndication_print;
4
 asn_constr_check_f MICOModeIndication_constraint;
5
+jer_type_encoder_f MICOModeIndication_encode_jer;
6
 per_type_decoder_f MICOModeIndication_decode_aper;
7
 per_type_encoder_f MICOModeIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MaskedIMEISV.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MaskedIMEISV.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_MaskedIMEISV_free;
3
 asn_struct_print_f NGAP_MaskedIMEISV_print;
4
 asn_constr_check_f NGAP_MaskedIMEISV_constraint;
5
+jer_type_encoder_f NGAP_MaskedIMEISV_encode_jer;
6
 per_type_decoder_f NGAP_MaskedIMEISV_decode_aper;
7
 per_type_encoder_f NGAP_MaskedIMEISV_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MaximumDataBurstVolume.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MaximumDataBurstVolume.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_MaximumDataBurstVolume_free;
3
 asn_struct_print_f NGAP_MaximumDataBurstVolume_print;
4
 asn_constr_check_f NGAP_MaximumDataBurstVolume_constraint;
5
+jer_type_encoder_f NGAP_MaximumDataBurstVolume_encode_jer;
6
 per_type_decoder_f NGAP_MaximumDataBurstVolume_decode_aper;
7
 per_type_encoder_f NGAP_MaximumDataBurstVolume_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MaximumIntegrityProtectedDataRate.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MaximumIntegrityProtectedDataRate.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f MaximumIntegrityProtectedDataRate_free;
3
 asn_struct_print_f MaximumIntegrityProtectedDataRate_print;
4
 asn_constr_check_f MaximumIntegrityProtectedDataRate_constraint;
5
+jer_type_encoder_f MaximumIntegrityProtectedDataRate_encode_jer;
6
 per_type_decoder_f MaximumIntegrityProtectedDataRate_decode_aper;
7
 per_type_encoder_f MaximumIntegrityProtectedDataRate_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MeasurementsToActivate.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MeasurementsToActivate.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_MeasurementsToActivate_free;
3
 asn_struct_print_f NGAP_MeasurementsToActivate_print;
4
 asn_constr_check_f NGAP_MeasurementsToActivate_constraint;
5
+jer_type_encoder_f NGAP_MeasurementsToActivate_encode_jer;
6
 per_type_decoder_f NGAP_MeasurementsToActivate_decode_aper;
7
 per_type_encoder_f NGAP_MeasurementsToActivate_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MessageIdentifier.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MessageIdentifier.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_MessageIdentifier_free;
3
 asn_struct_print_f NGAP_MessageIdentifier_print;
4
 asn_constr_check_f NGAP_MessageIdentifier_constraint;
5
+jer_type_encoder_f NGAP_MessageIdentifier_encode_jer;
6
 per_type_decoder_f NGAP_MessageIdentifier_decode_aper;
7
 per_type_encoder_f NGAP_MessageIdentifier_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MicoAllPLMN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MicoAllPLMN.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_MicoAllPLMN_free;
3
 asn_struct_print_f NGAP_MicoAllPLMN_print;
4
 asn_constr_check_f NGAP_MicoAllPLMN_constraint;
5
+jer_type_encoder_f NGAP_MicoAllPLMN_encode_jer;
6
 per_type_decoder_f NGAP_MicoAllPLMN_decode_aper;
7
 per_type_encoder_f NGAP_MicoAllPLMN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_MobilityInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_MobilityInformation.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_MobilityInformation_free;
3
 asn_struct_print_f NGAP_MobilityInformation_print;
4
 asn_constr_check_f NGAP_MobilityInformation_constraint;
5
+jer_type_encoder_f NGAP_MobilityInformation_encode_jer;
6
 per_type_decoder_f NGAP_MobilityInformation_decode_aper;
7
 per_type_encoder_f NGAP_MobilityInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NAS-PDU.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NAS-PDU.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_NAS_PDU_free;
3
 asn_struct_print_f NGAP_NAS_PDU_print;
4
 asn_constr_check_f NGAP_NAS_PDU_constraint;
5
+jer_type_encoder_f NGAP_NAS_PDU_encode_jer;
6
 per_type_decoder_f NGAP_NAS_PDU_decode_aper;
7
 per_type_encoder_f NGAP_NAS_PDU_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NASSecurityParametersFromNGRAN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NASSecurityParametersFromNGRAN.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_NASSecurityParametersFromNGRAN_free;
3
 asn_struct_print_f NGAP_NASSecurityParametersFromNGRAN_print;
4
 asn_constr_check_f NGAP_NASSecurityParametersFromNGRAN_constraint;
5
+jer_type_encoder_f NGAP_NASSecurityParametersFromNGRAN_encode_jer;
6
 per_type_decoder_f NGAP_NASSecurityParametersFromNGRAN_decode_aper;
7
 per_type_encoder_f NGAP_NASSecurityParametersFromNGRAN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NB-IoT-DefaultPagingDRX.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NB-IoT-DefaultPagingDRX.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f NGAP_NB_IoT_DefaultPagingDRX_free;
3
 asn_struct_print_f NGAP_NB_IoT_DefaultPagingDRX_print;
4
 asn_constr_check_f NGAP_NB_IoT_DefaultPagingDRX_constraint;
5
+jer_type_encoder_f NGAP_NB_IoT_DefaultPagingDRX_encode_jer;
6
 per_type_decoder_f NGAP_NB_IoT_DefaultPagingDRX_decode_aper;
7
 per_type_encoder_f NGAP_NB_IoT_DefaultPagingDRX_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NB-IoT-Paging-TimeWindow.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NB-IoT-Paging-TimeWindow.h Changed
9
 
1
@@ -51,6 +51,7 @@
2
 asn_struct_free_f NB_IoT_Paging_TimeWindow_free;
3
 asn_struct_print_f NB_IoT_Paging_TimeWindow_print;
4
 asn_constr_check_f NB_IoT_Paging_TimeWindow_constraint;
5
+jer_type_encoder_f NB_IoT_Paging_TimeWindow_encode_jer;
6
 per_type_decoder_f NB_IoT_Paging_TimeWindow_decode_aper;
7
 per_type_encoder_f NB_IoT_Paging_TimeWindow_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NB-IoT-Paging-eDRXCycle.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NB-IoT-Paging-eDRXCycle.h Changed
9
 
1
@@ -49,6 +49,7 @@
2
 asn_struct_free_f NB_IoT_Paging_eDRXCycle_free;
3
 asn_struct_print_f NB_IoT_Paging_eDRXCycle_print;
4
 asn_constr_check_f NB_IoT_Paging_eDRXCycle_constraint;
5
+jer_type_encoder_f NB_IoT_Paging_eDRXCycle_encode_jer;
6
 per_type_decoder_f NB_IoT_Paging_eDRXCycle_decode_aper;
7
 per_type_encoder_f NB_IoT_Paging_eDRXCycle_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NB-IoT-PagingDRX.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NB-IoT-PagingDRX.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f NGAP_NB_IoT_PagingDRX_free;
3
 asn_struct_print_f NGAP_NB_IoT_PagingDRX_print;
4
 asn_constr_check_f NGAP_NB_IoT_PagingDRX_constraint;
5
+jer_type_encoder_f NGAP_NB_IoT_PagingDRX_encode_jer;
6
 per_type_decoder_f NGAP_NB_IoT_PagingDRX_decode_aper;
7
 per_type_encoder_f NGAP_NB_IoT_PagingDRX_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NB-IoT-UEPriority.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NB-IoT-UEPriority.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_NB_IoT_UEPriority_free;
3
 asn_struct_print_f NGAP_NB_IoT_UEPriority_print;
4
 asn_constr_check_f NGAP_NB_IoT_UEPriority_constraint;
5
+jer_type_encoder_f NGAP_NB_IoT_UEPriority_encode_jer;
6
 per_type_decoder_f NGAP_NB_IoT_UEPriority_decode_aper;
7
 per_type_encoder_f NGAP_NB_IoT_UEPriority_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NGRANTraceID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NGRANTraceID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_NGRANTraceID_free;
3
 asn_struct_print_f NGAP_NGRANTraceID_print;
4
 asn_constr_check_f NGAP_NGRANTraceID_constraint;
5
+jer_type_encoder_f NGAP_NGRANTraceID_encode_jer;
6
 per_type_decoder_f NGAP_NGRANTraceID_decode_aper;
7
 per_type_encoder_f NGAP_NGRANTraceID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_NID_free;
3
 asn_struct_print_f NGAP_NID_print;
4
 asn_constr_check_f NGAP_NID_constraint;
5
+jer_type_encoder_f NGAP_NID_encode_jer;
6
 per_type_decoder_f NGAP_NID_decode_aper;
7
 per_type_encoder_f NGAP_NID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NR-PCI.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NR-PCI.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_NR_PCI_free;
3
 asn_struct_print_f NGAP_NR_PCI_print;
4
 asn_constr_check_f NGAP_NR_PCI_constraint;
5
+jer_type_encoder_f NGAP_NR_PCI_encode_jer;
6
 per_type_decoder_f NGAP_NR_PCI_decode_aper;
7
 per_type_encoder_f NGAP_NR_PCI_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NRARFCN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NRARFCN.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_NRARFCN_free;
3
 asn_struct_print_f NGAP_NRARFCN_print;
4
 asn_constr_check_f NGAP_NRARFCN_constraint;
5
+jer_type_encoder_f NGAP_NRARFCN_encode_jer;
6
 per_type_decoder_f NGAP_NRARFCN_decode_aper;
7
 per_type_encoder_f NGAP_NRARFCN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NRCellIdentity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NRCellIdentity.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_NRCellIdentity_free;
3
 asn_struct_print_f NGAP_NRCellIdentity_print;
4
 asn_constr_check_f NGAP_NRCellIdentity_constraint;
5
+jer_type_encoder_f NGAP_NRCellIdentity_encode_jer;
6
 per_type_decoder_f NGAP_NRCellIdentity_decode_aper;
7
 per_type_encoder_f NGAP_NRCellIdentity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NRFrequencyBand.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NRFrequencyBand.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_NRFrequencyBand_free;
3
 asn_struct_print_f NGAP_NRFrequencyBand_print;
4
 asn_constr_check_f NGAP_NRFrequencyBand_constraint;
5
+jer_type_encoder_f NGAP_NRFrequencyBand_encode_jer;
6
 per_type_decoder_f NGAP_NRFrequencyBand_decode_aper;
7
 per_type_encoder_f NGAP_NRFrequencyBand_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NRMobilityHistoryReport.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NRMobilityHistoryReport.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_NRMobilityHistoryReport_free;
3
 asn_struct_print_f NGAP_NRMobilityHistoryReport_print;
4
 asn_constr_check_f NGAP_NRMobilityHistoryReport_constraint;
5
+jer_type_encoder_f NGAP_NRMobilityHistoryReport_encode_jer;
6
 per_type_decoder_f NGAP_NRMobilityHistoryReport_decode_aper;
7
 per_type_encoder_f NGAP_NRMobilityHistoryReport_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NRPPa-PDU.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NRPPa-PDU.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_NRPPa_PDU_free;
3
 asn_struct_print_f NGAP_NRPPa_PDU_print;
4
 asn_constr_check_f NGAP_NRPPa_PDU_constraint;
5
+jer_type_encoder_f NGAP_NRPPa_PDU_encode_jer;
6
 per_type_decoder_f NGAP_NRPPa_PDU_decode_aper;
7
 per_type_encoder_f NGAP_NRPPa_PDU_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NRUERLFReportContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NRUERLFReportContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_NRUERLFReportContainer_free;
3
 asn_struct_print_f NGAP_NRUERLFReportContainer_print;
4
 asn_constr_check_f NGAP_NRUERLFReportContainer_constraint;
5
+jer_type_encoder_f NGAP_NRUERLFReportContainer_encode_jer;
6
 per_type_decoder_f NGAP_NRUERLFReportContainer_decode_aper;
7
 per_type_encoder_f NGAP_NRUERLFReportContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NRencryptionAlgorithms.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NRencryptionAlgorithms.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_NRencryptionAlgorithms_free;
3
 asn_struct_print_f NGAP_NRencryptionAlgorithms_print;
4
 asn_constr_check_f NGAP_NRencryptionAlgorithms_constraint;
5
+jer_type_encoder_f NGAP_NRencryptionAlgorithms_encode_jer;
6
 per_type_decoder_f NGAP_NRencryptionAlgorithms_decode_aper;
7
 per_type_encoder_f NGAP_NRencryptionAlgorithms_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NRintegrityProtectionAlgorithms.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NRintegrityProtectionAlgorithms.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_NRintegrityProtectionAlgorithms_free;
3
 asn_struct_print_f NGAP_NRintegrityProtectionAlgorithms_print;
4
 asn_constr_check_f NGAP_NRintegrityProtectionAlgorithms_constraint;
5
+jer_type_encoder_f NGAP_NRintegrityProtectionAlgorithms_encode_jer;
6
 per_type_decoder_f NGAP_NRintegrityProtectionAlgorithms_decode_aper;
7
 per_type_encoder_f NGAP_NRintegrityProtectionAlgorithms_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NetworkInstance.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NetworkInstance.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_NetworkInstance_free;
3
 asn_struct_print_f NGAP_NetworkInstance_print;
4
 asn_constr_check_f NGAP_NetworkInstance_constraint;
5
+jer_type_encoder_f NGAP_NetworkInstance_encode_jer;
6
 per_type_decoder_f NGAP_NetworkInstance_decode_aper;
7
 per_type_encoder_f NGAP_NetworkInstance_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NewSecurityContextInd.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NewSecurityContextInd.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_NewSecurityContextInd_free;
3
 asn_struct_print_f NGAP_NewSecurityContextInd_print;
4
 asn_constr_check_f NGAP_NewSecurityContextInd_constraint;
5
+jer_type_encoder_f NGAP_NewSecurityContextInd_encode_jer;
6
 per_type_decoder_f NGAP_NewSecurityContextInd_decode_aper;
7
 per_type_encoder_f NGAP_NewSecurityContextInd_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NextHopChainingCount.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NextHopChainingCount.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_NextHopChainingCount_free;
3
 asn_struct_print_f NGAP_NextHopChainingCount_print;
4
 asn_constr_check_f NGAP_NextHopChainingCount_constraint;
5
+jer_type_encoder_f NGAP_NextHopChainingCount_encode_jer;
6
 per_type_decoder_f NGAP_NextHopChainingCount_decode_aper;
7
 per_type_encoder_f NGAP_NextHopChainingCount_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NextPagingAreaScope.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NextPagingAreaScope.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f NextPagingAreaScope_free;
3
 asn_struct_print_f NextPagingAreaScope_print;
4
 asn_constr_check_f NextPagingAreaScope_constraint;
5
+jer_type_encoder_f NextPagingAreaScope_encode_jer;
6
 per_type_decoder_f NextPagingAreaScope_decode_aper;
7
 per_type_encoder_f NextPagingAreaScope_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NotificationCause.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NotificationCause.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f NotificationCause_free;
3
 asn_struct_print_f NotificationCause_print;
4
 asn_constr_check_f NotificationCause_constraint;
5
+jer_type_encoder_f NotificationCause_encode_jer;
6
 per_type_decoder_f NotificationCause_decode_aper;
7
 per_type_encoder_f NotificationCause_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NotificationControl.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NotificationControl.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f NotificationControl_free;
3
 asn_struct_print_f NotificationControl_print;
4
 asn_constr_check_f NotificationControl_constraint;
5
+jer_type_encoder_f NotificationControl_encode_jer;
6
 per_type_decoder_f NotificationControl_decode_aper;
7
 per_type_encoder_f NotificationControl_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NotifySourceNGRANNode.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NotifySourceNGRANNode.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_NotifySourceNGRANNode_free;
3
 asn_struct_print_f NGAP_NotifySourceNGRANNode_print;
4
 asn_constr_check_f NGAP_NotifySourceNGRANNode_constraint;
5
+jer_type_encoder_f NGAP_NotifySourceNGRANNode_encode_jer;
6
 per_type_decoder_f NGAP_NotifySourceNGRANNode_decode_aper;
7
 per_type_encoder_f NGAP_NotifySourceNGRANNode_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NumberOfBroadcasts.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NumberOfBroadcasts.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_NumberOfBroadcasts_free;
3
 asn_struct_print_f NGAP_NumberOfBroadcasts_print;
4
 asn_constr_check_f NGAP_NumberOfBroadcasts_constraint;
5
+jer_type_encoder_f NGAP_NumberOfBroadcasts_encode_jer;
6
 per_type_decoder_f NGAP_NumberOfBroadcasts_decode_aper;
7
 per_type_encoder_f NGAP_NumberOfBroadcasts_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_NumberOfBroadcastsRequested.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_NumberOfBroadcastsRequested.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_NumberOfBroadcastsRequested_free;
3
 asn_struct_print_f NGAP_NumberOfBroadcastsRequested_print;
4
 asn_constr_check_f NGAP_NumberOfBroadcastsRequested_constraint;
5
+jer_type_encoder_f NGAP_NumberOfBroadcastsRequested_encode_jer;
6
 per_type_decoder_f NGAP_NumberOfBroadcastsRequested_decode_aper;
7
 per_type_encoder_f NGAP_NumberOfBroadcastsRequested_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_OverloadAction.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_OverloadAction.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f OverloadAction_free;
3
 asn_struct_print_f OverloadAction_print;
4
 asn_constr_check_f OverloadAction_constraint;
5
+jer_type_encoder_f OverloadAction_encode_jer;
6
 per_type_decoder_f OverloadAction_decode_aper;
7
 per_type_encoder_f OverloadAction_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PDUSessionID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PDUSessionID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_PDUSessionID_free;
3
 asn_struct_print_f NGAP_PDUSessionID_print;
4
 asn_constr_check_f NGAP_PDUSessionID_constraint;
5
+jer_type_encoder_f NGAP_PDUSessionID_encode_jer;
6
 per_type_decoder_f NGAP_PDUSessionID_decode_aper;
7
 per_type_encoder_f NGAP_PDUSessionID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PDUSessionType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PDUSessionType.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f NGAP_PDUSessionType_free;
3
 asn_struct_print_f NGAP_PDUSessionType_print;
4
 asn_constr_check_f NGAP_PDUSessionType_constraint;
5
+jer_type_encoder_f NGAP_PDUSessionType_encode_jer;
6
 per_type_decoder_f NGAP_PDUSessionType_decode_aper;
7
 per_type_encoder_f NGAP_PDUSessionType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PLMNIdentity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PLMNIdentity.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_PLMNIdentity_free;
3
 asn_struct_print_f NGAP_PLMNIdentity_print;
4
 asn_constr_check_f NGAP_PLMNIdentity_constraint;
5
+jer_type_encoder_f NGAP_PLMNIdentity_encode_jer;
6
 per_type_decoder_f NGAP_PLMNIdentity_decode_aper;
7
 per_type_encoder_f NGAP_PLMNIdentity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PacketDelayBudget.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PacketDelayBudget.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_PacketDelayBudget_free;
3
 asn_struct_print_f NGAP_PacketDelayBudget_print;
4
 asn_constr_check_f NGAP_PacketDelayBudget_constraint;
5
+jer_type_encoder_f NGAP_PacketDelayBudget_encode_jer;
6
 per_type_decoder_f NGAP_PacketDelayBudget_decode_aper;
7
 per_type_encoder_f NGAP_PacketDelayBudget_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PacketLossRate.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PacketLossRate.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_PacketLossRate_free;
3
 asn_struct_print_f NGAP_PacketLossRate_print;
4
 asn_constr_check_f NGAP_PacketLossRate_constraint;
5
+jer_type_encoder_f NGAP_PacketLossRate_encode_jer;
6
 per_type_decoder_f NGAP_PacketLossRate_decode_aper;
7
 per_type_encoder_f NGAP_PacketLossRate_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Paging-Time-Window.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Paging-Time-Window.h Changed
9
 
1
@@ -51,6 +51,7 @@
2
 asn_struct_free_f Paging_Time_Window_free;
3
 asn_struct_print_f Paging_Time_Window_print;
4
 asn_constr_check_f Paging_Time_Window_constraint;
5
+jer_type_encoder_f Paging_Time_Window_encode_jer;
6
 per_type_decoder_f Paging_Time_Window_decode_aper;
7
 per_type_encoder_f Paging_Time_Window_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Paging-eDRX-Cycle.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Paging-eDRX-Cycle.h Changed
9
 
1
@@ -49,6 +49,7 @@
2
 asn_struct_free_f Paging_eDRX_Cycle_free;
3
 asn_struct_print_f Paging_eDRX_Cycle_print;
4
 asn_constr_check_f Paging_eDRX_Cycle_constraint;
5
+jer_type_encoder_f Paging_eDRX_Cycle_encode_jer;
6
 per_type_decoder_f Paging_eDRX_Cycle_decode_aper;
7
 per_type_encoder_f Paging_eDRX_Cycle_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PagingAttemptCount.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PagingAttemptCount.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_PagingAttemptCount_free;
3
 asn_struct_print_f NGAP_PagingAttemptCount_print;
4
 asn_constr_check_f NGAP_PagingAttemptCount_constraint;
5
+jer_type_encoder_f NGAP_PagingAttemptCount_encode_jer;
6
 per_type_decoder_f NGAP_PagingAttemptCount_decode_aper;
7
 per_type_encoder_f NGAP_PagingAttemptCount_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PagingDRX.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PagingDRX.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f PagingDRX_free;
3
 asn_struct_print_f PagingDRX_print;
4
 asn_constr_check_f PagingDRX_constraint;
5
+jer_type_encoder_f PagingDRX_encode_jer;
6
 per_type_decoder_f PagingDRX_decode_aper;
7
 per_type_encoder_f PagingDRX_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PagingOrigin.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PagingOrigin.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_PagingOrigin_free;
3
 asn_struct_print_f NGAP_PagingOrigin_print;
4
 asn_constr_check_f NGAP_PagingOrigin_constraint;
5
+jer_type_encoder_f NGAP_PagingOrigin_encode_jer;
6
 per_type_decoder_f NGAP_PagingOrigin_decode_aper;
7
 per_type_encoder_f NGAP_PagingOrigin_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PagingPriority.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PagingPriority.h Changed
9
 
1
@@ -41,6 +41,7 @@
2
 asn_struct_free_f NGAP_PagingPriority_free;
3
 asn_struct_print_f NGAP_PagingPriority_print;
4
 asn_constr_check_f NGAP_PagingPriority_constraint;
5
+jer_type_encoder_f NGAP_PagingPriority_encode_jer;
6
 per_type_decoder_f NGAP_PagingPriority_decode_aper;
7
 per_type_encoder_f NGAP_PagingPriority_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PagingProbabilityInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PagingProbabilityInformation.h Changed
9
 
1
@@ -56,6 +56,7 @@
2
 asn_struct_free_f PagingProbabilityInformation_free;
3
 asn_struct_print_f PagingProbabilityInformation_print;
4
 asn_constr_check_f PagingProbabilityInformation_constraint;
5
+jer_type_encoder_f PagingProbabilityInformation_encode_jer;
6
 per_type_decoder_f PagingProbabilityInformation_decode_aper;
7
 per_type_encoder_f PagingProbabilityInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PedestrianUE.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PedestrianUE.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f PedestrianUE_free;
3
 asn_struct_print_f PedestrianUE_print;
4
 asn_constr_check_f PedestrianUE_constraint;
5
+jer_type_encoder_f PedestrianUE_encode_jer;
6
 per_type_decoder_f PedestrianUE_decode_aper;
7
 per_type_encoder_f PedestrianUE_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PeriodicRegistrationUpdateTimer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PeriodicRegistrationUpdateTimer.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_PeriodicRegistrationUpdateTimer_free;
3
 asn_struct_print_f NGAP_PeriodicRegistrationUpdateTimer_print;
4
 asn_constr_check_f NGAP_PeriodicRegistrationUpdateTimer_constraint;
5
+jer_type_encoder_f NGAP_PeriodicRegistrationUpdateTimer_encode_jer;
6
 per_type_decoder_f NGAP_PeriodicRegistrationUpdateTimer_decode_aper;
7
 per_type_encoder_f NGAP_PeriodicRegistrationUpdateTimer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Periodicity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Periodicity.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_Periodicity_free;
3
 asn_struct_print_f NGAP_Periodicity_print;
4
 asn_constr_check_f NGAP_Periodicity_constraint;
5
+jer_type_encoder_f NGAP_Periodicity_encode_jer;
6
 per_type_decoder_f NGAP_Periodicity_decode_aper;
7
 per_type_encoder_f NGAP_Periodicity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PortNumber.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PortNumber.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_PortNumber_free;
3
 asn_struct_print_f NGAP_PortNumber_print;
4
 asn_constr_check_f NGAP_PortNumber_constraint;
5
+jer_type_encoder_f NGAP_PortNumber_encode_jer;
6
 per_type_decoder_f NGAP_PortNumber_decode_aper;
7
 per_type_encoder_f NGAP_PortNumber_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Pre-emptionCapability.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Pre-emptionCapability.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f Pre_emptionCapability_free;
3
 asn_struct_print_f Pre_emptionCapability_print;
4
 asn_constr_check_f Pre_emptionCapability_constraint;
5
+jer_type_encoder_f Pre_emptionCapability_encode_jer;
6
 per_type_decoder_f Pre_emptionCapability_decode_aper;
7
 per_type_encoder_f Pre_emptionCapability_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Pre-emptionVulnerability.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Pre-emptionVulnerability.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f Pre_emptionVulnerability_free;
3
 asn_struct_print_f Pre_emptionVulnerability_print;
4
 asn_constr_check_f Pre_emptionVulnerability_constraint;
5
+jer_type_encoder_f Pre_emptionVulnerability_encode_jer;
6
 per_type_decoder_f Pre_emptionVulnerability_decode_aper;
7
 per_type_encoder_f Pre_emptionVulnerability_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Presence.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Presence.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f Presence_free;
3
 asn_struct_print_f Presence_print;
4
 asn_constr_check_f Presence_constraint;
5
+jer_type_encoder_f Presence_encode_jer;
6
 per_type_decoder_f Presence_decode_aper;
7
 per_type_encoder_f Presence_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PriorityLevelARP.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PriorityLevelARP.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_PriorityLevelARP_free;
3
 asn_struct_print_f NGAP_PriorityLevelARP_print;
4
 asn_constr_check_f NGAP_PriorityLevelARP_constraint;
5
+jer_type_encoder_f NGAP_PriorityLevelARP_encode_jer;
6
 per_type_decoder_f NGAP_PriorityLevelARP_decode_aper;
7
 per_type_encoder_f NGAP_PriorityLevelARP_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PriorityLevelQos.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PriorityLevelQos.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_PriorityLevelQos_free;
3
 asn_struct_print_f NGAP_PriorityLevelQos_print;
4
 asn_constr_check_f NGAP_PriorityLevelQos_constraint;
5
+jer_type_encoder_f NGAP_PriorityLevelQos_encode_jer;
6
 per_type_decoder_f NGAP_PriorityLevelQos_decode_aper;
7
 per_type_encoder_f NGAP_PriorityLevelQos_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_PrivacyIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_PrivacyIndicator.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f NGAP_PrivacyIndicator_free;
3
 asn_struct_print_f NGAP_PrivacyIndicator_print;
4
 asn_constr_check_f NGAP_PrivacyIndicator_constraint;
5
+jer_type_encoder_f NGAP_PrivacyIndicator_encode_jer;
6
 per_type_decoder_f NGAP_PrivacyIndicator_decode_aper;
7
 per_type_encoder_f NGAP_PrivacyIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ProcedureCode.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ProcedureCode.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_ProcedureCode_free;
3
 asn_struct_print_f NGAP_ProcedureCode_print;
4
 asn_constr_check_f NGAP_ProcedureCode_constraint;
5
+jer_type_encoder_f NGAP_ProcedureCode_encode_jer;
6
 per_type_decoder_f NGAP_ProcedureCode_decode_aper;
7
 per_type_encoder_f NGAP_ProcedureCode_encode_aper;
8
 #define NGAP_ProcedureCode_id_AMFConfigurationUpdate   ((NGAP_ProcedureCode_t)0)
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ProtocolExtensionID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ProtocolExtensionID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_ProtocolExtensionID_free;
3
 asn_struct_print_f NGAP_ProtocolExtensionID_print;
4
 asn_constr_check_f NGAP_ProtocolExtensionID_constraint;
5
+jer_type_encoder_f NGAP_ProtocolExtensionID_encode_jer;
6
 per_type_decoder_f NGAP_ProtocolExtensionID_decode_aper;
7
 per_type_encoder_f NGAP_ProtocolExtensionID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ProtocolIE-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ProtocolIE-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_ProtocolIE_ID_free;
3
 asn_struct_print_f NGAP_ProtocolIE_ID_print;
4
 asn_constr_check_f NGAP_ProtocolIE_ID_constraint;
5
+jer_type_encoder_f NGAP_ProtocolIE_ID_encode_jer;
6
 per_type_decoder_f NGAP_ProtocolIE_ID_decode_aper;
7
 per_type_encoder_f NGAP_ProtocolIE_ID_encode_aper;
8
 #define NGAP_ProtocolIE_ID_id_AllowedNSSAI ((NGAP_ProtocolIE_ID_t)0)
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ProtocolIE-SingleContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ProtocolIE-SingleContainer.h Changed
201
 
1
@@ -77,312 +77,364 @@
2
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P0_free;
3
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P0_print;
4
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P0_constraint;
5
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P0_encode_jer;
6
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P0_decode_aper;
7
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P0_encode_aper;
8
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P1;
9
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P1_free;
10
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P1_print;
11
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P1_constraint;
12
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P1_encode_jer;
13
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P1_decode_aper;
14
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P1_encode_aper;
15
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P2;
16
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P2_free;
17
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P2_print;
18
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P2_constraint;
19
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P2_encode_jer;
20
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P2_decode_aper;
21
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P2_encode_aper;
22
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P3;
23
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P3_free;
24
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P3_print;
25
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P3_constraint;
26
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P3_encode_jer;
27
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P3_decode_aper;
28
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P3_encode_aper;
29
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P4;
30
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P4_free;
31
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P4_print;
32
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P4_constraint;
33
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P4_encode_jer;
34
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P4_decode_aper;
35
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P4_encode_aper;
36
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P5;
37
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P5_free;
38
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P5_print;
39
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P5_constraint;
40
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P5_encode_jer;
41
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P5_decode_aper;
42
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P5_encode_aper;
43
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P6;
44
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P6_free;
45
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P6_print;
46
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P6_constraint;
47
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P6_encode_jer;
48
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P6_decode_aper;
49
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P6_encode_aper;
50
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P7;
51
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P7_free;
52
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P7_print;
53
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P7_constraint;
54
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P7_encode_jer;
55
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P7_decode_aper;
56
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P7_encode_aper;
57
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P8;
58
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P8_free;
59
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P8_print;
60
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P8_constraint;
61
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P8_encode_jer;
62
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P8_decode_aper;
63
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P8_encode_aper;
64
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P9;
65
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P9_free;
66
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P9_print;
67
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P9_constraint;
68
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P9_encode_jer;
69
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P9_decode_aper;
70
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P9_encode_aper;
71
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P10;
72
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P10_free;
73
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P10_print;
74
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P10_constraint;
75
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P10_encode_jer;
76
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P10_decode_aper;
77
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P10_encode_aper;
78
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P11;
79
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P11_free;
80
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P11_print;
81
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P11_constraint;
82
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P11_encode_jer;
83
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P11_decode_aper;
84
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P11_encode_aper;
85
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P12;
86
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P12_free;
87
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P12_print;
88
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P12_constraint;
89
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P12_encode_jer;
90
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P12_decode_aper;
91
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P12_encode_aper;
92
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P13;
93
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P13_free;
94
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P13_print;
95
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P13_constraint;
96
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P13_encode_jer;
97
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P13_decode_aper;
98
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P13_encode_aper;
99
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P14;
100
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P14_free;
101
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P14_print;
102
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P14_constraint;
103
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P14_encode_jer;
104
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P14_decode_aper;
105
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P14_encode_aper;
106
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P15;
107
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P15_free;
108
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P15_print;
109
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P15_constraint;
110
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P15_encode_jer;
111
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P15_decode_aper;
112
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P15_encode_aper;
113
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P16;
114
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P16_free;
115
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P16_print;
116
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P16_constraint;
117
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P16_encode_jer;
118
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P16_decode_aper;
119
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P16_encode_aper;
120
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P17;
121
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P17_free;
122
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P17_print;
123
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P17_constraint;
124
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P17_encode_jer;
125
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P17_decode_aper;
126
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P17_encode_aper;
127
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P18;
128
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P18_free;
129
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P18_print;
130
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P18_constraint;
131
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P18_encode_jer;
132
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P18_decode_aper;
133
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P18_encode_aper;
134
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P19;
135
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P19_free;
136
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P19_print;
137
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P19_constraint;
138
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P19_encode_jer;
139
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P19_decode_aper;
140
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P19_encode_aper;
141
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P20;
142
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P20_free;
143
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P20_print;
144
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P20_constraint;
145
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P20_encode_jer;
146
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P20_decode_aper;
147
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P20_encode_aper;
148
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P21;
149
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P21_free;
150
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P21_print;
151
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P21_constraint;
152
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P21_encode_jer;
153
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P21_decode_aper;
154
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P21_encode_aper;
155
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P22;
156
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P22_free;
157
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P22_print;
158
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P22_constraint;
159
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P22_encode_jer;
160
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P22_decode_aper;
161
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P22_encode_aper;
162
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P23;
163
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P23_free;
164
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P23_print;
165
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P23_constraint;
166
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P23_encode_jer;
167
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P23_decode_aper;
168
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P23_encode_aper;
169
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P24;
170
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P24_free;
171
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P24_print;
172
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P24_constraint;
173
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P24_encode_jer;
174
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P24_decode_aper;
175
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P24_encode_aper;
176
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P25;
177
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P25_free;
178
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P25_print;
179
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P25_constraint;
180
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P25_encode_jer;
181
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P25_decode_aper;
182
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P25_encode_aper;
183
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P26;
184
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P26_free;
185
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P26_print;
186
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P26_constraint;
187
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P26_encode_jer;
188
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P26_decode_aper;
189
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P26_encode_aper;
190
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P27;
191
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P27_free;
192
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P27_print;
193
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P27_constraint;
194
+jer_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P27_encode_jer;
195
 per_type_decoder_f NGAP_ProtocolIE_SingleContainer_9577P27_decode_aper;
196
 per_type_encoder_f NGAP_ProtocolIE_SingleContainer_9577P27_encode_aper;
197
 extern asn_TYPE_descriptor_t asn_DEF_NGAP_ProtocolIE_SingleContainer_9577P28;
198
 asn_struct_free_f NGAP_ProtocolIE_SingleContainer_9577P28_free;
199
 asn_struct_print_f NGAP_ProtocolIE_SingleContainer_9577P28_print;
200
 asn_constr_check_f NGAP_ProtocolIE_SingleContainer_9577P28_constraint;
201
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_QosFlowIdentifier.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_QosFlowIdentifier.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_QosFlowIdentifier_free;
3
 asn_struct_print_f NGAP_QosFlowIdentifier_print;
4
 asn_constr_check_f NGAP_QosFlowIdentifier_constraint;
5
+jer_type_encoder_f NGAP_QosFlowIdentifier_encode_jer;
6
 per_type_decoder_f NGAP_QosFlowIdentifier_decode_aper;
7
 per_type_encoder_f NGAP_QosFlowIdentifier_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_QosMonitoringReportingFrequency.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_QosMonitoringReportingFrequency.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_QosMonitoringReportingFrequency_free;
3
 asn_struct_print_f NGAP_QosMonitoringReportingFrequency_print;
4
 asn_constr_check_f NGAP_QosMonitoringReportingFrequency_constraint;
5
+jer_type_encoder_f NGAP_QosMonitoringReportingFrequency_encode_jer;
6
 per_type_decoder_f NGAP_QosMonitoringReportingFrequency_decode_aper;
7
 per_type_encoder_f NGAP_QosMonitoringReportingFrequency_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_QosMonitoringRequest.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_QosMonitoringRequest.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f NGAP_QosMonitoringRequest_free;
3
 asn_struct_print_f NGAP_QosMonitoringRequest_print;
4
 asn_constr_check_f NGAP_QosMonitoringRequest_constraint;
5
+jer_type_encoder_f NGAP_QosMonitoringRequest_encode_jer;
6
 per_type_decoder_f NGAP_QosMonitoringRequest_decode_aper;
7
 per_type_encoder_f NGAP_QosMonitoringRequest_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RAN-UE-NGAP-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RAN-UE-NGAP-ID.h Changed
9
 
1
@@ -28,6 +28,7 @@
2
 asn_struct_free_f RAN_UE_NGAP_ID_free;
3
 asn_struct_print_f RAN_UE_NGAP_ID_print;
4
 asn_constr_check_f RAN_UE_NGAP_ID_constraint;
5
+jer_type_encoder_f RAN_UE_NGAP_ID_encode_jer;
6
 per_type_decoder_f RAN_UE_NGAP_ID_decode_aper;
7
 per_type_encoder_f RAN_UE_NGAP_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RANNodeName.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RANNodeName.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_RANNodeName_free;
3
 asn_struct_print_f NGAP_RANNodeName_print;
4
 asn_constr_check_f NGAP_RANNodeName_constraint;
5
+jer_type_encoder_f NGAP_RANNodeName_encode_jer;
6
 per_type_decoder_f NGAP_RANNodeName_decode_aper;
7
 per_type_encoder_f NGAP_RANNodeName_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RANNodeNameUTF8String.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RANNodeNameUTF8String.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_RANNodeNameUTF8String_free;
3
 asn_struct_print_f NGAP_RANNodeNameUTF8String_print;
4
 asn_constr_check_f NGAP_RANNodeNameUTF8String_constraint;
5
+jer_type_encoder_f NGAP_RANNodeNameUTF8String_encode_jer;
6
 per_type_decoder_f NGAP_RANNodeNameUTF8String_decode_aper;
7
 per_type_encoder_f NGAP_RANNodeNameUTF8String_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RANNodeNameVisibleString.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RANNodeNameVisibleString.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_RANNodeNameVisibleString_free;
3
 asn_struct_print_f NGAP_RANNodeNameVisibleString_print;
4
 asn_constr_check_f NGAP_RANNodeNameVisibleString_constraint;
5
+jer_type_encoder_f NGAP_RANNodeNameVisibleString_encode_jer;
6
 per_type_decoder_f NGAP_RANNodeNameVisibleString_decode_aper;
7
 per_type_encoder_f NGAP_RANNodeNameVisibleString_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RANPagingPriority.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RANPagingPriority.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_RANPagingPriority_free;
3
 asn_struct_print_f NGAP_RANPagingPriority_print;
4
 asn_constr_check_f NGAP_RANPagingPriority_constraint;
5
+jer_type_encoder_f NGAP_RANPagingPriority_encode_jer;
6
 per_type_decoder_f NGAP_RANPagingPriority_decode_aper;
7
 per_type_encoder_f NGAP_RANPagingPriority_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RAT-Information.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RAT-Information.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f NGAP_RAT_Information_free;
3
 asn_struct_print_f NGAP_RAT_Information_print;
4
 asn_constr_check_f NGAP_RAT_Information_constraint;
5
+jer_type_encoder_f NGAP_RAT_Information_encode_jer;
6
 per_type_decoder_f NGAP_RAT_Information_decode_aper;
7
 per_type_encoder_f NGAP_RAT_Information_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RATRestrictionInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RATRestrictionInformation.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_RATRestrictionInformation_free;
3
 asn_struct_print_f NGAP_RATRestrictionInformation_print;
4
 asn_constr_check_f NGAP_RATRestrictionInformation_constraint;
5
+jer_type_encoder_f NGAP_RATRestrictionInformation_encode_jer;
6
 per_type_decoder_f NGAP_RATRestrictionInformation_decode_aper;
7
 per_type_encoder_f NGAP_RATRestrictionInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RGLevelWirelineAccessCharacteristics.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RGLevelWirelineAccessCharacteristics.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_RGLevelWirelineAccessCharacteristics_free;
3
 asn_struct_print_f NGAP_RGLevelWirelineAccessCharacteristics_print;
4
 asn_constr_check_f NGAP_RGLevelWirelineAccessCharacteristics_constraint;
5
+jer_type_encoder_f NGAP_RGLevelWirelineAccessCharacteristics_encode_jer;
6
 per_type_decoder_f NGAP_RGLevelWirelineAccessCharacteristics_decode_aper;
7
 per_type_encoder_f NGAP_RGLevelWirelineAccessCharacteristics_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RNC-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RNC-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_RNC_ID_free;
3
 asn_struct_print_f NGAP_RNC_ID_print;
4
 asn_constr_check_f NGAP_RNC_ID_constraint;
5
+jer_type_encoder_f NGAP_RNC_ID_encode_jer;
6
 per_type_decoder_f NGAP_RNC_ID_decode_aper;
7
 per_type_encoder_f NGAP_RNC_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RRCContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RRCContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_RRCContainer_free;
3
 asn_struct_print_f NGAP_RRCContainer_print;
4
 asn_constr_check_f NGAP_RRCContainer_constraint;
5
+jer_type_encoder_f NGAP_RRCContainer_encode_jer;
6
 per_type_decoder_f NGAP_RRCContainer_decode_aper;
7
 per_type_encoder_f NGAP_RRCContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RRCEstablishmentCause.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RRCEstablishmentCause.h Changed
9
 
1
@@ -45,6 +45,7 @@
2
 asn_struct_free_f NGAP_RRCEstablishmentCause_free;
3
 asn_struct_print_f NGAP_RRCEstablishmentCause_print;
4
 asn_constr_check_f NGAP_RRCEstablishmentCause_constraint;
5
+jer_type_encoder_f NGAP_RRCEstablishmentCause_encode_jer;
6
 per_type_decoder_f NGAP_RRCEstablishmentCause_decode_aper;
7
 per_type_encoder_f NGAP_RRCEstablishmentCause_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RRCInactiveTransitionReportRequest.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RRCInactiveTransitionReportRequest.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f NGAP_RRCInactiveTransitionReportRequest_free;
3
 asn_struct_print_f NGAP_RRCInactiveTransitionReportRequest_print;
4
 asn_constr_check_f NGAP_RRCInactiveTransitionReportRequest_constraint;
5
+jer_type_encoder_f NGAP_RRCInactiveTransitionReportRequest_encode_jer;
6
 per_type_decoder_f NGAP_RRCInactiveTransitionReportRequest_decode_aper;
7
 per_type_encoder_f NGAP_RRCInactiveTransitionReportRequest_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RRCState.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RRCState.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f NGAP_RRCState_free;
3
 asn_struct_print_f NGAP_RRCState_print;
4
 asn_constr_check_f NGAP_RRCState_constraint;
5
+jer_type_encoder_f NGAP_RRCState_encode_jer;
6
 per_type_decoder_f NGAP_RRCState_decode_aper;
7
 per_type_encoder_f NGAP_RRCState_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RSN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RSN.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f RSN_free;
3
 asn_struct_print_f RSN_print;
4
 asn_constr_check_f RSN_constraint;
5
+jer_type_encoder_f RSN_encode_jer;
6
 per_type_decoder_f RSN_decode_aper;
7
 per_type_encoder_f RSN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Range.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Range.h Changed
9
 
1
@@ -44,6 +44,7 @@
2
 asn_struct_free_f Range_free;
3
 asn_struct_print_f Range_print;
4
 asn_constr_check_f Range_constraint;
5
+jer_type_encoder_f Range_encode_jer;
6
 per_type_decoder_f Range_decode_aper;
7
 per_type_encoder_f Range_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RedirectionVoiceFallback.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RedirectionVoiceFallback.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f NGAP_RedirectionVoiceFallback_free;
3
 asn_struct_print_f NGAP_RedirectionVoiceFallback_print;
4
 asn_constr_check_f NGAP_RedirectionVoiceFallback_constraint;
5
+jer_type_encoder_f NGAP_RedirectionVoiceFallback_encode_jer;
6
 per_type_decoder_f NGAP_RedirectionVoiceFallback_decode_aper;
7
 per_type_encoder_f NGAP_RedirectionVoiceFallback_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RedundantQosFlowIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RedundantQosFlowIndicator.h Changed
9
 
1
@@ -32,6 +32,7 @@
2
 asn_struct_free_f NGAP_RedundantQosFlowIndicator_free;
3
 asn_struct_print_f NGAP_RedundantQosFlowIndicator_print;
4
 asn_constr_check_f NGAP_RedundantQosFlowIndicator_constraint;
5
+jer_type_encoder_f NGAP_RedundantQosFlowIndicator_encode_jer;
6
 per_type_decoder_f NGAP_RedundantQosFlowIndicator_decode_aper;
7
 per_type_encoder_f NGAP_RedundantQosFlowIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ReflectiveQosAttribute.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ReflectiveQosAttribute.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f ReflectiveQosAttribute_free;
3
 asn_struct_print_f ReflectiveQosAttribute_print;
4
 asn_constr_check_f ReflectiveQosAttribute_constraint;
5
+jer_type_encoder_f ReflectiveQosAttribute_encode_jer;
6
 per_type_decoder_f ReflectiveQosAttribute_decode_aper;
7
 per_type_encoder_f ReflectiveQosAttribute_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RejectedNSSAIinPLMN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RejectedNSSAIinPLMN.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_RejectedNSSAIinPLMN_free;
3
 asn_struct_print_f NGAP_RejectedNSSAIinPLMN_print;
4
 asn_constr_check_f NGAP_RejectedNSSAIinPLMN_constraint;
5
+jer_type_encoder_f NGAP_RejectedNSSAIinPLMN_encode_jer;
6
 per_type_decoder_f NGAP_RejectedNSSAIinPLMN_decode_aper;
7
 per_type_encoder_f NGAP_RejectedNSSAIinPLMN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RejectedNSSAIinTA.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RejectedNSSAIinTA.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_RejectedNSSAIinTA_free;
3
 asn_struct_print_f NGAP_RejectedNSSAIinTA_print;
4
 asn_constr_check_f NGAP_RejectedNSSAIinTA_constraint;
5
+jer_type_encoder_f NGAP_RejectedNSSAIinTA_encode_jer;
6
 per_type_decoder_f NGAP_RejectedNSSAIinTA_decode_aper;
7
 per_type_encoder_f NGAP_RejectedNSSAIinTA_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RelativeAMFCapacity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RelativeAMFCapacity.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_RelativeAMFCapacity_free;
3
 asn_struct_print_f NGAP_RelativeAMFCapacity_print;
4
 asn_constr_check_f NGAP_RelativeAMFCapacity_constraint;
5
+jer_type_encoder_f NGAP_RelativeAMFCapacity_encode_jer;
6
 per_type_decoder_f NGAP_RelativeAMFCapacity_decode_aper;
7
 per_type_encoder_f NGAP_RelativeAMFCapacity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RepetitionPeriod.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RepetitionPeriod.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_RepetitionPeriod_free;
3
 asn_struct_print_f NGAP_RepetitionPeriod_print;
4
 asn_constr_check_f NGAP_RepetitionPeriod_constraint;
5
+jer_type_encoder_f NGAP_RepetitionPeriod_encode_jer;
6
 per_type_decoder_f NGAP_RepetitionPeriod_decode_aper;
7
 per_type_encoder_f NGAP_RepetitionPeriod_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ReportAmountMDT.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ReportAmountMDT.h Changed
9
 
1
@@ -40,6 +40,7 @@
2
 asn_struct_free_f ReportAmountMDT_free;
3
 asn_struct_print_f ReportAmountMDT_print;
4
 asn_constr_check_f ReportAmountMDT_constraint;
5
+jer_type_encoder_f ReportAmountMDT_encode_jer;
6
 per_type_decoder_f ReportAmountMDT_decode_aper;
7
 per_type_encoder_f ReportAmountMDT_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ReportArea.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ReportArea.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f ReportArea_free;
3
 asn_struct_print_f ReportArea_print;
4
 asn_constr_check_f ReportArea_constraint;
5
+jer_type_encoder_f ReportArea_encode_jer;
6
 per_type_decoder_f ReportArea_decode_aper;
7
 per_type_encoder_f ReportArea_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ReportIntervalMDT.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ReportIntervalMDT.h Changed
9
 
1
@@ -45,6 +45,7 @@
2
 asn_struct_free_f ReportIntervalMDT_free;
3
 asn_struct_print_f ReportIntervalMDT_print;
4
 asn_constr_check_f ReportIntervalMDT_constraint;
5
+jer_type_encoder_f ReportIntervalMDT_encode_jer;
6
 per_type_decoder_f ReportIntervalMDT_decode_aper;
7
 per_type_encoder_f ReportIntervalMDT_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ResetAll.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ResetAll.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f ResetAll_free;
3
 asn_struct_print_f ResetAll_print;
4
 asn_constr_check_f ResetAll_constraint;
5
+jer_type_encoder_f ResetAll_encode_jer;
6
 per_type_decoder_f ResetAll_decode_aper;
7
 per_type_encoder_f ResetAll_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_RoutingID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_RoutingID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_RoutingID_free;
3
 asn_struct_print_f NGAP_RoutingID_print;
4
 asn_constr_check_f NGAP_RoutingID_constraint;
5
+jer_type_encoder_f NGAP_RoutingID_encode_jer;
6
 per_type_decoder_f NGAP_RoutingID_decode_aper;
7
 per_type_encoder_f NGAP_RoutingID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SD.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SD.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_SD_free;
3
 asn_struct_print_f NGAP_SD_print;
4
 asn_constr_check_f NGAP_SD_constraint;
5
+jer_type_encoder_f NGAP_SD_encode_jer;
6
 per_type_decoder_f NGAP_SD_decode_aper;
7
 per_type_encoder_f NGAP_SD_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SONInformationRequest.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SONInformationRequest.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f SONInformationRequest_free;
3
 asn_struct_print_f SONInformationRequest_print;
4
 asn_constr_check_f SONInformationRequest_constraint;
5
+jer_type_encoder_f SONInformationRequest_encode_jer;
6
 per_type_decoder_f SONInformationRequest_decode_aper;
7
 per_type_encoder_f SONInformationRequest_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SRVCCOperationPossible.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SRVCCOperationPossible.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f NGAP_SRVCCOperationPossible_free;
3
 asn_struct_print_f NGAP_SRVCCOperationPossible_print;
4
 asn_constr_check_f NGAP_SRVCCOperationPossible_constraint;
5
+jer_type_encoder_f NGAP_SRVCCOperationPossible_encode_jer;
6
 per_type_decoder_f NGAP_SRVCCOperationPossible_decode_aper;
7
 per_type_encoder_f NGAP_SRVCCOperationPossible_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SST.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SST.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_SST_free;
3
 asn_struct_print_f NGAP_SST_print;
4
 asn_constr_check_f NGAP_SST_constraint;
5
+jer_type_encoder_f NGAP_SST_encode_jer;
6
 per_type_decoder_f NGAP_SST_decode_aper;
7
 per_type_encoder_f NGAP_SST_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SecurityKey.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SecurityKey.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_SecurityKey_free;
3
 asn_struct_print_f NGAP_SecurityKey_print;
4
 asn_constr_check_f NGAP_SecurityKey_constraint;
5
+jer_type_encoder_f NGAP_SecurityKey_encode_jer;
6
 per_type_decoder_f NGAP_SecurityKey_decode_aper;
7
 per_type_encoder_f NGAP_SecurityKey_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SensorMeasConfig.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SensorMeasConfig.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f SensorMeasConfig_free;
3
 asn_struct_print_f SensorMeasConfig_print;
4
 asn_constr_check_f SensorMeasConfig_constraint;
5
+jer_type_encoder_f SensorMeasConfig_encode_jer;
6
 per_type_decoder_f SensorMeasConfig_decode_aper;
7
 per_type_encoder_f SensorMeasConfig_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SerialNumber.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SerialNumber.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_SerialNumber_free;
3
 asn_struct_print_f NGAP_SerialNumber_print;
4
 asn_constr_check_f NGAP_SerialNumber_constraint;
5
+jer_type_encoder_f NGAP_SerialNumber_encode_jer;
6
 per_type_decoder_f NGAP_SerialNumber_decode_aper;
7
 per_type_encoder_f NGAP_SerialNumber_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SgNB-UE-X2AP-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SgNB-UE-X2AP-ID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_SgNB_UE_X2AP_ID_free;
3
 asn_struct_print_f NGAP_SgNB_UE_X2AP_ID_print;
4
 asn_constr_check_f NGAP_SgNB_UE_X2AP_ID_constraint;
5
+jer_type_encoder_f NGAP_SgNB_UE_X2AP_ID_encode_jer;
6
 per_type_decoder_f NGAP_SgNB_UE_X2AP_ID_decode_aper;
7
 per_type_encoder_f NGAP_SgNB_UE_X2AP_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SourceOfUEActivityBehaviourInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SourceOfUEActivityBehaviourInformation.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f SourceOfUEActivityBehaviourInformation_free;
3
 asn_struct_print_f SourceOfUEActivityBehaviourInformation_print;
4
 asn_constr_check_f SourceOfUEActivityBehaviourInformation_constraint;
5
+jer_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_jer;
6
 per_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_aper;
7
 per_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SourceToTarget-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SourceToTarget-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_SourceToTarget_TransparentContainer_free;
3
 asn_struct_print_f NGAP_SourceToTarget_TransparentContainer_print;
4
 asn_constr_check_f NGAP_SourceToTarget_TransparentContainer_constraint;
5
+jer_type_encoder_f NGAP_SourceToTarget_TransparentContainer_encode_jer;
6
 per_type_decoder_f NGAP_SourceToTarget_TransparentContainer_decode_aper;
7
 per_type_encoder_f NGAP_SourceToTarget_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Suspend-Request-Indication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Suspend-Request-Indication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_Suspend_Request_Indication_free;
3
 asn_struct_print_f NGAP_Suspend_Request_Indication_print;
4
 asn_constr_check_f NGAP_Suspend_Request_Indication_constraint;
5
+jer_type_encoder_f NGAP_Suspend_Request_Indication_encode_jer;
6
 per_type_decoder_f NGAP_Suspend_Request_Indication_decode_aper;
7
 per_type_encoder_f NGAP_Suspend_Request_Indication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Suspend-Response-Indication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Suspend-Response-Indication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_Suspend_Response_Indication_free;
3
 asn_struct_print_f NGAP_Suspend_Response_Indication_print;
4
 asn_constr_check_f NGAP_Suspend_Response_Indication_constraint;
5
+jer_type_encoder_f NGAP_Suspend_Response_Indication_encode_jer;
6
 per_type_decoder_f NGAP_Suspend_Response_Indication_decode_aper;
7
 per_type_encoder_f NGAP_Suspend_Response_Indication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_SuspendIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_SuspendIndicator.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f SuspendIndicator_free;
3
 asn_struct_print_f SuspendIndicator_print;
4
 asn_constr_check_f SuspendIndicator_constraint;
5
+jer_type_encoder_f SuspendIndicator_encode_jer;
6
 per_type_decoder_f SuspendIndicator_decode_aper;
7
 per_type_encoder_f SuspendIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_TAC_free;
3
 asn_struct_print_f NGAP_TAC_print;
4
 asn_constr_check_f NGAP_TAC_constraint;
5
+jer_type_encoder_f NGAP_TAC_encode_jer;
6
 per_type_decoder_f NGAP_TAC_decode_aper;
7
 per_type_encoder_f NGAP_TAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TNAP-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TNAP-ID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_TNAP_ID_free;
3
 asn_struct_print_f NGAP_TNAP_ID_print;
4
 asn_constr_check_f NGAP_TNAP_ID_constraint;
5
+jer_type_encoder_f NGAP_TNAP_ID_encode_jer;
6
 per_type_decoder_f NGAP_TNAP_ID_decode_aper;
7
 per_type_encoder_f NGAP_TNAP_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TNLAddressWeightFactor.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TNLAddressWeightFactor.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_TNLAddressWeightFactor_free;
3
 asn_struct_print_f NGAP_TNLAddressWeightFactor_print;
4
 asn_constr_check_f NGAP_TNLAddressWeightFactor_constraint;
5
+jer_type_encoder_f NGAP_TNLAddressWeightFactor_encode_jer;
6
 per_type_decoder_f NGAP_TNLAddressWeightFactor_decode_aper;
7
 per_type_encoder_f NGAP_TNLAddressWeightFactor_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TNLAssociationUsage.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TNLAssociationUsage.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f TNLAssociationUsage_free;
3
 asn_struct_print_f TNLAssociationUsage_print;
4
 asn_constr_check_f TNLAssociationUsage_constraint;
5
+jer_type_encoder_f TNLAssociationUsage_encode_jer;
6
 per_type_decoder_f TNLAssociationUsage_decode_aper;
7
 per_type_encoder_f TNLAssociationUsage_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TWAP-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TWAP-ID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_TWAP_ID_free;
3
 asn_struct_print_f NGAP_TWAP_ID_print;
4
 asn_constr_check_f NGAP_TWAP_ID_constraint;
5
+jer_type_encoder_f NGAP_TWAP_ID_encode_jer;
6
 per_type_decoder_f NGAP_TWAP_ID_decode_aper;
7
 per_type_encoder_f NGAP_TWAP_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TargetToSource-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TargetToSource-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_TargetToSource_TransparentContainer_free;
3
 asn_struct_print_f NGAP_TargetToSource_TransparentContainer_print;
4
 asn_constr_check_f NGAP_TargetToSource_TransparentContainer_constraint;
5
+jer_type_encoder_f NGAP_TargetToSource_TransparentContainer_encode_jer;
6
 per_type_decoder_f NGAP_TargetToSource_TransparentContainer_decode_aper;
7
 per_type_encoder_f NGAP_TargetToSource_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TargettoSource-Failure-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TargettoSource-Failure-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_TargettoSource_Failure_TransparentContainer_free;
3
 asn_struct_print_f NGAP_TargettoSource_Failure_TransparentContainer_print;
4
 asn_constr_check_f NGAP_TargettoSource_Failure_TransparentContainer_constraint;
5
+jer_type_encoder_f NGAP_TargettoSource_Failure_TransparentContainer_encode_jer;
6
 per_type_decoder_f NGAP_TargettoSource_Failure_TransparentContainer_decode_aper;
7
 per_type_encoder_f NGAP_TargettoSource_Failure_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Threshold-RSRP.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Threshold-RSRP.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_Threshold_RSRP_free;
3
 asn_struct_print_f NGAP_Threshold_RSRP_print;
4
 asn_constr_check_f NGAP_Threshold_RSRP_constraint;
5
+jer_type_encoder_f NGAP_Threshold_RSRP_encode_jer;
6
 per_type_decoder_f NGAP_Threshold_RSRP_decode_aper;
7
 per_type_encoder_f NGAP_Threshold_RSRP_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Threshold-RSRQ.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Threshold-RSRQ.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_Threshold_RSRQ_free;
3
 asn_struct_print_f NGAP_Threshold_RSRQ_print;
4
 asn_constr_check_f NGAP_Threshold_RSRQ_constraint;
5
+jer_type_encoder_f NGAP_Threshold_RSRQ_encode_jer;
6
 per_type_decoder_f NGAP_Threshold_RSRQ_decode_aper;
7
 per_type_encoder_f NGAP_Threshold_RSRQ_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_Threshold-SINR.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_Threshold-SINR.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_Threshold_SINR_free;
3
 asn_struct_print_f NGAP_Threshold_SINR_print;
4
 asn_constr_check_f NGAP_Threshold_SINR_constraint;
5
+jer_type_encoder_f NGAP_Threshold_SINR_encode_jer;
6
 per_type_decoder_f NGAP_Threshold_SINR_decode_aper;
7
 per_type_encoder_f NGAP_Threshold_SINR_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TimeStamp.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TimeStamp.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_TimeStamp_free;
3
 asn_struct_print_f NGAP_TimeStamp_print;
4
 asn_constr_check_f NGAP_TimeStamp_constraint;
5
+jer_type_encoder_f NGAP_TimeStamp_encode_jer;
6
 per_type_decoder_f NGAP_TimeStamp_decode_aper;
7
 per_type_encoder_f NGAP_TimeStamp_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TimeToTrigger.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TimeToTrigger.h Changed
9
 
1
@@ -48,6 +48,7 @@
2
 asn_struct_free_f TimeToTrigger_free;
3
 asn_struct_print_f TimeToTrigger_print;
4
 asn_constr_check_f TimeToTrigger_constraint;
5
+jer_type_encoder_f TimeToTrigger_encode_jer;
6
 per_type_decoder_f TimeToTrigger_decode_aper;
7
 per_type_encoder_f TimeToTrigger_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TimeToWait.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TimeToWait.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f NGAP_TimeToWait_free;
3
 asn_struct_print_f NGAP_TimeToWait_print;
4
 asn_constr_check_f NGAP_TimeToWait_constraint;
5
+jer_type_encoder_f NGAP_TimeToWait_encode_jer;
6
 per_type_decoder_f NGAP_TimeToWait_decode_aper;
7
 per_type_encoder_f NGAP_TimeToWait_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TimeUEStayedInCell.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TimeUEStayedInCell.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_TimeUEStayedInCell_free;
3
 asn_struct_print_f NGAP_TimeUEStayedInCell_print;
4
 asn_constr_check_f NGAP_TimeUEStayedInCell_constraint;
5
+jer_type_encoder_f NGAP_TimeUEStayedInCell_encode_jer;
6
 per_type_decoder_f NGAP_TimeUEStayedInCell_decode_aper;
7
 per_type_encoder_f NGAP_TimeUEStayedInCell_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TimeUEStayedInCellEnhancedGranularity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TimeUEStayedInCellEnhancedGranularity.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_TimeUEStayedInCellEnhancedGranularity_free;
3
 asn_struct_print_f NGAP_TimeUEStayedInCellEnhancedGranularity_print;
4
 asn_constr_check_f NGAP_TimeUEStayedInCellEnhancedGranularity_constraint;
5
+jer_type_encoder_f NGAP_TimeUEStayedInCellEnhancedGranularity_encode_jer;
6
 per_type_decoder_f NGAP_TimeUEStayedInCellEnhancedGranularity_decode_aper;
7
 per_type_encoder_f NGAP_TimeUEStayedInCellEnhancedGranularity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TimerApproachForGUAMIRemoval.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TimerApproachForGUAMIRemoval.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f TimerApproachForGUAMIRemoval_free;
3
 asn_struct_print_f TimerApproachForGUAMIRemoval_print;
4
 asn_constr_check_f TimerApproachForGUAMIRemoval_constraint;
5
+jer_type_encoder_f TimerApproachForGUAMIRemoval_encode_jer;
6
 per_type_decoder_f TimerApproachForGUAMIRemoval_decode_aper;
7
 per_type_encoder_f TimerApproachForGUAMIRemoval_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TraceDepth.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TraceDepth.h Changed
9
 
1
@@ -41,6 +41,7 @@
2
 asn_struct_free_f TraceDepth_free;
3
 asn_struct_print_f TraceDepth_print;
4
 asn_constr_check_f TraceDepth_constraint;
5
+jer_type_encoder_f TraceDepth_encode_jer;
6
 per_type_decoder_f TraceDepth_decode_aper;
7
 per_type_encoder_f TraceDepth_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TrafficLoadReductionIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TrafficLoadReductionIndication.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_TrafficLoadReductionIndication_free;
3
 asn_struct_print_f NGAP_TrafficLoadReductionIndication_print;
4
 asn_constr_check_f NGAP_TrafficLoadReductionIndication_constraint;
5
+jer_type_encoder_f NGAP_TrafficLoadReductionIndication_encode_jer;
6
 per_type_decoder_f NGAP_TrafficLoadReductionIndication_decode_aper;
7
 per_type_encoder_f NGAP_TrafficLoadReductionIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TransportLayerAddress.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TransportLayerAddress.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_TransportLayerAddress_free;
3
 asn_struct_print_f NGAP_TransportLayerAddress_print;
4
 asn_constr_check_f NGAP_TransportLayerAddress_constraint;
5
+jer_type_encoder_f NGAP_TransportLayerAddress_encode_jer;
6
 per_type_decoder_f NGAP_TransportLayerAddress_decode_aper;
7
 per_type_encoder_f NGAP_TransportLayerAddress_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TriggeringMessage.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TriggeringMessage.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f TriggeringMessage_free;
3
 asn_struct_print_f TriggeringMessage_print;
4
 asn_constr_check_f TriggeringMessage_constraint;
5
+jer_type_encoder_f TriggeringMessage_encode_jer;
6
 per_type_decoder_f TriggeringMessage_decode_aper;
7
 per_type_encoder_f TriggeringMessage_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_TypeOfError.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_TypeOfError.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f TypeOfError_free;
3
 asn_struct_print_f TypeOfError_print;
4
 asn_constr_check_f TypeOfError_constraint;
5
+jer_type_encoder_f TypeOfError_encode_jer;
6
 per_type_decoder_f TypeOfError_decode_aper;
7
 per_type_encoder_f TypeOfError_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UE-UP-CIoT-Support.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UE-UP-CIoT-Support.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_UE_UP_CIoT_Support_free;
3
 asn_struct_print_f NGAP_UE_UP_CIoT_Support_print;
4
 asn_constr_check_f NGAP_UE_UP_CIoT_Support_constraint;
5
+jer_type_encoder_f NGAP_UE_UP_CIoT_Support_encode_jer;
6
 per_type_decoder_f NGAP_UE_UP_CIoT_Support_decode_aper;
7
 per_type_encoder_f NGAP_UE_UP_CIoT_Support_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UECapabilityInfoRequest.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UECapabilityInfoRequest.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_UECapabilityInfoRequest_free;
3
 asn_struct_print_f NGAP_UECapabilityInfoRequest_print;
4
 asn_constr_check_f NGAP_UECapabilityInfoRequest_constraint;
5
+jer_type_encoder_f NGAP_UECapabilityInfoRequest_encode_jer;
6
 per_type_decoder_f NGAP_UECapabilityInfoRequest_decode_aper;
7
 per_type_encoder_f NGAP_UECapabilityInfoRequest_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UEContextRequest.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UEContextRequest.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_UEContextRequest_free;
3
 asn_struct_print_f NGAP_UEContextRequest_print;
4
 asn_constr_check_f NGAP_UEContextRequest_constraint;
5
+jer_type_encoder_f NGAP_UEContextRequest_encode_jer;
6
 per_type_decoder_f NGAP_UEContextRequest_decode_aper;
7
 per_type_encoder_f NGAP_UEContextRequest_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UEPresence.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UEPresence.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f UEPresence_free;
3
 asn_struct_print_f UEPresence_print;
4
 asn_constr_check_f UEPresence_constraint;
5
+jer_type_encoder_f UEPresence_encode_jer;
6
 per_type_decoder_f UEPresence_decode_aper;
7
 per_type_encoder_f UEPresence_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UERadioCapability.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UERadioCapability.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_UERadioCapability_free;
3
 asn_struct_print_f NGAP_UERadioCapability_print;
4
 asn_constr_check_f NGAP_UERadioCapability_constraint;
5
+jer_type_encoder_f NGAP_UERadioCapability_encode_jer;
6
 per_type_decoder_f NGAP_UERadioCapability_decode_aper;
7
 per_type_encoder_f NGAP_UERadioCapability_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UERadioCapabilityForPagingOfEUTRA.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UERadioCapabilityForPagingOfEUTRA.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_UERadioCapabilityForPagingOfEUTRA_free;
3
 asn_struct_print_f NGAP_UERadioCapabilityForPagingOfEUTRA_print;
4
 asn_constr_check_f NGAP_UERadioCapabilityForPagingOfEUTRA_constraint;
5
+jer_type_encoder_f NGAP_UERadioCapabilityForPagingOfEUTRA_encode_jer;
6
 per_type_decoder_f NGAP_UERadioCapabilityForPagingOfEUTRA_decode_aper;
7
 per_type_encoder_f NGAP_UERadioCapabilityForPagingOfEUTRA_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UERadioCapabilityForPagingOfNB-IoT.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UERadioCapabilityForPagingOfNB-IoT.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_UERadioCapabilityForPagingOfNB_IoT_free;
3
 asn_struct_print_f NGAP_UERadioCapabilityForPagingOfNB_IoT_print;
4
 asn_constr_check_f NGAP_UERadioCapabilityForPagingOfNB_IoT_constraint;
5
+jer_type_encoder_f NGAP_UERadioCapabilityForPagingOfNB_IoT_encode_jer;
6
 per_type_decoder_f NGAP_UERadioCapabilityForPagingOfNB_IoT_decode_aper;
7
 per_type_encoder_f NGAP_UERadioCapabilityForPagingOfNB_IoT_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UERadioCapabilityForPagingOfNR.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UERadioCapabilityForPagingOfNR.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_UERadioCapabilityForPagingOfNR_free;
3
 asn_struct_print_f NGAP_UERadioCapabilityForPagingOfNR_print;
4
 asn_constr_check_f NGAP_UERadioCapabilityForPagingOfNR_constraint;
5
+jer_type_encoder_f NGAP_UERadioCapabilityForPagingOfNR_encode_jer;
6
 per_type_decoder_f NGAP_UERadioCapabilityForPagingOfNR_decode_aper;
7
 per_type_encoder_f NGAP_UERadioCapabilityForPagingOfNR_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UERadioCapabilityID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UERadioCapabilityID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_UERadioCapabilityID_free;
3
 asn_struct_print_f NGAP_UERadioCapabilityID_print;
4
 asn_constr_check_f NGAP_UERadioCapabilityID_constraint;
5
+jer_type_encoder_f NGAP_UERadioCapabilityID_encode_jer;
6
 per_type_decoder_f NGAP_UERadioCapabilityID_decode_aper;
7
 per_type_encoder_f NGAP_UERadioCapabilityID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UERetentionInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UERetentionInformation.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_UERetentionInformation_free;
3
 asn_struct_print_f NGAP_UERetentionInformation_print;
4
 asn_constr_check_f NGAP_UERetentionInformation_constraint;
5
+jer_type_encoder_f NGAP_UERetentionInformation_encode_jer;
6
 per_type_decoder_f NGAP_UERetentionInformation_decode_aper;
7
 per_type_encoder_f NGAP_UERetentionInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UL-NAS-Count.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UL-NAS-Count.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_UL_NAS_Count_free;
3
 asn_struct_print_f NGAP_UL_NAS_Count_print;
4
 asn_constr_check_f NGAP_UL_NAS_Count_constraint;
5
+jer_type_encoder_f NGAP_UL_NAS_Count_encode_jer;
6
 per_type_decoder_f NGAP_UL_NAS_Count_decode_aper;
7
 per_type_encoder_f NGAP_UL_NAS_Count_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UL-NAS-MAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UL-NAS-MAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_UL_NAS_MAC_free;
3
 asn_struct_print_f NGAP_UL_NAS_MAC_print;
4
 asn_constr_check_f NGAP_UL_NAS_MAC_constraint;
5
+jer_type_encoder_f NGAP_UL_NAS_MAC_encode_jer;
6
 per_type_decoder_f NGAP_UL_NAS_MAC_decode_aper;
7
 per_type_encoder_f NGAP_UL_NAS_MAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_ULForwarding.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_ULForwarding.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f NGAP_ULForwarding_free;
3
 asn_struct_print_f NGAP_ULForwarding_print;
4
 asn_constr_check_f NGAP_ULForwarding_constraint;
5
+jer_type_encoder_f NGAP_ULForwarding_encode_jer;
6
 per_type_decoder_f NGAP_ULForwarding_decode_aper;
7
 per_type_encoder_f NGAP_ULForwarding_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_URI-address.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_URI-address.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_URI_address_free;
3
 asn_struct_print_f NGAP_URI_address_print;
4
 asn_constr_check_f NGAP_URI_address_constraint;
5
+jer_type_encoder_f NGAP_URI_address_encode_jer;
6
 per_type_decoder_f NGAP_URI_address_decode_aper;
7
 per_type_encoder_f NGAP_URI_address_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_UpdateFeedback.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_UpdateFeedback.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_UpdateFeedback_free;
3
 asn_struct_print_f NGAP_UpdateFeedback_print;
4
 asn_constr_check_f NGAP_UpdateFeedback_constraint;
5
+jer_type_encoder_f NGAP_UpdateFeedback_encode_jer;
6
 per_type_decoder_f NGAP_UpdateFeedback_decode_aper;
7
 per_type_encoder_f NGAP_UpdateFeedback_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_VehicleUE.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_VehicleUE.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f VehicleUE_free;
3
 asn_struct_print_f VehicleUE_print;
4
 asn_constr_check_f VehicleUE_constraint;
5
+jer_type_encoder_f VehicleUE_encode_jer;
6
 per_type_decoder_f VehicleUE_decode_aper;
7
 per_type_encoder_f VehicleUE_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_WLANMeasConfig.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_WLANMeasConfig.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f WLANMeasConfig_free;
3
 asn_struct_print_f WLANMeasConfig_print;
4
 asn_constr_check_f WLANMeasConfig_constraint;
5
+jer_type_encoder_f WLANMeasConfig_encode_jer;
6
 per_type_decoder_f WLANMeasConfig_decode_aper;
7
 per_type_encoder_f WLANMeasConfig_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_WLANName.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_WLANName.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f NGAP_WLANName_free;
3
 asn_struct_print_f NGAP_WLANName_print;
4
 asn_constr_check_f NGAP_WLANName_constraint;
5
+jer_type_encoder_f NGAP_WLANName_encode_jer;
6
 per_type_decoder_f NGAP_WLANName_decode_aper;
7
 per_type_encoder_f NGAP_WLANName_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_WarningAreaCoordinates.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_WarningAreaCoordinates.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_WarningAreaCoordinates_free;
3
 asn_struct_print_f NGAP_WarningAreaCoordinates_print;
4
 asn_constr_check_f NGAP_WarningAreaCoordinates_constraint;
5
+jer_type_encoder_f NGAP_WarningAreaCoordinates_encode_jer;
6
 per_type_decoder_f NGAP_WarningAreaCoordinates_decode_aper;
7
 per_type_encoder_f NGAP_WarningAreaCoordinates_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_WarningMessageContents.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_WarningMessageContents.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_WarningMessageContents_free;
3
 asn_struct_print_f NGAP_WarningMessageContents_print;
4
 asn_constr_check_f NGAP_WarningMessageContents_constraint;
5
+jer_type_encoder_f NGAP_WarningMessageContents_encode_jer;
6
 per_type_decoder_f NGAP_WarningMessageContents_decode_aper;
7
 per_type_encoder_f NGAP_WarningMessageContents_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_WarningSecurityInfo.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_WarningSecurityInfo.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_WarningSecurityInfo_free;
3
 asn_struct_print_f NGAP_WarningSecurityInfo_print;
4
 asn_constr_check_f NGAP_WarningSecurityInfo_constraint;
5
+jer_type_encoder_f NGAP_WarningSecurityInfo_encode_jer;
6
 per_type_decoder_f NGAP_WarningSecurityInfo_decode_aper;
7
 per_type_encoder_f NGAP_WarningSecurityInfo_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/ngap/NGAP_WarningType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/ngap/NGAP_WarningType.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f NGAP_WarningType_free;
3
 asn_struct_print_f NGAP_WarningType_print;
4
 asn_constr_check_f NGAP_WarningType_constraint;
5
+jer_type_encoder_f NGAP_WarningType_encode_jer;
6
 per_type_decoder_f NGAP_WarningType_decode_aper;
7
 per_type_encoder_f NGAP_WarningType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_AdditionalCSFallbackIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_AdditionalCSFallbackIndicator.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_AdditionalCSFallbackIndicator_free;
3
 asn_struct_print_f S1AP_AdditionalCSFallbackIndicator_print;
4
 asn_constr_check_f S1AP_AdditionalCSFallbackIndicator_constraint;
5
+jer_type_encoder_f S1AP_AdditionalCSFallbackIndicator_encode_jer;
6
 per_type_decoder_f S1AP_AdditionalCSFallbackIndicator_decode_aper;
7
 per_type_encoder_f S1AP_AdditionalCSFallbackIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_AdditionalRRMPriorityIndex.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_AdditionalRRMPriorityIndex.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_AdditionalRRMPriorityIndex_free;
3
 asn_struct_print_f S1AP_AdditionalRRMPriorityIndex_print;
4
 asn_constr_check_f S1AP_AdditionalRRMPriorityIndex_constraint;
5
+jer_type_encoder_f S1AP_AdditionalRRMPriorityIndex_encode_jer;
6
 per_type_decoder_f S1AP_AdditionalRRMPriorityIndex_decode_aper;
7
 per_type_encoder_f S1AP_AdditionalRRMPriorityIndex_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_AerialUEsubscriptionInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_AerialUEsubscriptionInformation.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_AerialUEsubscriptionInformation_free;
3
 asn_struct_print_f S1AP_AerialUEsubscriptionInformation_print;
4
 asn_constr_check_f S1AP_AerialUEsubscriptionInformation_constraint;
5
+jer_type_encoder_f S1AP_AerialUEsubscriptionInformation_encode_jer;
6
 per_type_decoder_f S1AP_AerialUEsubscriptionInformation_decode_aper;
7
 per_type_encoder_f S1AP_AerialUEsubscriptionInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_BearerType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_BearerType.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_BearerType_free;
3
 asn_struct_print_f S1AP_BearerType_print;
4
 asn_constr_check_f S1AP_BearerType_constraint;
5
+jer_type_encoder_f S1AP_BearerType_encode_jer;
6
 per_type_decoder_f S1AP_BearerType_decode_aper;
7
 per_type_encoder_f S1AP_BearerType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_BitRate.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_BitRate.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_BitRate_free;
3
 asn_struct_print_f S1AP_BitRate_print;
4
 asn_constr_check_f S1AP_BitRate_constraint;
5
+jer_type_encoder_f S1AP_BitRate_encode_jer;
6
 per_type_decoder_f S1AP_BitRate_decode_aper;
7
 per_type_encoder_f S1AP_BitRate_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_BluetoothMeasConfig.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_BluetoothMeasConfig.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f BluetoothMeasConfig_free;
3
 asn_struct_print_f BluetoothMeasConfig_print;
4
 asn_constr_check_f BluetoothMeasConfig_constraint;
5
+jer_type_encoder_f BluetoothMeasConfig_encode_jer;
6
 per_type_decoder_f BluetoothMeasConfig_decode_aper;
7
 per_type_encoder_f BluetoothMeasConfig_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_BluetoothName.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_BluetoothName.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_BluetoothName_free;
3
 asn_struct_print_f S1AP_BluetoothName_print;
4
 asn_constr_check_f S1AP_BluetoothName_constraint;
5
+jer_type_encoder_f S1AP_BluetoothName_encode_jer;
6
 per_type_decoder_f S1AP_BluetoothName_decode_aper;
7
 per_type_encoder_f S1AP_BluetoothName_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CE-ModeBRestricted.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CE-ModeBRestricted.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_CE_ModeBRestricted_free;
3
 asn_struct_print_f S1AP_CE_ModeBRestricted_print;
4
 asn_constr_check_f S1AP_CE_ModeBRestricted_constraint;
5
+jer_type_encoder_f S1AP_CE_ModeBRestricted_encode_jer;
6
 per_type_decoder_f S1AP_CE_ModeBRestricted_decode_aper;
7
 per_type_encoder_f S1AP_CE_ModeBRestricted_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CE-mode-B-SupportIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CE-mode-B-SupportIndicator.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_CE_mode_B_SupportIndicator_free;
3
 asn_struct_print_f S1AP_CE_mode_B_SupportIndicator_print;
4
 asn_constr_check_f S1AP_CE_mode_B_SupportIndicator_constraint;
5
+jer_type_encoder_f S1AP_CE_mode_B_SupportIndicator_encode_jer;
6
 per_type_decoder_f S1AP_CE_mode_B_SupportIndicator_decode_aper;
7
 per_type_encoder_f S1AP_CE_mode_B_SupportIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CELevel.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CELevel.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_CELevel_free;
3
 asn_struct_print_f S1AP_CELevel_print;
4
 asn_constr_check_f S1AP_CELevel_constraint;
5
+jer_type_encoder_f S1AP_CELevel_encode_jer;
6
 per_type_decoder_f S1AP_CELevel_decode_aper;
7
 per_type_encoder_f S1AP_CELevel_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CI.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CI.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_CI_free;
3
 asn_struct_print_f S1AP_CI_print;
4
 asn_constr_check_f S1AP_CI_constraint;
5
+jer_type_encoder_f S1AP_CI_encode_jer;
6
 per_type_decoder_f S1AP_CI_decode_aper;
7
 per_type_encoder_f S1AP_CI_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CNDomain.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CNDomain.h Changed
9
 
1
@@ -32,6 +32,7 @@
2
 asn_struct_free_f S1AP_CNDomain_free;
3
 asn_struct_print_f S1AP_CNDomain_print;
4
 asn_constr_check_f S1AP_CNDomain_constraint;
5
+jer_type_encoder_f S1AP_CNDomain_encode_jer;
6
 per_type_decoder_f S1AP_CNDomain_decode_aper;
7
 per_type_encoder_f S1AP_CNDomain_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CNType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CNType.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f CNType_free;
3
 asn_struct_print_f CNType_print;
4
 asn_constr_check_f CNType_constraint;
5
+jer_type_encoder_f CNType_encode_jer;
6
 per_type_decoder_f CNType_decode_aper;
7
 per_type_encoder_f CNType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CSFallbackIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CSFallbackIndicator.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_CSFallbackIndicator_free;
3
 asn_struct_print_f S1AP_CSFallbackIndicator_print;
4
 asn_constr_check_f S1AP_CSFallbackIndicator_constraint;
5
+jer_type_encoder_f S1AP_CSFallbackIndicator_encode_jer;
6
 per_type_decoder_f S1AP_CSFallbackIndicator_decode_aper;
7
 per_type_encoder_f S1AP_CSFallbackIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CSG-Id.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CSG-Id.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_CSG_Id_free;
3
 asn_struct_print_f S1AP_CSG_Id_print;
4
 asn_constr_check_f S1AP_CSG_Id_constraint;
5
+jer_type_encoder_f S1AP_CSG_Id_encode_jer;
6
 per_type_decoder_f S1AP_CSG_Id_decode_aper;
7
 per_type_encoder_f S1AP_CSG_Id_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CSGMembershipStatus.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CSGMembershipStatus.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f CSGMembershipStatus_free;
3
 asn_struct_print_f CSGMembershipStatus_print;
4
 asn_constr_check_f CSGMembershipStatus_constraint;
5
+jer_type_encoder_f CSGMembershipStatus_encode_jer;
6
 per_type_decoder_f CSGMembershipStatus_decode_aper;
7
 per_type_encoder_f CSGMembershipStatus_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CauseMisc.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CauseMisc.h Changed
9
 
1
@@ -41,6 +41,7 @@
2
 asn_struct_free_f CauseMisc_free;
3
 asn_struct_print_f CauseMisc_print;
4
 asn_constr_check_f CauseMisc_constraint;
5
+jer_type_encoder_f CauseMisc_encode_jer;
6
 per_type_decoder_f CauseMisc_decode_aper;
7
 per_type_encoder_f CauseMisc_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CauseNas.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CauseNas.h Changed
9
 
1
@@ -40,6 +40,7 @@
2
 asn_struct_free_f CauseNas_free;
3
 asn_struct_print_f CauseNas_print;
4
 asn_constr_check_f CauseNas_constraint;
5
+jer_type_encoder_f CauseNas_encode_jer;
6
 per_type_decoder_f CauseNas_decode_aper;
7
 per_type_encoder_f CauseNas_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CauseProtocol.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CauseProtocol.h Changed
9
 
1
@@ -42,6 +42,7 @@
2
 asn_struct_free_f CauseProtocol_free;
3
 asn_struct_print_f CauseProtocol_print;
4
 asn_constr_check_f CauseProtocol_constraint;
5
+jer_type_encoder_f CauseProtocol_encode_jer;
6
 per_type_decoder_f CauseProtocol_decode_aper;
7
 per_type_encoder_f CauseProtocol_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CauseRadioNetwork.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CauseRadioNetwork.h Changed
9
 
1
@@ -77,6 +77,7 @@
2
 asn_struct_free_f CauseRadioNetwork_free;
3
 asn_struct_print_f CauseRadioNetwork_print;
4
 asn_constr_check_f CauseRadioNetwork_constraint;
5
+jer_type_encoder_f CauseRadioNetwork_encode_jer;
6
 per_type_decoder_f CauseRadioNetwork_decode_aper;
7
 per_type_encoder_f CauseRadioNetwork_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CauseTransport.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CauseTransport.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f CauseTransport_free;
3
 asn_struct_print_f CauseTransport_print;
4
 asn_constr_check_f CauseTransport_constraint;
5
+jer_type_encoder_f CauseTransport_encode_jer;
6
 per_type_decoder_f CauseTransport_decode_aper;
7
 per_type_encoder_f CauseTransport_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000HORequiredIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000HORequiredIndication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_Cdma2000HORequiredIndication_free;
3
 asn_struct_print_f S1AP_Cdma2000HORequiredIndication_print;
4
 asn_constr_check_f S1AP_Cdma2000HORequiredIndication_constraint;
5
+jer_type_encoder_f S1AP_Cdma2000HORequiredIndication_encode_jer;
6
 per_type_decoder_f S1AP_Cdma2000HORequiredIndication_decode_aper;
7
 per_type_encoder_f S1AP_Cdma2000HORequiredIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000HOStatus.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000HOStatus.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_Cdma2000HOStatus_free;
3
 asn_struct_print_f S1AP_Cdma2000HOStatus_print;
4
 asn_constr_check_f S1AP_Cdma2000HOStatus_constraint;
5
+jer_type_encoder_f S1AP_Cdma2000HOStatus_encode_jer;
6
 per_type_decoder_f S1AP_Cdma2000HOStatus_decode_aper;
7
 per_type_encoder_f S1AP_Cdma2000HOStatus_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000OneXMEID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000OneXMEID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Cdma2000OneXMEID_free;
3
 asn_struct_print_f S1AP_Cdma2000OneXMEID_print;
4
 asn_constr_check_f S1AP_Cdma2000OneXMEID_constraint;
5
+jer_type_encoder_f S1AP_Cdma2000OneXMEID_encode_jer;
6
 per_type_decoder_f S1AP_Cdma2000OneXMEID_decode_aper;
7
 per_type_encoder_f S1AP_Cdma2000OneXMEID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000OneXMSI.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000OneXMSI.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Cdma2000OneXMSI_free;
3
 asn_struct_print_f S1AP_Cdma2000OneXMSI_print;
4
 asn_constr_check_f S1AP_Cdma2000OneXMSI_constraint;
5
+jer_type_encoder_f S1AP_Cdma2000OneXMSI_encode_jer;
6
 per_type_decoder_f S1AP_Cdma2000OneXMSI_decode_aper;
7
 per_type_encoder_f S1AP_Cdma2000OneXMSI_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000OneXPilot.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000OneXPilot.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Cdma2000OneXPilot_free;
3
 asn_struct_print_f S1AP_Cdma2000OneXPilot_print;
4
 asn_constr_check_f S1AP_Cdma2000OneXPilot_constraint;
5
+jer_type_encoder_f S1AP_Cdma2000OneXPilot_encode_jer;
6
 per_type_decoder_f S1AP_Cdma2000OneXPilot_decode_aper;
7
 per_type_encoder_f S1AP_Cdma2000OneXPilot_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000OneXRAND.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000OneXRAND.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Cdma2000OneXRAND_free;
3
 asn_struct_print_f S1AP_Cdma2000OneXRAND_print;
4
 asn_constr_check_f S1AP_Cdma2000OneXRAND_constraint;
5
+jer_type_encoder_f S1AP_Cdma2000OneXRAND_encode_jer;
6
 per_type_decoder_f S1AP_Cdma2000OneXRAND_decode_aper;
7
 per_type_encoder_f S1AP_Cdma2000OneXRAND_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000PDU.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000PDU.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Cdma2000PDU_free;
3
 asn_struct_print_f S1AP_Cdma2000PDU_print;
4
 asn_constr_check_f S1AP_Cdma2000PDU_constraint;
5
+jer_type_encoder_f S1AP_Cdma2000PDU_encode_jer;
6
 per_type_decoder_f S1AP_Cdma2000PDU_decode_aper;
7
 per_type_encoder_f S1AP_Cdma2000PDU_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000RATType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000RATType.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_Cdma2000RATType_free;
3
 asn_struct_print_f S1AP_Cdma2000RATType_print;
4
 asn_constr_check_f S1AP_Cdma2000RATType_constraint;
5
+jer_type_encoder_f S1AP_Cdma2000RATType_encode_jer;
6
 per_type_decoder_f S1AP_Cdma2000RATType_decode_aper;
7
 per_type_encoder_f S1AP_Cdma2000RATType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000SectorID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Cdma2000SectorID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Cdma2000SectorID_free;
3
 asn_struct_print_f S1AP_Cdma2000SectorID_print;
4
 asn_constr_check_f S1AP_Cdma2000SectorID_constraint;
5
+jer_type_encoder_f S1AP_Cdma2000SectorID_encode_jer;
6
 per_type_decoder_f S1AP_Cdma2000SectorID_decode_aper;
7
 per_type_encoder_f S1AP_Cdma2000SectorID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Cell-Size.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Cell-Size.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f Cell_Size_free;
3
 asn_struct_print_f Cell_Size_print;
4
 asn_constr_check_f Cell_Size_constraint;
5
+jer_type_encoder_f Cell_Size_encode_jer;
6
 per_type_decoder_f Cell_Size_decode_aper;
7
 per_type_encoder_f Cell_Size_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CellAccessMode.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CellAccessMode.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f CellAccessMode_free;
3
 asn_struct_print_f CellAccessMode_print;
4
 asn_constr_check_f CellAccessMode_constraint;
5
+jer_type_encoder_f CellAccessMode_encode_jer;
6
 per_type_decoder_f CellAccessMode_decode_aper;
7
 per_type_encoder_f CellAccessMode_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_CellIdentity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_CellIdentity.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_CellIdentity_free;
3
 asn_struct_print_f S1AP_CellIdentity_print;
4
 asn_constr_check_f S1AP_CellIdentity_constraint;
5
+jer_type_encoder_f S1AP_CellIdentity_encode_jer;
6
 per_type_decoder_f S1AP_CellIdentity_decode_aper;
7
 per_type_encoder_f S1AP_CellIdentity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ConcurrentWarningMessageIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ConcurrentWarningMessageIndicator.h Changed
9
 
1
@@ -31,6 +31,7 @@
2
 asn_struct_free_f S1AP_ConcurrentWarningMessageIndicator_free;
3
 asn_struct_print_f S1AP_ConcurrentWarningMessageIndicator_print;
4
 asn_constr_check_f S1AP_ConcurrentWarningMessageIndicator_constraint;
5
+jer_type_encoder_f S1AP_ConcurrentWarningMessageIndicator_encode_jer;
6
 per_type_decoder_f S1AP_ConcurrentWarningMessageIndicator_decode_aper;
7
 per_type_encoder_f S1AP_ConcurrentWarningMessageIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Correlation-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Correlation-ID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Correlation_ID_free;
3
 asn_struct_print_f S1AP_Correlation_ID_print;
4
 asn_constr_check_f S1AP_Correlation_ID_constraint;
5
+jer_type_encoder_f S1AP_Correlation_ID_encode_jer;
6
 per_type_decoder_f S1AP_Correlation_ID_decode_aper;
7
 per_type_encoder_f S1AP_Correlation_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Coverage-Level.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Coverage-Level.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_Coverage_Level_free;
3
 asn_struct_print_f S1AP_Coverage_Level_print;
4
 asn_constr_check_f S1AP_Coverage_Level_constraint;
5
+jer_type_encoder_f S1AP_Coverage_Level_encode_jer;
6
 per_type_decoder_f S1AP_Coverage_Level_decode_aper;
7
 per_type_encoder_f S1AP_Coverage_Level_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Criticality.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Criticality.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f Criticality_free;
3
 asn_struct_print_f Criticality_print;
4
 asn_constr_check_f Criticality_constraint;
5
+jer_type_encoder_f Criticality_encode_jer;
6
 per_type_decoder_f Criticality_decode_aper;
7
 per_type_encoder_f Criticality_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_DCN-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_DCN-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_DCN_ID_free;
3
 asn_struct_print_f S1AP_DCN_ID_print;
4
 asn_constr_check_f S1AP_DCN_ID_constraint;
5
+jer_type_encoder_f S1AP_DCN_ID_encode_jer;
6
 per_type_decoder_f S1AP_DCN_ID_decode_aper;
7
 per_type_encoder_f S1AP_DCN_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_DL-Forwarding.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_DL-Forwarding.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f DL_Forwarding_free;
3
 asn_struct_print_f DL_Forwarding_print;
4
 asn_constr_check_f DL_Forwarding_constraint;
5
+jer_type_encoder_f DL_Forwarding_encode_jer;
6
 per_type_decoder_f DL_Forwarding_decode_aper;
7
 per_type_encoder_f DL_Forwarding_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_DL-NAS-MAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_DL-NAS-MAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_DL_NAS_MAC_free;
3
 asn_struct_print_f S1AP_DL_NAS_MAC_print;
4
 asn_constr_check_f S1AP_DL_NAS_MAC_constraint;
5
+jer_type_encoder_f S1AP_DL_NAS_MAC_encode_jer;
6
 per_type_decoder_f S1AP_DL_NAS_MAC_decode_aper;
7
 per_type_encoder_f S1AP_DL_NAS_MAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_DLNASPDUDeliveryAckRequest.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_DLNASPDUDeliveryAckRequest.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_DLNASPDUDeliveryAckRequest_free;
3
 asn_struct_print_f S1AP_DLNASPDUDeliveryAckRequest_print;
4
 asn_constr_check_f S1AP_DLNASPDUDeliveryAckRequest_constraint;
5
+jer_type_encoder_f S1AP_DLNASPDUDeliveryAckRequest_encode_jer;
6
 per_type_decoder_f S1AP_DLNASPDUDeliveryAckRequest_decode_aper;
7
 per_type_encoder_f S1AP_DLNASPDUDeliveryAckRequest_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Data-Forwarding-Not-Possible.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Data-Forwarding-Not-Possible.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_Data_Forwarding_Not_Possible_free;
3
 asn_struct_print_f S1AP_Data_Forwarding_Not_Possible_print;
4
 asn_constr_check_f S1AP_Data_Forwarding_Not_Possible_constraint;
5
+jer_type_encoder_f S1AP_Data_Forwarding_Not_Possible_encode_jer;
6
 per_type_decoder_f S1AP_Data_Forwarding_Not_Possible_decode_aper;
7
 per_type_encoder_f S1AP_Data_Forwarding_Not_Possible_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_DataCodingScheme.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_DataCodingScheme.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_DataCodingScheme_free;
3
 asn_struct_print_f S1AP_DataCodingScheme_print;
4
 asn_constr_check_f S1AP_DataCodingScheme_constraint;
5
+jer_type_encoder_f S1AP_DataCodingScheme_encode_jer;
6
 per_type_decoder_f S1AP_DataCodingScheme_decode_aper;
7
 per_type_encoder_f S1AP_DataCodingScheme_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_DataSize.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_DataSize.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_DataSize_free;
3
 asn_struct_print_f S1AP_DataSize_print;
4
 asn_constr_check_f S1AP_DataSize_constraint;
5
+jer_type_encoder_f S1AP_DataSize_encode_jer;
6
 per_type_decoder_f S1AP_DataSize_decode_aper;
7
 per_type_encoder_f S1AP_DataSize_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Direct-Forwarding-Path-Availability.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Direct-Forwarding-Path-Availability.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_Direct_Forwarding_Path_Availability_free;
3
 asn_struct_print_f S1AP_Direct_Forwarding_Path_Availability_print;
4
 asn_constr_check_f S1AP_Direct_Forwarding_Path_Availability_constraint;
5
+jer_type_encoder_f S1AP_Direct_Forwarding_Path_Availability_encode_jer;
6
 per_type_decoder_f S1AP_Direct_Forwarding_Path_Availability_decode_aper;
7
 per_type_encoder_f S1AP_Direct_Forwarding_Path_Availability_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RAB-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RAB-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_E_RAB_ID_free;
3
 asn_struct_print_f S1AP_E_RAB_ID_print;
4
 asn_constr_check_f S1AP_E_RAB_ID_constraint;
5
+jer_type_encoder_f S1AP_E_RAB_ID_encode_jer;
6
 per_type_decoder_f S1AP_E_RAB_ID_decode_aper;
7
 per_type_encoder_f S1AP_E_RAB_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RAB-IE-ContainerList.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RAB-IE-ContainerList.h Changed
81
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f S1AP_E_RAB_IE_ContainerList_1267P0_free;
3
 asn_struct_print_f S1AP_E_RAB_IE_ContainerList_1267P0_print;
4
 asn_constr_check_f S1AP_E_RAB_IE_ContainerList_1267P0_constraint;
5
+jer_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P0_encode_jer;
6
 per_type_decoder_f S1AP_E_RAB_IE_ContainerList_1267P0_decode_aper;
7
 per_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P0_encode_aper;
8
 extern asn_per_constraints_t asn_PER_type_S1AP_E_RAB_IE_ContainerList_1267P1_constr_2;
9
@@ -43,6 +44,7 @@
10
 asn_struct_free_f S1AP_E_RAB_IE_ContainerList_1267P1_free;
11
 asn_struct_print_f S1AP_E_RAB_IE_ContainerList_1267P1_print;
12
 asn_constr_check_f S1AP_E_RAB_IE_ContainerList_1267P1_constraint;
13
+jer_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P1_encode_jer;
14
 per_type_decoder_f S1AP_E_RAB_IE_ContainerList_1267P1_decode_aper;
15
 per_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P1_encode_aper;
16
 extern asn_per_constraints_t asn_PER_type_S1AP_E_RAB_IE_ContainerList_1267P2_constr_3;
17
@@ -50,6 +52,7 @@
18
 asn_struct_free_f S1AP_E_RAB_IE_ContainerList_1267P2_free;
19
 asn_struct_print_f S1AP_E_RAB_IE_ContainerList_1267P2_print;
20
 asn_constr_check_f S1AP_E_RAB_IE_ContainerList_1267P2_constraint;
21
+jer_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P2_encode_jer;
22
 per_type_decoder_f S1AP_E_RAB_IE_ContainerList_1267P2_decode_aper;
23
 per_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P2_encode_aper;
24
 extern asn_per_constraints_t asn_PER_type_S1AP_E_RAB_IE_ContainerList_1267P3_constr_4;
25
@@ -57,6 +60,7 @@
26
 asn_struct_free_f S1AP_E_RAB_IE_ContainerList_1267P3_free;
27
 asn_struct_print_f S1AP_E_RAB_IE_ContainerList_1267P3_print;
28
 asn_constr_check_f S1AP_E_RAB_IE_ContainerList_1267P3_constraint;
29
+jer_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P3_encode_jer;
30
 per_type_decoder_f S1AP_E_RAB_IE_ContainerList_1267P3_decode_aper;
31
 per_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P3_encode_aper;
32
 extern asn_per_constraints_t asn_PER_type_S1AP_E_RAB_IE_ContainerList_1267P4_constr_5;
33
@@ -64,6 +68,7 @@
34
 asn_struct_free_f S1AP_E_RAB_IE_ContainerList_1267P4_free;
35
 asn_struct_print_f S1AP_E_RAB_IE_ContainerList_1267P4_print;
36
 asn_constr_check_f S1AP_E_RAB_IE_ContainerList_1267P4_constraint;
37
+jer_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P4_encode_jer;
38
 per_type_decoder_f S1AP_E_RAB_IE_ContainerList_1267P4_decode_aper;
39
 per_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P4_encode_aper;
40
 extern asn_per_constraints_t asn_PER_type_S1AP_E_RAB_IE_ContainerList_1267P5_constr_6;
41
@@ -71,6 +76,7 @@
42
 asn_struct_free_f S1AP_E_RAB_IE_ContainerList_1267P5_free;
43
 asn_struct_print_f S1AP_E_RAB_IE_ContainerList_1267P5_print;
44
 asn_constr_check_f S1AP_E_RAB_IE_ContainerList_1267P5_constraint;
45
+jer_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P5_encode_jer;
46
 per_type_decoder_f S1AP_E_RAB_IE_ContainerList_1267P5_decode_aper;
47
 per_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P5_encode_aper;
48
 extern asn_per_constraints_t asn_PER_type_S1AP_E_RAB_IE_ContainerList_1267P6_constr_7;
49
@@ -78,6 +84,7 @@
50
 asn_struct_free_f S1AP_E_RAB_IE_ContainerList_1267P6_free;
51
 asn_struct_print_f S1AP_E_RAB_IE_ContainerList_1267P6_print;
52
 asn_constr_check_f S1AP_E_RAB_IE_ContainerList_1267P6_constraint;
53
+jer_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P6_encode_jer;
54
 per_type_decoder_f S1AP_E_RAB_IE_ContainerList_1267P6_decode_aper;
55
 per_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P6_encode_aper;
56
 extern asn_per_constraints_t asn_PER_type_S1AP_E_RAB_IE_ContainerList_1267P7_constr_8;
57
@@ -85,6 +92,7 @@
58
 asn_struct_free_f S1AP_E_RAB_IE_ContainerList_1267P7_free;
59
 asn_struct_print_f S1AP_E_RAB_IE_ContainerList_1267P7_print;
60
 asn_constr_check_f S1AP_E_RAB_IE_ContainerList_1267P7_constraint;
61
+jer_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P7_encode_jer;
62
 per_type_decoder_f S1AP_E_RAB_IE_ContainerList_1267P7_decode_aper;
63
 per_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P7_encode_aper;
64
 extern asn_per_constraints_t asn_PER_type_S1AP_E_RAB_IE_ContainerList_1267P8_constr_9;
65
@@ -92,6 +100,7 @@
66
 asn_struct_free_f S1AP_E_RAB_IE_ContainerList_1267P8_free;
67
 asn_struct_print_f S1AP_E_RAB_IE_ContainerList_1267P8_print;
68
 asn_constr_check_f S1AP_E_RAB_IE_ContainerList_1267P8_constraint;
69
+jer_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P8_encode_jer;
70
 per_type_decoder_f S1AP_E_RAB_IE_ContainerList_1267P8_decode_aper;
71
 per_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P8_encode_aper;
72
 extern asn_per_constraints_t asn_PER_type_S1AP_E_RAB_IE_ContainerList_1267P9_constr_10;
73
@@ -99,6 +108,7 @@
74
 asn_struct_free_f S1AP_E_RAB_IE_ContainerList_1267P9_free;
75
 asn_struct_print_f S1AP_E_RAB_IE_ContainerList_1267P9_print;
76
 asn_constr_check_f S1AP_E_RAB_IE_ContainerList_1267P9_constraint;
77
+jer_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P9_encode_jer;
78
 per_type_decoder_f S1AP_E_RAB_IE_ContainerList_1267P9_decode_aper;
79
 per_type_encoder_f S1AP_E_RAB_IE_ContainerList_1267P9_encode_aper;
80
 
81
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RABAdmittedList.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RABAdmittedList.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_E_RABAdmittedList_free;
3
 asn_struct_print_f S1AP_E_RABAdmittedList_print;
4
 asn_constr_check_f S1AP_E_RABAdmittedList_constraint;
5
+jer_type_encoder_f S1AP_E_RABAdmittedList_encode_jer;
6
 per_type_decoder_f S1AP_E_RABAdmittedList_decode_aper;
7
 per_type_encoder_f S1AP_E_RABAdmittedList_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RABFailedToResumeListResumeReq.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RABFailedToResumeListResumeReq.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_E_RABFailedToResumeListResumeReq_free;
3
 asn_struct_print_f S1AP_E_RABFailedToResumeListResumeReq_print;
4
 asn_constr_check_f S1AP_E_RABFailedToResumeListResumeReq_constraint;
5
+jer_type_encoder_f S1AP_E_RABFailedToResumeListResumeReq_encode_jer;
6
 per_type_decoder_f S1AP_E_RABFailedToResumeListResumeReq_decode_aper;
7
 per_type_encoder_f S1AP_E_RABFailedToResumeListResumeReq_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RABFailedToResumeListResumeRes.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RABFailedToResumeListResumeRes.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_E_RABFailedToResumeListResumeRes_free;
3
 asn_struct_print_f S1AP_E_RABFailedToResumeListResumeRes_print;
4
 asn_constr_check_f S1AP_E_RABFailedToResumeListResumeRes_constraint;
5
+jer_type_encoder_f S1AP_E_RABFailedToResumeListResumeRes_encode_jer;
6
 per_type_decoder_f S1AP_E_RABFailedToResumeListResumeRes_decode_aper;
7
 per_type_encoder_f S1AP_E_RABFailedToResumeListResumeRes_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RABFailedtoSetupListHOReqAck.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RABFailedtoSetupListHOReqAck.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_E_RABFailedtoSetupListHOReqAck_free;
3
 asn_struct_print_f S1AP_E_RABFailedtoSetupListHOReqAck_print;
4
 asn_constr_check_f S1AP_E_RABFailedtoSetupListHOReqAck_constraint;
5
+jer_type_encoder_f S1AP_E_RABFailedtoSetupListHOReqAck_encode_jer;
6
 per_type_decoder_f S1AP_E_RABFailedtoSetupListHOReqAck_decode_aper;
7
 per_type_encoder_f S1AP_E_RABFailedtoSetupListHOReqAck_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RABNotToBeModifiedListBearerModInd.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RABNotToBeModifiedListBearerModInd.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_E_RABNotToBeModifiedListBearerModInd_free;
3
 asn_struct_print_f S1AP_E_RABNotToBeModifiedListBearerModInd_print;
4
 asn_constr_check_f S1AP_E_RABNotToBeModifiedListBearerModInd_constraint;
5
+jer_type_encoder_f S1AP_E_RABNotToBeModifiedListBearerModInd_encode_jer;
6
 per_type_decoder_f S1AP_E_RABNotToBeModifiedListBearerModInd_decode_aper;
7
 per_type_encoder_f S1AP_E_RABNotToBeModifiedListBearerModInd_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RABSubjecttoDataForwardingList.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RABSubjecttoDataForwardingList.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_E_RABSubjecttoDataForwardingList_free;
3
 asn_struct_print_f S1AP_E_RABSubjecttoDataForwardingList_print;
4
 asn_constr_check_f S1AP_E_RABSubjecttoDataForwardingList_constraint;
5
+jer_type_encoder_f S1AP_E_RABSubjecttoDataForwardingList_encode_jer;
6
 per_type_decoder_f S1AP_E_RABSubjecttoDataForwardingList_decode_aper;
7
 per_type_encoder_f S1AP_E_RABSubjecttoDataForwardingList_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RABToBeModifiedListBearerModInd.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RABToBeModifiedListBearerModInd.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_E_RABToBeModifiedListBearerModInd_free;
3
 asn_struct_print_f S1AP_E_RABToBeModifiedListBearerModInd_print;
4
 asn_constr_check_f S1AP_E_RABToBeModifiedListBearerModInd_constraint;
5
+jer_type_encoder_f S1AP_E_RABToBeModifiedListBearerModInd_encode_jer;
6
 per_type_decoder_f S1AP_E_RABToBeModifiedListBearerModInd_decode_aper;
7
 per_type_encoder_f S1AP_E_RABToBeModifiedListBearerModInd_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RABToBeSetupListHOReq.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RABToBeSetupListHOReq.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_E_RABToBeSetupListHOReq_free;
3
 asn_struct_print_f S1AP_E_RABToBeSetupListHOReq_print;
4
 asn_constr_check_f S1AP_E_RABToBeSetupListHOReq_constraint;
5
+jer_type_encoder_f S1AP_E_RABToBeSetupListHOReq_encode_jer;
6
 per_type_decoder_f S1AP_E_RABToBeSetupListHOReq_decode_aper;
7
 per_type_encoder_f S1AP_E_RABToBeSetupListHOReq_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RABToBeSwitchedDLList.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RABToBeSwitchedDLList.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_E_RABToBeSwitchedDLList_free;
3
 asn_struct_print_f S1AP_E_RABToBeSwitchedDLList_print;
4
 asn_constr_check_f S1AP_E_RABToBeSwitchedDLList_constraint;
5
+jer_type_encoder_f S1AP_E_RABToBeSwitchedDLList_encode_jer;
6
 per_type_decoder_f S1AP_E_RABToBeSwitchedDLList_decode_aper;
7
 per_type_encoder_f S1AP_E_RABToBeSwitchedDLList_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-RABToBeSwitchedULList.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-RABToBeSwitchedULList.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_E_RABToBeSwitchedULList_free;
3
 asn_struct_print_f S1AP_E_RABToBeSwitchedULList_print;
4
 asn_constr_check_f S1AP_E_RABToBeSwitchedULList_constraint;
5
+jer_type_encoder_f S1AP_E_RABToBeSwitchedULList_encode_jer;
6
 per_type_decoder_f S1AP_E_RABToBeSwitchedULList_decode_aper;
7
 per_type_encoder_f S1AP_E_RABToBeSwitchedULList_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_E-UTRAN-Trace-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_E-UTRAN-Trace-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_E_UTRAN_Trace_ID_free;
3
 asn_struct_print_f S1AP_E_UTRAN_Trace_ID_print;
4
 asn_constr_check_f S1AP_E_UTRAN_Trace_ID_constraint;
5
+jer_type_encoder_f S1AP_E_UTRAN_Trace_ID_encode_jer;
6
 per_type_decoder_f S1AP_E_UTRAN_Trace_ID_decode_aper;
7
 per_type_encoder_f S1AP_E_UTRAN_Trace_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_EARFCN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_EARFCN.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_EARFCN_free;
3
 asn_struct_print_f S1AP_EARFCN_print;
4
 asn_constr_check_f S1AP_EARFCN_constraint;
5
+jer_type_encoder_f S1AP_EARFCN_encode_jer;
6
 per_type_decoder_f S1AP_EARFCN_decode_aper;
7
 per_type_encoder_f S1AP_EARFCN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_EDT-Session.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_EDT-Session.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_EDT_Session_free;
3
 asn_struct_print_f S1AP_EDT_Session_print;
4
 asn_constr_check_f S1AP_EDT_Session_constraint;
5
+jer_type_encoder_f S1AP_EDT_Session_encode_jer;
6
 per_type_decoder_f S1AP_EDT_Session_decode_aper;
7
 per_type_encoder_f S1AP_EDT_Session_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ENB-UE-S1AP-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ENB-UE-S1AP-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_ENB_UE_S1AP_ID_free;
3
 asn_struct_print_f S1AP_ENB_UE_S1AP_ID_print;
4
 asn_constr_check_f S1AP_ENB_UE_S1AP_ID_constraint;
5
+jer_type_encoder_f S1AP_ENB_UE_S1AP_ID_encode_jer;
6
 per_type_decoder_f S1AP_ENB_UE_S1AP_ID_decode_aper;
7
 per_type_encoder_f S1AP_ENB_UE_S1AP_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ENBname.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ENBname.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_ENBname_free;
3
 asn_struct_print_f S1AP_ENBname_print;
4
 asn_constr_check_f S1AP_ENBname_constraint;
5
+jer_type_encoder_f S1AP_ENBname_encode_jer;
6
 per_type_decoder_f S1AP_ENBname_decode_aper;
7
 per_type_encoder_f S1AP_ENBname_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_EUTRANRoundTripDelayEstimationInfo.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_EUTRANRoundTripDelayEstimationInfo.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_EUTRANRoundTripDelayEstimationInfo_free;
3
 asn_struct_print_f S1AP_EUTRANRoundTripDelayEstimationInfo_print;
4
 asn_constr_check_f S1AP_EUTRANRoundTripDelayEstimationInfo_constraint;
5
+jer_type_encoder_f S1AP_EUTRANRoundTripDelayEstimationInfo_encode_jer;
6
 per_type_decoder_f S1AP_EUTRANRoundTripDelayEstimationInfo_decode_aper;
7
 per_type_encoder_f S1AP_EUTRANRoundTripDelayEstimationInfo_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_EmergencyAreaID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_EmergencyAreaID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_EmergencyAreaID_free;
3
 asn_struct_print_f S1AP_EmergencyAreaID_print;
4
 asn_constr_check_f S1AP_EmergencyAreaID_constraint;
5
+jer_type_encoder_f S1AP_EmergencyAreaID_encode_jer;
6
 per_type_decoder_f S1AP_EmergencyAreaID_decode_aper;
7
 per_type_encoder_f S1AP_EmergencyAreaID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_EmergencyIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_EmergencyIndicator.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_EmergencyIndicator_free;
3
 asn_struct_print_f S1AP_EmergencyIndicator_print;
4
 asn_constr_check_f S1AP_EmergencyIndicator_constraint;
5
+jer_type_encoder_f S1AP_EmergencyIndicator_encode_jer;
6
 per_type_decoder_f S1AP_EmergencyIndicator_decode_aper;
7
 per_type_encoder_f S1AP_EmergencyIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_En-gNB-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_En-gNB-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_En_gNB_ID_free;
3
 asn_struct_print_f S1AP_En_gNB_ID_print;
4
 asn_constr_check_f S1AP_En_gNB_ID_constraint;
5
+jer_type_encoder_f S1AP_En_gNB_ID_encode_jer;
6
 per_type_decoder_f S1AP_En_gNB_ID_decode_aper;
7
 per_type_encoder_f S1AP_En_gNB_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_EncryptionAlgorithms.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_EncryptionAlgorithms.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_EncryptionAlgorithms_free;
3
 asn_struct_print_f S1AP_EncryptionAlgorithms_print;
4
 asn_constr_check_f S1AP_EncryptionAlgorithms_constraint;
5
+jer_type_encoder_f S1AP_EncryptionAlgorithms_encode_jer;
6
 per_type_decoder_f S1AP_EncryptionAlgorithms_decode_aper;
7
 per_type_encoder_f S1AP_EncryptionAlgorithms_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_EndIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_EndIndication.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_EndIndication_free;
3
 asn_struct_print_f S1AP_EndIndication_print;
4
 asn_constr_check_f S1AP_EndIndication_constraint;
5
+jer_type_encoder_f S1AP_EndIndication_encode_jer;
6
 per_type_decoder_f S1AP_EndIndication_decode_aper;
7
 per_type_encoder_f S1AP_EndIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_EnhancedCoverageRestricted.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_EnhancedCoverageRestricted.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_EnhancedCoverageRestricted_free;
3
 asn_struct_print_f S1AP_EnhancedCoverageRestricted_print;
4
 asn_constr_check_f S1AP_EnhancedCoverageRestricted_constraint;
5
+jer_type_encoder_f S1AP_EnhancedCoverageRestricted_encode_jer;
6
 per_type_decoder_f S1AP_EnhancedCoverageRestricted_decode_aper;
7
 per_type_encoder_f S1AP_EnhancedCoverageRestricted_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Ethernet-Type.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Ethernet-Type.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_Ethernet_Type_free;
3
 asn_struct_print_f S1AP_Ethernet_Type_print;
4
 asn_constr_check_f S1AP_Ethernet_Type_constraint;
5
+jer_type_encoder_f S1AP_Ethernet_Type_encode_jer;
6
 per_type_decoder_f S1AP_Ethernet_Type_decode_aper;
7
 per_type_encoder_f S1AP_Ethernet_Type_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_EventType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_EventType.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f EventType_free;
3
 asn_struct_print_f EventType_print;
4
 asn_constr_check_f EventType_constraint;
5
+jer_type_encoder_f EventType_encode_jer;
6
 per_type_decoder_f EventType_decode_aper;
7
 per_type_encoder_f EventType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ExpectedActivityPeriod.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ExpectedActivityPeriod.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_ExpectedActivityPeriod_free;
3
 asn_struct_print_f S1AP_ExpectedActivityPeriod_print;
4
 asn_constr_check_f S1AP_ExpectedActivityPeriod_constraint;
5
+jer_type_encoder_f S1AP_ExpectedActivityPeriod_encode_jer;
6
 per_type_decoder_f S1AP_ExpectedActivityPeriod_decode_aper;
7
 per_type_encoder_f S1AP_ExpectedActivityPeriod_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ExpectedHOInterval.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ExpectedHOInterval.h Changed
9
 
1
@@ -42,6 +42,7 @@
2
 asn_struct_free_f ExpectedHOInterval_free;
3
 asn_struct_print_f ExpectedHOInterval_print;
4
 asn_constr_check_f ExpectedHOInterval_constraint;
5
+jer_type_encoder_f ExpectedHOInterval_encode_jer;
6
 per_type_decoder_f ExpectedHOInterval_decode_aper;
7
 per_type_encoder_f ExpectedHOInterval_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ExpectedIdlePeriod.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ExpectedIdlePeriod.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_ExpectedIdlePeriod_free;
3
 asn_struct_print_f S1AP_ExpectedIdlePeriod_print;
4
 asn_constr_check_f S1AP_ExpectedIdlePeriod_constraint;
5
+jer_type_encoder_f S1AP_ExpectedIdlePeriod_encode_jer;
6
 per_type_decoder_f S1AP_ExpectedIdlePeriod_decode_aper;
7
 per_type_encoder_f S1AP_ExpectedIdlePeriod_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Extended-UEIdentityIndexValue.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Extended-UEIdentityIndexValue.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Extended_UEIdentityIndexValue_free;
3
 asn_struct_print_f S1AP_Extended_UEIdentityIndexValue_print;
4
 asn_constr_check_f S1AP_Extended_UEIdentityIndexValue_constraint;
5
+jer_type_encoder_f S1AP_Extended_UEIdentityIndexValue_encode_jer;
6
 per_type_decoder_f S1AP_Extended_UEIdentityIndexValue_decode_aper;
7
 per_type_encoder_f S1AP_Extended_UEIdentityIndexValue_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ExtendedBitRate.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ExtendedBitRate.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_ExtendedBitRate_free;
3
 asn_struct_print_f S1AP_ExtendedBitRate_print;
4
 asn_constr_check_f S1AP_ExtendedBitRate_constraint;
5
+jer_type_encoder_f S1AP_ExtendedBitRate_encode_jer;
6
 per_type_decoder_f S1AP_ExtendedBitRate_decode_aper;
7
 per_type_encoder_f S1AP_ExtendedBitRate_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ExtendedRNC-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ExtendedRNC-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_ExtendedRNC_ID_free;
3
 asn_struct_print_f S1AP_ExtendedRNC_ID_print;
4
 asn_constr_check_f S1AP_ExtendedRNC_ID_constraint;
5
+jer_type_encoder_f S1AP_ExtendedRNC_ID_encode_jer;
6
 per_type_decoder_f S1AP_ExtendedRNC_ID_decode_aper;
7
 per_type_encoder_f S1AP_ExtendedRNC_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ExtendedRepetitionPeriod.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ExtendedRepetitionPeriod.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_ExtendedRepetitionPeriod_free;
3
 asn_struct_print_f S1AP_ExtendedRepetitionPeriod_print;
4
 asn_constr_check_f S1AP_ExtendedRepetitionPeriod_constraint;
5
+jer_type_encoder_f S1AP_ExtendedRepetitionPeriod_encode_jer;
6
 per_type_decoder_f S1AP_ExtendedRepetitionPeriod_decode_aper;
7
 per_type_encoder_f S1AP_ExtendedRepetitionPeriod_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_FiveGSTAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_FiveGSTAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_FiveGSTAC_free;
3
 asn_struct_print_f S1AP_FiveGSTAC_print;
4
 asn_constr_check_f S1AP_FiveGSTAC_constraint;
5
+jer_type_encoder_f S1AP_FiveGSTAC_encode_jer;
6
 per_type_decoder_f S1AP_FiveGSTAC_decode_aper;
7
 per_type_encoder_f S1AP_FiveGSTAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_FiveQI.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_FiveQI.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_FiveQI_free;
3
 asn_struct_print_f S1AP_FiveQI_print;
4
 asn_constr_check_f S1AP_FiveQI_constraint;
5
+jer_type_encoder_f S1AP_FiveQI_encode_jer;
6
 per_type_decoder_f S1AP_FiveQI_decode_aper;
7
 per_type_encoder_f S1AP_FiveQI_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ForbiddenInterRATs.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ForbiddenInterRATs.h Changed
9
 
1
@@ -41,6 +41,7 @@
2
 asn_struct_free_f ForbiddenInterRATs_free;
3
 asn_struct_print_f ForbiddenInterRATs_print;
4
 asn_constr_check_f ForbiddenInterRATs_constraint;
5
+jer_type_encoder_f ForbiddenInterRATs_encode_jer;
6
 per_type_decoder_f ForbiddenInterRATs_decode_aper;
7
 per_type_encoder_f ForbiddenInterRATs_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_GNB-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_GNB-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_GNB_ID_free;
3
 asn_struct_print_f S1AP_GNB_ID_print;
4
 asn_constr_check_f S1AP_GNB_ID_constraint;
5
+jer_type_encoder_f S1AP_GNB_ID_encode_jer;
6
 per_type_decoder_f S1AP_GNB_ID_decode_aper;
7
 per_type_encoder_f S1AP_GNB_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_GTP-TEID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_GTP-TEID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_GTP_TEID_free;
3
 asn_struct_print_f S1AP_GTP_TEID_print;
4
 asn_constr_check_f S1AP_GTP_TEID_constraint;
5
+jer_type_encoder_f S1AP_GTP_TEID_encode_jer;
6
 per_type_decoder_f S1AP_GTP_TEID_decode_aper;
7
 per_type_encoder_f S1AP_GTP_TEID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_GUMMEIType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_GUMMEIType.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f S1AP_GUMMEIType_free;
3
 asn_struct_print_f S1AP_GUMMEIType_print;
4
 asn_constr_check_f S1AP_GUMMEIType_constraint;
5
+jer_type_encoder_f S1AP_GUMMEIType_encode_jer;
6
 per_type_decoder_f S1AP_GUMMEIType_decode_aper;
7
 per_type_encoder_f S1AP_GUMMEIType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_GWContextReleaseIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_GWContextReleaseIndication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_GWContextReleaseIndication_free;
3
 asn_struct_print_f S1AP_GWContextReleaseIndication_print;
4
 asn_constr_check_f S1AP_GWContextReleaseIndication_constraint;
5
+jer_type_encoder_f S1AP_GWContextReleaseIndication_encode_jer;
6
 per_type_decoder_f S1AP_GWContextReleaseIndication_decode_aper;
7
 per_type_encoder_f S1AP_GWContextReleaseIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_HFN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_HFN.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_HFN_free;
3
 asn_struct_print_f S1AP_HFN_print;
4
 asn_constr_check_f S1AP_HFN_constraint;
5
+jer_type_encoder_f S1AP_HFN_encode_jer;
6
 per_type_decoder_f S1AP_HFN_decode_aper;
7
 per_type_encoder_f S1AP_HFN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_HFNModified.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_HFNModified.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_HFNModified_free;
3
 asn_struct_print_f S1AP_HFNModified_print;
4
 asn_constr_check_f S1AP_HFNModified_constraint;
5
+jer_type_encoder_f S1AP_HFNModified_encode_jer;
6
 per_type_decoder_f S1AP_HFNModified_decode_aper;
7
 per_type_encoder_f S1AP_HFNModified_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_HFNforPDCP-SNlength18.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_HFNforPDCP-SNlength18.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_HFNforPDCP_SNlength18_free;
3
 asn_struct_print_f S1AP_HFNforPDCP_SNlength18_print;
4
 asn_constr_check_f S1AP_HFNforPDCP_SNlength18_constraint;
5
+jer_type_encoder_f S1AP_HFNforPDCP_SNlength18_encode_jer;
6
 per_type_decoder_f S1AP_HFNforPDCP_SNlength18_decode_aper;
7
 per_type_encoder_f S1AP_HFNforPDCP_SNlength18_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_HandoverFlag.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_HandoverFlag.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_HandoverFlag_free;
3
 asn_struct_print_f S1AP_HandoverFlag_print;
4
 asn_constr_check_f S1AP_HandoverFlag_constraint;
5
+jer_type_encoder_f S1AP_HandoverFlag_encode_jer;
6
 per_type_decoder_f S1AP_HandoverFlag_decode_aper;
7
 per_type_encoder_f S1AP_HandoverFlag_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_HandoverType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_HandoverType.h Changed
9
 
1
@@ -40,6 +40,7 @@
2
 asn_struct_free_f S1AP_HandoverType_free;
3
 asn_struct_print_f S1AP_HandoverType_print;
4
 asn_constr_check_f S1AP_HandoverType_constraint;
5
+jer_type_encoder_f S1AP_HandoverType_encode_jer;
6
 per_type_decoder_f S1AP_HandoverType_decode_aper;
7
 per_type_encoder_f S1AP_HandoverType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_IAB-Authorized.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_IAB-Authorized.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_IAB_Authorized_free;
3
 asn_struct_print_f S1AP_IAB_Authorized_print;
4
 asn_constr_check_f S1AP_IAB_Authorized_constraint;
5
+jer_type_encoder_f S1AP_IAB_Authorized_encode_jer;
6
 per_type_decoder_f S1AP_IAB_Authorized_decode_aper;
7
 per_type_encoder_f S1AP_IAB_Authorized_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_IAB-Node-Indication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_IAB-Node-Indication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_IAB_Node_Indication_free;
3
 asn_struct_print_f S1AP_IAB_Node_Indication_print;
4
 asn_constr_check_f S1AP_IAB_Node_Indication_constraint;
5
+jer_type_encoder_f S1AP_IAB_Node_Indication_encode_jer;
6
 per_type_decoder_f S1AP_IAB_Node_Indication_decode_aper;
7
 per_type_encoder_f S1AP_IAB_Node_Indication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_IAB-Supported.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_IAB-Supported.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_IAB_Supported_free;
3
 asn_struct_print_f S1AP_IAB_Supported_print;
4
 asn_constr_check_f S1AP_IAB_Supported_constraint;
5
+jer_type_encoder_f S1AP_IAB_Supported_encode_jer;
6
 per_type_decoder_f S1AP_IAB_Supported_decode_aper;
7
 per_type_encoder_f S1AP_IAB_Supported_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_IMSI.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_IMSI.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_IMSI_free;
3
 asn_struct_print_f S1AP_IMSI_print;
4
 asn_constr_check_f S1AP_IMSI_constraint;
5
+jer_type_encoder_f S1AP_IMSI_encode_jer;
6
 per_type_decoder_f S1AP_IMSI_decode_aper;
7
 per_type_encoder_f S1AP_IMSI_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_IMSvoiceEPSfallbackfrom5G.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_IMSvoiceEPSfallbackfrom5G.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_IMSvoiceEPSfallbackfrom5G_free;
3
 asn_struct_print_f S1AP_IMSvoiceEPSfallbackfrom5G_print;
4
 asn_constr_check_f S1AP_IMSvoiceEPSfallbackfrom5G_constraint;
5
+jer_type_encoder_f S1AP_IMSvoiceEPSfallbackfrom5G_encode_jer;
6
 per_type_decoder_f S1AP_IMSvoiceEPSfallbackfrom5G_decode_aper;
7
 per_type_encoder_f S1AP_IMSvoiceEPSfallbackfrom5G_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_IntegrityProtectionAlgorithms.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_IntegrityProtectionAlgorithms.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_IntegrityProtectionAlgorithms_free;
3
 asn_struct_print_f S1AP_IntegrityProtectionAlgorithms_print;
4
 asn_constr_check_f S1AP_IntegrityProtectionAlgorithms_constraint;
5
+jer_type_encoder_f S1AP_IntegrityProtectionAlgorithms_encode_jer;
6
 per_type_decoder_f S1AP_IntegrityProtectionAlgorithms_decode_aper;
7
 per_type_encoder_f S1AP_IntegrityProtectionAlgorithms_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_IntendedNumberOfPagingAttempts.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_IntendedNumberOfPagingAttempts.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_IntendedNumberOfPagingAttempts_free;
3
 asn_struct_print_f S1AP_IntendedNumberOfPagingAttempts_print;
4
 asn_constr_check_f S1AP_IntendedNumberOfPagingAttempts_constraint;
5
+jer_type_encoder_f S1AP_IntendedNumberOfPagingAttempts_encode_jer;
6
 per_type_decoder_f S1AP_IntendedNumberOfPagingAttempts_decode_aper;
7
 per_type_encoder_f S1AP_IntendedNumberOfPagingAttempts_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_InterfacesToTrace.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_InterfacesToTrace.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_InterfacesToTrace_free;
3
 asn_struct_print_f S1AP_InterfacesToTrace_print;
4
 asn_constr_check_f S1AP_InterfacesToTrace_constraint;
5
+jer_type_encoder_f S1AP_InterfacesToTrace_encode_jer;
6
 per_type_decoder_f S1AP_InterfacesToTrace_decode_aper;
7
 per_type_encoder_f S1AP_InterfacesToTrace_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_IntersystemSONConfigurationTransfer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_IntersystemSONConfigurationTransfer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_IntersystemSONConfigurationTransfer_free;
3
 asn_struct_print_f S1AP_IntersystemSONConfigurationTransfer_print;
4
 asn_constr_check_f S1AP_IntersystemSONConfigurationTransfer_constraint;
5
+jer_type_encoder_f S1AP_IntersystemSONConfigurationTransfer_encode_jer;
6
 per_type_decoder_f S1AP_IntersystemSONConfigurationTransfer_decode_aper;
7
 per_type_encoder_f S1AP_IntersystemSONConfigurationTransfer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_KillAllWarningMessages.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_KillAllWarningMessages.h Changed
9
 
1
@@ -31,6 +31,7 @@
2
 asn_struct_free_f S1AP_KillAllWarningMessages_free;
3
 asn_struct_print_f S1AP_KillAllWarningMessages_print;
4
 asn_constr_check_f S1AP_KillAllWarningMessages_constraint;
5
+jer_type_encoder_f S1AP_KillAllWarningMessages_encode_jer;
6
 per_type_decoder_f S1AP_KillAllWarningMessages_decode_aper;
7
 per_type_encoder_f S1AP_KillAllWarningMessages_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_L3-Information.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_L3-Information.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_L3_Information_free;
3
 asn_struct_print_f S1AP_L3_Information_print;
4
 asn_constr_check_f S1AP_L3_Information_constraint;
5
+jer_type_encoder_f S1AP_L3_Information_encode_jer;
6
 per_type_decoder_f S1AP_L3_Information_decode_aper;
7
 per_type_encoder_f S1AP_L3_Information_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_LAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_LAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_LAC_free;
3
 asn_struct_print_f S1AP_LAC_print;
4
 asn_constr_check_f S1AP_LAC_constraint;
5
+jer_type_encoder_f S1AP_LAC_encode_jer;
6
 per_type_decoder_f S1AP_LAC_decode_aper;
7
 per_type_encoder_f S1AP_LAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_LHN-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_LHN-ID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_LHN_ID_free;
3
 asn_struct_print_f S1AP_LHN_ID_print;
4
 asn_constr_check_f S1AP_LHN_ID_constraint;
5
+jer_type_encoder_f S1AP_LHN_ID_encode_jer;
6
 per_type_decoder_f S1AP_LHN_ID_decode_aper;
7
 per_type_encoder_f S1AP_LHN_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_LPPa-PDU.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_LPPa-PDU.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_LPPa_PDU_free;
3
 asn_struct_print_f S1AP_LPPa_PDU_print;
4
 asn_constr_check_f S1AP_LPPa_PDU_constraint;
5
+jer_type_encoder_f S1AP_LPPa_PDU_encode_jer;
6
 per_type_decoder_f S1AP_LPPa_PDU_decode_aper;
7
 per_type_encoder_f S1AP_LPPa_PDU_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_LTE-M-Indication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_LTE-M-Indication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_LTE_M_Indication_free;
3
 asn_struct_print_f S1AP_LTE_M_Indication_print;
4
 asn_constr_check_f S1AP_LTE_M_Indication_constraint;
5
+jer_type_encoder_f S1AP_LTE_M_Indication_encode_jer;
6
 per_type_decoder_f S1AP_LTE_M_Indication_decode_aper;
7
 per_type_encoder_f S1AP_LTE_M_Indication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_LastVisitedNGRANCellInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_LastVisitedNGRANCellInformation.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_LastVisitedNGRANCellInformation_free;
3
 asn_struct_print_f S1AP_LastVisitedNGRANCellInformation_print;
4
 asn_constr_check_f S1AP_LastVisitedNGRANCellInformation_constraint;
5
+jer_type_encoder_f S1AP_LastVisitedNGRANCellInformation_encode_jer;
6
 per_type_decoder_f S1AP_LastVisitedNGRANCellInformation_decode_aper;
7
 per_type_encoder_f S1AP_LastVisitedNGRANCellInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_LastVisitedUTRANCellInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_LastVisitedUTRANCellInformation.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_LastVisitedUTRANCellInformation_free;
3
 asn_struct_print_f S1AP_LastVisitedUTRANCellInformation_print;
4
 asn_constr_check_f S1AP_LastVisitedUTRANCellInformation_constraint;
5
+jer_type_encoder_f S1AP_LastVisitedUTRANCellInformation_encode_jer;
6
 per_type_decoder_f S1AP_LastVisitedUTRANCellInformation_decode_aper;
7
 per_type_encoder_f S1AP_LastVisitedUTRANCellInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Links-to-log.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Links-to-log.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f Links_to_log_free;
3
 asn_struct_print_f Links_to_log_print;
4
 asn_constr_check_f Links_to_log_constraint;
5
+jer_type_encoder_f Links_to_log_encode_jer;
6
 per_type_decoder_f Links_to_log_decode_aper;
7
 per_type_encoder_f Links_to_log_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_LoggingDuration.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_LoggingDuration.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f LoggingDuration_free;
3
 asn_struct_print_f LoggingDuration_print;
4
 asn_constr_check_f LoggingDuration_constraint;
5
+jer_type_encoder_f LoggingDuration_encode_jer;
6
 per_type_decoder_f LoggingDuration_decode_aper;
7
 per_type_encoder_f LoggingDuration_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_LoggingInterval.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_LoggingInterval.h Changed
9
 
1
@@ -40,6 +40,7 @@
2
 asn_struct_free_f LoggingInterval_free;
3
 asn_struct_print_f LoggingInterval_print;
4
 asn_constr_check_f LoggingInterval_constraint;
5
+jer_type_encoder_f LoggingInterval_encode_jer;
6
 per_type_decoder_f LoggingInterval_decode_aper;
7
 per_type_encoder_f LoggingInterval_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_M-TMSI.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_M-TMSI.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_M_TMSI_free;
3
 asn_struct_print_f S1AP_M_TMSI_print;
4
 asn_constr_check_f S1AP_M_TMSI_constraint;
5
+jer_type_encoder_f S1AP_M_TMSI_encode_jer;
6
 per_type_decoder_f S1AP_M_TMSI_decode_aper;
7
 per_type_encoder_f S1AP_M_TMSI_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_M1ReportingTrigger.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_M1ReportingTrigger.h Changed
9
 
1
@@ -38,6 +38,7 @@
2
 asn_struct_free_f M1ReportingTrigger_free;
3
 asn_struct_print_f M1ReportingTrigger_print;
4
 asn_constr_check_f M1ReportingTrigger_constraint;
5
+jer_type_encoder_f M1ReportingTrigger_encode_jer;
6
 per_type_decoder_f M1ReportingTrigger_decode_aper;
7
 per_type_encoder_f M1ReportingTrigger_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_M3period.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_M3period.h Changed
9
 
1
@@ -45,6 +45,7 @@
2
 asn_struct_free_f M3period_free;
3
 asn_struct_print_f M3period_print;
4
 asn_constr_check_f M3period_constraint;
5
+jer_type_encoder_f M3period_encode_jer;
6
 per_type_decoder_f M3period_decode_aper;
7
 per_type_encoder_f M3period_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_M4period.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_M4period.h Changed
9
 
1
@@ -40,6 +40,7 @@
2
 asn_struct_free_f M4period_free;
3
 asn_struct_print_f M4period_print;
4
 asn_constr_check_f M4period_constraint;
5
+jer_type_encoder_f M4period_encode_jer;
6
 per_type_decoder_f M4period_decode_aper;
7
 per_type_encoder_f M4period_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_M5period.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_M5period.h Changed
9
 
1
@@ -40,6 +40,7 @@
2
 asn_struct_free_f M5period_free;
3
 asn_struct_print_f M5period_print;
4
 asn_constr_check_f M5period_constraint;
5
+jer_type_encoder_f M5period_encode_jer;
6
 per_type_decoder_f M5period_decode_aper;
7
 per_type_encoder_f M5period_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_M6delay-threshold.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_M6delay-threshold.h Changed
9
 
1
@@ -47,6 +47,7 @@
2
 asn_struct_free_f M6delay_threshold_free;
3
 asn_struct_print_f M6delay_threshold_print;
4
 asn_constr_check_f M6delay_threshold_constraint;
5
+jer_type_encoder_f M6delay_threshold_encode_jer;
6
 per_type_decoder_f M6delay_threshold_decode_aper;
7
 per_type_encoder_f M6delay_threshold_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_M6report-Interval.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_M6report-Interval.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f M6report_Interval_free;
3
 asn_struct_print_f M6report_Interval_print;
4
 asn_constr_check_f M6report_Interval_constraint;
5
+jer_type_encoder_f M6report_Interval_encode_jer;
6
 per_type_decoder_f M6report_Interval_decode_aper;
7
 per_type_encoder_f M6report_Interval_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_M7period.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_M7period.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_M7period_free;
3
 asn_struct_print_f S1AP_M7period_print;
4
 asn_constr_check_f S1AP_M7period_constraint;
5
+jer_type_encoder_f S1AP_M7period_encode_jer;
6
 per_type_decoder_f S1AP_M7period_decode_aper;
7
 per_type_encoder_f S1AP_M7period_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MDT-Activation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MDT-Activation.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f MDT_Activation_free;
3
 asn_struct_print_f MDT_Activation_print;
4
 asn_constr_check_f MDT_Activation_constraint;
5
+jer_type_encoder_f MDT_Activation_encode_jer;
6
 per_type_decoder_f MDT_Activation_decode_aper;
7
 per_type_encoder_f MDT_Activation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MDT-ConfigurationNR.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MDT-ConfigurationNR.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_MDT_ConfigurationNR_free;
3
 asn_struct_print_f S1AP_MDT_ConfigurationNR_print;
4
 asn_constr_check_f S1AP_MDT_ConfigurationNR_constraint;
5
+jer_type_encoder_f S1AP_MDT_ConfigurationNR_encode_jer;
6
 per_type_decoder_f S1AP_MDT_ConfigurationNR_decode_aper;
7
 per_type_encoder_f S1AP_MDT_ConfigurationNR_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MDT-Location-Info.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MDT-Location-Info.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_MDT_Location_Info_free;
3
 asn_struct_print_f S1AP_MDT_Location_Info_print;
4
 asn_constr_check_f S1AP_MDT_Location_Info_constraint;
5
+jer_type_encoder_f S1AP_MDT_Location_Info_encode_jer;
6
 per_type_decoder_f S1AP_MDT_Location_Info_decode_aper;
7
 per_type_encoder_f S1AP_MDT_Location_Info_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MDTMode-Extension.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MDTMode-Extension.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_MDTMode_Extension_free;
3
 asn_struct_print_f S1AP_MDTMode_Extension_print;
4
 asn_constr_check_f S1AP_MDTMode_Extension_constraint;
5
+jer_type_encoder_f S1AP_MDTMode_Extension_encode_jer;
6
 per_type_decoder_f S1AP_MDTMode_Extension_decode_aper;
7
 per_type_encoder_f S1AP_MDTMode_Extension_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MME-Code.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MME-Code.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_MME_Code_free;
3
 asn_struct_print_f S1AP_MME_Code_print;
4
 asn_constr_check_f S1AP_MME_Code_constraint;
5
+jer_type_encoder_f S1AP_MME_Code_encode_jer;
6
 per_type_decoder_f S1AP_MME_Code_decode_aper;
7
 per_type_encoder_f S1AP_MME_Code_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MME-Group-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MME-Group-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_MME_Group_ID_free;
3
 asn_struct_print_f S1AP_MME_Group_ID_print;
4
 asn_constr_check_f S1AP_MME_Group_ID_constraint;
5
+jer_type_encoder_f S1AP_MME_Group_ID_encode_jer;
6
 per_type_decoder_f S1AP_MME_Group_ID_decode_aper;
7
 per_type_encoder_f S1AP_MME_Group_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MME-UE-S1AP-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MME-UE-S1AP-ID.h Changed
9
 
1
@@ -28,6 +28,7 @@
2
 asn_struct_free_f MME_UE_S1AP_ID_free;
3
 asn_struct_print_f MME_UE_S1AP_ID_print;
4
 asn_constr_check_f MME_UE_S1AP_ID_constraint;
5
+jer_type_encoder_f MME_UE_S1AP_ID_encode_jer;
6
 per_type_decoder_f MME_UE_S1AP_ID_decode_aper;
7
 per_type_encoder_f MME_UE_S1AP_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MMERelaySupportIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MMERelaySupportIndicator.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_MMERelaySupportIndicator_free;
3
 asn_struct_print_f S1AP_MMERelaySupportIndicator_print;
4
 asn_constr_check_f S1AP_MMERelaySupportIndicator_constraint;
5
+jer_type_encoder_f S1AP_MMERelaySupportIndicator_encode_jer;
6
 per_type_decoder_f S1AP_MMERelaySupportIndicator_decode_aper;
7
 per_type_encoder_f S1AP_MMERelaySupportIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MMEname.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MMEname.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_MMEname_free;
3
 asn_struct_print_f S1AP_MMEname_print;
4
 asn_constr_check_f S1AP_MMEname_constraint;
5
+jer_type_encoder_f S1AP_MMEname_encode_jer;
6
 per_type_decoder_f S1AP_MMEname_decode_aper;
7
 per_type_encoder_f S1AP_MMEname_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MSClassmark2.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MSClassmark2.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_MSClassmark2_free;
3
 asn_struct_print_f S1AP_MSClassmark2_print;
4
 asn_constr_check_f S1AP_MSClassmark2_constraint;
5
+jer_type_encoder_f S1AP_MSClassmark2_encode_jer;
6
 per_type_decoder_f S1AP_MSClassmark2_decode_aper;
7
 per_type_encoder_f S1AP_MSClassmark2_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MSClassmark3.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MSClassmark3.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_MSClassmark3_free;
3
 asn_struct_print_f S1AP_MSClassmark3_print;
4
 asn_constr_check_f S1AP_MSClassmark3_constraint;
5
+jer_type_encoder_f S1AP_MSClassmark3_encode_jer;
6
 per_type_decoder_f S1AP_MSClassmark3_decode_aper;
7
 per_type_encoder_f S1AP_MSClassmark3_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ManagementBasedMDTAllowed.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ManagementBasedMDTAllowed.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_ManagementBasedMDTAllowed_free;
3
 asn_struct_print_f S1AP_ManagementBasedMDTAllowed_print;
4
 asn_constr_check_f S1AP_ManagementBasedMDTAllowed_constraint;
5
+jer_type_encoder_f S1AP_ManagementBasedMDTAllowed_encode_jer;
6
 per_type_decoder_f S1AP_ManagementBasedMDTAllowed_decode_aper;
7
 per_type_encoder_f S1AP_ManagementBasedMDTAllowed_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Masked-IMEISV.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Masked-IMEISV.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Masked_IMEISV_free;
3
 asn_struct_print_f S1AP_Masked_IMEISV_print;
4
 asn_constr_check_f S1AP_Masked_IMEISV_constraint;
5
+jer_type_encoder_f S1AP_Masked_IMEISV_encode_jer;
6
 per_type_decoder_f S1AP_Masked_IMEISV_decode_aper;
7
 per_type_encoder_f S1AP_Masked_IMEISV_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MeasurementsToActivate.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MeasurementsToActivate.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_MeasurementsToActivate_free;
3
 asn_struct_print_f S1AP_MeasurementsToActivate_print;
4
 asn_constr_check_f S1AP_MeasurementsToActivate_constraint;
5
+jer_type_encoder_f S1AP_MeasurementsToActivate_encode_jer;
6
 per_type_decoder_f S1AP_MeasurementsToActivate_decode_aper;
7
 per_type_encoder_f S1AP_MeasurementsToActivate_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MessageIdentifier.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MessageIdentifier.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_MessageIdentifier_free;
3
 asn_struct_print_f S1AP_MessageIdentifier_print;
4
 asn_constr_check_f S1AP_MessageIdentifier_constraint;
5
+jer_type_encoder_f S1AP_MessageIdentifier_encode_jer;
6
 per_type_decoder_f S1AP_MessageIdentifier_decode_aper;
7
 per_type_encoder_f S1AP_MessageIdentifier_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MobilityInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MobilityInformation.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_MobilityInformation_free;
3
 asn_struct_print_f S1AP_MobilityInformation_print;
4
 asn_constr_check_f S1AP_MobilityInformation_constraint;
5
+jer_type_encoder_f S1AP_MobilityInformation_encode_jer;
6
 per_type_decoder_f S1AP_MobilityInformation_decode_aper;
7
 per_type_encoder_f S1AP_MobilityInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_MutingAvailabilityIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_MutingAvailabilityIndication.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_MutingAvailabilityIndication_free;
3
 asn_struct_print_f S1AP_MutingAvailabilityIndication_print;
4
 asn_constr_check_f S1AP_MutingAvailabilityIndication_constraint;
5
+jer_type_encoder_f S1AP_MutingAvailabilityIndication_encode_jer;
6
 per_type_decoder_f S1AP_MutingAvailabilityIndication_decode_aper;
7
 per_type_encoder_f S1AP_MutingAvailabilityIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NAS-PDU.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NAS-PDU.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_NAS_PDU_free;
3
 asn_struct_print_f S1AP_NAS_PDU_print;
4
 asn_constr_check_f S1AP_NAS_PDU_constraint;
5
+jer_type_encoder_f S1AP_NAS_PDU_encode_jer;
6
 per_type_decoder_f S1AP_NAS_PDU_decode_aper;
7
 per_type_encoder_f S1AP_NAS_PDU_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NASSecurityParametersfromE-UTRAN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NASSecurityParametersfromE-UTRAN.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_NASSecurityParametersfromE_UTRAN_free;
3
 asn_struct_print_f S1AP_NASSecurityParametersfromE_UTRAN_print;
4
 asn_constr_check_f S1AP_NASSecurityParametersfromE_UTRAN_constraint;
5
+jer_type_encoder_f S1AP_NASSecurityParametersfromE_UTRAN_encode_jer;
6
 per_type_decoder_f S1AP_NASSecurityParametersfromE_UTRAN_decode_aper;
7
 per_type_encoder_f S1AP_NASSecurityParametersfromE_UTRAN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NASSecurityParameterstoE-UTRAN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NASSecurityParameterstoE-UTRAN.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_NASSecurityParameterstoE_UTRAN_free;
3
 asn_struct_print_f S1AP_NASSecurityParameterstoE_UTRAN_print;
4
 asn_constr_check_f S1AP_NASSecurityParameterstoE_UTRAN_constraint;
5
+jer_type_encoder_f S1AP_NASSecurityParameterstoE_UTRAN_encode_jer;
6
 per_type_decoder_f S1AP_NASSecurityParameterstoE_UTRAN_decode_aper;
7
 per_type_encoder_f S1AP_NASSecurityParameterstoE_UTRAN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-DefaultPagingDRX.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-DefaultPagingDRX.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f S1AP_NB_IoT_DefaultPagingDRX_free;
3
 asn_struct_print_f S1AP_NB_IoT_DefaultPagingDRX_print;
4
 asn_constr_check_f S1AP_NB_IoT_DefaultPagingDRX_constraint;
5
+jer_type_encoder_f S1AP_NB_IoT_DefaultPagingDRX_encode_jer;
6
 per_type_decoder_f S1AP_NB_IoT_DefaultPagingDRX_decode_aper;
7
 per_type_encoder_f S1AP_NB_IoT_DefaultPagingDRX_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-Paging-eDRX-Cycle.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-Paging-eDRX-Cycle.h Changed
9
 
1
@@ -49,6 +49,7 @@
2
 asn_struct_free_f NB_IoT_Paging_eDRX_Cycle_free;
3
 asn_struct_print_f NB_IoT_Paging_eDRX_Cycle_print;
4
 asn_constr_check_f NB_IoT_Paging_eDRX_Cycle_constraint;
5
+jer_type_encoder_f NB_IoT_Paging_eDRX_Cycle_encode_jer;
6
 per_type_decoder_f NB_IoT_Paging_eDRX_Cycle_decode_aper;
7
 per_type_encoder_f NB_IoT_Paging_eDRX_Cycle_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-PagingDRX.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-PagingDRX.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f S1AP_NB_IoT_PagingDRX_free;
3
 asn_struct_print_f S1AP_NB_IoT_PagingDRX_print;
4
 asn_constr_check_f S1AP_NB_IoT_PagingDRX_constraint;
5
+jer_type_encoder_f S1AP_NB_IoT_PagingDRX_encode_jer;
6
 per_type_decoder_f S1AP_NB_IoT_PagingDRX_decode_aper;
7
 per_type_encoder_f S1AP_NB_IoT_PagingDRX_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-PagingTimeWindow.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-PagingTimeWindow.h Changed
9
 
1
@@ -51,6 +51,7 @@
2
 asn_struct_free_f NB_IoT_PagingTimeWindow_free;
3
 asn_struct_print_f NB_IoT_PagingTimeWindow_print;
4
 asn_constr_check_f NB_IoT_PagingTimeWindow_constraint;
5
+jer_type_encoder_f NB_IoT_PagingTimeWindow_encode_jer;
6
 per_type_decoder_f NB_IoT_PagingTimeWindow_decode_aper;
7
 per_type_encoder_f NB_IoT_PagingTimeWindow_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-RLF-Report-Container.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-RLF-Report-Container.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_NB_IoT_RLF_Report_Container_free;
3
 asn_struct_print_f S1AP_NB_IoT_RLF_Report_Container_print;
4
 asn_constr_check_f S1AP_NB_IoT_RLF_Report_Container_constraint;
5
+jer_type_encoder_f S1AP_NB_IoT_RLF_Report_Container_encode_jer;
6
 per_type_decoder_f S1AP_NB_IoT_RLF_Report_Container_decode_aper;
7
 per_type_encoder_f S1AP_NB_IoT_RLF_Report_Container_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-UEIdentityIndexValue.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NB-IoT-UEIdentityIndexValue.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_NB_IoT_UEIdentityIndexValue_free;
3
 asn_struct_print_f S1AP_NB_IoT_UEIdentityIndexValue_print;
4
 asn_constr_check_f S1AP_NB_IoT_UEIdentityIndexValue_constraint;
5
+jer_type_encoder_f S1AP_NB_IoT_UEIdentityIndexValue_encode_jer;
6
 per_type_decoder_f S1AP_NB_IoT_UEIdentityIndexValue_decode_aper;
7
 per_type_encoder_f S1AP_NB_IoT_UEIdentityIndexValue_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NRCellIdentity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NRCellIdentity.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_NRCellIdentity_free;
3
 asn_struct_print_f S1AP_NRCellIdentity_print;
4
 asn_constr_check_f S1AP_NRCellIdentity_constraint;
5
+jer_type_encoder_f S1AP_NRCellIdentity_encode_jer;
6
 per_type_decoder_f S1AP_NRCellIdentity_decode_aper;
7
 per_type_encoder_f S1AP_NRCellIdentity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NRencryptionAlgorithms.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NRencryptionAlgorithms.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_NRencryptionAlgorithms_free;
3
 asn_struct_print_f S1AP_NRencryptionAlgorithms_print;
4
 asn_constr_check_f S1AP_NRencryptionAlgorithms_constraint;
5
+jer_type_encoder_f S1AP_NRencryptionAlgorithms_encode_jer;
6
 per_type_decoder_f S1AP_NRencryptionAlgorithms_decode_aper;
7
 per_type_encoder_f S1AP_NRencryptionAlgorithms_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NRintegrityProtectionAlgorithms.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NRintegrityProtectionAlgorithms.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_NRintegrityProtectionAlgorithms_free;
3
 asn_struct_print_f S1AP_NRintegrityProtectionAlgorithms_print;
4
 asn_constr_check_f S1AP_NRintegrityProtectionAlgorithms_constraint;
5
+jer_type_encoder_f S1AP_NRintegrityProtectionAlgorithms_encode_jer;
6
 per_type_decoder_f S1AP_NRintegrityProtectionAlgorithms_decode_aper;
7
 per_type_encoder_f S1AP_NRintegrityProtectionAlgorithms_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NRrestrictionin5GS.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NRrestrictionin5GS.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_NRrestrictionin5GS_free;
3
 asn_struct_print_f S1AP_NRrestrictionin5GS_print;
4
 asn_constr_check_f S1AP_NRrestrictionin5GS_constraint;
5
+jer_type_encoder_f S1AP_NRrestrictionin5GS_encode_jer;
6
 per_type_decoder_f S1AP_NRrestrictionin5GS_decode_aper;
7
 per_type_encoder_f S1AP_NRrestrictionin5GS_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NRrestrictioninEPSasSecondaryRAT.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NRrestrictioninEPSasSecondaryRAT.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_NRrestrictioninEPSasSecondaryRAT_free;
3
 asn_struct_print_f S1AP_NRrestrictioninEPSasSecondaryRAT_print;
4
 asn_constr_check_f S1AP_NRrestrictioninEPSasSecondaryRAT_constraint;
5
+jer_type_encoder_f S1AP_NRrestrictioninEPSasSecondaryRAT_encode_jer;
6
 per_type_decoder_f S1AP_NRrestrictioninEPSasSecondaryRAT_decode_aper;
7
 per_type_encoder_f S1AP_NRrestrictioninEPSasSecondaryRAT_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NextPagingAreaScope.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NextPagingAreaScope.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f NextPagingAreaScope_free;
3
 asn_struct_print_f NextPagingAreaScope_print;
4
 asn_constr_check_f NextPagingAreaScope_constraint;
5
+jer_type_encoder_f NextPagingAreaScope_encode_jer;
6
 per_type_decoder_f NextPagingAreaScope_decode_aper;
7
 per_type_encoder_f NextPagingAreaScope_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NotifySourceeNB.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NotifySourceeNB.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_NotifySourceeNB_free;
3
 asn_struct_print_f S1AP_NotifySourceeNB_print;
4
 asn_constr_check_f S1AP_NotifySourceeNB_constraint;
5
+jer_type_encoder_f S1AP_NotifySourceeNB_encode_jer;
6
 per_type_decoder_f S1AP_NotifySourceeNB_decode_aper;
7
 per_type_encoder_f S1AP_NotifySourceeNB_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NumberOfBroadcasts.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NumberOfBroadcasts.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_NumberOfBroadcasts_free;
3
 asn_struct_print_f S1AP_NumberOfBroadcasts_print;
4
 asn_constr_check_f S1AP_NumberOfBroadcasts_constraint;
5
+jer_type_encoder_f S1AP_NumberOfBroadcasts_encode_jer;
6
 per_type_decoder_f S1AP_NumberOfBroadcasts_decode_aper;
7
 per_type_encoder_f S1AP_NumberOfBroadcasts_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_NumberofBroadcastRequest.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_NumberofBroadcastRequest.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_NumberofBroadcastRequest_free;
3
 asn_struct_print_f S1AP_NumberofBroadcastRequest_print;
4
 asn_constr_check_f S1AP_NumberofBroadcastRequest_constraint;
5
+jer_type_encoder_f S1AP_NumberofBroadcastRequest_encode_jer;
6
 per_type_decoder_f S1AP_NumberofBroadcastRequest_decode_aper;
7
 per_type_encoder_f S1AP_NumberofBroadcastRequest_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_OldBSS-ToNewBSS-Information.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_OldBSS-ToNewBSS-Information.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_OldBSS_ToNewBSS_Information_free;
3
 asn_struct_print_f S1AP_OldBSS_ToNewBSS_Information_print;
4
 asn_constr_check_f S1AP_OldBSS_ToNewBSS_Information_constraint;
5
+jer_type_encoder_f S1AP_OldBSS_ToNewBSS_Information_encode_jer;
6
 per_type_decoder_f S1AP_OldBSS_ToNewBSS_Information_decode_aper;
7
 per_type_encoder_f S1AP_OldBSS_ToNewBSS_Information_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_OverloadAction.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_OverloadAction.h Changed
9
 
1
@@ -42,6 +42,7 @@
2
 asn_struct_free_f OverloadAction_free;
3
 asn_struct_print_f OverloadAction_print;
4
 asn_constr_check_f OverloadAction_constraint;
5
+jer_type_encoder_f OverloadAction_encode_jer;
6
 per_type_decoder_f OverloadAction_decode_aper;
7
 per_type_encoder_f OverloadAction_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PDCP-SN.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PDCP-SN.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_PDCP_SN_free;
3
 asn_struct_print_f S1AP_PDCP_SN_print;
4
 asn_constr_check_f S1AP_PDCP_SN_constraint;
5
+jer_type_encoder_f S1AP_PDCP_SN_encode_jer;
6
 per_type_decoder_f S1AP_PDCP_SN_decode_aper;
7
 per_type_encoder_f S1AP_PDCP_SN_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PDCP-SNExtended.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PDCP-SNExtended.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_PDCP_SNExtended_free;
3
 asn_struct_print_f S1AP_PDCP_SNExtended_print;
4
 asn_constr_check_f S1AP_PDCP_SNExtended_constraint;
5
+jer_type_encoder_f S1AP_PDCP_SNExtended_encode_jer;
6
 per_type_decoder_f S1AP_PDCP_SNExtended_decode_aper;
7
 per_type_encoder_f S1AP_PDCP_SNExtended_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PDCP-SNlength18.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PDCP-SNlength18.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_PDCP_SNlength18_free;
3
 asn_struct_print_f S1AP_PDCP_SNlength18_print;
4
 asn_constr_check_f S1AP_PDCP_SNlength18_constraint;
5
+jer_type_encoder_f S1AP_PDCP_SNlength18_encode_jer;
6
 per_type_decoder_f S1AP_PDCP_SNlength18_decode_aper;
7
 per_type_encoder_f S1AP_PDCP_SNlength18_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PLMNidentity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PLMNidentity.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_PLMNidentity_free;
3
 asn_struct_print_f S1AP_PLMNidentity_print;
4
 asn_constr_check_f S1AP_PLMNidentity_constraint;
5
+jer_type_encoder_f S1AP_PLMNidentity_encode_jer;
6
 per_type_decoder_f S1AP_PLMNidentity_decode_aper;
7
 per_type_encoder_f S1AP_PLMNidentity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PS-ServiceNotAvailable.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PS-ServiceNotAvailable.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_PS_ServiceNotAvailable_free;
3
 asn_struct_print_f S1AP_PS_ServiceNotAvailable_print;
4
 asn_constr_check_f S1AP_PS_ServiceNotAvailable_constraint;
5
+jer_type_encoder_f S1AP_PS_ServiceNotAvailable_encode_jer;
6
 per_type_decoder_f S1AP_PS_ServiceNotAvailable_decode_aper;
7
 per_type_encoder_f S1AP_PS_ServiceNotAvailable_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Packet-LossRate.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Packet-LossRate.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Packet_LossRate_free;
3
 asn_struct_print_f S1AP_Packet_LossRate_print;
4
 asn_constr_check_f S1AP_Packet_LossRate_constraint;
5
+jer_type_encoder_f S1AP_Packet_LossRate_encode_jer;
6
 per_type_decoder_f S1AP_Packet_LossRate_decode_aper;
7
 per_type_encoder_f S1AP_Packet_LossRate_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Paging-eDRX-Cycle.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Paging-eDRX-Cycle.h Changed
9
 
1
@@ -49,6 +49,7 @@
2
 asn_struct_free_f Paging_eDRX_Cycle_free;
3
 asn_struct_print_f Paging_eDRX_Cycle_print;
4
 asn_constr_check_f Paging_eDRX_Cycle_constraint;
5
+jer_type_encoder_f Paging_eDRX_Cycle_encode_jer;
6
 per_type_decoder_f Paging_eDRX_Cycle_decode_aper;
7
 per_type_encoder_f Paging_eDRX_Cycle_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PagingAttemptCount.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PagingAttemptCount.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_PagingAttemptCount_free;
3
 asn_struct_print_f S1AP_PagingAttemptCount_print;
4
 asn_constr_check_f S1AP_PagingAttemptCount_constraint;
5
+jer_type_encoder_f S1AP_PagingAttemptCount_encode_jer;
6
 per_type_decoder_f S1AP_PagingAttemptCount_decode_aper;
7
 per_type_encoder_f S1AP_PagingAttemptCount_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PagingDRX.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PagingDRX.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f S1AP_PagingDRX_free;
3
 asn_struct_print_f S1AP_PagingDRX_print;
4
 asn_constr_check_f S1AP_PagingDRX_constraint;
5
+jer_type_encoder_f S1AP_PagingDRX_encode_jer;
6
 per_type_decoder_f S1AP_PagingDRX_decode_aper;
7
 per_type_encoder_f S1AP_PagingDRX_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PagingPriority.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PagingPriority.h Changed
9
 
1
@@ -41,6 +41,7 @@
2
 asn_struct_free_f S1AP_PagingPriority_free;
3
 asn_struct_print_f S1AP_PagingPriority_print;
4
 asn_constr_check_f S1AP_PagingPriority_constraint;
5
+jer_type_encoder_f S1AP_PagingPriority_encode_jer;
6
 per_type_decoder_f S1AP_PagingPriority_decode_aper;
7
 per_type_encoder_f S1AP_PagingPriority_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PagingProbabilityInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PagingProbabilityInformation.h Changed
9
 
1
@@ -56,6 +56,7 @@
2
 asn_struct_free_f PagingProbabilityInformation_free;
3
 asn_struct_print_f PagingProbabilityInformation_print;
4
 asn_constr_check_f PagingProbabilityInformation_constraint;
5
+jer_type_encoder_f PagingProbabilityInformation_encode_jer;
6
 per_type_decoder_f PagingProbabilityInformation_decode_aper;
7
 per_type_encoder_f PagingProbabilityInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PagingTimeWindow.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PagingTimeWindow.h Changed
9
 
1
@@ -51,6 +51,7 @@
2
 asn_struct_free_f PagingTimeWindow_free;
3
 asn_struct_print_f PagingTimeWindow_print;
4
 asn_constr_check_f PagingTimeWindow_constraint;
5
+jer_type_encoder_f PagingTimeWindow_encode_jer;
6
 per_type_decoder_f PagingTimeWindow_decode_aper;
7
 per_type_encoder_f PagingTimeWindow_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PedestrianUE.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PedestrianUE.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f PedestrianUE_free;
3
 asn_struct_print_f PedestrianUE_print;
4
 asn_constr_check_f PedestrianUE_constraint;
5
+jer_type_encoder_f PedestrianUE_encode_jer;
6
 per_type_decoder_f PedestrianUE_decode_aper;
7
 per_type_encoder_f PedestrianUE_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PendingDataIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PendingDataIndication.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_PendingDataIndication_free;
3
 asn_struct_print_f S1AP_PendingDataIndication_print;
4
 asn_constr_check_f S1AP_PendingDataIndication_constraint;
5
+jer_type_encoder_f S1AP_PendingDataIndication_encode_jer;
6
 per_type_decoder_f S1AP_PendingDataIndication_decode_aper;
7
 per_type_encoder_f S1AP_PendingDataIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Port-Number.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Port-Number.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_Port_Number_free;
3
 asn_struct_print_f S1AP_Port_Number_print;
4
 asn_constr_check_f S1AP_Port_Number_constraint;
5
+jer_type_encoder_f S1AP_Port_Number_encode_jer;
6
 per_type_decoder_f S1AP_Port_Number_decode_aper;
7
 per_type_encoder_f S1AP_Port_Number_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Pre-emptionCapability.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Pre-emptionCapability.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f Pre_emptionCapability_free;
3
 asn_struct_print_f Pre_emptionCapability_print;
4
 asn_constr_check_f Pre_emptionCapability_constraint;
5
+jer_type_encoder_f Pre_emptionCapability_encode_jer;
6
 per_type_decoder_f Pre_emptionCapability_decode_aper;
7
 per_type_encoder_f Pre_emptionCapability_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Pre-emptionVulnerability.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Pre-emptionVulnerability.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f Pre_emptionVulnerability_free;
3
 asn_struct_print_f Pre_emptionVulnerability_print;
4
 asn_constr_check_f Pre_emptionVulnerability_constraint;
5
+jer_type_encoder_f Pre_emptionVulnerability_encode_jer;
6
 per_type_decoder_f Pre_emptionVulnerability_decode_aper;
7
 per_type_encoder_f Pre_emptionVulnerability_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Presence.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Presence.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f Presence_free;
3
 asn_struct_print_f Presence_print;
4
 asn_constr_check_f Presence_constraint;
5
+jer_type_encoder_f Presence_encode_jer;
6
 per_type_decoder_f Presence_decode_aper;
7
 per_type_encoder_f Presence_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PriorityLevel.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PriorityLevel.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_PriorityLevel_free;
3
 asn_struct_print_f S1AP_PriorityLevel_print;
4
 asn_constr_check_f S1AP_PriorityLevel_constraint;
5
+jer_type_encoder_f S1AP_PriorityLevel_encode_jer;
6
 per_type_decoder_f S1AP_PriorityLevel_decode_aper;
7
 per_type_encoder_f S1AP_PriorityLevel_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_PrivacyIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_PrivacyIndicator.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_PrivacyIndicator_free;
3
 asn_struct_print_f S1AP_PrivacyIndicator_print;
4
 asn_constr_check_f S1AP_PrivacyIndicator_constraint;
5
+jer_type_encoder_f S1AP_PrivacyIndicator_encode_jer;
6
 per_type_decoder_f S1AP_PrivacyIndicator_decode_aper;
7
 per_type_encoder_f S1AP_PrivacyIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ProSeDirectCommunication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ProSeDirectCommunication.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f ProSeDirectCommunication_free;
3
 asn_struct_print_f ProSeDirectCommunication_print;
4
 asn_constr_check_f ProSeDirectCommunication_constraint;
5
+jer_type_encoder_f ProSeDirectCommunication_encode_jer;
6
 per_type_decoder_f ProSeDirectCommunication_decode_aper;
7
 per_type_encoder_f ProSeDirectCommunication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ProSeDirectDiscovery.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ProSeDirectDiscovery.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f ProSeDirectDiscovery_free;
3
 asn_struct_print_f ProSeDirectDiscovery_print;
4
 asn_constr_check_f ProSeDirectDiscovery_constraint;
5
+jer_type_encoder_f ProSeDirectDiscovery_encode_jer;
6
 per_type_decoder_f ProSeDirectDiscovery_decode_aper;
7
 per_type_encoder_f ProSeDirectDiscovery_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ProSeUEtoNetworkRelaying.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ProSeUEtoNetworkRelaying.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_ProSeUEtoNetworkRelaying_free;
3
 asn_struct_print_f S1AP_ProSeUEtoNetworkRelaying_print;
4
 asn_constr_check_f S1AP_ProSeUEtoNetworkRelaying_constraint;
5
+jer_type_encoder_f S1AP_ProSeUEtoNetworkRelaying_encode_jer;
6
 per_type_decoder_f S1AP_ProSeUEtoNetworkRelaying_decode_aper;
7
 per_type_encoder_f S1AP_ProSeUEtoNetworkRelaying_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ProcedureCode.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ProcedureCode.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_ProcedureCode_free;
3
 asn_struct_print_f S1AP_ProcedureCode_print;
4
 asn_constr_check_f S1AP_ProcedureCode_constraint;
5
+jer_type_encoder_f S1AP_ProcedureCode_encode_jer;
6
 per_type_decoder_f S1AP_ProcedureCode_decode_aper;
7
 per_type_encoder_f S1AP_ProcedureCode_encode_aper;
8
 #define S1AP_ProcedureCode_id_HandoverPreparation  ((S1AP_ProcedureCode_t)0)
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ProtocolExtensionID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ProtocolExtensionID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_ProtocolExtensionID_free;
3
 asn_struct_print_f S1AP_ProtocolExtensionID_print;
4
 asn_constr_check_f S1AP_ProtocolExtensionID_constraint;
5
+jer_type_encoder_f S1AP_ProtocolExtensionID_encode_jer;
6
 per_type_decoder_f S1AP_ProtocolExtensionID_decode_aper;
7
 per_type_encoder_f S1AP_ProtocolExtensionID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ProtocolIE-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ProtocolIE-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_ProtocolIE_ID_free;
3
 asn_struct_print_f S1AP_ProtocolIE_ID_print;
4
 asn_constr_check_f S1AP_ProtocolIE_ID_constraint;
5
+jer_type_encoder_f S1AP_ProtocolIE_ID_encode_jer;
6
 per_type_decoder_f S1AP_ProtocolIE_ID_decode_aper;
7
 per_type_encoder_f S1AP_ProtocolIE_ID_encode_aper;
8
 #define S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID   ((S1AP_ProtocolIE_ID_t)0)
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ProtocolIE-SingleContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ProtocolIE-SingleContainer.h Changed
201
 
1
@@ -58,198 +58,231 @@
2
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P0_free;
3
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P0_print;
4
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P0_constraint;
5
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P0_encode_jer;
6
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P0_decode_aper;
7
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P0_encode_aper;
8
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P1;
9
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P1_free;
10
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P1_print;
11
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P1_constraint;
12
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P1_encode_jer;
13
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P1_decode_aper;
14
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P1_encode_aper;
15
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P2;
16
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P2_free;
17
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P2_print;
18
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P2_constraint;
19
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P2_encode_jer;
20
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P2_decode_aper;
21
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P2_encode_aper;
22
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P3;
23
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P3_free;
24
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P3_print;
25
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P3_constraint;
26
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P3_encode_jer;
27
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P3_decode_aper;
28
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P3_encode_aper;
29
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P4;
30
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P4_free;
31
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P4_print;
32
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P4_constraint;
33
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P4_encode_jer;
34
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P4_decode_aper;
35
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P4_encode_aper;
36
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P5;
37
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P5_free;
38
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P5_print;
39
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P5_constraint;
40
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P5_encode_jer;
41
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P5_decode_aper;
42
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P5_encode_aper;
43
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P6;
44
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P6_free;
45
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P6_print;
46
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P6_constraint;
47
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P6_encode_jer;
48
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P6_decode_aper;
49
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P6_encode_aper;
50
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P7;
51
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P7_free;
52
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P7_print;
53
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P7_constraint;
54
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P7_encode_jer;
55
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P7_decode_aper;
56
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P7_encode_aper;
57
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P8;
58
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P8_free;
59
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P8_print;
60
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P8_constraint;
61
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P8_encode_jer;
62
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P8_decode_aper;
63
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P8_encode_aper;
64
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P9;
65
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P9_free;
66
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P9_print;
67
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P9_constraint;
68
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P9_encode_jer;
69
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P9_decode_aper;
70
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P9_encode_aper;
71
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P10;
72
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P10_free;
73
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P10_print;
74
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P10_constraint;
75
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P10_encode_jer;
76
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P10_decode_aper;
77
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P10_encode_aper;
78
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P11;
79
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P11_free;
80
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P11_print;
81
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P11_constraint;
82
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P11_encode_jer;
83
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P11_decode_aper;
84
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P11_encode_aper;
85
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P12;
86
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P12_free;
87
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P12_print;
88
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P12_constraint;
89
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P12_encode_jer;
90
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P12_decode_aper;
91
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P12_encode_aper;
92
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P13;
93
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P13_free;
94
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P13_print;
95
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P13_constraint;
96
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P13_encode_jer;
97
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P13_decode_aper;
98
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P13_encode_aper;
99
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P14;
100
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P14_free;
101
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P14_print;
102
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P14_constraint;
103
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P14_encode_jer;
104
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P14_decode_aper;
105
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P14_encode_aper;
106
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P15;
107
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P15_free;
108
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P15_print;
109
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P15_constraint;
110
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P15_encode_jer;
111
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P15_decode_aper;
112
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P15_encode_aper;
113
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P16;
114
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P16_free;
115
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P16_print;
116
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P16_constraint;
117
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P16_encode_jer;
118
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P16_decode_aper;
119
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P16_encode_aper;
120
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P17;
121
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P17_free;
122
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P17_print;
123
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P17_constraint;
124
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P17_encode_jer;
125
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P17_decode_aper;
126
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P17_encode_aper;
127
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P18;
128
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P18_free;
129
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P18_print;
130
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P18_constraint;
131
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P18_encode_jer;
132
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P18_decode_aper;
133
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P18_encode_aper;
134
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P19;
135
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P19_free;
136
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P19_print;
137
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P19_constraint;
138
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P19_encode_jer;
139
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P19_decode_aper;
140
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P19_encode_aper;
141
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P20;
142
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P20_free;
143
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P20_print;
144
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P20_constraint;
145
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P20_encode_jer;
146
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P20_decode_aper;
147
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P20_encode_aper;
148
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P21;
149
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P21_free;
150
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P21_print;
151
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P21_constraint;
152
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P21_encode_jer;
153
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P21_decode_aper;
154
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P21_encode_aper;
155
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P22;
156
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P22_free;
157
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P22_print;
158
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P22_constraint;
159
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P22_encode_jer;
160
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P22_decode_aper;
161
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P22_encode_aper;
162
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P23;
163
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P23_free;
164
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P23_print;
165
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P23_constraint;
166
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P23_encode_jer;
167
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P23_decode_aper;
168
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P23_encode_aper;
169
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P24;
170
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P24_free;
171
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P24_print;
172
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P24_constraint;
173
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P24_encode_jer;
174
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P24_decode_aper;
175
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P24_encode_aper;
176
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P25;
177
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P25_free;
178
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P25_print;
179
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P25_constraint;
180
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P25_encode_jer;
181
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P25_decode_aper;
182
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P25_encode_aper;
183
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P26;
184
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P26_free;
185
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P26_print;
186
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P26_constraint;
187
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P26_encode_jer;
188
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P26_decode_aper;
189
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P26_encode_aper;
190
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P27;
191
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P27_free;
192
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P27_print;
193
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P27_constraint;
194
+jer_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P27_encode_jer;
195
 per_type_decoder_f S1AP_ProtocolIE_SingleContainer_7850P27_decode_aper;
196
 per_type_encoder_f S1AP_ProtocolIE_SingleContainer_7850P27_encode_aper;
197
 extern asn_TYPE_descriptor_t asn_DEF_S1AP_ProtocolIE_SingleContainer_7850P28;
198
 asn_struct_free_f S1AP_ProtocolIE_SingleContainer_7850P28_free;
199
 asn_struct_print_f S1AP_ProtocolIE_SingleContainer_7850P28_print;
200
 asn_constr_check_f S1AP_ProtocolIE_SingleContainer_7850P28_constraint;
201
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_QCI.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_QCI.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_QCI_free;
3
 asn_struct_print_f S1AP_QCI_print;
4
 asn_constr_check_f S1AP_QCI_constraint;
5
+jer_type_encoder_f S1AP_QCI_encode_jer;
6
 per_type_decoder_f S1AP_QCI_decode_aper;
7
 per_type_encoder_f S1AP_QCI_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_RAC_free;
3
 asn_struct_print_f S1AP_RAC_print;
4
 asn_constr_check_f S1AP_RAC_constraint;
5
+jer_type_encoder_f S1AP_RAC_encode_jer;
6
 per_type_decoder_f S1AP_RAC_decode_aper;
7
 per_type_encoder_f S1AP_RAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RAN-UE-NGAP-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RAN-UE-NGAP-ID.h Changed
9
 
1
@@ -28,6 +28,7 @@
2
 asn_struct_free_f RAN_UE_NGAP_ID_free;
3
 asn_struct_print_f RAN_UE_NGAP_ID_print;
4
 asn_constr_check_f RAN_UE_NGAP_ID_constraint;
5
+jer_type_encoder_f RAN_UE_NGAP_ID_encode_jer;
6
 per_type_decoder_f RAN_UE_NGAP_ID_decode_aper;
7
 per_type_encoder_f RAN_UE_NGAP_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RAT-Type.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RAT-Type.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_RAT_Type_free;
3
 asn_struct_print_f S1AP_RAT_Type_print;
4
 asn_constr_check_f S1AP_RAT_Type_constraint;
5
+jer_type_encoder_f S1AP_RAT_Type_encode_jer;
6
 per_type_decoder_f S1AP_RAT_Type_decode_aper;
7
 per_type_encoder_f S1AP_RAT_Type_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RIMInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RIMInformation.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_RIMInformation_free;
3
 asn_struct_print_f S1AP_RIMInformation_print;
4
 asn_constr_check_f S1AP_RIMInformation_constraint;
5
+jer_type_encoder_f S1AP_RIMInformation_encode_jer;
6
 per_type_decoder_f S1AP_RIMInformation_decode_aper;
7
 per_type_encoder_f S1AP_RIMInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RNC-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RNC-ID.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_RNC_ID_free;
3
 asn_struct_print_f S1AP_RNC_ID_print;
4
 asn_constr_check_f S1AP_RNC_ID_constraint;
5
+jer_type_encoder_f S1AP_RNC_ID_encode_jer;
6
 per_type_decoder_f S1AP_RNC_ID_decode_aper;
7
 per_type_encoder_f S1AP_RNC_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RRC-Container.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RRC-Container.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_RRC_Container_free;
3
 asn_struct_print_f S1AP_RRC_Container_print;
4
 asn_constr_check_f S1AP_RRC_Container_constraint;
5
+jer_type_encoder_f S1AP_RRC_Container_encode_jer;
6
 per_type_decoder_f S1AP_RRC_Container_decode_aper;
7
 per_type_encoder_f S1AP_RRC_Container_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RRC-Establishment-Cause.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RRC-Establishment-Cause.h Changed
9
 
1
@@ -41,6 +41,7 @@
2
 asn_struct_free_f S1AP_RRC_Establishment_Cause_free;
3
 asn_struct_print_f S1AP_RRC_Establishment_Cause_print;
4
 asn_constr_check_f S1AP_RRC_Establishment_Cause_constraint;
5
+jer_type_encoder_f S1AP_RRC_Establishment_Cause_encode_jer;
6
 per_type_decoder_f S1AP_RRC_Establishment_Cause_decode_aper;
7
 per_type_encoder_f S1AP_RRC_Establishment_Cause_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Range.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Range.h Changed
9
 
1
@@ -44,6 +44,7 @@
2
 asn_struct_free_f Range_free;
3
 asn_struct_print_f Range_print;
4
 asn_constr_check_f Range_constraint;
5
+jer_type_encoder_f Range_encode_jer;
6
 per_type_decoder_f Range_decode_aper;
7
 per_type_encoder_f Range_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ReceiveStatusOfULPDCPSDUsExtended.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ReceiveStatusOfULPDCPSDUsExtended.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_ReceiveStatusOfULPDCPSDUsExtended_free;
3
 asn_struct_print_f S1AP_ReceiveStatusOfULPDCPSDUsExtended_print;
4
 asn_constr_check_f S1AP_ReceiveStatusOfULPDCPSDUsExtended_constraint;
5
+jer_type_encoder_f S1AP_ReceiveStatusOfULPDCPSDUsExtended_encode_jer;
6
 per_type_decoder_f S1AP_ReceiveStatusOfULPDCPSDUsExtended_decode_aper;
7
 per_type_encoder_f S1AP_ReceiveStatusOfULPDCPSDUsExtended_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ReceiveStatusOfULPDCPSDUsPDCP-SNlength18.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_free;
3
 asn_struct_print_f S1AP_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_print;
4
 asn_constr_check_f S1AP_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_constraint;
5
+jer_type_encoder_f S1AP_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_jer;
6
 per_type_decoder_f S1AP_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_decode_aper;
7
 per_type_encoder_f S1AP_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ReceiveStatusofULPDCPSDUs.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ReceiveStatusofULPDCPSDUs.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_ReceiveStatusofULPDCPSDUs_free;
3
 asn_struct_print_f S1AP_ReceiveStatusofULPDCPSDUs_print;
4
 asn_constr_check_f S1AP_ReceiveStatusofULPDCPSDUs_constraint;
5
+jer_type_encoder_f S1AP_ReceiveStatusofULPDCPSDUs_encode_jer;
6
 per_type_decoder_f S1AP_ReceiveStatusofULPDCPSDUs_decode_aper;
7
 per_type_encoder_f S1AP_ReceiveStatusofULPDCPSDUs_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RelativeMMECapacity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RelativeMMECapacity.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_RelativeMMECapacity_free;
3
 asn_struct_print_f S1AP_RelativeMMECapacity_print;
4
 asn_constr_check_f S1AP_RelativeMMECapacity_constraint;
5
+jer_type_encoder_f S1AP_RelativeMMECapacity_encode_jer;
6
 per_type_decoder_f S1AP_RelativeMMECapacity_decode_aper;
7
 per_type_encoder_f S1AP_RelativeMMECapacity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RelayNode-Indicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RelayNode-Indicator.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_RelayNode_Indicator_free;
3
 asn_struct_print_f S1AP_RelayNode_Indicator_print;
4
 asn_constr_check_f S1AP_RelayNode_Indicator_constraint;
5
+jer_type_encoder_f S1AP_RelayNode_Indicator_encode_jer;
6
 per_type_decoder_f S1AP_RelayNode_Indicator_decode_aper;
7
 per_type_encoder_f S1AP_RelayNode_Indicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RepetitionPeriod.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RepetitionPeriod.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_RepetitionPeriod_free;
3
 asn_struct_print_f S1AP_RepetitionPeriod_print;
4
 asn_constr_check_f S1AP_RepetitionPeriod_constraint;
5
+jer_type_encoder_f S1AP_RepetitionPeriod_encode_jer;
6
 per_type_decoder_f S1AP_RepetitionPeriod_decode_aper;
7
 per_type_encoder_f S1AP_RepetitionPeriod_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ReportAmountMDT.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ReportAmountMDT.h Changed
9
 
1
@@ -40,6 +40,7 @@
2
 asn_struct_free_f ReportAmountMDT_free;
3
 asn_struct_print_f ReportAmountMDT_print;
4
 asn_constr_check_f ReportAmountMDT_constraint;
5
+jer_type_encoder_f ReportAmountMDT_encode_jer;
6
 per_type_decoder_f ReportAmountMDT_decode_aper;
7
 per_type_encoder_f ReportAmountMDT_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ReportArea.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ReportArea.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f ReportArea_free;
3
 asn_struct_print_f ReportArea_print;
4
 asn_constr_check_f ReportArea_constraint;
5
+jer_type_encoder_f ReportArea_encode_jer;
6
 per_type_decoder_f ReportArea_decode_aper;
7
 per_type_encoder_f ReportArea_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ReportIntervalMDT.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ReportIntervalMDT.h Changed
9
 
1
@@ -45,6 +45,7 @@
2
 asn_struct_free_f ReportIntervalMDT_free;
3
 asn_struct_print_f ReportIntervalMDT_print;
4
 asn_constr_check_f ReportIntervalMDT_constraint;
5
+jer_type_encoder_f ReportIntervalMDT_encode_jer;
6
 per_type_decoder_f ReportIntervalMDT_decode_aper;
7
 per_type_encoder_f ReportIntervalMDT_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_RequestTypeAdditionalInfo.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_RequestTypeAdditionalInfo.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_RequestTypeAdditionalInfo_free;
3
 asn_struct_print_f S1AP_RequestTypeAdditionalInfo_print;
4
 asn_constr_check_f S1AP_RequestTypeAdditionalInfo_constraint;
5
+jer_type_encoder_f S1AP_RequestTypeAdditionalInfo_encode_jer;
6
 per_type_decoder_f S1AP_RequestTypeAdditionalInfo_decode_aper;
7
 per_type_encoder_f S1AP_RequestTypeAdditionalInfo_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ResetAll.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ResetAll.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f ResetAll_free;
3
 asn_struct_print_f ResetAll_print;
4
 asn_constr_check_f ResetAll_constraint;
5
+jer_type_encoder_f ResetAll_encode_jer;
6
 per_type_decoder_f ResetAll_decode_aper;
7
 per_type_encoder_f ResetAll_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Routing-ID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Routing-ID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Routing_ID_free;
3
 asn_struct_print_f S1AP_Routing_ID_print;
4
 asn_constr_check_f S1AP_Routing_ID_constraint;
5
+jer_type_encoder_f S1AP_Routing_ID_encode_jer;
6
 per_type_decoder_f S1AP_Routing_ID_decode_aper;
7
 per_type_encoder_f S1AP_Routing_ID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SONInformation-Extension.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SONInformation-Extension.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_SONInformation_Extension_free;
3
 asn_struct_print_f S1AP_SONInformation_Extension_print;
4
 asn_constr_check_f S1AP_SONInformation_Extension_constraint;
5
+jer_type_encoder_f S1AP_SONInformation_Extension_encode_jer;
6
 per_type_decoder_f S1AP_SONInformation_Extension_decode_aper;
7
 per_type_encoder_f S1AP_SONInformation_Extension_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SONInformationRequest.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SONInformationRequest.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f SONInformationRequest_free;
3
 asn_struct_print_f SONInformationRequest_print;
4
 asn_constr_check_f SONInformationRequest_constraint;
5
+jer_type_encoder_f SONInformationRequest_encode_jer;
6
 per_type_decoder_f SONInformationRequest_decode_aper;
7
 per_type_encoder_f SONInformationRequest_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SRVCCHOIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SRVCCHOIndication.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_SRVCCHOIndication_free;
3
 asn_struct_print_f S1AP_SRVCCHOIndication_print;
4
 asn_constr_check_f S1AP_SRVCCHOIndication_constraint;
5
+jer_type_encoder_f S1AP_SRVCCHOIndication_encode_jer;
6
 per_type_decoder_f S1AP_SRVCCHOIndication_decode_aper;
7
 per_type_encoder_f S1AP_SRVCCHOIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SRVCCOperationNotPossible.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SRVCCOperationNotPossible.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_SRVCCOperationNotPossible_free;
3
 asn_struct_print_f S1AP_SRVCCOperationNotPossible_print;
4
 asn_constr_check_f S1AP_SRVCCOperationNotPossible_constraint;
5
+jer_type_encoder_f S1AP_SRVCCOperationNotPossible_encode_jer;
6
 per_type_decoder_f S1AP_SRVCCOperationNotPossible_decode_aper;
7
 per_type_encoder_f S1AP_SRVCCOperationNotPossible_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SRVCCOperationPossible.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SRVCCOperationPossible.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_SRVCCOperationPossible_free;
3
 asn_struct_print_f S1AP_SRVCCOperationPossible_print;
4
 asn_constr_check_f S1AP_SRVCCOperationPossible_constraint;
5
+jer_type_encoder_f S1AP_SRVCCOperationPossible_encode_jer;
6
 per_type_decoder_f S1AP_SRVCCOperationPossible_decode_aper;
7
 per_type_encoder_f S1AP_SRVCCOperationPossible_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SecondaryRATDataUsageRequest.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SecondaryRATDataUsageRequest.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_SecondaryRATDataUsageRequest_free;
3
 asn_struct_print_f S1AP_SecondaryRATDataUsageRequest_print;
4
 asn_constr_check_f S1AP_SecondaryRATDataUsageRequest_constraint;
5
+jer_type_encoder_f S1AP_SecondaryRATDataUsageRequest_encode_jer;
6
 per_type_decoder_f S1AP_SecondaryRATDataUsageRequest_decode_aper;
7
 per_type_encoder_f S1AP_SecondaryRATDataUsageRequest_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SecondaryRATType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SecondaryRATType.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f SecondaryRATType_free;
3
 asn_struct_print_f SecondaryRATType_print;
4
 asn_constr_check_f SecondaryRATType_constraint;
5
+jer_type_encoder_f SecondaryRATType_encode_jer;
6
 per_type_decoder_f SecondaryRATType_decode_aper;
7
 per_type_encoder_f SecondaryRATType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SecurityKey.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SecurityKey.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_SecurityKey_free;
3
 asn_struct_print_f S1AP_SecurityKey_print;
4
 asn_constr_check_f S1AP_SecurityKey_constraint;
5
+jer_type_encoder_f S1AP_SecurityKey_encode_jer;
6
 per_type_decoder_f S1AP_SecurityKey_decode_aper;
7
 per_type_encoder_f S1AP_SecurityKey_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SerialNumber.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SerialNumber.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_SerialNumber_free;
3
 asn_struct_print_f S1AP_SerialNumber_print;
4
 asn_constr_check_f S1AP_SerialNumber_constraint;
5
+jer_type_encoder_f S1AP_SerialNumber_encode_jer;
6
 per_type_decoder_f S1AP_SerialNumber_decode_aper;
7
 per_type_encoder_f S1AP_SerialNumber_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_ServiceType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_ServiceType.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_ServiceType_free;
3
 asn_struct_print_f S1AP_ServiceType_print;
4
 asn_constr_check_f S1AP_ServiceType_constraint;
5
+jer_type_encoder_f S1AP_ServiceType_encode_jer;
6
 per_type_decoder_f S1AP_ServiceType_decode_aper;
7
 per_type_encoder_f S1AP_ServiceType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Source-ToTarget-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Source-ToTarget-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Source_ToTarget_TransparentContainer_free;
3
 asn_struct_print_f S1AP_Source_ToTarget_TransparentContainer_print;
4
 asn_constr_check_f S1AP_Source_ToTarget_TransparentContainer_constraint;
5
+jer_type_encoder_f S1AP_Source_ToTarget_TransparentContainer_encode_jer;
6
 per_type_decoder_f S1AP_Source_ToTarget_TransparentContainer_decode_aper;
7
 per_type_encoder_f S1AP_Source_ToTarget_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SourceBSS-ToTargetBSS-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SourceBSS-ToTargetBSS-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_SourceBSS_ToTargetBSS_TransparentContainer_free;
3
 asn_struct_print_f S1AP_SourceBSS_ToTargetBSS_TransparentContainer_print;
4
 asn_constr_check_f S1AP_SourceBSS_ToTargetBSS_TransparentContainer_constraint;
5
+jer_type_encoder_f S1AP_SourceBSS_ToTargetBSS_TransparentContainer_encode_jer;
6
 per_type_decoder_f S1AP_SourceBSS_ToTargetBSS_TransparentContainer_decode_aper;
7
 per_type_encoder_f S1AP_SourceBSS_ToTargetBSS_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SourceNgRanNode-ToTargetNgRanNode-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SourceNgRanNode-ToTargetNgRanNode-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_free;
3
 asn_struct_print_f S1AP_SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_print;
4
 asn_constr_check_f S1AP_SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_constraint;
5
+jer_type_encoder_f S1AP_SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_encode_jer;
6
 per_type_decoder_f S1AP_SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_decode_aper;
7
 per_type_encoder_f S1AP_SourceNgRanNode_ToTargetNgRanNode_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SourceNodeID-Extension.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SourceNodeID-Extension.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_SourceNodeID_Extension_free;
3
 asn_struct_print_f S1AP_SourceNodeID_Extension_print;
4
 asn_constr_check_f S1AP_SourceNodeID_Extension_constraint;
5
+jer_type_encoder_f S1AP_SourceNodeID_Extension_encode_jer;
6
 per_type_decoder_f S1AP_SourceNodeID_Extension_decode_aper;
7
 per_type_encoder_f S1AP_SourceNodeID_Extension_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SourceOfUEActivityBehaviourInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SourceOfUEActivityBehaviourInformation.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f SourceOfUEActivityBehaviourInformation_free;
3
 asn_struct_print_f SourceOfUEActivityBehaviourInformation_print;
4
 asn_constr_check_f SourceOfUEActivityBehaviourInformation_constraint;
5
+jer_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_jer;
6
 per_type_decoder_f SourceOfUEActivityBehaviourInformation_decode_aper;
7
 per_type_encoder_f SourceOfUEActivityBehaviourInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SourceRNC-ToTargetRNC-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SourceRNC-ToTargetRNC-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_SourceRNC_ToTargetRNC_TransparentContainer_free;
3
 asn_struct_print_f S1AP_SourceRNC_ToTargetRNC_TransparentContainer_print;
4
 asn_constr_check_f S1AP_SourceRNC_ToTargetRNC_TransparentContainer_constraint;
5
+jer_type_encoder_f S1AP_SourceRNC_ToTargetRNC_TransparentContainer_encode_jer;
6
 per_type_decoder_f S1AP_SourceRNC_ToTargetRNC_TransparentContainer_decode_aper;
7
 per_type_encoder_f S1AP_SourceRNC_ToTargetRNC_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_StratumLevel.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_StratumLevel.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_StratumLevel_free;
3
 asn_struct_print_f S1AP_StratumLevel_print;
4
 asn_constr_check_f S1AP_StratumLevel_constraint;
5
+jer_type_encoder_f S1AP_StratumLevel_encode_jer;
6
 per_type_decoder_f S1AP_StratumLevel_decode_aper;
7
 per_type_encoder_f S1AP_StratumLevel_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SubscriberProfileIDforRFP.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SubscriberProfileIDforRFP.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_SubscriberProfileIDforRFP_free;
3
 asn_struct_print_f S1AP_SubscriberProfileIDforRFP_print;
4
 asn_constr_check_f S1AP_SubscriberProfileIDforRFP_constraint;
5
+jer_type_encoder_f S1AP_SubscriberProfileIDforRFP_encode_jer;
6
 per_type_decoder_f S1AP_SubscriberProfileIDforRFP_decode_aper;
7
 per_type_encoder_f S1AP_SubscriberProfileIDforRFP_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_SynchronisationStatus.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_SynchronisationStatus.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f SynchronisationStatus_free;
3
 asn_struct_print_f SynchronisationStatus_print;
4
 asn_constr_check_f SynchronisationStatus_constraint;
5
+jer_type_encoder_f SynchronisationStatus_encode_jer;
6
 per_type_decoder_f SynchronisationStatus_decode_aper;
7
 per_type_encoder_f SynchronisationStatus_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_TAC_free;
3
 asn_struct_print_f S1AP_TAC_print;
4
 asn_constr_check_f S1AP_TAC_constraint;
5
+jer_type_encoder_f S1AP_TAC_encode_jer;
6
 per_type_decoder_f S1AP_TAC_decode_aper;
7
 per_type_encoder_f S1AP_TAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TBCD-STRING.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TBCD-STRING.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_TBCD_STRING_free;
3
 asn_struct_print_f S1AP_TBCD_STRING_print;
4
 asn_constr_check_f S1AP_TBCD_STRING_constraint;
5
+jer_type_encoder_f S1AP_TBCD_STRING_encode_jer;
6
 per_type_decoder_f S1AP_TBCD_STRING_decode_aper;
7
 per_type_encoder_f S1AP_TBCD_STRING_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Target-ToSource-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Target-ToSource-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Target_ToSource_TransparentContainer_free;
3
 asn_struct_print_f S1AP_Target_ToSource_TransparentContainer_print;
4
 asn_constr_check_f S1AP_Target_ToSource_TransparentContainer_constraint;
5
+jer_type_encoder_f S1AP_Target_ToSource_TransparentContainer_encode_jer;
6
 per_type_decoder_f S1AP_Target_ToSource_TransparentContainer_decode_aper;
7
 per_type_encoder_f S1AP_Target_ToSource_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TargetBSS-ToSourceBSS-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TargetBSS-ToSourceBSS-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_TargetBSS_ToSourceBSS_TransparentContainer_free;
3
 asn_struct_print_f S1AP_TargetBSS_ToSourceBSS_TransparentContainer_print;
4
 asn_constr_check_f S1AP_TargetBSS_ToSourceBSS_TransparentContainer_constraint;
5
+jer_type_encoder_f S1AP_TargetBSS_ToSourceBSS_TransparentContainer_encode_jer;
6
 per_type_decoder_f S1AP_TargetBSS_ToSourceBSS_TransparentContainer_decode_aper;
7
 per_type_encoder_f S1AP_TargetBSS_ToSourceBSS_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TargetNgRanNode-ToSourceNgRanNode-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TargetNgRanNode-ToSourceNgRanNode-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_free;
3
 asn_struct_print_f S1AP_TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_print;
4
 asn_constr_check_f S1AP_TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_constraint;
5
+jer_type_encoder_f S1AP_TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_encode_jer;
6
 per_type_decoder_f S1AP_TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_decode_aper;
7
 per_type_encoder_f S1AP_TargetNgRanNode_ToSourceNgRanNode_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TargetRNC-ToSourceRNC-TransparentContainer.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TargetRNC-ToSourceRNC-TransparentContainer.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_TargetRNC_ToSourceRNC_TransparentContainer_free;
3
 asn_struct_print_f S1AP_TargetRNC_ToSourceRNC_TransparentContainer_print;
4
 asn_constr_check_f S1AP_TargetRNC_ToSourceRNC_TransparentContainer_constraint;
5
+jer_type_encoder_f S1AP_TargetRNC_ToSourceRNC_TransparentContainer_encode_jer;
6
 per_type_decoder_f S1AP_TargetRNC_ToSourceRNC_TransparentContainer_decode_aper;
7
 per_type_encoder_f S1AP_TargetRNC_ToSourceRNC_TransparentContainer_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Threshold-RSRP.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Threshold-RSRP.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_Threshold_RSRP_free;
3
 asn_struct_print_f S1AP_Threshold_RSRP_print;
4
 asn_constr_check_f S1AP_Threshold_RSRP_constraint;
5
+jer_type_encoder_f S1AP_Threshold_RSRP_encode_jer;
6
 per_type_decoder_f S1AP_Threshold_RSRP_decode_aper;
7
 per_type_encoder_f S1AP_Threshold_RSRP_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Threshold-RSRQ.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Threshold-RSRQ.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_Threshold_RSRQ_free;
3
 asn_struct_print_f S1AP_Threshold_RSRQ_print;
4
 asn_constr_check_f S1AP_Threshold_RSRQ_constraint;
5
+jer_type_encoder_f S1AP_Threshold_RSRQ_encode_jer;
6
 per_type_decoder_f S1AP_Threshold_RSRQ_decode_aper;
7
 per_type_encoder_f S1AP_Threshold_RSRQ_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Time-UE-StayedInCell-EnhancedGranularity.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Time-UE-StayedInCell-EnhancedGranularity.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_Time_UE_StayedInCell_EnhancedGranularity_free;
3
 asn_struct_print_f S1AP_Time_UE_StayedInCell_EnhancedGranularity_print;
4
 asn_constr_check_f S1AP_Time_UE_StayedInCell_EnhancedGranularity_constraint;
5
+jer_type_encoder_f S1AP_Time_UE_StayedInCell_EnhancedGranularity_encode_jer;
6
 per_type_decoder_f S1AP_Time_UE_StayedInCell_EnhancedGranularity_decode_aper;
7
 per_type_encoder_f S1AP_Time_UE_StayedInCell_EnhancedGranularity_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_Time-UE-StayedInCell.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_Time-UE-StayedInCell.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_Time_UE_StayedInCell_free;
3
 asn_struct_print_f S1AP_Time_UE_StayedInCell_print;
4
 asn_constr_check_f S1AP_Time_UE_StayedInCell_constraint;
5
+jer_type_encoder_f S1AP_Time_UE_StayedInCell_encode_jer;
6
 per_type_decoder_f S1AP_Time_UE_StayedInCell_decode_aper;
7
 per_type_encoder_f S1AP_Time_UE_StayedInCell_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TimeSinceSecondaryNodeRelease.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TimeSinceSecondaryNodeRelease.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_TimeSinceSecondaryNodeRelease_free;
3
 asn_struct_print_f S1AP_TimeSinceSecondaryNodeRelease_print;
4
 asn_constr_check_f S1AP_TimeSinceSecondaryNodeRelease_constraint;
5
+jer_type_encoder_f S1AP_TimeSinceSecondaryNodeRelease_encode_jer;
6
 per_type_decoder_f S1AP_TimeSinceSecondaryNodeRelease_decode_aper;
7
 per_type_encoder_f S1AP_TimeSinceSecondaryNodeRelease_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TimeToWait.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TimeToWait.h Changed
9
 
1
@@ -39,6 +39,7 @@
2
 asn_struct_free_f S1AP_TimeToWait_free;
3
 asn_struct_print_f S1AP_TimeToWait_print;
4
 asn_constr_check_f S1AP_TimeToWait_constraint;
5
+jer_type_encoder_f S1AP_TimeToWait_encode_jer;
6
 per_type_decoder_f S1AP_TimeToWait_decode_aper;
7
 per_type_encoder_f S1AP_TimeToWait_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TraceDepth.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TraceDepth.h Changed
9
 
1
@@ -41,6 +41,7 @@
2
 asn_struct_free_f TraceDepth_free;
3
 asn_struct_print_f TraceDepth_print;
4
 asn_constr_check_f TraceDepth_constraint;
5
+jer_type_encoder_f TraceDepth_encode_jer;
6
 per_type_decoder_f TraceDepth_decode_aper;
7
 per_type_encoder_f TraceDepth_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TrafficLoadReductionIndication.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TrafficLoadReductionIndication.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_TrafficLoadReductionIndication_free;
3
 asn_struct_print_f S1AP_TrafficLoadReductionIndication_print;
4
 asn_constr_check_f S1AP_TrafficLoadReductionIndication_constraint;
5
+jer_type_encoder_f S1AP_TrafficLoadReductionIndication_encode_jer;
6
 per_type_decoder_f S1AP_TrafficLoadReductionIndication_decode_aper;
7
 per_type_encoder_f S1AP_TrafficLoadReductionIndication_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TransportLayerAddress.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TransportLayerAddress.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_TransportLayerAddress_free;
3
 asn_struct_print_f S1AP_TransportLayerAddress_print;
4
 asn_constr_check_f S1AP_TransportLayerAddress_constraint;
5
+jer_type_encoder_f S1AP_TransportLayerAddress_encode_jer;
6
 per_type_decoder_f S1AP_TransportLayerAddress_decode_aper;
7
 per_type_encoder_f S1AP_TransportLayerAddress_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TriggeringMessage.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TriggeringMessage.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f TriggeringMessage_free;
3
 asn_struct_print_f TriggeringMessage_print;
4
 asn_constr_check_f TriggeringMessage_constraint;
5
+jer_type_encoder_f TriggeringMessage_encode_jer;
6
 per_type_decoder_f TriggeringMessage_decode_aper;
7
 per_type_encoder_f TriggeringMessage_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_TypeOfError.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_TypeOfError.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f TypeOfError_free;
3
 asn_struct_print_f TypeOfError_print;
4
 asn_constr_check_f TypeOfError_constraint;
5
+jer_type_encoder_f TypeOfError_encode_jer;
6
 per_type_decoder_f TypeOfError_decode_aper;
7
 per_type_encoder_f TypeOfError_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UE-Application-Layer-Measurement-Capability.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UE-Application-Layer-Measurement-Capability.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_UE_Application_Layer_Measurement_Capability_free;
3
 asn_struct_print_f S1AP_UE_Application_Layer_Measurement_Capability_print;
4
 asn_constr_check_f S1AP_UE_Application_Layer_Measurement_Capability_constraint;
5
+jer_type_encoder_f S1AP_UE_Application_Layer_Measurement_Capability_encode_jer;
6
 per_type_decoder_f S1AP_UE_Application_Layer_Measurement_Capability_decode_aper;
7
 per_type_encoder_f S1AP_UE_Application_Layer_Measurement_Capability_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UE-HistoryInformationFromTheUE.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UE-HistoryInformationFromTheUE.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_UE_HistoryInformationFromTheUE_free;
3
 asn_struct_print_f S1AP_UE_HistoryInformationFromTheUE_print;
4
 asn_constr_check_f S1AP_UE_HistoryInformationFromTheUE_constraint;
5
+jer_type_encoder_f S1AP_UE_HistoryInformationFromTheUE_encode_jer;
6
 per_type_decoder_f S1AP_UE_HistoryInformationFromTheUE_decode_aper;
7
 per_type_encoder_f S1AP_UE_HistoryInformationFromTheUE_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UE-RLF-Report-Container-for-extended-bands.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UE-RLF-Report-Container-for-extended-bands.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_UE_RLF_Report_Container_for_extended_bands_free;
3
 asn_struct_print_f S1AP_UE_RLF_Report_Container_for_extended_bands_print;
4
 asn_constr_check_f S1AP_UE_RLF_Report_Container_for_extended_bands_constraint;
5
+jer_type_encoder_f S1AP_UE_RLF_Report_Container_for_extended_bands_encode_jer;
6
 per_type_decoder_f S1AP_UE_RLF_Report_Container_for_extended_bands_decode_aper;
7
 per_type_encoder_f S1AP_UE_RLF_Report_Container_for_extended_bands_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UE-RLF-Report-Container.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UE-RLF-Report-Container.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_UE_RLF_Report_Container_free;
3
 asn_struct_print_f S1AP_UE_RLF_Report_Container_print;
4
 asn_constr_check_f S1AP_UE_RLF_Report_Container_constraint;
5
+jer_type_encoder_f S1AP_UE_RLF_Report_Container_encode_jer;
6
 per_type_decoder_f S1AP_UE_RLF_Report_Container_decode_aper;
7
 per_type_encoder_f S1AP_UE_RLF_Report_Container_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UE-RetentionInformation.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UE-RetentionInformation.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_UE_RetentionInformation_free;
3
 asn_struct_print_f S1AP_UE_RetentionInformation_print;
4
 asn_constr_check_f S1AP_UE_RetentionInformation_constraint;
5
+jer_type_encoder_f S1AP_UE_RetentionInformation_encode_jer;
6
 per_type_decoder_f S1AP_UE_RetentionInformation_decode_aper;
7
 per_type_encoder_f S1AP_UE_RetentionInformation_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UE-Usage-Type.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UE-Usage-Type.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_UE_Usage_Type_free;
3
 asn_struct_print_f S1AP_UE_Usage_Type_print;
4
 asn_constr_check_f S1AP_UE_Usage_Type_constraint;
5
+jer_type_encoder_f S1AP_UE_Usage_Type_encode_jer;
6
 per_type_decoder_f S1AP_UE_Usage_Type_decode_aper;
7
 per_type_encoder_f S1AP_UE_Usage_Type_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UECapabilityInfoRequest.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UECapabilityInfoRequest.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_UECapabilityInfoRequest_free;
3
 asn_struct_print_f S1AP_UECapabilityInfoRequest_print;
4
 asn_constr_check_f S1AP_UECapabilityInfoRequest_constraint;
5
+jer_type_encoder_f S1AP_UECapabilityInfoRequest_encode_jer;
6
 per_type_decoder_f S1AP_UECapabilityInfoRequest_decode_aper;
7
 per_type_encoder_f S1AP_UECapabilityInfoRequest_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UEIdentityIndexValue.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UEIdentityIndexValue.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_UEIdentityIndexValue_free;
3
 asn_struct_print_f S1AP_UEIdentityIndexValue_print;
4
 asn_constr_check_f S1AP_UEIdentityIndexValue_constraint;
5
+jer_type_encoder_f S1AP_UEIdentityIndexValue_encode_jer;
6
 per_type_decoder_f S1AP_UEIdentityIndexValue_decode_aper;
7
 per_type_encoder_f S1AP_UEIdentityIndexValue_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UERadioCapability.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UERadioCapability.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_UERadioCapability_free;
3
 asn_struct_print_f S1AP_UERadioCapability_print;
4
 asn_constr_check_f S1AP_UERadioCapability_constraint;
5
+jer_type_encoder_f S1AP_UERadioCapability_encode_jer;
6
 per_type_decoder_f S1AP_UERadioCapability_decode_aper;
7
 per_type_encoder_f S1AP_UERadioCapability_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UERadioCapabilityForPaging.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UERadioCapabilityForPaging.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_UERadioCapabilityForPaging_free;
3
 asn_struct_print_f S1AP_UERadioCapabilityForPaging_print;
4
 asn_constr_check_f S1AP_UERadioCapabilityForPaging_constraint;
5
+jer_type_encoder_f S1AP_UERadioCapabilityForPaging_encode_jer;
6
 per_type_decoder_f S1AP_UERadioCapabilityForPaging_decode_aper;
7
 per_type_encoder_f S1AP_UERadioCapabilityForPaging_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UERadioCapabilityID.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UERadioCapabilityID.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_UERadioCapabilityID_free;
3
 asn_struct_print_f S1AP_UERadioCapabilityID_print;
4
 asn_constr_check_f S1AP_UERadioCapabilityID_constraint;
5
+jer_type_encoder_f S1AP_UERadioCapabilityID_encode_jer;
6
 per_type_decoder_f S1AP_UERadioCapabilityID_decode_aper;
7
 per_type_encoder_f S1AP_UERadioCapabilityID_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UEUserPlaneCIoTSupportIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UEUserPlaneCIoTSupportIndicator.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_UEUserPlaneCIoTSupportIndicator_free;
3
 asn_struct_print_f S1AP_UEUserPlaneCIoTSupportIndicator_print;
4
 asn_constr_check_f S1AP_UEUserPlaneCIoTSupportIndicator_constraint;
5
+jer_type_encoder_f S1AP_UEUserPlaneCIoTSupportIndicator_encode_jer;
6
 per_type_decoder_f S1AP_UEUserPlaneCIoTSupportIndicator_decode_aper;
7
 per_type_encoder_f S1AP_UEUserPlaneCIoTSupportIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UL-NAS-Count.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UL-NAS-Count.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_UL_NAS_Count_free;
3
 asn_struct_print_f S1AP_UL_NAS_Count_print;
4
 asn_constr_check_f S1AP_UL_NAS_Count_constraint;
5
+jer_type_encoder_f S1AP_UL_NAS_Count_encode_jer;
6
 per_type_decoder_f S1AP_UL_NAS_Count_decode_aper;
7
 per_type_encoder_f S1AP_UL_NAS_Count_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UL-NAS-MAC.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UL-NAS-MAC.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_UL_NAS_MAC_free;
3
 asn_struct_print_f S1AP_UL_NAS_MAC_print;
4
 asn_constr_check_f S1AP_UL_NAS_MAC_constraint;
5
+jer_type_encoder_f S1AP_UL_NAS_MAC_encode_jer;
6
 per_type_decoder_f S1AP_UL_NAS_MAC_decode_aper;
7
 per_type_encoder_f S1AP_UL_NAS_MAC_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_URI-Address.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_URI-Address.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_URI_Address_free;
3
 asn_struct_print_f S1AP_URI_Address_print;
4
 asn_constr_check_f S1AP_URI_Address_constraint;
5
+jer_type_encoder_f S1AP_URI_Address_encode_jer;
6
 per_type_decoder_f S1AP_URI_Address_decode_aper;
7
 per_type_encoder_f S1AP_URI_Address_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_UnlicensedSpectrumRestriction.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_UnlicensedSpectrumRestriction.h Changed
9
 
1
@@ -34,6 +34,7 @@
2
 asn_struct_free_f S1AP_UnlicensedSpectrumRestriction_free;
3
 asn_struct_print_f S1AP_UnlicensedSpectrumRestriction_print;
4
 asn_constr_check_f S1AP_UnlicensedSpectrumRestriction_constraint;
5
+jer_type_encoder_f S1AP_UnlicensedSpectrumRestriction_encode_jer;
6
 per_type_decoder_f S1AP_UnlicensedSpectrumRestriction_decode_aper;
7
 per_type_encoder_f S1AP_UnlicensedSpectrumRestriction_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_VehicleUE.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_VehicleUE.h Changed
9
 
1
@@ -37,6 +37,7 @@
2
 asn_struct_free_f VehicleUE_free;
3
 asn_struct_print_f VehicleUE_print;
4
 asn_constr_check_f VehicleUE_constraint;
5
+jer_type_encoder_f VehicleUE_encode_jer;
6
 per_type_decoder_f VehicleUE_decode_aper;
7
 per_type_encoder_f VehicleUE_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_VoiceSupportMatchIndicator.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_VoiceSupportMatchIndicator.h Changed
9
 
1
@@ -35,6 +35,7 @@
2
 asn_struct_free_f S1AP_VoiceSupportMatchIndicator_free;
3
 asn_struct_print_f S1AP_VoiceSupportMatchIndicator_print;
4
 asn_constr_check_f S1AP_VoiceSupportMatchIndicator_constraint;
5
+jer_type_encoder_f S1AP_VoiceSupportMatchIndicator_encode_jer;
6
 per_type_decoder_f S1AP_VoiceSupportMatchIndicator_decode_aper;
7
 per_type_encoder_f S1AP_VoiceSupportMatchIndicator_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_WLANMeasConfig.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_WLANMeasConfig.h Changed
9
 
1
@@ -36,6 +36,7 @@
2
 asn_struct_free_f WLANMeasConfig_free;
3
 asn_struct_print_f WLANMeasConfig_print;
4
 asn_constr_check_f WLANMeasConfig_constraint;
5
+jer_type_encoder_f WLANMeasConfig_encode_jer;
6
 per_type_decoder_f WLANMeasConfig_decode_aper;
7
 per_type_encoder_f WLANMeasConfig_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_WLANName.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_WLANName.h Changed
9
 
1
@@ -27,6 +27,7 @@
2
 asn_struct_free_f S1AP_WLANName_free;
3
 asn_struct_print_f S1AP_WLANName_print;
4
 asn_constr_check_f S1AP_WLANName_constraint;
5
+jer_type_encoder_f S1AP_WLANName_encode_jer;
6
 per_type_decoder_f S1AP_WLANName_decode_aper;
7
 per_type_encoder_f S1AP_WLANName_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_WarningAreaCoordinates.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_WarningAreaCoordinates.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_WarningAreaCoordinates_free;
3
 asn_struct_print_f S1AP_WarningAreaCoordinates_print;
4
 asn_constr_check_f S1AP_WarningAreaCoordinates_constraint;
5
+jer_type_encoder_f S1AP_WarningAreaCoordinates_encode_jer;
6
 per_type_decoder_f S1AP_WarningAreaCoordinates_decode_aper;
7
 per_type_encoder_f S1AP_WarningAreaCoordinates_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_WarningMessageContents.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_WarningMessageContents.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_WarningMessageContents_free;
3
 asn_struct_print_f S1AP_WarningMessageContents_print;
4
 asn_constr_check_f S1AP_WarningMessageContents_constraint;
5
+jer_type_encoder_f S1AP_WarningMessageContents_encode_jer;
6
 per_type_decoder_f S1AP_WarningMessageContents_decode_aper;
7
 per_type_encoder_f S1AP_WarningMessageContents_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_WarningSecurityInfo.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_WarningSecurityInfo.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_WarningSecurityInfo_free;
3
 asn_struct_print_f S1AP_WarningSecurityInfo_print;
4
 asn_constr_check_f S1AP_WarningSecurityInfo_constraint;
5
+jer_type_encoder_f S1AP_WarningSecurityInfo_encode_jer;
6
 per_type_decoder_f S1AP_WarningSecurityInfo_decode_aper;
7
 per_type_encoder_f S1AP_WarningSecurityInfo_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/s1ap/S1AP_WarningType.h -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/s1ap/S1AP_WarningType.h Changed
9
 
1
@@ -26,6 +26,7 @@
2
 asn_struct_free_f S1AP_WarningType_free;
3
 asn_struct_print_f S1AP_WarningType_print;
4
 asn_constr_check_f S1AP_WarningType_constraint;
5
+jer_type_encoder_f S1AP_WarningType_encode_jer;
6
 per_type_decoder_f S1AP_WarningType_decode_aper;
7
 per_type_encoder_f S1AP_WarningType_encode_aper;
8
 
9
open5gs_2.4.8.202207150002.tar.xz/lib/asn1c/support/README.md -> open5gs_2.4.8.202207180859.tar.xz/lib/asn1c/support/README.md Changed
144
 
1
@@ -1,17 +1,26 @@
2
 Use mounse07410(vlm_master) git's fork for asn1c
3
 
4
-commit c098de2086633d2027f1d117092541d8482c1c96 (HEAD -> vlm_master, origin/vlm_master, origin/HEAD)
5
-Author: Nikolaos Koutsianas <nkoutsianas@gmail.com>
6
-Date:   Fri Feb 25 13:18:01 2022 +0200
7
-
8
-    aper decoder can ignore unknown open types in a sequence and continue with next ones
9
+commit 24247e2813a7510ebabe6a9b6b6b29fffa0eb27b (HEAD -> vlm_master, origin/vlm_master, origin/HEAD)
10
+Author: Pau Espin Pedrol <pespin@sysmocom.de>
11
+Date:   Fri Jul 15 17:43:08 2022 +0200
12
+
13
+    aper: Rework aper_get_length to gain lb & ub information
14
+
15
+    This should help aper_put_length() to take proper decisions on the way
16
+    to encode the length, since the range alone is not enough.
17
+    A contraint of lb=1 ub=65536 would yield a range=65536, but according to
18
+    ITU-T X.691 11.9 it shouldn't be encoded using nsnnwn since that only
19
+    applies in case ub<65536.
20
+    As a result, it would end up encoding/decoding it using 2 bytes while it
21
+    should use only 1.
22
 
23
+    Related: https://github.com/mouse07410/asn1c/issues/94
24
 
25
 ===========================================
26
 user@host ~/Documents/git/my$ \
27
     git clone https://github.com/mouse07410/asn1c.git
28
 user@host ~/Documents/git/my$ \
29
-    git checkout git checkout c098de2086633d2027f1d117092541d8482c1c96
30
+    git checkout git checkout 24247e2813a7510ebabe6a9b6b6b29fffa0eb27b
31
 
32
 OR
33
 
34
@@ -23,8 +32,8 @@
35
 
36
 Modify 36413-g40.txt to 36413-g40.asn
37
 ===========================================
38
-user@host ~/documents/git/open5gs/lib/asn1c/support/s1ap-r16.4.0$ \
39
-    diff 36413-g40.txt 36413-g40.asn
40
+user@host ~/documents/git/open5gs/lib/asn1c/support/s1ap-r16.7.0$ \
41
+    diff 36413-g70.txt 36413-g70.asn
42
 
43
 ASN.1 encoder/decoder
44
 ===========================================
45
@@ -40,86 +49,8 @@
46
     -no-gen-BER -no-gen-XER -no-gen-OER -no-gen-UPER \
47
     ../support/ngap-r16.7.0/38413-g70.asn
48
 
49
-Fix aper_support.c (Issues #773 - NGReset Decode Problem)
50
-===========================================
51
-diff --git a/lib/asn1c/common/aper_support.c b/lib/asn1c/common/aper_support.c
52
-index 67ad9db5..1adbdde6 100644
53
---- a/lib/asn1c/common/aper_support.c
54
-+++ b/lib/asn1c/common/aper_support.c
55
-@@ -22,7 +22,20 @@ aper_get_length(asn_per_data_t *pd, int range, int ebits, int *repeat) {
56
-
57
-        *repeat = 0;
58
-
59
--       if (range <= 65536 && range >= 0)
60
-+    /*
61
-+     * ITU-T X.691(08/2015)
62
-+     * #11.9.4.2
63
-+     *
64
-+     * If the length determinant "n" to be encoded is a normally small length,
65
-+     * or a constrained whole number with "ub" greater than or equal to 64K,
66
-+     * or is a semi-constrained whole number, then "n" shall be encoded
67
-+     * as specified in 11.9.3.4 to 11.9.3.8.4.
68
-+     *
69
-+     * NOTE – Thus, if "ub" is greater than or equal to 64K,
70
-+     * the encoding of the length determinant is the same as it would be
71
-+     * if the length were unconstrained.
72
-+     */
73
-+       if (range <= 65535 && range >= 0)
74
-                return aper_get_nsnnwn(pd, range);
75
-
76
-        if (aper_get_align(pd) < 0)
77
-@@ -32,14 +45,14 @@ aper_get_length(asn_per_data_t *pd, int range, int ebits, int *repeat) {
78
-
79
-        value = per_get_few_bits(pd, 8);
80
-        if(value < 0) return -1;
81
--       if((value & 128) == 0)  /* #10.9.3.6 */
82
-+       if((value & 128) == 0)  /* #11.9.3.6 */
83
-                return (value & 0x7F);
84
--       if((value & 64) == 0) { /* #10.9.3.7 */
85
-+       if((value & 64) == 0) { /* #11.9.3.7 */
86
-                value = ((value & 63) << 8) | per_get_few_bits(pd, 8);
87
-                if(value < 0) return -1;
88
-                return value;
89
-        }
90
--       value &= 63;    /* this is "m" from X.691, #10.9.3.8 */
91
-+       value &= 63;    /* this is "m" from X.691, #11.9.3.8 */
92
-        if(value < 1 || value > 4)
93
-                return -1;
94
-        *repeat = 1;
95
-@@ -162,18 +175,18 @@ aper_put_length(asn_per_outp_t *po, int range, size_t length, int *need_eom) {
96
-
97
-        ASN_DEBUG("APER put length %zu with range %d", length, range);
98
-
99
--       /* 10.9 X.691 Note 2 */
100
-+       /* 11.9 X.691 Note 2 */
101
-        if (range <= 65536 && range >= 0)
102
-                return aper_put_nsnnwn(po, range, length);
103
-
104
-        if (aper_put_align(po) < 0)
105
-                return -1;
106
-
107
--       if(length <= 127)          /* #10.9.3.6 */{
108
-+       if(length <= 127)          /* #11.9.3.6 */{
109
-                return per_put_few_bits(po, length, 8)
110
-                ? -1 : (ssize_t)length;
111
-        }
112
--       else if(length < 16384) /* #10.9.3.7 */
113
-+       else if(length < 16384) /* #11.9.3.7 */
114
-                return per_put_few_bits(po, length|0x8000, 16)
115
-                ? -1 : (ssize_t)length;
116
-
117
-@@ -193,7 +206,7 @@ int
118
- aper_put_nslength(asn_per_outp_t *po, size_t length) {
119
-
120
-        if(length <= 64) {
121
--               /* #10.9.3.4 */
122
-+               /* #11.9.3.4 */
123
-                if(length == 0) return -1;
124
-                return per_put_few_bits(po, length-1, 7) ? -1 : 0;
125
-        } else {
126
-
127
-Fix NGAP_RANNodeNameUTF8String.c/NGAP_AMFNameUTF8String.c (Issues #994 - APC_EXTENSIBLE)
128
-===========================================
129
+Fix NGAP_RANNodeNameUTF8String.c (Issues #994 - APC_EXTENSIBLE)
130
+===============================================================
131
 diff --git a/lib/asn1c/ngap/NGAP_RANNodeNameUTF8String.c b/lib/asn1c/ngap/NGAP_RANNodeNameUTF8String.c
132
 index 9e469f7f..79ebd028 100644
133
 --- a/lib/asn1c/ngap/NGAP_RANNodeNameUTF8String.c
134
@@ -136,6 +67,9 @@
135
         0, 0    /* No PER value map */
136
  };
137
  #endif  /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
138
+
139
+Fix NGAP_AMFNameUTF8String.c (Issues #994 - APC_EXTENSIBLE)
140
+===============================================================
141
 diff --git a/lib/asn1c/ngap/NGAP_AMFNameUTF8String.c b/lib/asn1c/ngap/NGAP_AMFNameUTF8String.c
142
 index 1df33a4d..a74f97ea 100644
143
 --- a/lib/asn1c/ngap/NGAP_AMFNameUTF8String.c
144
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/client.c -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/client.c Changed
201
 
1
@@ -176,6 +176,26 @@
2
     return client;
3
 }
4
 
5
+void ogs_sbi_client_stop(ogs_sbi_client_t *client)
6
+{
7
+    connection_t *conn = NULL;
8
+
9
+    ogs_assert(client);
10
+
11
+    ogs_list_for_each(&client->connection_list, conn) {
12
+        ogs_assert(conn->client_cb);
13
+        conn->client_cb(OGS_DONE, NULL, conn->data);
14
+    }
15
+}
16
+
17
+void ogs_sbi_client_stop_all(void)
18
+{
19
+    ogs_sbi_client_t *client = NULL;
20
+
21
+    ogs_list_for_each(&ogs_sbi_self()->client_list, client)
22
+        ogs_sbi_client_stop(client);
23
+}
24
+
25
 #define mycase(code) \
26
   case code: s = OGS_STRINGIFY(code)
27
 
28
@@ -246,6 +266,8 @@
29
     return uri;
30
 }
31
 
32
+static void _connection_remove(connection_t *conn);
33
+
34
 static connection_t *connection_add(
35
         ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb,
36
         ogs_sbi_request_t *request, void *data)
37
@@ -269,19 +291,31 @@
38
     conn->data = data;
39
 
40
     conn->method = ogs_strdup(request->h.method);
41
-    ogs_expect_or_return_val(conn->method, NULL);
42
+    if (!conn->method) {
43
+        ogs_error("conn->method is NULL");
44
+        _connection_remove(conn);
45
+        return NULL;
46
+    }
47
 
48
     conn->num_of_header = ogs_hash_count(request->http.headers);
49
     if (conn->num_of_header) {
50
         conn->headers = ogs_calloc(conn->num_of_header, sizeof(char *));
51
-        ogs_expect_or_return_val(conn->headers, NULL);
52
+        if (!conn->headers) {
53
+            ogs_error("conn->headers is NULL");
54
+            _connection_remove(conn);
55
+            return NULL;
56
+        }
57
         for (hi = ogs_hash_first(request->http.headers), i = 0;
58
                 hi && i < conn->num_of_header; hi = ogs_hash_next(hi), i++) {
59
             const char *key = ogs_hash_this_key(hi);
60
             char *val = ogs_hash_this_val(hi);
61
 
62
             conn->headersi = ogs_msprintf("%s: %s", key, val);
63
-            ogs_expect_or_return_val(conn->headersi, NULL);
64
+            if (!conn->headersi) {
65
+                ogs_error("conn->headersi=%d is NULL", i);
66
+                _connection_remove(conn);
67
+                return NULL;
68
+            }
69
             conn->header_list = curl_slist_append(
70
                     conn->header_list, conn->headersi);
71
         }
72
@@ -289,9 +323,11 @@
73
 
74
     conn->timer = ogs_timer_add(
75
             ogs_app()->timer_mgr, connection_timer_expired, conn);
76
-    ogs_expect_or_return_val(conn->timer, NULL);
77
-
78
-    ogs_list_add(&client->connection_list, conn);
79
+    if (!conn->timer) {
80
+        ogs_error("conn->timer is NULL");
81
+        _connection_remove(conn);
82
+        return NULL;
83
+    }
84
 
85
     /* If http response is not received within deadline,
86
      * Open5GS will discard this request. */
87
@@ -299,7 +335,23 @@
88
             ogs_app()->time.message.sbi.connection_deadline);
89
 
90
     conn->easy = curl_easy_init();
91
-    ogs_assert(conn->easy);
92
+    if (!conn->easy) {
93
+        ogs_error("conn->easy is NULL");
94
+        _connection_remove(conn);
95
+        return NULL;
96
+    }
97
+
98
+    if (ogs_hash_count(request->http.params)) {
99
+        char *uri = add_params_to_uri(conn->easy,
100
+                            request->h.uri, request->http.params);
101
+        if (!uri) {
102
+            ogs_error("add_params_to_uri() failed");
103
+            _connection_remove(conn);
104
+            return NULL;
105
+        }
106
+
107
+        request->h.uri = uri;
108
+    }
109
 
110
     /* HTTP Method */
111
     if (strcmp(request->h.method, OGS_SBI_HTTP_METHOD_PUT) == 0 ||
112
@@ -312,7 +364,11 @@
113
         if (request->http.content) {
114
             conn->content = ogs_memdup(
115
                     request->http.content, request->http.content_length);
116
-            ogs_assert(conn->content);
117
+            if (!conn->content) {
118
+                ogs_error("conn->content is NULL");
119
+                _connection_remove(conn);
120
+                return NULL;
121
+            }
122
             curl_easy_setopt(conn->easy,
123
                     CURLOPT_POSTFIELDS, conn->content);
124
             curl_easy_setopt(conn->easy,
125
@@ -336,11 +392,7 @@
126
             CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE);
127
 #endif
128
 
129
-    if (ogs_hash_count(request->http.params)) {
130
-        request->h.uri = add_params_to_uri(conn->easy,
131
-                            request->h.uri, request->http.params);
132
-        ogs_expect_or_return_val(request->h.uri, NULL);
133
-    }
134
+    ogs_list_add(&client->connection_list, conn);
135
 
136
     curl_easy_setopt(conn->easy, CURLOPT_URL, request->h.uri);
137
 
138
@@ -358,27 +410,11 @@
139
     return conn;
140
 }
141
 
142
-static void connection_remove(connection_t *conn)
143
+static void _connection_remove(connection_t *conn)
144
 {
145
-    ogs_sbi_client_t *client = NULL;
146
     int i;
147
 
148
     ogs_assert(conn);
149
-    client = conn->client;
150
-    ogs_assert(client);
151
-
152
-    ogs_list_remove(&client->connection_list, conn);
153
-
154
-    ogs_assert(conn->timer);
155
-    ogs_timer_delete(conn->timer);
156
-
157
-    ogs_assert(conn->easy);
158
-    ogs_assert(client->multi);
159
-    curl_multi_remove_handle(client->multi, conn->easy);
160
-    curl_easy_cleanup(conn->easy);
161
-
162
-    ogs_assert(conn->method);
163
-    ogs_free(conn->method);
164
 
165
     if (conn->content)
166
         ogs_free(conn->content);
167
@@ -386,19 +422,45 @@
168
     if (conn->location)
169
         ogs_free(conn->location);
170
 
171
+    if (conn->memory)
172
+        ogs_free(conn->memory);
173
+
174
+    if (conn->easy)
175
+        curl_easy_cleanup(conn->easy);
176
+
177
+    if (conn->timer)
178
+        ogs_timer_delete(conn->timer);
179
+
180
     if (conn->num_of_header) {
181
         for (i = 0; i < conn->num_of_header; i++)
182
-            ogs_free(conn->headersi);
183
+            if (conn->headersi)
184
+                ogs_free(conn->headersi);
185
         ogs_free(conn->headers);
186
     }
187
     curl_slist_free_all(conn->header_list);
188
 
189
-    if (conn->memory)
190
-        ogs_free(conn->memory);
191
+    if (conn->method)
192
+        ogs_free(conn->method);
193
 
194
     ogs_pool_free(&connection_pool, conn);
195
 }
196
 
197
+static void connection_remove(connection_t *conn)
198
+{
199
+    ogs_sbi_client_t *client = NULL;
200
+
201
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/client.h -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/client.h Changed
35
 
1
@@ -53,7 +53,8 @@
2
                 (__pClient)->reference_count); \
3
     } while(0)
4
 
5
-typedef int (*ogs_sbi_client_cb_f)(ogs_sbi_response_t *response, void *data);
6
+typedef int (*ogs_sbi_client_cb_f)(
7
+        int status, ogs_sbi_response_t *response, void *data);
8
 
9
 typedef struct ogs_sbi_client_s {
10
     ogs_socknode_t  node;
11
@@ -84,10 +85,23 @@
12
 void ogs_sbi_client_remove_all(void);
13
 ogs_sbi_client_t *ogs_sbi_client_find(ogs_sockaddr_t *addr);
14
 
15
+void ogs_sbi_client_stop(ogs_sbi_client_t *client);
16
+void ogs_sbi_client_stop_all(void);
17
+
18
+bool ogs_sbi_client_send_reqmem_persistent(
19
+        ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb,
20
+        ogs_sbi_request_t *request, void *data);
21
 bool ogs_sbi_client_send_request(
22
         ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb,
23
         ogs_sbi_request_t *request, void *data);
24
 
25
+bool ogs_sbi_scp_send_reqmem_persistent(
26
+        ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb,
27
+        ogs_sbi_request_t *request, void *data);
28
+bool ogs_sbi_scp_send_request(
29
+        ogs_sbi_client_t *client, ogs_sbi_client_cb_f client_cb,
30
+        ogs_sbi_request_t *request, void *data);
31
+
32
 #ifdef __cplusplus
33
 }
34
 #endif
35
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/context.c -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/context.c Changed
201
 
1
@@ -111,7 +111,8 @@
2
     return OGS_OK;
3
 }
4
 
5
-static int ogs_sbi_context_validation(const char *local)
6
+static int ogs_sbi_context_validation(
7
+        const char *local, const char *nrf, const char *scp)
8
 {
9
     /* If SMF is only used in 4G EPC, no SBI interface is required.  */
10
     if (strcmp(local, "smf") != 0 &&
11
@@ -120,10 +121,48 @@
12
         return OGS_ERROR;
13
     }
14
 
15
+    if (context_initialized == 1) {
16
+        switch (self.discovery_config.delegated) {
17
+        case OGS_SBI_DISCOVERY_DELEGATED_AUTO:
18
+            if (strcmp(local, "nrf") != 0 && /* Skip NRF */
19
+                strcmp(local, "smf") != 0 && /* Skip SMF since SMF can run 4G */
20
+                ogs_sbi_self()->nrf_instance == NULL &&
21
+                ogs_sbi_self()->scp_instance == NULL) {
22
+                ogs_error("DELEGATED_AUTO - Both NRF and %s are unavailable",
23
+                        strcmp(scp, "next_scp") == 0 ? "Next-hop SCP" : "SCP");
24
+                return OGS_ERROR;
25
+            }
26
+            break;
27
+        case OGS_SBI_DISCOVERY_DELEGATED_YES:
28
+            if (ogs_sbi_self()->scp_instance == NULL) {
29
+                ogs_error("DELEGATED_YES - no %s available",
30
+                        strcmp(scp, "next_scp") == 0 ? "Next-hop SCP" : "SCP");
31
+                return OGS_ERROR;
32
+            }
33
+            break;
34
+        case OGS_SBI_DISCOVERY_DELEGATED_NO:
35
+            if (ogs_sbi_self()->nrf_instance == NULL) {
36
+                ogs_error("DELEGATED_NO - no NRF available");
37
+                return OGS_ERROR;
38
+            }
39
+            break;
40
+        default:
41
+            ogs_fatal("Invalid dicovery-config delegated %d",
42
+                        self.discovery_config.delegated);
43
+            ogs_assert_if_reached();
44
+        }
45
+    }
46
+
47
     return OGS_OK;
48
 }
49
 
50
-int ogs_sbi_context_parse_config(const char *local, const char *remote)
51
+ogs_sbi_nf_instance_t *ogs_sbi_scp_instance(void)
52
+{
53
+    return NULL;
54
+}
55
+
56
+int ogs_sbi_context_parse_config(
57
+        const char *local, const char *nrf, const char *scp)
58
 {
59
     int rv;
60
     yaml_document_t *document = NULL;
61
@@ -363,17 +402,17 @@
62
                     }
63
                 }
64
             }
65
-        } else if (remote && !strcmp(root_key, remote)) {
66
-            ogs_yaml_iter_t remote_iter;
67
-            ogs_yaml_iter_recurse(&root_iter, &remote_iter);
68
-            while (ogs_yaml_iter_next(&remote_iter)) {
69
-                const char *remote_key = ogs_yaml_iter_key(&remote_iter);
70
-                ogs_assert(remote_key);
71
-                if (!strcmp(remote_key, "sbi")) {
72
+        } else if (nrf && !strcmp(root_key, nrf)) {
73
+            ogs_yaml_iter_t nrf_iter;
74
+            ogs_yaml_iter_recurse(&root_iter, &nrf_iter);
75
+            while (ogs_yaml_iter_next(&nrf_iter)) {
76
+                const char *nrf_key = ogs_yaml_iter_key(&nrf_iter);
77
+                ogs_assert(nrf_key);
78
+                if (!strcmp(nrf_key, "sbi")) {
79
                     ogs_yaml_iter_t sbi_array, sbi_iter;
80
-                    ogs_yaml_iter_recurse(&remote_iter, &sbi_array);
81
+                    ogs_yaml_iter_recurse(&nrf_iter, &sbi_array);
82
                     do {
83
-                        ogs_sbi_nf_instance_t *nf_instance = NULL;
84
+                        ogs_sbi_nf_instance_t *nrf_instance = NULL;
85
                         ogs_sbi_client_t *client = NULL;
86
                         ogs_sockaddr_t *addr = NULL;
87
                         int family = AF_UNSPEC;
88
@@ -476,12 +515,13 @@
89
                         client = ogs_sbi_client_add(addr);
90
                         ogs_assert(client);
91
 
92
-                        nf_instance = ogs_sbi_nf_instance_add();
93
-                        ogs_assert(nf_instance);
94
+                        ogs_sbi_self()->nrf_instance =
95
+                            nrf_instance = ogs_sbi_nf_instance_add();
96
+                        ogs_assert(nrf_instance);
97
                         ogs_sbi_nf_instance_set_type(
98
-                                nf_instance, OpenAPI_nf_type_NRF);
99
+                                nrf_instance, OpenAPI_nf_type_NRF);
100
 
101
-                        OGS_SBI_SETUP_CLIENT(nf_instance, client);
102
+                        OGS_SBI_SETUP_CLIENT(nrf_instance, client);
103
 
104
                         if (key) client->tls.key = key;
105
                         if (pem) client->tls.pem = pem;
106
@@ -492,10 +532,175 @@
107
                             YAML_SEQUENCE_NODE);
108
                 }
109
             }
110
+        } else if (scp && !strcmp(root_key, scp)) {
111
+            ogs_yaml_iter_t scp_iter;
112
+            ogs_yaml_iter_recurse(&root_iter, &scp_iter);
113
+            while (ogs_yaml_iter_next(&scp_iter)) {
114
+                const char *scp_key = ogs_yaml_iter_key(&scp_iter);
115
+                ogs_assert(scp_key);
116
+                if (!strcmp(scp_key, "sbi")) {
117
+                    ogs_yaml_iter_t sbi_array, sbi_iter;
118
+                    ogs_yaml_iter_recurse(&scp_iter, &sbi_array);
119
+                    do {
120
+                        ogs_sbi_nf_instance_t *scp_instance = NULL;
121
+                        ogs_sbi_client_t *client = NULL;
122
+                        ogs_sockaddr_t *addr = NULL;
123
+                        int family = AF_UNSPEC;
124
+                        int i, num = 0;
125
+                        const char *hostnameOGS_MAX_NUM_OF_HOSTNAME;
126
+                        uint16_t port = self.sbi_port;
127
+                        const char *key = NULL;
128
+                        const char *pem = NULL;
129
+
130
+                        if (ogs_yaml_iter_type(&sbi_array) ==
131
+                                YAML_MAPPING_NODE) {
132
+                            memcpy(&sbi_iter, &sbi_array,
133
+                                    sizeof(ogs_yaml_iter_t));
134
+                        } else if (ogs_yaml_iter_type(&sbi_array) ==
135
+                            YAML_SEQUENCE_NODE) {
136
+                            if (!ogs_yaml_iter_next(&sbi_array))
137
+                                break;
138
+                            ogs_yaml_iter_recurse(&sbi_array, &sbi_iter);
139
+                        } else if (ogs_yaml_iter_type(&sbi_array) ==
140
+                                YAML_SCALAR_NODE) {
141
+                            break;
142
+                        } else
143
+                            ogs_assert_if_reached();
144
+
145
+                        while (ogs_yaml_iter_next(&sbi_iter)) {
146
+                            const char *sbi_key =
147
+                                ogs_yaml_iter_key(&sbi_iter);
148
+                            ogs_assert(sbi_key);
149
+                            if (!strcmp(sbi_key, "family")) {
150
+                                const char *v = ogs_yaml_iter_value(&sbi_iter);
151
+                                if (v) family = atoi(v);
152
+                                if (family != AF_UNSPEC &&
153
+                                    family != AF_INET && family != AF_INET6) {
154
+                                    ogs_warn("Ignore family(%d) : "
155
+                                        "AF_UNSPEC(%d), "
156
+                                        "AF_INET(%d), AF_INET6(%d) ",
157
+                                        family, AF_UNSPEC, AF_INET, AF_INET6);
158
+                                    family = AF_UNSPEC;
159
+                                }
160
+                            } else if (!strcmp(sbi_key, "addr") ||
161
+                                    !strcmp(sbi_key, "name")) {
162
+                                ogs_yaml_iter_t hostname_iter;
163
+                                ogs_yaml_iter_recurse(&sbi_iter,
164
+                                        &hostname_iter);
165
+                                ogs_assert(ogs_yaml_iter_type(&hostname_iter) !=
166
+                                    YAML_MAPPING_NODE);
167
+
168
+                                do {
169
+                                    if (ogs_yaml_iter_type(&hostname_iter) ==
170
+                                            YAML_SEQUENCE_NODE) {
171
+                                        if (!ogs_yaml_iter_next(&hostname_iter))
172
+                                            break;
173
+                                    }
174
+
175
+                                    ogs_assert(num < OGS_MAX_NUM_OF_HOSTNAME);
176
+                                    hostnamenum++ =
177
+                                        ogs_yaml_iter_value(&hostname_iter);
178
+                                } while (
179
+                                    ogs_yaml_iter_type(&hostname_iter) ==
180
+                                        YAML_SEQUENCE_NODE);
181
+                            } else if (!strcmp(sbi_key, "port")) {
182
+                                const char *v = ogs_yaml_iter_value(&sbi_iter);
183
+                                if (v) port = atoi(v);
184
+                            } else if (!strcmp(sbi_key, "tls")) {
185
+                                ogs_yaml_iter_t tls_iter;
186
+                                ogs_yaml_iter_recurse(&sbi_iter, &tls_iter);
187
+
188
+                                while (ogs_yaml_iter_next(&tls_iter)) {
189
+                                    const char *tls_key =
190
+                                        ogs_yaml_iter_key(&tls_iter);
191
+                                    ogs_assert(tls_key);
192
+
193
+                                    if (!strcmp(tls_key, "key")) {
194
+                                        key = ogs_yaml_iter_value(&tls_iter);
195
+                                    } else if (!strcmp(tls_key, "pem")) {
196
+                                        pem = ogs_yaml_iter_value(&tls_iter);
197
+                                    } else
198
+                                        ogs_warn("unknown key `%s`", tls_key);
199
+                                }
200
+                            } else if (!strcmp(sbi_key, "advertise")) {
201
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/context.h -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/context.h Changed
122
 
1
@@ -36,8 +36,20 @@
2
 typedef struct ogs_sbi_smf_info_s ogs_sbi_smf_info_t;
3
 typedef struct ogs_sbi_nf_instance_s ogs_sbi_nf_instance_t;
4
 
5
+typedef enum {
6
+    OGS_SBI_DISCOVERY_DELEGATED_AUTO = 0,
7
+    OGS_SBI_DISCOVERY_DELEGATED_YES,
8
+    OGS_SBI_DISCOVERY_DELEGATED_NO,
9
+} ogs_sbi_discovery_delegated_mode;
10
+
11
+typedef struct ogs_sbi_discovery_config_s {
12
+    ogs_sbi_discovery_delegated_mode delegated;
13
+} ogs_sbi_discovery_config_t;
14
+
15
 typedef struct ogs_sbi_context_s {
16
-    uint32_t sbi_port;       /* SBI local port */
17
+    ogs_sbi_discovery_config_t discovery_config; /* SCP Discovery Delegated */
18
+
19
+    uint32_t sbi_port;                      /* SBI local port */
20
 
21
     ogs_list_t server_list;
22
     ogs_list_t client_list;
23
@@ -47,25 +59,28 @@
24
     ogs_list_t nf_instance_list;
25
     ogs_list_t subscription_list;
26
 
27
-    ogs_sbi_nf_instance_t *nf_instance; /* SELF NF Instance */
28
+    ogs_sbi_nf_instance_t *nf_instance;     /* SELF NF Instance */
29
+    ogs_sbi_nf_instance_t *nrf_instance;    /* NRF Instance */
30
+    ogs_sbi_nf_instance_t *scp_instance;    /* SCP Instance */
31
 
32
     const char *content_encoding;
33
+
34
 } ogs_sbi_context_t;
35
 
36
 typedef struct ogs_sbi_nf_instance_s {
37
     ogs_lnode_t lnode;
38
 
39
-    ogs_fsm_t sm;                               /* A state machine */
40
-    ogs_timer_t *t_registration_interval;       /* timer to retry
41
-                                                   to register peer node */
42
+    ogs_fsm_t sm;                           /* A state machine */
43
+    ogs_timer_t *t_registration_interval;   /* timer to retry
44
+                                               to register peer node */
45
     struct {
46
         int heartbeat_interval;
47
         int validity_duration;
48
     } time;
49
 
50
-    ogs_timer_t *t_heartbeat_interval;  /* heartbeat interval */
51
-    ogs_timer_t *t_no_heartbeat;        /* check heartbeat */
52
-    ogs_timer_t *t_validity;            /* check validation */
53
+    ogs_timer_t *t_heartbeat_interval;      /* heartbeat interval */
54
+    ogs_timer_t *t_no_heartbeat;            /* check heartbeat */
55
+    ogs_timer_t *t_validity;                /* check validation */
56
 
57
 #define NF_INSTANCE_IS_SELF(_iD) \
58
     (_iD) && ogs_sbi_self()->nf_instance && \
59
@@ -77,7 +92,7 @@
60
 #define NF_INSTANCE_IS_NRF(__nFInstance) \
61
     ((__nFInstance->nf_type) == OpenAPI_nf_type_NRF)
62
 
63
-    char *id;                           /* NFInstanceId */
64
+    char *id;                               /* NFInstanceId */
65
 
66
     OpenAPI_nf_type_e nf_type;
67
     OpenAPI_nf_status_e nf_status;
68
@@ -103,12 +118,12 @@
69
 
70
     ogs_list_t nf_service_list;
71
 
72
-    void *client;                   /* only used in CLIENT */
73
-    unsigned int reference_count;   /* reference count for memory free */
74
+    void *client;                       /* only used in CLIENT */
75
+    unsigned int reference_count;       /* reference count for memory free */
76
 
77
     ogs_list_t nf_info_list;
78
 
79
-    OpenAPI_nf_profile_t *nf_profile;   /* stored NF Profile */
80
+    OpenAPI_nf_profile_t *nf_profile;       /* stored NF Profile */
81
 } ogs_sbi_nf_instance_t;
82
 
83
 typedef struct ogs_sbi_nf_type_array_s {
84
@@ -196,19 +211,19 @@
85
         int validity_duration;
86
     } time;
87
 
88
-    ogs_timer_t *t_validity;            /* check validation */
89
+    ogs_timer_t *t_validity;                /* check validation */
90
 
91
-    char *id;                           /* SubscriptionId */
92
-    char *req_nf_instance_id;           /* reqNfInstanceId */
93
-    OpenAPI_nf_type_e req_nf_type;      /* reqNfType */
94
+    char *id;                               /* SubscriptionId */
95
+    char *req_nf_instance_id;               /* reqNfInstanceId */
96
+    OpenAPI_nf_type_e req_nf_type;          /* reqNfType */
97
     OpenAPI_nf_status_e nf_status;
98
     char *notification_uri;
99
 
100
     struct {
101
-        OpenAPI_nf_type_e nf_type;      /* nfType */
102
+        OpenAPI_nf_type_e nf_type;          /* nfType */
103
     } subscr_cond;
104
 
105
-    void *client;                       /* only used in SERVER */
106
+    void *client;                           /* only used in SERVER */
107
 } ogs_sbi_subscription_t;
108
 
109
 typedef struct ogs_sbi_smf_info_s {
110
@@ -249,7 +264,10 @@
111
 void ogs_sbi_context_init(void);
112
 void ogs_sbi_context_final(void);
113
 ogs_sbi_context_t *ogs_sbi_self(void);
114
-int ogs_sbi_context_parse_config(const char *local, const char *remote);
115
+int ogs_sbi_context_parse_config(
116
+        const char *local, const char *nrf, const char *scp);
117
+
118
+ogs_sbi_nf_instance_t *ogs_sbi_scp_instance(void);
119
 
120
 ogs_sbi_nf_instance_t *ogs_sbi_nf_instance_add(void);
121
 void ogs_sbi_nf_instance_set_id(ogs_sbi_nf_instance_t *nf_instance, char *id);
122
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/conv.c -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/conv.c Changed
124
 
1
@@ -29,7 +29,6 @@
2
     char *hostname = NULL;
3
 
4
     ogs_assert(addr);
5
-    ogs_assert(h);
6
 
7
     p = uri;
8
     last = uri + OGS_HUGE_LEN;
9
@@ -61,16 +60,18 @@
10
     }
11
 
12
     /* API */
13
-    ogs_assert(h->service.name);
14
-    p = ogs_slprintf(p, last, "/%s", h->service.name);
15
-    ogs_assert(h->api.version);
16
-    p = ogs_slprintf(p, last, "/%s", h->api.version);
17
-
18
-    /* Resource */
19
-    ogs_assert(h->resource.component0);
20
-    for (i = 0; i < OGS_SBI_MAX_NUM_OF_RESOURCE_COMPONENT &&
21
-                        h->resource.componenti; i++)
22
-        p = ogs_slprintf(p, last, "/%s", h->resource.componenti);
23
+    if (h) {
24
+        ogs_assert(h->service.name);
25
+        p = ogs_slprintf(p, last, "/%s", h->service.name);
26
+        ogs_assert(h->api.version);
27
+        p = ogs_slprintf(p, last, "/%s", h->api.version);
28
+
29
+        /* Resource */
30
+        ogs_assert(h->resource.component0);
31
+        for (i = 0; i < OGS_SBI_MAX_NUM_OF_RESOURCE_COMPONENT &&
32
+                            h->resource.componenti; i++)
33
+            p = ogs_slprintf(p, last, "/%s", h->resource.componenti);
34
+    }
35
 
36
     return ogs_strdup(uri);
37
 }
38
@@ -81,7 +82,6 @@
39
     bool https = false;
40
 
41
     ogs_assert(server);
42
-    ogs_assert(h);
43
 
44
     if (server->tls.key && server->tls.pem)
45
         https = true;
46
@@ -100,7 +100,6 @@
47
     bool https = false;
48
 
49
     ogs_assert(client);
50
-    ogs_assert(h);
51
 
52
     if (client->tls.key && client->tls.pem)
53
         https = true;
54
@@ -108,6 +107,11 @@
55
     return ogs_uridup(https, client->node.addr, h);
56
 }
57
 
58
+char *ogs_sbi_client_apiroot(ogs_sbi_client_t *client)
59
+{
60
+    return ogs_sbi_client_uri(client, NULL);
61
+}
62
+
63
 /**
64
  * Returns a url-decoded version of str
65
  * IMPORTANT: be sure to free() the returned string after use
66
@@ -207,6 +211,57 @@
67
     return addr;
68
 }
69
 
70
+char *ogs_sbi_getpath_from_uri(char *uri)
71
+{
72
+    int rv;
73
+    struct yuarel yuarel;
74
+    char *p = NULL;
75
+    char *path = NULL;
76
+
77
+    p = ogs_strdup(uri);
78
+
79
+    rv = yuarel_parse(&yuarel, p);
80
+    if (rv != OGS_OK) {
81
+        ogs_free(p);
82
+        ogs_error("yuarel_parse() failed %s", uri);
83
+        return NULL;
84
+    }
85
+
86
+    if (!yuarel.scheme) {
87
+        ogs_error("No http.scheme found %s", uri);
88
+        ogs_free(p);
89
+        return NULL;
90
+    }
91
+
92
+    if (strcmp(yuarel.scheme, "https") == 0) {
93
+
94
+    } else if (strcmp(yuarel.scheme, "http") == 0) {
95
+
96
+    } else {
97
+        ogs_error("Invalid http.scheme %s:%s", yuarel.scheme, uri);
98
+        ogs_free(p);
99
+        return NULL;
100
+    }
101
+
102
+    if (!yuarel.host) {
103
+        ogs_error("No http.host found %s", uri);
104
+        ogs_free(p);
105
+        return NULL;
106
+    }
107
+
108
+    if (!yuarel.path) {
109
+        ogs_error("No http.path found %s", uri);
110
+        ogs_free(p);
111
+        return NULL;
112
+    }
113
+
114
+    path = ogs_strdup(yuarel.path);
115
+    ogs_assert(path);
116
+
117
+    ogs_free(p);
118
+    return path;
119
+}
120
+
121
 char *ogs_sbi_bitrate_to_string(uint64_t bitrate, int unit)
122
 {
123
     if (unit == OGS_SBI_BITRATE_KBPS) {
124
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/conv.h -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/conv.h Changed
15
 
1
@@ -34,10 +34,13 @@
2
 
3
 char *ogs_uridup(bool https, ogs_sockaddr_t *addr, ogs_sbi_header_t *h);
4
 char *ogs_sbi_server_uri(ogs_sbi_server_t *server, ogs_sbi_header_t *h);
5
+char *ogs_sbi_client_apiroot(ogs_sbi_client_t *client);
6
 char *ogs_sbi_client_uri(ogs_sbi_client_t *client, ogs_sbi_header_t *h);
7
 
8
 char *ogs_sbi_parse_uri(char *uri, const char *delim, char **saveptr);
9
+
10
 ogs_sockaddr_t *ogs_sbi_getaddr_from_uri(char *uri);
11
+char *ogs_sbi_getpath_from_uri(char *uri);
12
 
13
 #define OGS_SBI_BITRATE_BPS     0
14
 #define OGS_SBI_BITRATE_KBPS    1
15
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/message.c -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/message.c Changed
87
 
1
@@ -252,7 +252,6 @@
2
     ogs_expect_or_return_val(message->h.method, NULL);
3
     request->h.method = ogs_strdup(message->h.method);
4
     if (message->h.uri) {
5
-        ogs_expect_or_return_val(message->h.uri, NULL);
6
         request->h.uri = ogs_strdup(message->h.uri);
7
         ogs_expect_or_return_val(request->h.uri, NULL);
8
     } else {
9
@@ -547,6 +546,11 @@
10
 
11
     for (hi = ogs_hash_first(request->http.headers);
12
             hi; hi = ogs_hash_next(hi)) {
13
+        /*
14
+         * <RFC 2616>
15
+         *  Each header field consists of a name followed by a colon (":")
16
+         *  and the field value. Field names are case-insensitive.
17
+         */
18
         if (!ogs_strcasecmp(ogs_hash_this_key(hi), OGS_SBI_ACCEPT_ENCODING)) {
19
             message->http.content_encoding = ogs_hash_this_val(hi);
20
         } else if (!ogs_strcasecmp(
21
@@ -620,7 +624,7 @@
22
 {
23
     struct yuarel yuarel;
24
     char *saveptr = NULL;
25
-    char *uri = NULL, *p = NULL;;
26
+    char *uri = NULL, *p = NULL;
27
 
28
     char *component = NULL;
29
     int i = 0;
30
@@ -691,6 +695,21 @@
31
         ogs_free(h->resource.componenti);
32
 }
33
 
34
+void ogs_sbi_http_hash_free(ogs_hash_t *hash)
35
+{
36
+    ogs_hash_index_t *hi;
37
+
38
+    ogs_assert(hash);
39
+
40
+    for (hi = ogs_hash_first(hash); hi; hi = ogs_hash_next(hi)) {
41
+        char *key = (char *)ogs_hash_this_key(hi);
42
+        char *val = ogs_hash_this_val(hi);
43
+        ogs_hash_set(hash, key, strlen(key), NULL);
44
+        ogs_free(key);
45
+        ogs_free(val);
46
+    }
47
+    ogs_hash_destroy(hash);
48
+}
49
 
50
 static char *build_json(ogs_sbi_message_t *message)
51
 {
52
@@ -2152,29 +2171,12 @@
53
     int i;
54
     ogs_assert(http);
55
 
56
-    if (http->params) {
57
-        ogs_hash_index_t *hi;
58
-        for (hi = ogs_hash_first(http->params); hi; hi = ogs_hash_next(hi)) {
59
-            char *key = (char *)ogs_hash_this_key(hi);
60
-            char *val = ogs_hash_this_val(hi);
61
-            ogs_hash_set(http->params, key, strlen(key), NULL);
62
-            ogs_free(key);
63
-            ogs_free(val);
64
-        }
65
-        ogs_hash_destroy(http->params);
66
-    }
67
+    if (http->params)
68
+        ogs_sbi_http_hash_free(http->params);
69
+
70
+    if (http->headers)
71
+        ogs_sbi_http_hash_free(http->headers);
72
 
73
-    if (http->headers) {
74
-        ogs_hash_index_t *hi;
75
-        for (hi = ogs_hash_first(http->headers); hi; hi = ogs_hash_next(hi)) {
76
-            char *key = (char *)ogs_hash_this_key(hi);
77
-            char *val = ogs_hash_this_val(hi);
78
-            ogs_hash_set(http->headers, key, strlen(key), NULL);
79
-            ogs_free(key);
80
-            ogs_free(val);
81
-        }
82
-        ogs_hash_destroy(http->headers);
83
-    }
84
     if (http->content)
85
         ogs_free(http->content);
86
 
87
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/message.h -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/message.h Changed
32
 
1
@@ -274,6 +274,21 @@
2
 #define OGS_SBI_APPLICATION_5GNAS_TYPE              "vnd.3gpp.5gnas"
3
 #define OGS_SBI_APPLICATION_NGAP_TYPE               "vnd.3gpp.ngap"
4
 
5
+#define OGS_SBI_CUSTOM_3GPP_COMMON              "3gpp-Sbi-"
6
+#define OGS_SBI_CUSTOM_MESSAGE_PRIORITY         "3gpp-Sbi-Message-Priority"
7
+#define OGS_SBI_CUSTOM_CALLBACK                 "3gpp-Sbi-Callback"
8
+#define OGS_SBI_CUSTOM_TARGET_APIROOT           "3gpp-Sbi-Target-apiRoot"
9
+#define OGS_SBI_CUSTOM_ROUTING_BINDING          "3gpp-Sbi-Routing-Binding"
10
+#define OGS_SBI_CUSTOM_BINDING                  "3gpp-Sbi-Binding"
11
+#define OGS_SBI_CUSTOM_DISCOVERY_COMMON         "3gpp-Sbi-Discovery-"
12
+#define OGS_SBI_CUSTOM_PRODUCER_ID              "3gpp-Sbi-Producer-Id"
13
+#define OGS_SBI_CUSTOM_OCI                      "3gpp-Sbi-Oci"
14
+#define OGS_SBI_CUSTOM_CLIENT_CREDENTIALS       "3gpp-Sbi-Client-Credentials"
15
+#define OGS_SBI_CUSTOM_NRF_URI                  "3gpp-Sbi-Nrf-Uri"
16
+#define OGS_SBI_CUSTOM_TARGET_NF_ID             "3gpp-Sbi-Target-Nf-Id"
17
+#define OGS_SBI_CUSTOM_ACCESS_SCOPE             "3gpp-Sbi-Access-Scope"
18
+#define OGS_SBI_CUSTOM_ACCESS_TOKEN             "3gpp-Sbi-Access-Token"
19
+
20
 #define OGS_SBI_CONTENT_JSON_TYPE                   \
21
     OGS_SBI_APPLICATION_TYPE "/" OGS_SBI_APPLICATION_JSON_TYPE
22
 #define OGS_SBI_CONTENT_PROBLEM_TYPE                \
23
@@ -477,6 +492,8 @@
24
 int ogs_sbi_parse_header(ogs_sbi_message_t *message, ogs_sbi_header_t *header);
25
 void ogs_sbi_header_free(ogs_sbi_header_t *h);
26
 
27
+void ogs_sbi_http_hash_free(ogs_hash_t *hash);
28
+
29
 #ifdef __cplusplus
30
 }
31
 #endif
32
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/mhd-server.c -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/mhd-server.c Changed
103
 
1
@@ -35,6 +35,8 @@
2
         int (*cb)(ogs_sbi_request_t *request, void *data));
3
 static void server_stop(ogs_sbi_server_t *server);
4
 
5
+static bool server_send_rspmem_persistent(
6
+        ogs_sbi_stream_t *stream, ogs_sbi_response_t *response);
7
 static bool server_send_response(
8
         ogs_sbi_stream_t *stream, ogs_sbi_response_t *response);
9
 
10
@@ -47,7 +49,9 @@
11
     server_start,
12
     server_stop,
13
 
14
+    server_send_rspmem_persistent,
15
     server_send_response,
16
+
17
     server_from_stream,
18
 };
19
 
20
@@ -296,7 +300,7 @@
21
 }
22
 #endif
23
 
24
-static bool server_send_response(
25
+static bool server_send_rspmem_persistent(
26
         ogs_sbi_stream_t *stream, ogs_sbi_response_t *response)
27
 {
28
     int ret;
29
@@ -312,10 +316,14 @@
30
     ogs_sbi_request_t *request = NULL;
31
     ogs_sbi_session_t *sbi_sess = NULL;
32
 
33
-    sbi_sess = (ogs_sbi_session_t *)stream;
34
-    ogs_assert(sbi_sess);
35
     ogs_assert(response);
36
 
37
+    sbi_sess = ogs_pool_cycle(&session_pool, (ogs_sbi_session_t *)stream);
38
+    if (!sbi_sess) {
39
+        ogs_error("session has already been removed");
40
+        return true;
41
+    }
42
+
43
     connection = sbi_sess->connection;
44
     ogs_assert(connection);
45
 
46
@@ -370,7 +378,6 @@
47
     request = sbi_sess->request;
48
     ogs_assert(request);
49
 
50
-    ogs_sbi_response_free(response);
51
     session_remove(sbi_sess);
52
 
53
     request->poll.write = ogs_pollset_add(ogs_app()->pollset,
54
@@ -387,6 +394,20 @@
55
     return true;
56
 }
57
 
58
+static bool server_send_response(
59
+        ogs_sbi_stream_t *stream, ogs_sbi_response_t *response)
60
+{
61
+    bool rc;
62
+
63
+    ogs_assert(response);
64
+
65
+    rc = server_send_rspmem_persistent(stream, response);
66
+
67
+    ogs_sbi_response_free(response);
68
+
69
+    return rc;
70
+}
71
+
72
 static void run(short when, ogs_socket_t fd, void *data)
73
 {
74
     struct MHD_Daemon *mhd_daemon = data;
75
@@ -539,19 +560,15 @@
76
     sbi_sess = session_add(server, request, connection);
77
     ogs_assert(sbi_sess);
78
 
79
-    if (server->cb) {
80
-        if (server->cb(request, sbi_sess) != OGS_OK) {
81
-            ogs_warn("server callback error");
82
-            ogs_assert(true ==
83
-                    ogs_sbi_server_send_error((ogs_sbi_stream_t *)sbi_sess,
84
-                        OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR, NULL,
85
-                        "server callback error", NULL));
86
+    ogs_assert(server->cb);
87
+    if (server->cb(request, sbi_sess) != OGS_OK) {
88
+        ogs_error("server callback error");
89
+        ogs_assert(true ==
90
+                ogs_sbi_server_send_error((ogs_sbi_stream_t *)sbi_sess,
91
+                    OGS_SBI_HTTP_STATUS_INTERNAL_SERVER_ERROR, NULL,
92
+                    "server callback error", NULL));
93
 
94
-            return MHD_YES;
95
-        }
96
-    } else {
97
-        ogs_fatal("server callback is not registered");
98
-        ogs_assert_if_reached();
99
+        return MHD_YES;
100
     }
101
 
102
     return MHD_YES;
103
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/nghttp2-server.c -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/nghttp2-server.c Changed
76
 
1
@@ -33,6 +33,8 @@
2
         int (*cb)(ogs_sbi_request_t *request, void *data));
3
 static void server_stop(ogs_sbi_server_t *server);
4
 
5
+static bool server_send_rspmem_persistent(
6
+        ogs_sbi_stream_t *stream, ogs_sbi_response_t *response);
7
 static bool server_send_response(
8
         ogs_sbi_stream_t *stream, ogs_sbi_response_t *response);
9
 
10
@@ -45,7 +47,9 @@
11
     server_start,
12
     server_stop,
13
 
14
+    server_send_rspmem_persistent,
15
     server_send_response,
16
+
17
     server_from_stream,
18
 };
19
 
20
@@ -284,7 +288,7 @@
21
     return response->http.content_length;
22
 }
23
 
24
-static bool server_send_response(
25
+static bool server_send_rspmem_persistent(
26
         ogs_sbi_stream_t *stream, ogs_sbi_response_t *response)
27
 {
28
     ogs_sbi_session_t *sbi_sess = NULL;
29
@@ -299,11 +303,17 @@
30
     char srv_version128;
31
     char clen128;
32
 
33
-    ogs_assert(stream);
34
+    ogs_assert(response);
35
+
36
+    stream = ogs_pool_cycle(&stream_pool, stream);
37
+    if (!stream) {
38
+        ogs_error("stream has already been closed");
39
+        return true;
40
+    }
41
+
42
     sbi_sess = stream->session;
43
     ogs_assert(sbi_sess);
44
     ogs_assert(sbi_sess->session);
45
-    ogs_assert(response);
46
 
47
     sock = sbi_sess->sock;
48
     ogs_assert(sock);
49
@@ -375,12 +385,25 @@
50
         session_remove(sbi_sess);
51
     }
52
 
53
-    ogs_sbi_response_free(response);
54
     ogs_free(nva);
55
 
56
     return true;
57
 }
58
 
59
+static bool server_send_response(
60
+        ogs_sbi_stream_t *stream, ogs_sbi_response_t *response)
61
+{
62
+    bool rc;
63
+
64
+    ogs_assert(response);
65
+
66
+    rc = server_send_rspmem_persistent(stream, response);
67
+
68
+    ogs_sbi_response_free(response);
69
+
70
+    return rc;
71
+}
72
+
73
 static ogs_sbi_server_t *server_from_stream(ogs_sbi_stream_t *stream)
74
 {
75
     ogs_sbi_session_t *sbi_sess = NULL;
76
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/path.c -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/path.c Changed
108
 
1
@@ -68,13 +68,12 @@
2
         ogs_freeaddrinfo(addr);
3
     }
4
 
5
+    /* ogs_sbi_xact_remove() will call ogs_sbi_request_free()
6
+     * As such, we'll use ogs_sbi_client_send_reqmem_persistent() */
7
     ogs_expect_or_return_val(true ==
8
-        ogs_sbi_client_send_request(
9
+        ogs_sbi_scp_send_reqmem_persistent(
10
             client, client_cb, request, xact), false);
11
 
12
-    /* Prevent ogs_sbi_request_free() in ogs_sbi_xact_remove() */
13
-    xact->request = NULL;
14
-
15
     return true;
16
 }
17
 
18
@@ -125,6 +124,23 @@
19
     return false;
20
 }
21
 
22
+bool ogs_nnrf_nfm_send_nf_register(
23
+        ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_request_t *(*build)(void))
24
+{
25
+    ogs_sbi_request_t *request = NULL;
26
+    ogs_sbi_client_t *client = NULL;
27
+
28
+    ogs_assert(nf_instance);
29
+    client = nf_instance->client;
30
+    ogs_assert(client);
31
+    ogs_assert(build);
32
+
33
+    request = (*build)();
34
+    ogs_expect_or_return_val(request, false);
35
+
36
+    return ogs_sbi_scp_send_request(client, client->cb, request, nf_instance);
37
+}
38
+
39
 bool ogs_nnrf_nfm_send_nf_update(ogs_sbi_nf_instance_t *nf_instance)
40
 {
41
     ogs_sbi_request_t *request = NULL;
42
@@ -137,8 +153,7 @@
43
     request = ogs_nnrf_nfm_build_update();
44
     ogs_expect_or_return_val(request, false);
45
 
46
-    return ogs_sbi_client_send_request(
47
-            client, client->cb, request, nf_instance);
48
+    return ogs_sbi_scp_send_request(client, client->cb, request, nf_instance);
49
 }
50
 
51
 bool ogs_nnrf_nfm_send_nf_de_register(ogs_sbi_nf_instance_t *nf_instance)
52
@@ -153,8 +168,7 @@
53
     request = ogs_nnrf_nfm_build_de_register();
54
     ogs_expect_or_return_val(request, false);
55
 
56
-    return ogs_sbi_client_send_request(
57
-            client, client->cb, request, nf_instance);
58
+    return ogs_sbi_scp_send_request(client, client->cb, request, nf_instance);
59
 }
60
 
61
 bool ogs_nnrf_nfm_send_nf_status_subscribe(ogs_sbi_client_t *client,
62
@@ -180,7 +194,7 @@
63
     request = ogs_nnrf_nfm_build_status_subscribe(subscription);
64
     ogs_expect_or_return_val(request, false);
65
 
66
-    return ogs_sbi_client_send_request(
67
+    return ogs_sbi_scp_send_request(
68
             client, client->cb, request, subscription);
69
 }
70
 
71
@@ -191,13 +205,14 @@
72
     ogs_sbi_client_t *client = NULL;
73
 
74
     ogs_assert(subscription);
75
-    client = subscription->client;
76
-    ogs_assert(client);
77
 
78
     request = ogs_nnrf_nfm_build_status_unsubscribe(subscription);
79
     ogs_expect_or_return_val(request, false);
80
 
81
-    return ogs_sbi_client_send_request(
82
+    client = subscription->client;
83
+    ogs_assert(client);
84
+
85
+    return ogs_sbi_scp_send_request(
86
             client, client->cb, request, subscription);
87
 }
88
 
89
@@ -208,15 +223,15 @@
90
     ogs_sbi_request_t *request = NULL;
91
 
92
     ogs_assert(nf_instance);
93
-    ogs_assert(nf_instance->nf_type);
94
-    client = nf_instance->client;
95
-    ogs_assert(client);
96
 
97
     ogs_assert(ogs_sbi_self()->nf_instance);
98
     request = ogs_nnrf_disc_build_discover(
99
             target_nf_type, ogs_sbi_self()->nf_instance->nf_type);
100
     ogs_expect_or_return_val(request, false);
101
 
102
+    client = nf_instance->client;
103
+    ogs_assert(client);
104
+
105
     return ogs_sbi_client_send_request(client, client->cb, request, data);
106
 }
107
 
108
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/path.h -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/path.h Changed
10
 
1
@@ -31,6 +31,8 @@
2
 bool ogs_sbi_discover_and_send(ogs_sbi_xact_t *xact,
3
         ogs_fsm_handler_t nf_state_registered, ogs_sbi_client_cb_f client_cb);
4
 
5
+bool ogs_nnrf_nfm_send_nf_register(
6
+        ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_request_t *(*build)(void));
7
 bool ogs_nnrf_nfm_send_nf_update(ogs_sbi_nf_instance_t *nf_instance);
8
 bool ogs_nnrf_nfm_send_nf_de_register(ogs_sbi_nf_instance_t *nf_instance);
9
 
10
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/server.c -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/server.c Changed
14
 
1
@@ -133,6 +133,12 @@
2
         ogs_sbi_server_actions.stop(server);
3
 }
4
 
5
+bool ogs_sbi_server_send_rspmem_persistent(
6
+        ogs_sbi_stream_t *stream, ogs_sbi_response_t *response)
7
+{
8
+    return ogs_sbi_server_actions.send_rspmem_persistent(stream, response);
9
+}
10
+
11
 bool ogs_sbi_server_send_response(
12
         ogs_sbi_stream_t *stream, ogs_sbi_response_t *response)
13
 {
14
open5gs_2.4.8.202207150002.tar.xz/lib/sbi/server.h -> open5gs_2.4.8.202207180859.tar.xz/lib/sbi/server.h Changed
19
 
1
@@ -53,6 +53,8 @@
2
             int (*cb)(ogs_sbi_request_t *request, void *data));
3
     void (*stop)(ogs_sbi_server_t *server);
4
 
5
+    bool (*send_rspmem_persistent)(
6
+            ogs_sbi_stream_t *stream, ogs_sbi_response_t *response);
7
     bool (*send_response)(
8
             ogs_sbi_stream_t *stream, ogs_sbi_response_t *response);
9
 
10
@@ -74,6 +76,8 @@
11
         int (*cb)(ogs_sbi_request_t *request, void *data));
12
 void ogs_sbi_server_stop_all(void);
13
 
14
+bool ogs_sbi_server_send_rspmem_persistent(
15
+        ogs_sbi_stream_t *stream, ogs_sbi_response_t *response);
16
 bool ogs_sbi_server_send_response(
17
         ogs_sbi_stream_t *stream, ogs_sbi_response_t *response);
18
 bool ogs_sbi_server_send_error(ogs_sbi_stream_t *stream,
19
open5gs_2.4.8.202207150002.tar.xz/misc/ipv6_netconf.sh -> open5gs_2.4.8.202207180859.tar.xz/misc/ipv6_netconf.sh Changed
46
 
1
@@ -31,6 +31,7 @@
2
     ip addr del fd69:f21d:873c:fa::18 dev lo 2> /dev/null
3
     ip addr del fd69:f21d:873c:fa::19 dev lo 2> /dev/null
4
     ip addr del fd69:f21d:873c:fa::20 dev lo 2> /dev/null
5
+    ip addr del fd69:f21d:873c:fb::10 dev lo 2> /dev/null
6
     ip addr add fd69:f21d:873c:fa::1 dev lo
7
     ip addr add fd69:f21d:873c:fa::2 dev lo
8
     ip addr add fd69:f21d:873c:fa::3 dev lo
9
@@ -51,11 +52,8 @@
10
     ip addr add fd69:f21d:873c:fa::18 dev lo
11
     ip addr add fd69:f21d:873c:fa::19 dev lo
12
     ip addr add fd69:f21d:873c:fa::20 dev lo
13
+    ip addr add fd69:f21d:873c:fb::10 dev lo
14
 else
15
-    ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255
16
-    ifconfig lo0 alias 127.0.0.3 netmask 255.255.255.255
17
-    ifconfig lo0 alias 127.0.0.4 netmask 255.255.255.255
18
-    ifconfig lo0 alias 127.0.0.5 netmask 255.255.255.255
19
     sysctl -w net.inet.ip.forwarding=1
20
     sysctl -w net.inet6.ip6.forwarding=1
21
     ifconfig lo0 alias 127.0.0.2 netmask 255.255.255.255
22
@@ -77,6 +75,7 @@
23
     ifconfig lo0 alias 127.0.0.18 netmask 255.255.255.255
24
     ifconfig lo0 alias 127.0.0.19 netmask 255.255.255.255
25
     ifconfig lo0 alias 127.0.0.20 netmask 255.255.255.255
26
+    ifconfig lo0 alias 127.0.1.10 netmask 255.255.255.255
27
     ifconfig lo0 inet6 delete fd69:f21d:873c:fa::1 prefixlen 128 2> /dev/null
28
     ifconfig lo0 inet6 delete fd69:f21d:873c:fa::2 prefixlen 128 2> /dev/null
29
     ifconfig lo0 inet6 delete fd69:f21d:873c:fa::3 prefixlen 128 2> /dev/null
30
@@ -97,6 +96,7 @@
31
     ifconfig lo0 inet6 delete fd69:f21d:873c:fa::18 prefixlen 128 2> /dev/null
32
     ifconfig lo0 inet6 delete fd69:f21d:873c:fa::19 prefixlen 128 2> /dev/null
33
     ifconfig lo0 inet6 delete fd69:f21d:873c:fa::20 prefixlen 128 2> /dev/null
34
+    ifconfig lo0 inet6 delete fd69:f21d:873c:fb::10 prefixlen 128 2> /dev/null
35
     ifconfig lo0 inet6 add fd69:f21d:873c:fa::1 prefixlen 128
36
     ifconfig lo0 inet6 add fd69:f21d:873c:fa::2 prefixlen 128
37
     ifconfig lo0 inet6 add fd69:f21d:873c:fa::3 prefixlen 128
38
@@ -117,6 +117,7 @@
39
     ifconfig lo0 inet6 add fd69:f21d:873c:fa::18 prefixlen 128
40
     ifconfig lo0 inet6 add fd69:f21d:873c:fa::19 prefixlen 128
41
     ifconfig lo0 inet6 add fd69:f21d:873c:fa::20 prefixlen 128
42
+    ifconfig lo0 inet6 add fd69:f21d:873c:fb::10 prefixlen 128
43
     if  "$SYSTEM" = "Darwin" ; then
44
         if ! test -f /etc/pf.anchors/org.open5gs; then
45
             sudo sh -c "echo 'nat on {en0} from 10.45.0.0/16 to any -> {en0}' > /etc/pf.anchors/org.open5gs"
46
open5gs_2.4.8.202207150002.tar.xz/misc/netconf.sh -> open5gs_2.4.8.202207180859.tar.xz/misc/netconf.sh Changed
9
 
1
@@ -37,6 +37,7 @@
2
     ifconfig lo0 alias 127.0.0.18 netmask 255.255.255.255
3
     ifconfig lo0 alias 127.0.0.19 netmask 255.255.255.255
4
     ifconfig lo0 alias 127.0.0.20 netmask 255.255.255.255
5
+    ifconfig lo0 alias 127.0.1.10 netmask 255.255.255.255
6
     if  "$SYSTEM" = "Darwin" ; then
7
         if ! test -f /etc/pf.anchors/org.open5gs; then
8
             sudo sh -c "echo 'nat on {en0} from 10.45.0.0/16 to any -> {en0}' > /etc/pf.anchors/org.open5gs"
9
open5gs_2.4.8.202207150002.tar.xz/src/amf/event.c -> open5gs_2.4.8.202207180859.tar.xz/src/amf/event.c Changed
10
 
1
@@ -119,7 +119,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_free(e->ngap.addr);
8
         if (e->pkbuf)
9
             ogs_pkbuf_free(e->pkbuf);
10
open5gs_2.4.8.202207150002.tar.xz/src/amf/init.c -> open5gs_2.4.8.202207180859.tar.xz/src/amf/init.c Changed
10
 
1
@@ -35,7 +35,7 @@
2
     amf_context_init();
3
     amf_event_init();
4
 
5
-    rv = ogs_sbi_context_parse_config("amf", "nrf");
6
+    rv = ogs_sbi_context_parse_config("amf", "nrf", "scp");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = ogs_metrics_context_parse_config();
10
open5gs_2.4.8.202207150002.tar.xz/src/amf/nf-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/amf/nf-sm.c Changed
67
 
1
@@ -61,16 +61,18 @@
2
     nf_instance = e->sbi.data;
3
     ogs_assert(nf_instance);
4
 
5
+    nf_instance->t_registration_interval = ogs_timer_add(ogs_app()->timer_mgr,
6
+            amf_timer_nf_instance_registration_interval, nf_instance);
7
     ogs_assert(nf_instance->t_registration_interval);
8
-    nf_instance->t_registration_interval->cb =
9
-            amf_timer_nf_instance_registration_interval;
10
+    nf_instance->t_heartbeat_interval = ogs_timer_add(ogs_app()->timer_mgr,
11
+            amf_timer_nf_instance_heartbeat_interval, nf_instance);
12
     ogs_assert(nf_instance->t_heartbeat_interval);
13
-    nf_instance->t_heartbeat_interval->cb =
14
-            amf_timer_nf_instance_heartbeat_interval;
15
+    nf_instance->t_no_heartbeat = ogs_timer_add(ogs_app()->timer_mgr,
16
+            amf_timer_nf_instance_no_heartbeat, nf_instance);
17
     ogs_assert(nf_instance->t_no_heartbeat);
18
-    nf_instance->t_no_heartbeat->cb = amf_timer_nf_instance_no_heartbeat;
19
+    nf_instance->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
20
+            amf_timer_nf_instance_validity, nf_instance);
21
     ogs_assert(nf_instance->t_validity);
22
-    nf_instance->t_validity->cb = amf_timer_nf_instance_validity;
23
 
24
     if (NF_INSTANCE_IS_NRF(nf_instance)) {
25
         OGS_FSM_TRAN(s, &amf_nf_state_will_register);
26
@@ -82,10 +84,20 @@
27
 
28
 void amf_nf_state_final(ogs_fsm_t *s, amf_event_t *e)
29
 {
30
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
31
+
32
     ogs_assert(s);
33
     ogs_assert(e);
34
 
35
     amf_sm_debug(e);
36
+
37
+    nf_instance = e->sbi.data;
38
+    ogs_assert(nf_instance);
39
+
40
+    ogs_timer_delete(nf_instance->t_registration_interval);
41
+    ogs_timer_delete(nf_instance->t_heartbeat_interval);
42
+    ogs_timer_delete(nf_instance->t_no_heartbeat);
43
+    ogs_timer_delete(nf_instance->t_validity);
44
 }
45
 
46
 void amf_nf_state_will_register(ogs_fsm_t *s, amf_event_t *e)
47
@@ -110,7 +122,8 @@
48
         ogs_timer_start(nf_instance->t_registration_interval,
49
             ogs_app()->time.message.sbi.nf_register_interval);
50
 
51
-        ogs_assert(true == amf_nnrf_nfm_send_nf_register(nf_instance));
52
+        ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
53
+                    nf_instance, amf_nnrf_nfm_build_register));
54
         break;
55
 
56
     case OGS_FSM_EXIT_SIG:
57
@@ -166,7 +179,8 @@
58
             ogs_timer_start(nf_instance->t_registration_interval,
59
                 ogs_app()->time.message.sbi.nf_register_interval);
60
 
61
-            ogs_assert(true == amf_nnrf_nfm_send_nf_register(nf_instance));
62
+            ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
63
+                        nf_instance, amf_nnrf_nfm_build_register));
64
             break;
65
 
66
         default:
67
open5gs_2.4.8.202207150002.tar.xz/src/amf/ngap-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/amf/ngap-path.c Changed
19
 
1
@@ -128,7 +128,7 @@
2
     e->pkbuf = esmbuf;
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_pkbuf_free(e->pkbuf);
8
         amf_event_free(e);
9
     }
10
@@ -214,7 +214,7 @@
11
         e->pkbuf = nasbuf;
12
         rv = ogs_queue_push(ogs_app()->queue, e);
13
         if (rv != OGS_OK) {
14
-            ogs_warn("ngap_send_to_nas() failed:%d", (int)rv);
15
+            ogs_error("ngap_send_to_nas() failed:%d", (int)rv);
16
             ogs_pkbuf_free(e->pkbuf);
17
             amf_event_free(e);
18
         }
19
open5gs_2.4.8.202207150002.tar.xz/src/amf/sbi-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/amf/sbi-path.c Changed
157
 
1
@@ -37,7 +37,8 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
+        ogs_sbi_request_free(request);
8
         amf_event_free(e);
9
         return OGS_ERROR;
10
     }
11
@@ -45,11 +46,18 @@
12
     return OGS_OK;
13
 }
14
 
15
-static int client_cb(ogs_sbi_response_t *response, void *data)
16
+static int client_cb(int status, ogs_sbi_response_t *response, void *data)
17
 {
18
     amf_event_t *e = NULL;
19
     int rv;
20
 
21
+    if (status != OGS_OK) {
22
+        ogs_log_message(
23
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
24
+                "client_cb() failed %d", status);
25
+        return OGS_ERROR;
26
+    }
27
+
28
     ogs_assert(response);
29
 
30
     e = amf_event_new(AMF_EVT_SBI_CLIENT);
31
@@ -59,7 +67,8 @@
32
 
33
     rv = ogs_queue_push(ogs_app()->queue, e);
34
     if (rv != OGS_OK) {
35
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
36
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
37
+        ogs_sbi_response_free(response);
38
         amf_event_free(e);
39
         return OGS_ERROR;
40
     }
41
@@ -91,20 +100,30 @@
42
             (char*)OGS_SBI_API_V1_0_0, NULL);
43
     ogs_sbi_nf_service_add_allowed_nf_type(service, OpenAPI_nf_type_SMF);
44
 
45
+    /* Initialize SCP NF Instance */
46
+    nf_instance = ogs_sbi_self()->scp_instance;
47
+    if (nf_instance) {
48
+        ogs_sbi_client_t *client = NULL;
49
+
50
+        /* Client callback is only used when NF sends to SCP */
51
+        client = nf_instance->client;
52
+        ogs_assert(client);
53
+        client->cb = client_cb;
54
+    }
55
+
56
     /* Initialize NRF NF Instance */
57
-    ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance) {
58
-        if (NF_INSTANCE_IS_NRF(nf_instance)) {
59
-            ogs_sbi_client_t *client = NULL;
60
-
61
-            /* Client callback is only used when NF sends to NRF */
62
-            client = nf_instance->client;
63
-            ogs_assert(client);
64
-            client->cb = client_cb;
65
-
66
-            /* NFRegister is sent and the response is received
67
-             * by the above client callback. */
68
-            amf_nf_fsm_init(nf_instance);
69
-        }
70
+    nf_instance = ogs_sbi_self()->nrf_instance;
71
+    if (nf_instance) {
72
+        ogs_sbi_client_t *client = NULL;
73
+
74
+        /* Client callback is only used when NF sends to NRF */
75
+        client = nf_instance->client;
76
+        ogs_assert(client);
77
+        client->cb = client_cb;
78
+
79
+        /* NFRegister is sent and the response is received
80
+         * by the above client callback. */
81
+        amf_nf_fsm_init(nf_instance);
82
     }
83
 
84
     return OGS_OK;
85
@@ -112,25 +131,10 @@
86
 
87
 void amf_sbi_close(void)
88
 {
89
+    ogs_sbi_client_stop_all();
90
     ogs_sbi_server_stop_all();
91
 }
92
 
93
-bool amf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance)
94
-{
95
-    ogs_sbi_request_t *request = NULL;
96
-    ogs_sbi_client_t *client = NULL;
97
-
98
-    ogs_assert(nf_instance);
99
-    client = nf_instance->client;
100
-    ogs_assert(client);
101
-
102
-    request = amf_nnrf_nfm_build_register();
103
-    ogs_expect_or_return_val(request, false);
104
-
105
-    return ogs_sbi_client_send_request(
106
-            client, client->cb, request, nf_instance);
107
-}
108
-
109
 bool amf_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact)
110
 {
111
     return ogs_sbi_send(nf_instance, client_cb, xact);
112
@@ -203,13 +207,21 @@
113
 
114
     return true;
115
 }
116
-static int client_discover_cb(ogs_sbi_response_t *response, void *data)
117
+static int client_discover_cb(
118
+        int status, ogs_sbi_response_t *response, void *data)
119
 {
120
     int rv;
121
 
122
     ogs_sbi_message_t message;
123
     amf_sess_t *sess = data;
124
 
125
+    if (status != OGS_OK) {
126
+        ogs_log_message(
127
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
128
+                "client_discover_cb() failed %d", status);
129
+        return OGS_ERROR;
130
+    }
131
+
132
     ogs_assert(response);
133
     ogs_assert(sess);
134
     ogs_assert(sess->sbi.type == OGS_SBI_OBJ_SESS_TYPE);
135
@@ -395,12 +407,19 @@
136
     }
137
 }
138
 
139
-static int client_notify_cb(ogs_sbi_response_t *response, void *data)
140
+static int client_notify_cb(
141
+        int status, ogs_sbi_response_t *response, void *data)
142
 {
143
     int rv;
144
-
145
     ogs_sbi_message_t message;
146
 
147
+    if (status != OGS_OK) {
148
+        ogs_log_message(
149
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
150
+                "client_notify_cb() failed %d", status);
151
+        return OGS_ERROR;
152
+    }
153
+
154
     ogs_assert(response);
155
 
156
     rv = ogs_sbi_parse_response(&message, response);
157
open5gs_2.4.8.202207150002.tar.xz/src/amf/sbi-path.h -> open5gs_2.4.8.202207180859.tar.xz/src/amf/sbi-path.h Changed
10
 
1
@@ -34,8 +34,6 @@
2
 int amf_sbi_open(void);
3
 void amf_sbi_close(void);
4
 
5
-bool amf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance);
6
-
7
 bool amf_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact);
8
 bool amf_ue_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type,
9
         amf_ue_t *amf_ue, void *data,
10
open5gs_2.4.8.202207150002.tar.xz/src/amf/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/amf/timer.c Changed
37
 
1
@@ -109,7 +109,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_timer_delete(e->timer);
8
         amf_event_free(e);
9
     }
10
@@ -153,7 +153,7 @@
11
 
12
     rv = ogs_queue_push(ogs_app()->queue, e);
13
     if (rv != OGS_OK) {
14
-        ogs_warn("ogs_queue_push() failed %d in %s",
15
+        ogs_error("ogs_queue_push() failed %d in %s",
16
                 (int)rv, amf_timer_get_name(e->timer_id));
17
         amf_event_free(e);
18
     }
19
@@ -203,7 +203,7 @@
20
 
21
     rv = ogs_queue_push(ogs_app()->queue, e);
22
     if (rv != OGS_OK) {
23
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
24
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
25
         amf_event_free(e);
26
     }
27
 }
28
@@ -250,7 +250,7 @@
29
 
30
     rv = ogs_queue_push(ogs_app()->queue, e);
31
     if (rv != OGS_OK) {
32
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
33
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
34
         amf_event_free(e);
35
     }
36
 }
37
open5gs_2.4.8.202207150002.tar.xz/src/ausf/init.c -> open5gs_2.4.8.202207180859.tar.xz/src/ausf/init.c Changed
10
 
1
@@ -32,7 +32,7 @@
2
     ausf_context_init();
3
     ausf_event_init();
4
 
5
-    rv = ogs_sbi_context_parse_config("ausf", "nrf");
6
+    rv = ogs_sbi_context_parse_config("ausf", "nrf", "scp");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = ausf_context_parse_config();
10
open5gs_2.4.8.202207150002.tar.xz/src/ausf/nf-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/ausf/nf-sm.c Changed
67
 
1
@@ -61,16 +61,18 @@
2
     nf_instance = e->sbi.data;
3
     ogs_assert(nf_instance);
4
 
5
+    nf_instance->t_registration_interval = ogs_timer_add(ogs_app()->timer_mgr,
6
+            ausf_timer_nf_instance_registration_interval, nf_instance);
7
     ogs_assert(nf_instance->t_registration_interval);
8
-    nf_instance->t_registration_interval->cb =
9
-            ausf_timer_nf_instance_registration_interval;
10
+    nf_instance->t_heartbeat_interval = ogs_timer_add(ogs_app()->timer_mgr,
11
+            ausf_timer_nf_instance_heartbeat_interval, nf_instance);
12
     ogs_assert(nf_instance->t_heartbeat_interval);
13
-    nf_instance->t_heartbeat_interval->cb =
14
-            ausf_timer_nf_instance_heartbeat_interval;
15
+    nf_instance->t_no_heartbeat = ogs_timer_add(ogs_app()->timer_mgr,
16
+            ausf_timer_nf_instance_no_heartbeat, nf_instance);
17
     ogs_assert(nf_instance->t_no_heartbeat);
18
-    nf_instance->t_no_heartbeat->cb = ausf_timer_nf_instance_no_heartbeat;
19
+    nf_instance->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
20
+            ausf_timer_nf_instance_validity, nf_instance);
21
     ogs_assert(nf_instance->t_validity);
22
-    nf_instance->t_validity->cb = ausf_timer_nf_instance_validity;
23
 
24
     if (NF_INSTANCE_IS_NRF(nf_instance)) {
25
         OGS_FSM_TRAN(s, &ausf_nf_state_will_register);
26
@@ -82,10 +84,20 @@
27
 
28
 void ausf_nf_state_final(ogs_fsm_t *s, ausf_event_t *e)
29
 {
30
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
31
+
32
     ogs_assert(s);
33
     ogs_assert(e);
34
 
35
     ausf_sm_debug(e);
36
+
37
+    nf_instance = e->sbi.data;
38
+    ogs_assert(nf_instance);
39
+
40
+    ogs_timer_delete(nf_instance->t_registration_interval);
41
+    ogs_timer_delete(nf_instance->t_heartbeat_interval);
42
+    ogs_timer_delete(nf_instance->t_no_heartbeat);
43
+    ogs_timer_delete(nf_instance->t_validity);
44
 }
45
 
46
 void ausf_nf_state_will_register(ogs_fsm_t *s, ausf_event_t *e)
47
@@ -110,7 +122,8 @@
48
         ogs_timer_start(nf_instance->t_registration_interval,
49
             ogs_app()->time.message.sbi.nf_register_interval);
50
 
51
-        ogs_assert(true == ausf_nnrf_nfm_send_nf_register(nf_instance));
52
+        ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
53
+                    nf_instance, ausf_nnrf_nfm_build_register));
54
         break;
55
 
56
     case OGS_FSM_EXIT_SIG:
57
@@ -166,7 +179,8 @@
58
             ogs_timer_start(nf_instance->t_registration_interval,
59
                 ogs_app()->time.message.sbi.nf_register_interval);
60
 
61
-            ogs_assert(true == ausf_nnrf_nfm_send_nf_register(nf_instance));
62
+            ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
63
+                        nf_instance, ausf_nnrf_nfm_build_register));
64
             break;
65
 
66
         default:
67
open5gs_2.4.8.202207150002.tar.xz/src/ausf/sbi-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/ausf/sbi-path.c Changed
68
 
1
@@ -35,7 +35,8 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
+        ogs_sbi_request_free(request);
8
         ausf_event_free(e);
9
         return OGS_ERROR;
10
     }
11
@@ -43,11 +44,18 @@
12
     return OGS_OK;
13
 }
14
 
15
-static int client_cb(ogs_sbi_response_t *response, void *data)
16
+static int client_cb(int status, ogs_sbi_response_t *response, void *data)
17
 {
18
     ausf_event_t *e = NULL;
19
     int rv;
20
 
21
+    if (status != OGS_OK) {
22
+        ogs_log_message(
23
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
24
+                "client_cb() failed %d", status);
25
+        return OGS_ERROR;
26
+    }
27
+
28
     ogs_assert(response);
29
 
30
     e = ausf_event_new(AUSF_EVT_SBI_CLIENT);
31
@@ -57,7 +65,8 @@
32
 
33
     rv = ogs_queue_push(ogs_app()->queue, e);
34
     if (rv != OGS_OK) {
35
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
36
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
37
+        ogs_sbi_response_free(response);
38
         ausf_event_free(e);
39
         return OGS_ERROR;
40
     }
41
@@ -110,25 +119,10 @@
42
 
43
 void ausf_sbi_close(void)
44
 {
45
+    ogs_sbi_client_stop_all();
46
     ogs_sbi_server_stop_all();
47
 }
48
 
49
-bool ausf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance)
50
-{
51
-    ogs_sbi_request_t *request = NULL;
52
-    ogs_sbi_client_t *client = NULL;
53
-
54
-    ogs_assert(nf_instance);
55
-    client = nf_instance->client;
56
-    ogs_assert(client);
57
-
58
-    request = ausf_nnrf_nfm_build_register();
59
-    ogs_expect_or_return_val(request, false);
60
-
61
-    return ogs_sbi_client_send_request(
62
-            client, client->cb, request, nf_instance);
63
-}
64
-
65
 bool ausf_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact)
66
 {
67
     return ogs_sbi_send(nf_instance, client_cb, xact);
68
open5gs_2.4.8.202207150002.tar.xz/src/ausf/sbi-path.h -> open5gs_2.4.8.202207180859.tar.xz/src/ausf/sbi-path.h Changed
10
 
1
@@ -30,8 +30,6 @@
2
 int ausf_sbi_open(void);
3
 void ausf_sbi_close(void);
4
 
5
-bool ausf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance);
6
-
7
 bool ausf_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact);
8
 bool ausf_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type,
9
         ausf_ue_t *ausf_ue, ogs_sbi_stream_t *stream, void *data,
10
open5gs_2.4.8.202207150002.tar.xz/src/ausf/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/ausf/timer.c Changed
10
 
1
@@ -79,7 +79,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed %d in %s",
6
+        ogs_error("ogs_queue_push() failed %d in %s",
7
                 (int)rv, ausf_timer_get_name(e->timer_id));
8
         ausf_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/src/bsf/init.c -> open5gs_2.4.8.202207180859.tar.xz/src/bsf/init.c Changed
10
 
1
@@ -34,7 +34,7 @@
2
     bsf_context_init();
3
     bsf_event_init();
4
 
5
-    rv = ogs_sbi_context_parse_config("bsf", "nrf");
6
+    rv = ogs_sbi_context_parse_config("bsf", "nrf", "scp");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = bsf_context_parse_config();
10
open5gs_2.4.8.202207150002.tar.xz/src/bsf/nf-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/bsf/nf-sm.c Changed
67
 
1
@@ -61,16 +61,18 @@
2
     nf_instance = e->sbi.data;
3
     ogs_assert(nf_instance);
4
 
5
+    nf_instance->t_registration_interval = ogs_timer_add(ogs_app()->timer_mgr,
6
+            bsf_timer_nf_instance_registration_interval, nf_instance);
7
     ogs_assert(nf_instance->t_registration_interval);
8
-    nf_instance->t_registration_interval->cb =
9
-            bsf_timer_nf_instance_registration_interval;
10
+    nf_instance->t_heartbeat_interval = ogs_timer_add(ogs_app()->timer_mgr,
11
+            bsf_timer_nf_instance_heartbeat_interval, nf_instance);
12
     ogs_assert(nf_instance->t_heartbeat_interval);
13
-    nf_instance->t_heartbeat_interval->cb =
14
-            bsf_timer_nf_instance_heartbeat_interval;
15
+    nf_instance->t_no_heartbeat = ogs_timer_add(ogs_app()->timer_mgr,
16
+            bsf_timer_nf_instance_no_heartbeat, nf_instance);
17
     ogs_assert(nf_instance->t_no_heartbeat);
18
-    nf_instance->t_no_heartbeat->cb = bsf_timer_nf_instance_no_heartbeat;
19
+    nf_instance->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
20
+            bsf_timer_nf_instance_validity, nf_instance);
21
     ogs_assert(nf_instance->t_validity);
22
-    nf_instance->t_validity->cb = bsf_timer_nf_instance_validity;
23
 
24
     if (NF_INSTANCE_IS_NRF(nf_instance)) {
25
         OGS_FSM_TRAN(s, &bsf_nf_state_will_register);
26
@@ -82,10 +84,20 @@
27
 
28
 void bsf_nf_state_final(ogs_fsm_t *s, bsf_event_t *e)
29
 {
30
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
31
+
32
     ogs_assert(s);
33
     ogs_assert(e);
34
 
35
     bsf_sm_debug(e);
36
+
37
+    nf_instance = e->sbi.data;
38
+    ogs_assert(nf_instance);
39
+
40
+    ogs_timer_delete(nf_instance->t_registration_interval);
41
+    ogs_timer_delete(nf_instance->t_heartbeat_interval);
42
+    ogs_timer_delete(nf_instance->t_no_heartbeat);
43
+    ogs_timer_delete(nf_instance->t_validity);
44
 }
45
 
46
 void bsf_nf_state_will_register(ogs_fsm_t *s, bsf_event_t *e)
47
@@ -110,7 +122,8 @@
48
         ogs_timer_start(nf_instance->t_registration_interval,
49
             ogs_app()->time.message.sbi.nf_register_interval);
50
 
51
-        ogs_assert(true == bsf_nnrf_nfm_send_nf_register(nf_instance));
52
+        ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
53
+                    nf_instance, bsf_nnrf_nfm_build_register));
54
         break;
55
 
56
     case OGS_FSM_EXIT_SIG:
57
@@ -166,7 +179,8 @@
58
             ogs_timer_start(nf_instance->t_registration_interval,
59
                 ogs_app()->time.message.sbi.nf_register_interval);
60
 
61
-            ogs_assert(true == bsf_nnrf_nfm_send_nf_register(nf_instance));
62
+            ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
63
+                        nf_instance, bsf_nnrf_nfm_build_register));
64
             break;
65
 
66
         default:
67
open5gs_2.4.8.202207150002.tar.xz/src/bsf/sbi-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/bsf/sbi-path.c Changed
68
 
1
@@ -35,7 +35,8 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
+        ogs_sbi_request_free(request);
8
         bsf_event_free(e);
9
         return OGS_ERROR;
10
     }
11
@@ -43,11 +44,18 @@
12
     return OGS_OK;
13
 }
14
 
15
-static int client_cb(ogs_sbi_response_t *response, void *data)
16
+static int client_cb(int status, ogs_sbi_response_t *response, void *data)
17
 {
18
     bsf_event_t *e = NULL;
19
     int rv;
20
 
21
+    if (status != OGS_OK) {
22
+        ogs_log_message(
23
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
24
+                "client_cb() failed %d", status);
25
+        return OGS_ERROR;
26
+    }
27
+
28
     ogs_assert(response);
29
 
30
     e = bsf_event_new(BSF_EVT_SBI_CLIENT);
31
@@ -57,7 +65,8 @@
32
 
33
     rv = ogs_queue_push(ogs_app()->queue, e);
34
     if (rv != OGS_OK) {
35
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
36
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
37
+        ogs_sbi_response_free(response);
38
         bsf_event_free(e);
39
         return OGS_ERROR;
40
     }
41
@@ -110,25 +119,10 @@
42
 
43
 void bsf_sbi_close(void)
44
 {
45
+    ogs_sbi_client_stop_all();
46
     ogs_sbi_server_stop_all();
47
 }
48
 
49
-bool bsf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance)
50
-{
51
-    ogs_sbi_request_t *request = NULL;
52
-    ogs_sbi_client_t *client = NULL;
53
-
54
-    ogs_assert(nf_instance);
55
-    client = nf_instance->client;
56
-    ogs_assert(client);
57
-
58
-    request = bsf_nnrf_nfm_build_register();
59
-    ogs_expect_or_return_val(request, false);
60
-
61
-    return ogs_sbi_client_send_request(
62
-            client, client->cb, request, nf_instance);
63
-}
64
-
65
 bool bsf_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact)
66
 {
67
     return ogs_sbi_send(nf_instance, client_cb, xact);
68
open5gs_2.4.8.202207150002.tar.xz/src/bsf/sbi-path.h -> open5gs_2.4.8.202207180859.tar.xz/src/bsf/sbi-path.h Changed
10
 
1
@@ -29,8 +29,6 @@
2
 int bsf_sbi_open(void);
3
 void bsf_sbi_close(void);
4
 
5
-bool bsf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance);
6
-
7
 bool bsf_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact);
8
 
9
 bool bsf_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type,
10
open5gs_2.4.8.202207150002.tar.xz/src/bsf/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/bsf/timer.c Changed
10
 
1
@@ -81,7 +81,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed %d in %s",
6
+        ogs_error("ogs_queue_push() failed %d in %s",
7
                 (int)rv, bsf_timer_get_name(e->timer_id));
8
         bsf_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/src/meson.build -> open5gs_2.4.8.202207180859.tar.xz/src/meson.build Changed
10
 
1
@@ -36,6 +36,8 @@
2
 subdir('pcrf')
3
 
4
 subdir('nrf')
5
+subdir('scp')
6
+
7
 subdir('udr')
8
 subdir('udm')
9
 subdir('pcf')
10
open5gs_2.4.8.202207150002.tar.xz/src/mme/mme-event.c -> open5gs_2.4.8.202207180859.tar.xz/src/mme/mme-event.c Changed
10
 
1
@@ -125,7 +125,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_free(e->addr);
8
         if (e->pkbuf)
9
             ogs_pkbuf_free(e->pkbuf);
10
open5gs_2.4.8.202207150002.tar.xz/src/mme/mme-timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/mme/mme-timer.c Changed
55
 
1
@@ -111,7 +111,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_timer_delete(e->timer);
8
         mme_event_free(e);
9
     }
10
@@ -131,7 +131,7 @@
11
 
12
     rv = ogs_queue_push(ogs_app()->queue, e);
13
     if (rv != OGS_OK) {
14
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
15
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
16
         mme_event_free(e);
17
     }
18
 }
19
@@ -174,7 +174,7 @@
20
 
21
     rv = ogs_queue_push(ogs_app()->queue, e);
22
     if (rv != OGS_OK) {
23
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
24
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
25
         mme_event_free(e);
26
     }
27
 }
28
@@ -196,7 +196,7 @@
29
 
30
     rv = ogs_queue_push(ogs_app()->queue, e);
31
     if (rv != OGS_OK) {
32
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
33
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
34
         mme_event_free(e);
35
     }
36
 }
37
@@ -217,7 +217,7 @@
38
 
39
     rv = ogs_queue_push(ogs_app()->queue, e);
40
     if (rv != OGS_OK) {
41
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
42
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
43
         mme_event_free(e);
44
     }
45
 }
46
@@ -238,7 +238,7 @@
47
 
48
     rv = ogs_queue_push(ogs_app()->queue, e);
49
     if (rv != OGS_OK) {
50
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
51
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
52
         mme_event_free(e);
53
     }
54
 }
55
open5gs_2.4.8.202207150002.tar.xz/src/mme/s1ap-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/mme/s1ap-path.c Changed
19
 
1
@@ -133,7 +133,7 @@
2
     e->create_action = create_action;
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_pkbuf_free(e->pkbuf);
8
         mme_event_free(e);
9
     }
10
@@ -221,7 +221,7 @@
11
         e->pkbuf = nasbuf;
12
         rv = ogs_queue_push(ogs_app()->queue, e);
13
         if (rv != OGS_OK) {
14
-            ogs_warn("s1ap_send_to_nas() failed:%d", (int)rv);
15
+            ogs_error("s1ap_send_to_nas() failed:%d", (int)rv);
16
             ogs_pkbuf_free(e->pkbuf);
17
             mme_event_free(e);
18
         }
19
open5gs_2.4.8.202207150002.tar.xz/src/nrf/init.c -> open5gs_2.4.8.202207180859.tar.xz/src/nrf/init.c Changed
10
 
1
@@ -32,7 +32,7 @@
2
     nrf_context_init();
3
     nrf_event_init();
4
 
5
-    rv = ogs_sbi_context_parse_config("nrf", NULL);
6
+    rv = ogs_sbi_context_parse_config("nrf", NULL, "scp");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = nrf_context_parse_config();
10
open5gs_2.4.8.202207150002.tar.xz/src/nrf/nnrf-build.c -> open5gs_2.4.8.202207180859.tar.xz/src/nrf/nnrf-build.c Changed
18
 
1
@@ -20,7 +20,7 @@
2
 #include "nnrf-build.h"
3
 
4
 ogs_sbi_request_t *nrf_nnrf_nfm_build_nf_status_notify(
5
-        ogs_sbi_client_t *client, ogs_sbi_subscription_t *subscription,
6
+        ogs_sbi_subscription_t *subscription,
7
         OpenAPI_notification_event_type_e event,
8
         ogs_sbi_nf_instance_t *nf_instance)
9
 {
10
@@ -32,7 +32,6 @@
11
 
12
     OpenAPI_notification_data_t *NotificationData = NULL;
13
 
14
-    ogs_assert(client);
15
     ogs_assert(subscription);
16
     ogs_assert(event);
17
     ogs_assert(nf_instance);
18
open5gs_2.4.8.202207150002.tar.xz/src/nrf/nnrf-build.h -> open5gs_2.4.8.202207180859.tar.xz/src/nrf/nnrf-build.h Changed
10
 
1
@@ -28,7 +28,7 @@
2
 #endif
3
 
4
 ogs_sbi_request_t *nrf_nnrf_nfm_build_nf_status_notify(
5
-        ogs_sbi_client_t *client, ogs_sbi_subscription_t *subscription,
6
+        ogs_sbi_subscription_t *subscription,
7
         OpenAPI_notification_event_type_e event,
8
         ogs_sbi_nf_instance_t *nf_instance);
9
 
10
open5gs_2.4.8.202207150002.tar.xz/src/nrf/sbi-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/nrf/sbi-path.c Changed
78
 
1
@@ -35,7 +35,11 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        if (rv != OGS_DONE)
7
+            ogs_error("ogs_queue_push() failed:%d", (int)rv);
8
+        else
9
+            ogs_warn("ogs_queue_push() failed:%d", (int)rv);
10
+        ogs_sbi_request_free(request);
11
         nrf_event_free(e);
12
         return OGS_ERROR;
13
     }
14
@@ -43,12 +47,19 @@
15
     return OGS_OK;
16
 }
17
 
18
-static int client_notify_cb(ogs_sbi_response_t *response, void *data)
19
+static int client_notify_cb(
20
+        int status, ogs_sbi_response_t *response, void *data)
21
 {
22
     int rv;
23
-
24
     ogs_sbi_message_t message;
25
 
26
+    if (status != OGS_OK) {
27
+        ogs_log_message(
28
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
29
+                "client_notify_cb() failed %d", status);
30
+        return OGS_ERROR;
31
+    }
32
+
33
     ogs_assert(response);
34
 
35
     rv = ogs_sbi_parse_response(&message, response);
36
@@ -69,14 +80,28 @@
37
 
38
 int nrf_sbi_open(void)
39
 {
40
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
41
+
42
     if (ogs_sbi_server_start_all(server_cb) != OGS_OK)
43
         return OGS_ERROR;
44
 
45
+    /* Initialize SCP NF Instance */
46
+    nf_instance = ogs_sbi_self()->scp_instance;
47
+    if (nf_instance) {
48
+        ogs_sbi_client_t *client = NULL;
49
+
50
+        /* Client callback is only used when NF sends to SCP */
51
+        client = nf_instance->client;
52
+        ogs_assert(client);
53
+        client->cb = client_notify_cb;
54
+    }
55
+
56
     return OGS_OK;
57
 }
58
 
59
 void nrf_sbi_close(void)
60
 {
61
+    ogs_sbi_client_stop_all();
62
     ogs_sbi_server_stop_all();
63
 }
64
 
65
@@ -92,10 +117,10 @@
66
     ogs_assert(client);
67
 
68
     request = nrf_nnrf_nfm_build_nf_status_notify(
69
-            client, subscription, event, nf_instance);
70
+                subscription, event, nf_instance);
71
     ogs_expect_or_return_val(request, false);
72
 
73
-    return ogs_sbi_client_send_request(client, client_notify_cb, request, NULL);
74
+    return ogs_sbi_scp_send_request(client, client_notify_cb, request, NULL);
75
 }
76
 
77
 bool nrf_nnrf_nfm_send_nf_status_notify_all(
78
open5gs_2.4.8.202207150002.tar.xz/src/nrf/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/nrf/timer.c Changed
10
 
1
@@ -68,7 +68,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         nrf_event_free(e);
8
     }
9
 }
10
open5gs_2.4.8.202207150002.tar.xz/src/nssf/init.c -> open5gs_2.4.8.202207180859.tar.xz/src/nssf/init.c Changed
10
 
1
@@ -32,7 +32,7 @@
2
     nssf_context_init();
3
     nssf_event_init();
4
 
5
-    rv = ogs_sbi_context_parse_config("nssf", "nrf");
6
+    rv = ogs_sbi_context_parse_config("nssf", "nrf", "scp");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = nssf_context_parse_config();
10
open5gs_2.4.8.202207150002.tar.xz/src/nssf/nf-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/nssf/nf-sm.c Changed
67
 
1
@@ -61,16 +61,18 @@
2
     nf_instance = e->sbi.data;
3
     ogs_assert(nf_instance);
4
 
5
+    nf_instance->t_registration_interval = ogs_timer_add(ogs_app()->timer_mgr,
6
+            nssf_timer_nf_instance_registration_interval, nf_instance);
7
     ogs_assert(nf_instance->t_registration_interval);
8
-    nf_instance->t_registration_interval->cb =
9
-            nssf_timer_nf_instance_registration_interval;
10
+    nf_instance->t_heartbeat_interval = ogs_timer_add(ogs_app()->timer_mgr,
11
+            nssf_timer_nf_instance_heartbeat_interval, nf_instance);
12
     ogs_assert(nf_instance->t_heartbeat_interval);
13
-    nf_instance->t_heartbeat_interval->cb =
14
-            nssf_timer_nf_instance_heartbeat_interval;
15
+    nf_instance->t_no_heartbeat = ogs_timer_add(ogs_app()->timer_mgr,
16
+            nssf_timer_nf_instance_no_heartbeat, nf_instance);
17
     ogs_assert(nf_instance->t_no_heartbeat);
18
-    nf_instance->t_no_heartbeat->cb = nssf_timer_nf_instance_no_heartbeat;
19
+    nf_instance->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
20
+            nssf_timer_nf_instance_validity, nf_instance);
21
     ogs_assert(nf_instance->t_validity);
22
-    nf_instance->t_validity->cb = nssf_timer_nf_instance_validity;
23
 
24
     if (NF_INSTANCE_IS_NRF(nf_instance)) {
25
         OGS_FSM_TRAN(s, &nssf_nf_state_will_register);
26
@@ -82,10 +84,20 @@
27
 
28
 void nssf_nf_state_final(ogs_fsm_t *s, nssf_event_t *e)
29
 {
30
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
31
+
32
     ogs_assert(s);
33
     ogs_assert(e);
34
 
35
     nssf_sm_debug(e);
36
+
37
+    nf_instance = e->sbi.data;
38
+    ogs_assert(nf_instance);
39
+
40
+    ogs_timer_delete(nf_instance->t_registration_interval);
41
+    ogs_timer_delete(nf_instance->t_heartbeat_interval);
42
+    ogs_timer_delete(nf_instance->t_no_heartbeat);
43
+    ogs_timer_delete(nf_instance->t_validity);
44
 }
45
 
46
 void nssf_nf_state_will_register(ogs_fsm_t *s, nssf_event_t *e)
47
@@ -110,7 +122,8 @@
48
         ogs_timer_start(nf_instance->t_registration_interval,
49
             ogs_app()->time.message.sbi.nf_register_interval);
50
 
51
-        ogs_assert(true == nssf_nnrf_nfm_send_nf_register(nf_instance));
52
+        ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
53
+                    nf_instance, nssf_nnrf_nfm_build_register));
54
         break;
55
 
56
     case OGS_FSM_EXIT_SIG:
57
@@ -166,7 +179,8 @@
58
             ogs_timer_start(nf_instance->t_registration_interval,
59
                 ogs_app()->time.message.sbi.nf_register_interval);
60
 
61
-            ogs_assert(true == nssf_nnrf_nfm_send_nf_register(nf_instance));
62
+            ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
63
+                        nf_instance, nssf_nnrf_nfm_build_register));
64
             break;
65
 
66
         default:
67
open5gs_2.4.8.202207150002.tar.xz/src/nssf/sbi-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/nssf/sbi-path.c Changed
64
 
1
@@ -35,7 +35,8 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
+        ogs_sbi_request_free(request);
8
         nssf_event_free(e);
9
         return OGS_ERROR;
10
     }
11
@@ -43,11 +44,18 @@
12
     return OGS_OK;
13
 }
14
 
15
-static int client_cb(ogs_sbi_response_t *response, void *data)
16
+static int client_cb(int status, ogs_sbi_response_t *response, void *data)
17
 {
18
     nssf_event_t *e = NULL;
19
     int rv;
20
 
21
+    if (status != OGS_OK) {
22
+        ogs_log_message(
23
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
24
+                "client_cb() failed %d", status);
25
+        return OGS_ERROR;
26
+    }
27
+
28
     ogs_assert(response);
29
 
30
     e = nssf_event_new(NSSF_EVT_SBI_CLIENT);
31
@@ -57,7 +65,8 @@
32
 
33
     rv = ogs_queue_push(ogs_app()->queue, e);
34
     if (rv != OGS_OK) {
35
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
36
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
37
+        ogs_sbi_response_free(response);
38
         nssf_event_free(e);
39
         return OGS_ERROR;
40
     }
41
@@ -110,21 +119,6 @@
42
 
43
 void nssf_sbi_close(void)
44
 {
45
+    ogs_sbi_client_stop_all();
46
     ogs_sbi_server_stop_all();
47
 }
48
-
49
-bool nssf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance)
50
-{
51
-    ogs_sbi_request_t *request = NULL;
52
-    ogs_sbi_client_t *client = NULL;
53
-
54
-    ogs_assert(nf_instance);
55
-    client = nf_instance->client;
56
-    ogs_assert(client);
57
-
58
-    request = nssf_nnrf_nfm_build_register();
59
-    ogs_expect_or_return_val(request, false);
60
-
61
-    return ogs_sbi_client_send_request(
62
-            client, client->cb, request, nf_instance);
63
-}
64
open5gs_2.4.8.202207150002.tar.xz/src/nssf/sbi-path.h -> open5gs_2.4.8.202207180859.tar.xz/src/nssf/sbi-path.h Changed
10
 
1
@@ -29,8 +29,6 @@
2
 int nssf_sbi_open(void);
3
 void nssf_sbi_close(void);
4
 
5
-bool nssf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance);
6
-
7
 #ifdef __cplusplus
8
 }
9
 #endif
10
open5gs_2.4.8.202207150002.tar.xz/src/nssf/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/nssf/timer.c Changed
10
 
1
@@ -64,7 +64,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed %d in %s",
6
+        ogs_error("ogs_queue_push() failed %d in %s",
7
                 (int)rv, nssf_timer_get_name(e->timer_id));
8
         nssf_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/src/pcf/init.c -> open5gs_2.4.8.202207180859.tar.xz/src/pcf/init.c Changed
10
 
1
@@ -32,7 +32,7 @@
2
     pcf_context_init();
3
     pcf_event_init();
4
 
5
-    rv = ogs_sbi_context_parse_config("pcf", "nrf");
6
+    rv = ogs_sbi_context_parse_config("pcf", "nrf", "scp");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = pcf_context_parse_config();
10
open5gs_2.4.8.202207150002.tar.xz/src/pcf/nf-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/pcf/nf-sm.c Changed
67
 
1
@@ -61,16 +61,18 @@
2
     nf_instance = e->sbi.data;
3
     ogs_assert(nf_instance);
4
 
5
+    nf_instance->t_registration_interval = ogs_timer_add(ogs_app()->timer_mgr,
6
+            pcf_timer_nf_instance_registration_interval, nf_instance);
7
     ogs_assert(nf_instance->t_registration_interval);
8
-    nf_instance->t_registration_interval->cb =
9
-            pcf_timer_nf_instance_registration_interval;
10
+    nf_instance->t_heartbeat_interval = ogs_timer_add(ogs_app()->timer_mgr,
11
+            pcf_timer_nf_instance_heartbeat_interval, nf_instance);
12
     ogs_assert(nf_instance->t_heartbeat_interval);
13
-    nf_instance->t_heartbeat_interval->cb =
14
-            pcf_timer_nf_instance_heartbeat_interval;
15
+    nf_instance->t_no_heartbeat = ogs_timer_add(ogs_app()->timer_mgr,
16
+            pcf_timer_nf_instance_no_heartbeat, nf_instance);
17
     ogs_assert(nf_instance->t_no_heartbeat);
18
-    nf_instance->t_no_heartbeat->cb = pcf_timer_nf_instance_no_heartbeat;
19
+    nf_instance->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
20
+            pcf_timer_nf_instance_validity, nf_instance);
21
     ogs_assert(nf_instance->t_validity);
22
-    nf_instance->t_validity->cb = pcf_timer_nf_instance_validity;
23
 
24
     if (NF_INSTANCE_IS_NRF(nf_instance)) {
25
         OGS_FSM_TRAN(s, &pcf_nf_state_will_register);
26
@@ -82,10 +84,20 @@
27
 
28
 void pcf_nf_state_final(ogs_fsm_t *s, pcf_event_t *e)
29
 {
30
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
31
+
32
     ogs_assert(s);
33
     ogs_assert(e);
34
 
35
     pcf_sm_debug(e);
36
+
37
+    nf_instance = e->sbi.data;
38
+    ogs_assert(nf_instance);
39
+
40
+    ogs_timer_delete(nf_instance->t_registration_interval);
41
+    ogs_timer_delete(nf_instance->t_heartbeat_interval);
42
+    ogs_timer_delete(nf_instance->t_no_heartbeat);
43
+    ogs_timer_delete(nf_instance->t_validity);
44
 }
45
 
46
 void pcf_nf_state_will_register(ogs_fsm_t *s, pcf_event_t *e)
47
@@ -110,7 +122,8 @@
48
         ogs_timer_start(nf_instance->t_registration_interval,
49
             ogs_app()->time.message.sbi.nf_register_interval);
50
 
51
-        ogs_assert(true == pcf_nnrf_nfm_send_nf_register(nf_instance));
52
+        ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
53
+                    nf_instance, pcf_nnrf_nfm_build_register));
54
         break;
55
 
56
     case OGS_FSM_EXIT_SIG:
57
@@ -167,7 +180,8 @@
58
             ogs_timer_start(nf_instance->t_registration_interval,
59
                 ogs_app()->time.message.sbi.nf_register_interval);
60
 
61
-            ogs_assert(true == pcf_nnrf_nfm_send_nf_register(nf_instance));
62
+            ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
63
+                        nf_instance, pcf_nnrf_nfm_build_register));
64
             break;
65
 
66
         default:
67
open5gs_2.4.8.202207150002.tar.xz/src/pcf/sbi-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/pcf/sbi-path.c Changed
106
 
1
@@ -35,7 +35,8 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
+        ogs_sbi_request_free(request);
8
         pcf_event_free(e);
9
         return OGS_ERROR;
10
     }
11
@@ -43,11 +44,18 @@
12
     return OGS_OK;
13
 }
14
 
15
-static int client_cb(ogs_sbi_response_t *response, void *data)
16
+static int client_cb(int status, ogs_sbi_response_t *response, void *data)
17
 {
18
     pcf_event_t *e = NULL;
19
     int rv;
20
 
21
+    if (status != OGS_OK) {
22
+        ogs_log_message(
23
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
24
+                "client_cb() failed %d", status);
25
+        return OGS_ERROR;
26
+    }
27
+
28
     ogs_assert(response);
29
 
30
     e = pcf_event_new(PCF_EVT_SBI_CLIENT);
31
@@ -57,7 +65,8 @@
32
 
33
     rv = ogs_queue_push(ogs_app()->queue, e);
34
     if (rv != OGS_OK) {
35
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
36
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
37
+        ogs_sbi_response_free(response);
38
         pcf_event_free(e);
39
         return OGS_ERROR;
40
     }
41
@@ -123,25 +132,10 @@
42
 
43
 void pcf_sbi_close(void)
44
 {
45
+    ogs_sbi_client_stop_all();
46
     ogs_sbi_server_stop_all();
47
 }
48
 
49
-bool pcf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance)
50
-{
51
-    ogs_sbi_request_t *request = NULL;
52
-    ogs_sbi_client_t *client = NULL;
53
-
54
-    ogs_assert(nf_instance);
55
-    client = nf_instance->client;
56
-    ogs_assert(client);
57
-
58
-    request = pcf_nnrf_nfm_build_register();
59
-    ogs_expect_or_return_val(request, false);
60
-
61
-    return ogs_sbi_client_send_request(
62
-            client, client->cb, request, nf_instance);
63
-}
64
-
65
 bool pcf_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact)
66
 {
67
     return ogs_sbi_send(nf_instance, client_cb, xact);
68
@@ -209,12 +203,19 @@
69
     return true;
70
 }
71
 
72
-static int client_notify_cb(ogs_sbi_response_t *response, void *data)
73
+static int client_notify_cb(
74
+        int status, ogs_sbi_response_t *response, void *data)
75
 {
76
     int rv;
77
-
78
     ogs_sbi_message_t message;
79
 
80
+    if (status != OGS_OK) {
81
+        ogs_log_message(
82
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
83
+                "client_notify_cb() failed %d", status);
84
+        return OGS_ERROR;
85
+    }
86
+
87
     ogs_assert(response);
88
 
89
     rv = ogs_sbi_parse_response(&message, response);
90
@@ -234,12 +235,13 @@
91
     return OGS_OK;
92
 }
93
 
94
-static int client_delete_notify_cb(ogs_sbi_response_t *response, void *data)
95
+static int client_delete_notify_cb(
96
+        int status, ogs_sbi_response_t *response, void *data)
97
 {
98
     pcf_app_t *app_session = data;
99
 
100
     ogs_assert(app_session);
101
-    client_notify_cb(response, data);
102
+    client_notify_cb(status, response, data);
103
 
104
     pcf_app_remove(app_session);
105
 
106
open5gs_2.4.8.202207150002.tar.xz/src/pcf/sbi-path.h -> open5gs_2.4.8.202207180859.tar.xz/src/pcf/sbi-path.h Changed
10
 
1
@@ -34,8 +34,6 @@
2
 int pcf_sbi_open(void);
3
 void pcf_sbi_close(void);
4
 
5
-bool pcf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance);
6
-
7
 bool pcf_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact);
8
 bool pcf_ue_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type,
9
         pcf_ue_t *pcf_ue, ogs_sbi_stream_t *stream, void *data,
10
open5gs_2.4.8.202207150002.tar.xz/src/pcf/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/pcf/timer.c Changed
10
 
1
@@ -79,7 +79,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed %d in %s",
6
+        ogs_error("ogs_queue_push() failed %d in %s",
7
                 (int)rv, pcf_timer_get_name(e->timer_id));
8
         pcf_event_free(e);
9
     }
10
open5gs_2.4.8.202207180859.tar.xz/src/scp Added
2
 
1
+(directory)
2
open5gs_2.4.8.202207180859.tar.xz/src/scp/app.c Added
42
 
1
@@ -0,0 +1,40 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "ogs-app.h"
22
+
23
+int app_initialize(const char *const argv)
24
+{
25
+    int rv;
26
+
27
+    rv = scp_initialize();
28
+    if (rv != OGS_OK) {
29
+        ogs_error("Failed to intialize SCP");
30
+        return rv;
31
+    }
32
+    ogs_info("SCP initialize...done");
33
+
34
+    return OGS_OK;
35
+}
36
+
37
+void app_terminate(void)
38
+{
39
+    scp_terminate();
40
+    ogs_info("SCP terminate...done");
41
+}
42
open5gs_2.4.8.202207180859.tar.xz/src/scp/context.c Added
165
 
1
@@ -0,0 +1,163 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "context.h"
22
+
23
+static scp_context_t self;
24
+
25
+int __scp_log_domain;
26
+
27
+static OGS_POOL(scp_conn_pool, scp_conn_t);
28
+
29
+static int context_initialized = 0;
30
+
31
+static int max_num_of_scp_conn = 0;
32
+
33
+void scp_context_init(void)
34
+{
35
+    ogs_assert(context_initialized == 0);
36
+
37
+    /* Initialize SCP context */
38
+    memset(&self, 0, sizeof(scp_context_t));
39
+
40
+    ogs_log_install_domain(&__scp_log_domain, "scp", ogs_core()->log.level);
41
+
42
+#define MAX_NUM_OF_SCP_CONN 8
43
+    max_num_of_scp_conn = ogs_app()->max.ue * MAX_NUM_OF_SCP_CONN;
44
+
45
+    ogs_pool_init(&scp_conn_pool, max_num_of_scp_conn);
46
+
47
+    context_initialized = 1;
48
+}
49
+
50
+void scp_context_final(void)
51
+{
52
+    ogs_assert(context_initialized == 1);
53
+
54
+    scp_conn_remove_all();
55
+
56
+    ogs_pool_final(&scp_conn_pool);
57
+
58
+    context_initialized = 0;
59
+}
60
+
61
+scp_context_t *scp_self(void)
62
+{
63
+    return &self;
64
+}
65
+
66
+static int scp_context_prepare(void)
67
+{
68
+    return OGS_OK;
69
+}
70
+
71
+static int scp_context_validation(void)
72
+{
73
+    return OGS_OK;
74
+}
75
+
76
+int scp_context_parse_config(void)
77
+{
78
+    int rv;
79
+    yaml_document_t *document = NULL;
80
+    ogs_yaml_iter_t root_iter;
81
+
82
+    document = ogs_app()->document;
83
+    ogs_assert(document);
84
+
85
+    rv = scp_context_prepare();
86
+    if (rv != OGS_OK) return rv;
87
+
88
+    ogs_yaml_iter_init(&root_iter, document);
89
+    while (ogs_yaml_iter_next(&root_iter)) {
90
+        const char *root_key = ogs_yaml_iter_key(&root_iter);
91
+        ogs_assert(root_key);
92
+        if (!strcmp(root_key, "scp")) {
93
+            ogs_yaml_iter_t scp_iter;
94
+            ogs_yaml_iter_recurse(&root_iter, &scp_iter);
95
+            while (ogs_yaml_iter_next(&scp_iter)) {
96
+                const char *scp_key = ogs_yaml_iter_key(&scp_iter);
97
+                ogs_assert(scp_key);
98
+                if (!strcmp(scp_key, "sbi")) {
99
+                    /* handle config in sbi library */
100
+                } else
101
+                    ogs_warn("unknown key `%s`", scp_key);
102
+            }
103
+        }
104
+    }
105
+
106
+    rv = scp_context_validation();
107
+    if (rv != OGS_OK) return rv;
108
+
109
+    return OGS_OK;
110
+}
111
+
112
+scp_conn_t *scp_conn_add(ogs_sbi_stream_t *stream)
113
+{
114
+    scp_conn_t *conn = NULL;
115
+
116
+    ogs_assert(stream);
117
+
118
+    ogs_pool_alloc(&scp_conn_pool, &conn);
119
+    if (!conn) {
120
+        ogs_error("Maximum number of connection%d reached",
121
+                    max_num_of_scp_conn);
122
+        return NULL;
123
+    }
124
+    memset(conn, 0, sizeof *conn);
125
+
126
+    conn->stream = stream;
127
+
128
+    ogs_list_add(&self.conn_list, conn);
129
+
130
+    return conn;
131
+}
132
+
133
+void scp_conn_remove(scp_conn_t *conn)
134
+{
135
+    ogs_assert(conn);
136
+
137
+    ogs_list_remove(&self.conn_list, conn);
138
+
139
+    if (conn->client)
140
+        ogs_sbi_client_remove(conn->client);
141
+
142
+    ogs_pool_free(&scp_conn_pool, conn);
143
+}
144
+
145
+void scp_conn_remove_all(void)
146
+{
147
+    scp_conn_t *conn = NULL, *next_conn = NULL;
148
+
149
+    ogs_list_for_each_safe(&self.conn_list, next_conn, conn)
150
+        scp_conn_remove(conn);
151
+}
152
+
153
+scp_conn_t *scp_conn_find(uint32_t index)
154
+{
155
+    return ogs_pool_find(&scp_conn_pool, index);
156
+}
157
+
158
+void scp_conn_select_nf(scp_conn_t *sess, OpenAPI_nf_type_e nf_type)
159
+{
160
+    ogs_assert(sess);
161
+    ogs_assert(nf_type);
162
+
163
+    ogs_sbi_select_nf(&sess->sbi, nf_type, scp_nf_state_registered);
164
+}
165
open5gs_2.4.8.202207180859.tar.xz/src/scp/context.h Added
90
 
1
@@ -0,0 +1,88 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#ifndef SCP_CONTEXT_H
22
+#define SCP_CONTEXT_H
23
+
24
+#include "ogs-sbi.h"
25
+#include "ogs-app.h"
26
+
27
+#include "timer.h"
28
+#include "scp-sm.h"
29
+
30
+#ifdef __cplusplus
31
+extern "C" {
32
+#endif
33
+
34
+extern int __scp_log_domain;
35
+
36
+#undef OGS_LOG_DOMAIN
37
+#define OGS_LOG_DOMAIN __scp_log_domain
38
+
39
+typedef struct scp_context_s {
40
+    ogs_list_t          conn_list;
41
+} scp_context_t;
42
+
43
+#define SCP_NF_INSTANCE_CLEAR(_cAUSE, _nFInstance) \
44
+    do { \
45
+        ogs_assert(_nFInstance); \
46
+        if ((_nFInstance)->reference_count == 1) { \
47
+            ogs_info("%s (%s) NF removed", (_nFInstance)->id, (_cAUSE)); \
48
+            scp_nf_fsm_fini((_nFInstance)); \
49
+        } else { \
50
+            /* There is an assocation with other context */ \
51
+            ogs_info("%s:%d (%s) NF suspended", \
52
+                    _nFInstance->id, _nFInstance->reference_count, (_cAUSE)); \
53
+            OGS_FSM_TRAN(&_nFInstance->sm, scp_nf_state_de_registered); \
54
+            ogs_fsm_dispatch(&_nFInstance->sm, NULL); \
55
+        } \
56
+        ogs_sbi_nf_instance_remove(_nFInstance); \
57
+    } while(0)
58
+
59
+typedef struct scp_conn_s scp_conn_t;
60
+
61
+typedef struct scp_conn_s {
62
+    ogs_sbi_object_t sbi;
63
+
64
+    ogs_sbi_client_t *client;
65
+
66
+    ogs_sbi_stream_t *stream;
67
+    ogs_sbi_request_t *request;
68
+
69
+} scp_conn_t;
70
+
71
+void scp_context_init(void);
72
+void scp_context_final(void);
73
+scp_context_t *scp_self(void);
74
+
75
+int scp_context_parse_config(void);
76
+
77
+scp_conn_t *scp_conn_add(ogs_sbi_stream_t *stream);
78
+void scp_conn_remove(scp_conn_t *sess);
79
+void scp_conn_remove_all(void);
80
+
81
+scp_conn_t *scp_conn_find(uint32_t index);
82
+
83
+void scp_conn_select_nf(scp_conn_t *sess, OpenAPI_nf_type_e nf_type);
84
+
85
+#ifdef __cplusplus
86
+}
87
+#endif
88
+
89
+#endif /* SCP_CONTEXT_H */
90
open5gs_2.4.8.202207180859.tar.xz/src/scp/event.c Added
79
 
1
@@ -0,0 +1,77 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "event.h"
22
+#include "context.h"
23
+
24
+static OGS_POOL(pool, scp_event_t);
25
+
26
+void scp_event_init(void)
27
+{
28
+    ogs_pool_init(&pool, ogs_app()->pool.event);
29
+}
30
+
31
+void scp_event_final(void)
32
+{
33
+    ogs_pool_final(&pool);
34
+}
35
+
36
+scp_event_t *scp_event_new(scp_event_e id)
37
+{
38
+    scp_event_t *e = NULL;
39
+
40
+    ogs_pool_alloc(&pool, &e);
41
+    ogs_assert(e);
42
+    memset(e, 0, sizeof(*e));
43
+
44
+    e->id = id;
45
+
46
+    return e;
47
+}
48
+
49
+void scp_event_free(scp_event_t *e)
50
+{
51
+    ogs_assert(e);
52
+    ogs_pool_free(&pool, e);
53
+}
54
+
55
+const char *scp_event_get_name(scp_event_t *e)
56
+{
57
+    if (e == NULL)
58
+        return OGS_FSM_NAME_INIT_SIG;
59
+
60
+    switch (e->id) {
61
+    case OGS_FSM_ENTRY_SIG: 
62
+        return OGS_FSM_NAME_ENTRY_SIG;
63
+    case OGS_FSM_EXIT_SIG: 
64
+        return OGS_FSM_NAME_EXIT_SIG;
65
+
66
+    case SCP_EVT_SBI_SERVER:
67
+        return "SCP_EVT_SBI_SERVER";
68
+    case SCP_EVT_SBI_CLIENT:
69
+        return "SCP_EVT_SBI_CLIENT";
70
+    case SCP_EVT_SBI_TIMER:
71
+        return "SCP_EVT_SBI_TIMER";
72
+
73
+    default: 
74
+       break;
75
+    }
76
+
77
+    return "UNKNOWN_EVENT";
78
+}
79
open5gs_2.4.8.202207180859.tar.xz/src/scp/event.h Added
78
 
1
@@ -0,0 +1,76 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#ifndef SCP_EVENT_H
22
+#define SCP_EVENT_H
23
+
24
+#include "ogs-core.h"
25
+
26
+#ifdef __cplusplus
27
+extern "C" {
28
+#endif
29
+
30
+typedef struct scp_sess_s scp_sess_t;
31
+typedef struct ogs_sbi_request_s ogs_sbi_request_t;
32
+typedef struct ogs_sbi_response_s ogs_sbi_response_t;
33
+typedef struct ogs_sbi_message_s ogs_sbi_message_t;
34
+typedef struct ogs_sbi_nf_instance_s ogs_sbi_nf_instance_t;
35
+
36
+typedef enum {
37
+    SCP_EVT_BASE = OGS_FSM_USER_SIG,
38
+
39
+    SCP_EVT_SBI_SERVER,
40
+    SCP_EVT_SBI_CLIENT,
41
+    SCP_EVT_SBI_TIMER,
42
+
43
+    SCP_EVT_TOP,
44
+
45
+} scp_event_e;
46
+
47
+typedef struct scp_event_s {
48
+    int id;
49
+    ogs_pkbuf_t *pkbuf;
50
+    int timer_id;
51
+
52
+    struct {
53
+        ogs_sbi_request_t *request;
54
+        ogs_sbi_response_t *response;
55
+        void *data;
56
+        int state;
57
+
58
+        ogs_sbi_message_t *message;
59
+    } sbi;
60
+
61
+    ogs_sbi_nf_instance_t *nf_instance;
62
+    scp_sess_t *sess;
63
+} scp_event_t;
64
+
65
+void scp_event_init(void);
66
+void scp_event_final(void);
67
+
68
+scp_event_t *scp_event_new(scp_event_e id);
69
+void scp_event_free(scp_event_t *e);
70
+
71
+const char *scp_event_get_name(scp_event_t *e);
72
+
73
+#ifdef __cplusplus
74
+}
75
+#endif
76
+
77
+#endif /* SCP_EVENT_H */
78
open5gs_2.4.8.202207180859.tar.xz/src/scp/init.c Added
145
 
1
@@ -0,0 +1,143 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "context.h"
22
+#include "sbi-path.h"
23
+
24
+static ogs_thread_t *thread;
25
+static void scp_main(void *data);
26
+
27
+static int initialized = 0;
28
+
29
+int scp_initialize()
30
+{
31
+    int rv;
32
+
33
+    ogs_sbi_context_init();
34
+
35
+    scp_context_init();
36
+    scp_event_init();
37
+
38
+    rv = ogs_sbi_context_parse_config("scp", "nrf", "next_scp");
39
+    if (rv != OGS_OK) return rv;
40
+
41
+    rv = scp_context_parse_config();
42
+    if (rv != OGS_OK) return rv;
43
+
44
+    rv = ogs_log_config_domain(
45
+            ogs_app()->logger.domain, ogs_app()->logger.level);
46
+    if (rv != OGS_OK) return rv;
47
+
48
+    rv = scp_sbi_open();
49
+    if (rv != 0) return OGS_ERROR;
50
+
51
+    thread = ogs_thread_create(scp_main, NULL);
52
+    if (!thread) return OGS_ERROR;
53
+
54
+    initialized = 1;
55
+
56
+    return OGS_OK;
57
+}
58
+
59
+static ogs_timer_t *t_termination_holding = NULL;
60
+
61
+static void event_termination(void)
62
+{
63
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
64
+
65
+    /* Sending NF Instance De-registeration to NRF */
66
+    ogs_list_for_each(&ogs_sbi_self()->nf_instance_list, nf_instance)
67
+        scp_nf_fsm_fini(nf_instance);
68
+
69
+    /* Starting holding timer */
70
+    t_termination_holding = ogs_timer_add(ogs_app()->timer_mgr, NULL, NULL);
71
+    ogs_assert(t_termination_holding);
72
+#define TERMINATION_HOLDING_TIME ogs_time_from_msec(300)
73
+    ogs_timer_start(t_termination_holding, TERMINATION_HOLDING_TIME);
74
+
75
+    /* Sending termination event to the queue */
76
+    ogs_queue_term(ogs_app()->queue);
77
+    ogs_pollset_notify(ogs_app()->pollset);
78
+}
79
+
80
+void scp_terminate(void)
81
+{
82
+    if (!initialized) return;
83
+
84
+    /* Daemon terminating */
85
+    event_termination();
86
+    ogs_thread_destroy(thread);
87
+    ogs_timer_delete(t_termination_holding);
88
+
89
+    scp_sbi_close();
90
+
91
+    scp_context_final();
92
+
93
+    ogs_sbi_context_final();
94
+
95
+    scp_event_final(); /* Destroy event */
96
+}
97
+
98
+static void scp_main(void *data)
99
+{
100
+    ogs_fsm_t scp_sm;
101
+    int rv;
102
+
103
+    ogs_fsm_create(&scp_sm, scp_state_initial, scp_state_final);
104
+    ogs_fsm_init(&scp_sm, 0);
105
+
106
+    for ( ;; ) {
107
+        ogs_pollset_poll(ogs_app()->pollset,
108
+                ogs_timer_mgr_next(ogs_app()->timer_mgr));
109
+
110
+        /*
111
+         * After ogs_pollset_poll(), ogs_timer_mgr_expire() must be called.
112
+         *
113
+         * The reason is why ogs_timer_mgr_next() can get the corrent value
114
+         * when ogs_timer_stop() is called internally in ogs_timer_mgr_expire().
115
+         *
116
+         * You should not use event-queue before ogs_timer_mgr_expire().
117
+         * In this case, ogs_timer_mgr_expire() does not work
118
+         * because 'if rv == OGS_DONE' statement is exiting and
119
+         * not calling ogs_timer_mgr_expire().
120
+         */
121
+        ogs_timer_mgr_expire(ogs_app()->timer_mgr);
122
+
123
+        for ( ;; ) {
124
+            scp_event_t *e = NULL;
125
+
126
+            rv = ogs_queue_trypop(ogs_app()->queue, (void**)&e);
127
+            ogs_assert(rv != OGS_ERROR);
128
+
129
+            if (rv == OGS_DONE)
130
+                goto done;
131
+
132
+            if (rv == OGS_RETRY)
133
+                break;
134
+
135
+            ogs_assert(e);
136
+            ogs_fsm_dispatch(&scp_sm, e);
137
+            scp_event_free(e);
138
+        }
139
+    }
140
+done:
141
+
142
+    ogs_fsm_fini(&scp_sm, 0);
143
+    ogs_fsm_delete(&scp_sm);
144
+}
145
open5gs_2.4.8.202207180859.tar.xz/src/scp/meson.build Added
61
 
1
@@ -0,0 +1,59 @@
2
+# Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
3
+
4
+# This file is part of Open5GS.
5
+
6
+# This program is free software: you can redistribute it and/or modify
7
+# it under the terms of the GNU Affero General Public License as published by
8
+# the Free Software Foundation, either version 3 of the License, or
9
+# (at your option) any later version.
10
+#
11
+# This program is distributed in the hope that it will be useful,
12
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
+# GNU General Public License for more details.
15
+#
16
+# You should have received a copy of the GNU General Public License
17
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
18
+
19
+libscp_sources = files('''
20
+    context.c
21
+    event.c
22
+    timer.c
23
+
24
+    nnrf-build.c
25
+    nnrf-handler.c
26
+    nf-sm.c
27
+
28
+    nscp-handler.c
29
+
30
+    sbi-path.c
31
+    scp-sm.c
32
+
33
+    init.c
34
+'''.split())
35
+
36
+libscp = static_library('scp',
37
+    sources : libscp_sources,
38
+    dependencies : libapp_dep,
39
+                    libcrypt_dep,
40
+                    libsbi_dep,
41
+    install : false)
42
+
43
+libscp_dep = declare_dependency(
44
+    link_with : libscp,
45
+    dependencies : libapp_dep,
46
+                    libcrypt_dep,
47
+                    libsbi_dep)
48
+
49
+scp_sources = files('''
50
+    app.c
51
+    ../main.c
52
+'''.split())
53
+
54
+executable('open5gs-scpd',
55
+    sources : scp_sources,
56
+    c_args : '-DDEFAULT_CONFIG_FILENAME="@0@/scp.yaml"'.format(open5gs_sysconfdir),
57
+    include_directories : srcinc,
58
+    dependencies : libscp_dep,
59
+    install_rpath : libdir,
60
+    install : true)
61
open5gs_2.4.8.202207180859.tar.xz/src/scp/nf-sm.c Added
201
 
1
@@ -0,0 +1,442 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "context.h"
22
+
23
+#include "sbi-path.h"
24
+#include "nnrf-handler.h"
25
+
26
+void scp_nf_fsm_init(ogs_sbi_nf_instance_t *nf_instance)
27
+{
28
+    scp_event_t e;
29
+
30
+    ogs_assert(nf_instance);
31
+
32
+    memset(&e, 0, sizeof(e));
33
+    e.sbi.data = nf_instance;
34
+
35
+    ogs_fsm_create(&nf_instance->sm,
36
+            scp_nf_state_initial, scp_nf_state_final);
37
+    ogs_fsm_init(&nf_instance->sm, &e);
38
+}
39
+
40
+void scp_nf_fsm_fini(ogs_sbi_nf_instance_t *nf_instance)
41
+{
42
+    scp_event_t e;
43
+
44
+    ogs_assert(nf_instance);
45
+
46
+    memset(&e, 0, sizeof(e));
47
+    e.sbi.data = nf_instance;
48
+
49
+    ogs_fsm_fini(&nf_instance->sm, &e);
50
+    ogs_fsm_delete(&nf_instance->sm);
51
+}
52
+
53
+void scp_nf_state_initial(ogs_fsm_t *s, scp_event_t *e)
54
+{
55
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
56
+
57
+    ogs_assert(s);
58
+    ogs_assert(e);
59
+
60
+    scp_sm_debug(e);
61
+
62
+    nf_instance = e->sbi.data;
63
+    ogs_assert(nf_instance);
64
+
65
+    nf_instance->t_registration_interval = ogs_timer_add(ogs_app()->timer_mgr,
66
+            scp_timer_nf_instance_registration_interval, nf_instance);
67
+    ogs_assert(nf_instance->t_registration_interval);
68
+    nf_instance->t_heartbeat_interval = ogs_timer_add(ogs_app()->timer_mgr,
69
+            scp_timer_nf_instance_heartbeat_interval, nf_instance);
70
+    ogs_assert(nf_instance->t_heartbeat_interval);
71
+    nf_instance->t_no_heartbeat = ogs_timer_add(ogs_app()->timer_mgr,
72
+            scp_timer_nf_instance_no_heartbeat, nf_instance);
73
+    ogs_assert(nf_instance->t_no_heartbeat);
74
+    nf_instance->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
75
+            scp_timer_nf_instance_validity, nf_instance);
76
+    ogs_assert(nf_instance->t_validity);
77
+
78
+    if (NF_INSTANCE_IS_NRF(nf_instance)) {
79
+        OGS_FSM_TRAN(s, &scp_nf_state_will_register);
80
+    } else {
81
+        ogs_assert(nf_instance->id);
82
+        OGS_FSM_TRAN(s, &scp_nf_state_registered);
83
+    }
84
+}
85
+
86
+void scp_nf_state_final(ogs_fsm_t *s, scp_event_t *e)
87
+{
88
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
89
+
90
+    ogs_assert(s);
91
+    ogs_assert(e);
92
+
93
+    scp_sm_debug(e);
94
+
95
+    nf_instance = e->sbi.data;
96
+    ogs_assert(nf_instance);
97
+
98
+    ogs_timer_delete(nf_instance->t_registration_interval);
99
+    ogs_timer_delete(nf_instance->t_heartbeat_interval);
100
+    ogs_timer_delete(nf_instance->t_no_heartbeat);
101
+    ogs_timer_delete(nf_instance->t_validity);
102
+}
103
+
104
+void scp_nf_state_will_register(ogs_fsm_t *s, scp_event_t *e)
105
+{
106
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
107
+    ogs_sbi_client_t *client = NULL;
108
+    ogs_sbi_message_t *message = NULL;
109
+    ogs_sockaddr_t *addr = NULL;
110
+
111
+    ogs_assert(s);
112
+    ogs_assert(e);
113
+
114
+    scp_sm_debug(e);
115
+
116
+    nf_instance = e->sbi.data;
117
+    ogs_assert(nf_instance);
118
+    ogs_assert(ogs_sbi_self()->nf_instance);
119
+    ogs_assert(NF_INSTANCE_IS_NRF(nf_instance));
120
+
121
+    switch (e->id) {
122
+    case OGS_FSM_ENTRY_SIG:
123
+        ogs_timer_start(nf_instance->t_registration_interval,
124
+            ogs_app()->time.message.sbi.nf_register_interval);
125
+
126
+        ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
127
+                    nf_instance, scp_nnrf_nfm_build_register));
128
+        break;
129
+
130
+    case OGS_FSM_EXIT_SIG:
131
+        ogs_timer_stop(nf_instance->t_registration_interval);
132
+        break;
133
+
134
+    case SCP_EVT_SBI_CLIENT:
135
+        message = e->sbi.message;
136
+        ogs_assert(message);
137
+
138
+        SWITCH(message->h.service.name)
139
+        CASE(OGS_SBI_SERVICE_NAME_NNRF_NFM)
140
+
141
+            SWITCH(message->h.resource.component0)
142
+            CASE(OGS_SBI_RESOURCE_NAME_NF_INSTANCES)
143
+
144
+                if (message->res_status == OGS_SBI_HTTP_STATUS_OK ||
145
+                    message->res_status == OGS_SBI_HTTP_STATUS_CREATED) {
146
+                    scp_nnrf_handle_nf_register(nf_instance, message);
147
+                    OGS_FSM_TRAN(s, &scp_nf_state_registered);
148
+                } else {
149
+                    ogs_error("%s HTTP Response Status Code %d",
150
+                            ogs_sbi_self()->nf_instance->id,
151
+                            message->res_status);
152
+                    OGS_FSM_TRAN(s, &scp_nf_state_exception);
153
+                }
154
+                break;
155
+
156
+            DEFAULT
157
+                ogs_error("%s Invalid resource name %s",
158
+                        ogs_sbi_self()->nf_instance->id,
159
+                        message->h.resource.component0);
160
+            END
161
+            break;
162
+
163
+        DEFAULT
164
+            ogs_error("%s Invalid API name %s",
165
+                    ogs_sbi_self()->nf_instance->id, message->h.service.name);
166
+        END
167
+        break;
168
+
169
+    case SCP_EVT_SBI_TIMER:
170
+        switch(e->timer_id) {
171
+        case SCP_TIMER_NF_INSTANCE_REGISTRATION_INTERVAL:
172
+            client = nf_instance->client;
173
+            ogs_assert(client);
174
+            addr = client->node.addr;
175
+            ogs_assert(addr);
176
+
177
+            ogs_warn("%s Retry to registration with NRF",
178
+                    ogs_sbi_self()->nf_instance->id);
179
+
180
+            ogs_timer_start(nf_instance->t_registration_interval,
181
+                ogs_app()->time.message.sbi.nf_register_interval);
182
+
183
+            ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
184
+                        nf_instance, scp_nnrf_nfm_build_register));
185
+            break;
186
+
187
+        default:
188
+            ogs_error("%s Unknown timer%s:%d",
189
+                    ogs_sbi_self()->nf_instance->id,
190
+                    scp_timer_get_name(e->timer_id), e->timer_id);
191
+        }
192
+        break;
193
+
194
+    default:
195
+        ogs_error("%s Unknown event %s",
196
+                ogs_sbi_self()->nf_instance->id, scp_event_get_name(e));
197
+        break;
198
+    }
199
+}
200
+
201
open5gs_2.4.8.202207180859.tar.xz/src/scp/nnrf-build.c Added
57
 
1
@@ -0,0 +1,55 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "nnrf-build.h"
22
+
23
+ogs_sbi_request_t *scp_nnrf_nfm_build_register(void)
24
+{
25
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
26
+
27
+    ogs_sbi_message_t message;
28
+    ogs_sbi_request_t *request = NULL;
29
+
30
+    OpenAPI_nf_profile_t *NFProfile = NULL;
31
+
32
+    nf_instance = ogs_sbi_self()->nf_instance;
33
+    ogs_assert(nf_instance);
34
+    ogs_assert(nf_instance->id);
35
+
36
+    memset(&message, 0, sizeof(message));
37
+    message.h.method = (char *)OGS_SBI_HTTP_METHOD_PUT;
38
+    message.h.service.name = (char *)OGS_SBI_SERVICE_NAME_NNRF_NFM;
39
+    message.h.api.version = (char *)OGS_SBI_API_V1;
40
+    message.h.resource.component0 =
41
+        (char *)OGS_SBI_RESOURCE_NAME_NF_INSTANCES;
42
+    message.h.resource.component1 = nf_instance->id;
43
+
44
+    message.http.content_encoding = (char*)ogs_sbi_self()->content_encoding;
45
+
46
+    NFProfile = ogs_nnrf_nfm_build_nf_profile();
47
+    ogs_expect_or_return_val(NFProfile, NULL);
48
+
49
+    message.NFProfile = NFProfile;
50
+
51
+    request = ogs_sbi_build_request(&message);
52
+
53
+    ogs_sbi_nnrf_free_nf_profile(NFProfile);
54
+
55
+    return request;
56
+}
57
open5gs_2.4.8.202207180859.tar.xz/src/scp/nnrf-build.h Added
37
 
1
@@ -0,0 +1,35 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#ifndef SCP_NNRF_BUILD_H
22
+#define SCP_NNRF_BUILD_H
23
+
24
+#include "context.h"
25
+
26
+#ifdef __cplusplus
27
+extern "C" {
28
+#endif
29
+
30
+ogs_sbi_request_t *scp_nnrf_nfm_build_register(void);
31
+
32
+#ifdef __cplusplus
33
+}
34
+#endif
35
+
36
+#endif /* SCP_NNRF_BUILD_H */
37
open5gs_2.4.8.202207180859.tar.xz/src/scp/nnrf-handler.c Added
201
 
1
@@ -0,0 +1,348 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "sbi-path.h"
22
+#include "nnrf-handler.h"
23
+
24
+void scp_nnrf_handle_nf_register(
25
+        ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_message_t *recvmsg)
26
+{
27
+    OpenAPI_nf_profile_t *NFProfile = NULL;
28
+    ogs_sbi_client_t *client = NULL;
29
+
30
+    ogs_assert(recvmsg);
31
+    ogs_assert(nf_instance);
32
+    client = nf_instance->client;
33
+    ogs_assert(client);
34
+
35
+    NFProfile = recvmsg->NFProfile;
36
+    if (!NFProfile) {
37
+        ogs_error("No NFProfile");
38
+        return;
39
+    }
40
+
41
+    /* TIME : Update heartbeat from NRF */
42
+    if (NFProfile->is_heart_beat_timer == true)
43
+        nf_instance->time.heartbeat_interval = NFProfile->heart_beat_timer;
44
+}
45
+
46
+void scp_nnrf_handle_nf_status_subscribe(
47
+        ogs_sbi_subscription_t *subscription, ogs_sbi_message_t *recvmsg)
48
+{
49
+    OpenAPI_subscription_data_t *SubscriptionData = NULL;
50
+    ogs_sbi_client_t *client = NULL;
51
+
52
+    ogs_assert(recvmsg);
53
+    ogs_assert(subscription);
54
+    client = subscription->client;
55
+    ogs_assert(client);
56
+
57
+    SubscriptionData = recvmsg->SubscriptionData;
58
+    if (!SubscriptionData) {
59
+        ogs_error("No SubscriptionData");
60
+        return;
61
+    }
62
+
63
+    if (!SubscriptionData->subscription_id) {
64
+        ogs_error("No SubscriptionId");
65
+        return;
66
+    }
67
+    ogs_sbi_subscription_set_id(
68
+        subscription, SubscriptionData->subscription_id);
69
+
70
+    if (SubscriptionData->validity_time) {
71
+#define VALIDITY_MINIMUM (10LL * OGS_USEC_PER_SEC) /* 10 seconds */
72
+        ogs_time_t time, duration;
73
+        if (ogs_sbi_time_from_string(
74
+                &time, SubscriptionData->validity_time) == true) {
75
+            duration = time - ogs_time_now();
76
+            if (duration < VALIDITY_MINIMUM) {
77
+                duration = VALIDITY_MINIMUM;
78
+                ogs_warn("%s Forced to %lld seconds", subscription->id,
79
+                        (long long)ogs_time_sec(VALIDITY_MINIMUM));
80
+            }
81
+            subscription->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
82
+                scp_timer_subscription_validity, subscription);
83
+            ogs_assert(subscription->t_validity);
84
+            ogs_timer_start(subscription->t_validity, duration);
85
+        } else {
86
+            ogs_error("Cannot parse validitiyTime %s",
87
+                    SubscriptionData->validity_time);
88
+        }
89
+    }
90
+}
91
+
92
+bool scp_nnrf_handle_nf_status_notify(
93
+        ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg)
94
+{
95
+    int rv;
96
+    bool handled;
97
+
98
+    ogs_sbi_response_t *response = NULL;
99
+    OpenAPI_notification_data_t *NotificationData = NULL;
100
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
101
+
102
+    ogs_sbi_message_t message;
103
+    ogs_sbi_header_t header;
104
+
105
+    ogs_assert(stream);
106
+    ogs_assert(recvmsg);
107
+
108
+    NotificationData = recvmsg->NotificationData;
109
+    if (!NotificationData) {
110
+        ogs_error("No NotificationData");
111
+        ogs_assert(true ==
112
+            ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
113
+                recvmsg, "No NotificationData", NULL));
114
+        return false;
115
+    }
116
+
117
+    if (!NotificationData->nf_instance_uri) {
118
+        ogs_error("No nfInstanceUri");
119
+        ogs_assert(true ==
120
+            ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
121
+                recvmsg, "No nfInstanceUri", NULL));
122
+        return false;
123
+    }
124
+
125
+    memset(&header, 0, sizeof(header));
126
+    header.uri = NotificationData->nf_instance_uri;
127
+
128
+    rv = ogs_sbi_parse_header(&message, &header);
129
+    if (rv != OGS_OK) {
130
+        ogs_error("Cannot parse nfInstanceUri %s", header.uri);
131
+        ogs_assert(true ==
132
+            ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
133
+                recvmsg, "Cannot parse nfInstanceUri", header.uri));
134
+        return false;
135
+    }
136
+
137
+    if (!message.h.resource.component1) {
138
+        ogs_error("No nfInstanceId %s", header.uri);
139
+        ogs_assert(true ==
140
+            ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
141
+                recvmsg, "Cannot parse nfInstanceUri", header.uri));
142
+        ogs_sbi_header_free(&header);
143
+        return false;
144
+    }
145
+
146
+    if (NF_INSTANCE_IS_SELF(message.h.resource.component1)) {
147
+        ogs_warn("%s The notification is not allowed",
148
+                message.h.resource.component1);
149
+        ogs_assert(true ==
150
+            ogs_sbi_server_send_error(stream, OGS_SBI_HTTP_STATUS_FORBIDDEN,
151
+                recvmsg, "The notification is not allowed",
152
+                message.h.resource.component1));
153
+        ogs_sbi_header_free(&header);
154
+        return false;
155
+    }
156
+
157
+    if (NotificationData->event ==
158
+            OpenAPI_notification_event_type_NF_REGISTERED) {
159
+
160
+        OpenAPI_nf_profile_t *NFProfile = NULL;
161
+
162
+        NFProfile = NotificationData->nf_profile;
163
+        if (!NFProfile) {
164
+            ogs_error("No NFProfile");
165
+            ogs_assert(true ==
166
+                ogs_sbi_server_send_error(
167
+                    stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
168
+                    recvmsg, "No NFProfile", NULL));
169
+            ogs_sbi_header_free(&header);
170
+            return false;
171
+        }
172
+
173
+        nf_instance = ogs_sbi_nf_instance_find(message.h.resource.component1);
174
+        if (!nf_instance) {
175
+            nf_instance = ogs_sbi_nf_instance_add();
176
+            ogs_assert(nf_instance);
177
+            ogs_sbi_nf_instance_set_id(nf_instance,
178
+                    message.h.resource.component1);
179
+
180
+            scp_nf_fsm_init(nf_instance);
181
+
182
+            ogs_info("%s (NRF-notify) NF registered", nf_instance->id);
183
+
184
+        } else {
185
+            nf_instance->reference_count++;
186
+
187
+            OGS_FSM_TRAN(&nf_instance->sm, scp_nf_state_registered);
188
+            ogs_fsm_dispatch(&nf_instance->sm, NULL);
189
+
190
+            ogs_warn("%s (NRF-notify) NF has already been added",
191
+                    message.h.resource.component1);
192
+
193
+        }
194
+
195
+        handled = ogs_sbi_nnrf_handle_nf_profile(
196
+                    nf_instance, NFProfile, stream, recvmsg);
197
+        if (!handled) {
198
+            SCP_NF_INSTANCE_CLEAR("NRF-notify", nf_instance);
199
+            ogs_sbi_header_free(&header);
200
+            return false;
201
open5gs_2.4.8.202207180859.tar.xz/src/scp/nnrf-handler.h Added
46
 
1
@@ -0,0 +1,44 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#ifndef SCP_NNRF_HANDLER_H
22
+#define SCP_NNRF_HANDLER_H
23
+
24
+#include "context.h"
25
+
26
+#ifdef __cplusplus
27
+extern "C" {
28
+#endif
29
+
30
+void scp_nnrf_handle_nf_register(
31
+        ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_message_t *recvmsg);
32
+void scp_nnrf_handle_nf_status_subscribe(
33
+        ogs_sbi_subscription_t *subscription, ogs_sbi_message_t *recvmsg);
34
+
35
+bool scp_nnrf_handle_nf_status_notify(
36
+        ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg);
37
+
38
+void scp_nnrf_handle_nf_discover(
39
+        ogs_sbi_xact_t *xact, ogs_sbi_message_t *recvmsg);
40
+
41
+#ifdef __cplusplus
42
+}
43
+#endif
44
+
45
+#endif /* SCP_NNRF_HANDLER_H */
46
open5gs_2.4.8.202207180859.tar.xz/src/scp/nscp-handler.c Added
29
 
1
@@ -0,0 +1,27 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "sbi-path.h"
22
+#include "nscp-handler.h"
23
+
24
+bool scp_nscp_management_handle_pcf_binding(
25
+        scp_conn_t *conn, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg)
26
+{
27
+    return true;
28
+}
29
open5gs_2.4.8.202207180859.tar.xz/src/scp/nscp-handler.h Added
38
 
1
@@ -0,0 +1,36 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#ifndef SCP_NSCP_HANDLER_H
22
+#define SCP_NSCP_HANDLER_H
23
+
24
+#include "context.h"
25
+
26
+#ifdef __cplusplus
27
+extern "C" {
28
+#endif
29
+
30
+bool scp_nscp_management_handle_pcf_binding(
31
+        scp_conn_t *conn, ogs_sbi_stream_t *stream, ogs_sbi_message_t *recvmsg);
32
+
33
+#ifdef __cplusplus
34
+}
35
+#endif
36
+
37
+#endif /* SCP_NSCP_HANDLER_H */
38
open5gs_2.4.8.202207180859.tar.xz/src/scp/sbi-path.c Added
201
 
1
@@ -0,0 +1,410 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "sbi-path.h"
22
+
23
+static int request_handler(ogs_sbi_request_t *request, void *data);
24
+static int response_handler(
25
+        int status, ogs_sbi_response_t *response, void *data);
26
+
27
+static int client_cb(int status, ogs_sbi_response_t *response, void *data);
28
+
29
+int scp_sbi_open(void)
30
+{
31
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
32
+
33
+    if (ogs_sbi_server_start_all(request_handler) != OGS_OK)
34
+        return OGS_ERROR;
35
+
36
+    /* Add SELF NF instance */
37
+    nf_instance = ogs_sbi_self()->nf_instance;
38
+    ogs_assert(nf_instance);
39
+
40
+    /* Build NF instance information. It will be transmitted to NRF. */
41
+    ogs_sbi_nf_instance_build_default(nf_instance, OpenAPI_nf_type_SCP);
42
+
43
+    /* Initialize SCP NF Instance */
44
+    nf_instance = ogs_sbi_self()->scp_instance;
45
+    if (nf_instance) {
46
+        ogs_sbi_client_t *client = NULL;
47
+
48
+        /* Client callback is only used when NF sends to SCP */
49
+        client = nf_instance->client;
50
+        ogs_assert(client);
51
+        client->cb = client_cb;
52
+    }
53
+
54
+    /* Initialize NRF NF Instance */
55
+    nf_instance = ogs_sbi_self()->nrf_instance;
56
+    if (nf_instance) {
57
+        ogs_sbi_client_t *client = NULL;
58
+
59
+        /* Client callback is only used when NF sends to NRF */
60
+        client = nf_instance->client;
61
+        ogs_assert(client);
62
+        client->cb = client_cb;
63
+
64
+        /* NFRegister is sent and the response is received
65
+         * by the above client callback. */
66
+        scp_nf_fsm_init(nf_instance);
67
+    }
68
+
69
+    return OGS_OK;
70
+}
71
+
72
+void scp_sbi_close(void)
73
+{
74
+    ogs_sbi_client_stop_all();
75
+    ogs_sbi_server_stop_all();
76
+}
77
+
78
+static int request_handler(ogs_sbi_request_t *source, void *data)
79
+{
80
+    int rv;
81
+    ogs_hash_index_t *hi;
82
+    ogs_sbi_stream_t *stream = data;
83
+
84
+    struct {
85
+        char *target_apiroot;
86
+        char *discovery;
87
+        char *accept;
88
+        char *content_type;
89
+        char *content_encoding;
90
+    } headers;
91
+
92
+    ogs_assert(source);
93
+    ogs_assert(source->h.uri);
94
+    ogs_assert(stream);
95
+
96
+    memset(&headers, 0, sizeof(headers));
97
+
98
+    /* Extract HTTP Header */
99
+    for (hi = ogs_hash_first(source->http.headers);
100
+            hi; hi = ogs_hash_next(hi)) {
101
+        char *key = (char *)ogs_hash_this_key(hi);
102
+        char *val = ogs_hash_this_val(hi);
103
+
104
+        if (!key || !val) {
105
+            ogs_error("No Key%s Value%s", key, val);
106
+            continue;
107
+        }
108
+
109
+        /*
110
+         * <RFC 2616>
111
+         *  Each header field consists of a name followed by a colon (":")
112
+         *  and the field value. Field names are case-insensitive.
113
+         */
114
+        if (!strcasecmp(key, OGS_SBI_CUSTOM_TARGET_APIROOT)) {
115
+            headers.target_apiroot = val;
116
+        } else if (!strncasecmp(key,
117
+                    OGS_SBI_CUSTOM_DISCOVERY_COMMON,
118
+                    strlen(OGS_SBI_CUSTOM_DISCOVERY_COMMON))) {
119
+            headers.discovery = val;
120
+        } else if (!strcasecmp(key, OGS_SBI_ACCEPT)) {
121
+            headers.accept = val;
122
+        } else if (!strcasecmp(key, OGS_SBI_CONTENT_TYPE)) {
123
+            headers.content_type = val;
124
+        } else if (!strcasecmp(key, OGS_SBI_ACCEPT_ENCODING)) {
125
+            headers.content_encoding = val;
126
+        }
127
+    }
128
+
129
+    if (headers.target_apiroot) {
130
+        ogs_sbi_nf_instance_t *scp_instance = NULL;
131
+        ogs_sbi_client_t *client = NULL;
132
+        ogs_sbi_request_t target;
133
+
134
+        scp_conn_t *conn = NULL;
135
+
136
+        memset(&target, 0, sizeof(target));
137
+
138
+        conn = scp_conn_add(stream);
139
+        if (!conn) {
140
+            ogs_error("scp_conn_add() failed");
141
+            ogs_sbi_request_free(source);
142
+            return OGS_ERROR;
143
+        }
144
+
145
+        if (ogs_sbi_self()->discovery_config.delegated ==
146
+                OGS_SBI_DISCOVERY_DELEGATED_AUTO) {
147
+            scp_instance = ogs_sbi_self()->scp_instance;
148
+        } else if (ogs_sbi_self()->discovery_config.delegated ==
149
+                OGS_SBI_DISCOVERY_DELEGATED_YES) {
150
+            scp_instance = ogs_sbi_self()->scp_instance;
151
+            ogs_assert(scp_instance);
152
+        }
153
+
154
+        /* HTTP Method */
155
+        target.h.method = source->h.method;
156
+
157
+        /* HTTP Headers
158
+         *
159
+         * To remove the followings,
160
+         *   Scheme - https
161
+         *   Authority - scp.open5gs.org
162
+         *
163
+         * We regenerate the HTTP Headers.
164
+         */
165
+        target.http.headers = ogs_hash_make();
166
+        ogs_assert(target.http.headers);
167
+
168
+        if (headers.content_type)
169
+            ogs_sbi_header_set(target.http.headers,
170
+                    OGS_SBI_CONTENT_TYPE, headers.content_type);
171
+        if (headers.accept)
172
+            ogs_sbi_header_set(target.http.headers,
173
+                    OGS_SBI_ACCEPT, headers.accept);
174
+        if (headers.content_encoding)
175
+            ogs_sbi_header_set(target.http.headers,
176
+                    OGS_SBI_ACCEPT_ENCODING, headers.content_encoding);
177
+
178
+        /* HTTP Params */
179
+        target.http.params = source->http.params;
180
+
181
+        /* HTTP Content */
182
+        target.http.content = source->http.content;
183
+        target.http.content_length = source->http.content_length;
184
+
185
+        if (scp_instance) {
186
+            char *apiroot = NULL;
187
+
188
+            if (headers.target_apiroot)
189
+                ogs_sbi_header_set(target.http.headers,
190
+                        OGS_SBI_CUSTOM_TARGET_APIROOT, headers.target_apiroot);
191
+
192
+            /* Client Instance */
193
+            client = scp_instance->client;
194
+            ogs_assert(client);
195
+
196
+            /* Client ApiRoot */
197
+            apiroot = ogs_sbi_client_apiroot(client);
198
+            ogs_assert(apiroot);
199
+
200
+            /* Setup New URI */
201
open5gs_2.4.8.202207180859.tar.xz/src/scp/sbi-path.h Added
44
 
1
@@ -0,0 +1,42 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#ifndef SCP_SBI_PATH_H
22
+#define SCP_SBI_PATH_H
23
+
24
+#include "nnrf-build.h"
25
+
26
+#ifdef __cplusplus
27
+extern "C" {
28
+#endif
29
+
30
+int scp_sbi_open(void);
31
+void scp_sbi_close(void);
32
+
33
+bool scp_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact);
34
+
35
+bool scp_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type,
36
+        scp_conn_t *conn, ogs_sbi_stream_t *stream, void *data,
37
+        ogs_sbi_request_t *(*build)(scp_conn_t *conn, void *data));
38
+
39
+#ifdef __cplusplus
40
+}
41
+#endif
42
+
43
+#endif /* SCP_SBI_PATH_H */
44
open5gs_2.4.8.202207180859.tar.xz/src/scp/scp-sm.c Added
201
 
1
@@ -0,0 +1,369 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "sbi-path.h"
22
+#include "nnrf-handler.h"
23
+#include "nscp-handler.h"
24
+
25
+void scp_state_initial(ogs_fsm_t *s, scp_event_t *e)
26
+{
27
+    scp_sm_debug(e);
28
+
29
+    ogs_assert(s);
30
+
31
+    OGS_FSM_TRAN(s, &scp_state_operational);
32
+}
33
+
34
+void scp_state_final(ogs_fsm_t *s, scp_event_t *e)
35
+{
36
+    scp_sm_debug(e);
37
+
38
+    ogs_assert(s);
39
+}
40
+
41
+void scp_state_operational(ogs_fsm_t *s, scp_event_t *e)
42
+{
43
+    int rv;
44
+
45
+    ogs_sbi_stream_t *stream = NULL;
46
+    ogs_sbi_request_t *request = NULL;
47
+
48
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
49
+    ogs_sbi_subscription_t *subscription = NULL;
50
+    ogs_sbi_response_t *response = NULL;
51
+    ogs_sbi_message_t message;
52
+    ogs_sbi_xact_t *sbi_xact = NULL;
53
+
54
+    scp_sm_debug(e);
55
+
56
+    ogs_assert(s);
57
+
58
+    switch (e->id) {
59
+    case OGS_FSM_ENTRY_SIG:
60
+        break;
61
+
62
+    case OGS_FSM_EXIT_SIG:
63
+        break;
64
+
65
+    case SCP_EVT_SBI_SERVER:
66
+        request = e->sbi.request;
67
+        ogs_assert(request);
68
+        stream = e->sbi.data;
69
+        ogs_assert(stream);
70
+
71
+        rv = ogs_sbi_parse_request(&message, request);
72
+        if (rv != OGS_OK) {
73
+            /* 'sbi_message' buffer is released in ogs_sbi_parse_request() */
74
+            ogs_error("cannot parse HTTP sbi_message");
75
+            ogs_assert(true ==
76
+                ogs_sbi_server_send_error(
77
+                    stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
78
+                    NULL, "cannot parse HTTP sbi_message", NULL));
79
+            break;
80
+        }
81
+
82
+        if (strcmp(message.h.api.version, OGS_SBI_API_V1) != 0) {
83
+            ogs_error("Not supported version %s", message.h.api.version);
84
+            ogs_assert(true ==
85
+                ogs_sbi_server_send_error(
86
+                    stream, OGS_SBI_HTTP_STATUS_BAD_REQUEST,
87
+                    &message, "Not supported version", NULL));
88
+            ogs_sbi_message_free(&message);
89
+            break;
90
+        }
91
+
92
+        SWITCH(message.h.service.name)
93
+        CASE(OGS_SBI_SERVICE_NAME_NNRF_NFM)
94
+
95
+            SWITCH(message.h.resource.component0)
96
+            CASE(OGS_SBI_RESOURCE_NAME_NF_STATUS_NOTIFY)
97
+                SWITCH(message.h.method)
98
+                CASE(OGS_SBI_HTTP_METHOD_POST)
99
+                    scp_nnrf_handle_nf_status_notify(stream, &message);
100
+                    break;
101
+
102
+                DEFAULT
103
+                    ogs_error("Invalid HTTP method %s", message.h.method);
104
+                    ogs_assert(true ==
105
+                        ogs_sbi_server_send_error(stream,
106
+                            OGS_SBI_HTTP_STATUS_FORBIDDEN, &message,
107
+                            "Invalid HTTP method", message.h.method));
108
+                END
109
+                break;
110
+
111
+            DEFAULT
112
+                ogs_error("Invalid resource name %s",
113
+                        message.h.resource.component0);
114
+                ogs_assert(true ==
115
+                    ogs_sbi_server_send_error(stream,
116
+                        OGS_SBI_HTTP_STATUS_BAD_REQUEST, &message,
117
+                        "Invalid resource name",
118
+                        message.h.resource.component0));
119
+            END
120
+            break;
121
+
122
+#if 0
123
+        CASE(OGS_SBI_SERVICE_NAME_NBSF_MANAGEMENT)
124
+            SWITCH(message.h.resource.component0)
125
+            CASE(OGS_SBI_RESOURCE_NAME_PCF_BINDINGS)
126
+                if (message.h.resource.component1) {
127
+                    sess = scp_sess_find_by_binding_id(
128
+                            message.h.resource.component1);
129
+                } else {
130
+                    SWITCH(message.h.method)
131
+                    CASE(OGS_SBI_HTTP_METHOD_POST)
132
+                        if (message.PcfBinding &&
133
+                            message.PcfBinding->snssai &&
134
+                            message.PcfBinding->dnn) {
135
+                            ogs_s_nssai_t s_nssai;
136
+
137
+                            s_nssai.sst = message.PcfBinding->snssai->sst;
138
+                            s_nssai.sd = ogs_s_nssai_sd_from_string(
139
+                                    message.PcfBinding->snssai->sd);
140
+
141
+                            sess = scp_sess_find_by_snssai_and_dnn(
142
+                                    &s_nssai, message.PcfBinding->dnn);
143
+                            if (!sess) {
144
+                                sess = scp_sess_add_by_snssai_and_dnn(
145
+                                        &s_nssai, message.PcfBinding->dnn);
146
+                                ogs_assert(sess);
147
+                            }
148
+                        }
149
+                        break;
150
+                    CASE(OGS_SBI_HTTP_METHOD_GET)
151
+                        if (!sess && message.param.ipv4addr)
152
+                            sess = scp_sess_find_by_ipv4addr(
153
+                                        message.param.ipv4addr);
154
+                        if (!sess && message.param.ipv6prefix)
155
+                            sess = scp_sess_find_by_ipv6prefix(
156
+                                        message.param.ipv6prefix);
157
+                        break;
158
+                    DEFAULT
159
+                        ogs_error("Invalid HTTP method %s", message.h.method);
160
+                    END
161
+                }
162
+
163
+                if (!sess) {
164
+                    ogs_error("Not found %s", message.h.uri);
165
+                    ogs_assert(true ==
166
+                        ogs_sbi_server_send_error(stream,
167
+                            OGS_SBI_HTTP_STATUS_NOT_FOUND,
168
+                            &message, "Not found", message.h.uri));
169
+                    break;
170
+                }
171
+
172
+                scp_nscp_management_handle_pcf_binding(sess, stream, &message);
173
+                break;
174
+
175
+            DEFAULT
176
+                ogs_error("Invalid resource name %s",
177
+                        message.h.resource.component0);
178
+                ogs_assert(true ==
179
+                    ogs_sbi_server_send_error(stream,
180
+                        OGS_SBI_HTTP_STATUS_BAD_REQUEST, &message,
181
+                        "Invalid resource name",
182
+                        message.h.resource.component0));
183
+            END
184
+            break;
185
+#endif
186
+
187
+        DEFAULT
188
+            ogs_error("Invalid API name %s", message.h.service.name);
189
+            ogs_assert(true ==
190
+                ogs_sbi_server_send_error(stream,
191
+                    OGS_SBI_HTTP_STATUS_BAD_REQUEST, &message,
192
+                    "Invalid API name", message.h.service.name));
193
+        END
194
+
195
+        /* In lib/sbi/server.c, notify_completed() releases 'request' buffer. */
196
+        ogs_sbi_message_free(&message);
197
+        break;
198
+
199
+    case SCP_EVT_SBI_CLIENT:
200
+        ogs_assert(e);
201
open5gs_2.4.8.202207180859.tar.xz/src/scp/scp-sm.h Added
53
 
1
@@ -0,0 +1,51 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#ifndef SCP_SM_H
22
+#define SCP_SM_H
23
+
24
+#include "event.h"
25
+
26
+#ifdef __cplusplus
27
+extern "C" {
28
+#endif
29
+
30
+void scp_state_initial(ogs_fsm_t *s, scp_event_t *e);
31
+void scp_state_final(ogs_fsm_t *s, scp_event_t *e);
32
+void scp_state_operational(ogs_fsm_t *s, scp_event_t *e);
33
+void scp_state_exception(ogs_fsm_t *s, scp_event_t *e);
34
+
35
+void scp_nf_fsm_init(ogs_sbi_nf_instance_t *nf_instance);
36
+void scp_nf_fsm_fini(ogs_sbi_nf_instance_t *nf_instance);
37
+
38
+void scp_nf_state_initial(ogs_fsm_t *s, scp_event_t *e);
39
+void scp_nf_state_final(ogs_fsm_t *s, scp_event_t *e);
40
+void scp_nf_state_will_register(ogs_fsm_t *s, scp_event_t *e);
41
+void scp_nf_state_registered(ogs_fsm_t *s, scp_event_t *e);
42
+void scp_nf_state_de_registered(ogs_fsm_t *s, scp_event_t *e);
43
+void scp_nf_state_exception(ogs_fsm_t *s, scp_event_t *e);
44
+
45
+#define scp_sm_debug(__pe) \
46
+    ogs_debug("%s(): %s", __func__, scp_event_get_name(__pe))
47
+
48
+#ifdef __cplusplus
49
+}
50
+#endif
51
+
52
+#endif /* SCP_SM_H */
53
open5gs_2.4.8.202207180859.tar.xz/src/scp/timer.c Added
120
 
1
@@ -0,0 +1,118 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#include "timer.h"
22
+#include "event.h"
23
+#include "context.h"
24
+
25
+const char *scp_timer_get_name(scp_timer_e id)
26
+{
27
+    switch (id) {
28
+    case SCP_TIMER_NF_INSTANCE_REGISTRATION_INTERVAL:
29
+        return "SCP_TIMER_NF_INSTANCE_REGISTRATION_INTERVAL";
30
+    case SCP_TIMER_NF_INSTANCE_HEARTBEAT_INTERVAL:
31
+        return "SCP_TIMER_NF_INSTANCE_HEARTBEAT_INTERVAL";
32
+    case SCP_TIMER_NF_INSTANCE_NO_HEARTBEAT:
33
+        return "SCP_TIMER_NF_INSTANCE_NO_HEARTBEAT";
34
+    case SCP_TIMER_NF_INSTANCE_VALIDITY:
35
+        return "SCP_TIMER_NF_INSTANCE_VALIDITY";
36
+    case SCP_TIMER_SUBSCRIPTION_VALIDITY:
37
+        return "SCP_TIMER_SUBSCRIPTION_VALIDITY";
38
+    case SCP_TIMER_SBI_CLIENT_WAIT:
39
+        return "SCP_TIMER_SBI_CLIENT_WAIT";
40
+    default: 
41
+       break;
42
+    }
43
+
44
+    return "UNKNOWN_TIMER";
45
+}
46
+
47
+static void timer_send_event(int timer_id, void *data)
48
+{
49
+    int rv;
50
+    scp_event_t *e = NULL;
51
+    ogs_assert(data);
52
+
53
+    switch (timer_id) {
54
+    case SCP_TIMER_NF_INSTANCE_REGISTRATION_INTERVAL:
55
+    case SCP_TIMER_NF_INSTANCE_HEARTBEAT_INTERVAL:
56
+    case SCP_TIMER_NF_INSTANCE_NO_HEARTBEAT:
57
+    case SCP_TIMER_NF_INSTANCE_VALIDITY:
58
+    case SCP_TIMER_SUBSCRIPTION_VALIDITY:
59
+        e = scp_event_new(SCP_EVT_SBI_TIMER);
60
+        ogs_assert(e);
61
+        e->timer_id = timer_id;
62
+        e->sbi.data = data;
63
+        break;
64
+    case SCP_TIMER_SBI_CLIENT_WAIT:
65
+        e = scp_event_new(SCP_EVT_SBI_TIMER);
66
+        if (!e) {
67
+            ogs_sbi_xact_t *sbi_xact = data;
68
+            ogs_assert(sbi_xact);
69
+
70
+            ogs_error("timer_send_event() failed");
71
+            ogs_sbi_xact_remove(sbi_xact);
72
+            return;
73
+        }
74
+        e->timer_id = timer_id;
75
+        e->sbi.data = data;
76
+        break;
77
+    default:
78
+        ogs_fatal("Unknown timer id%d", timer_id);
79
+        ogs_assert_if_reached();
80
+        break;
81
+    }
82
+
83
+    rv = ogs_queue_push(ogs_app()->queue, e);
84
+    if (rv != OGS_OK) {
85
+        ogs_warn("ogs_queue_push() failed %d in %s",
86
+                (int)rv, scp_timer_get_name(e->timer_id));
87
+        scp_event_free(e);
88
+    }
89
+}
90
+
91
+void scp_timer_nf_instance_registration_interval(void *data)
92
+{
93
+    timer_send_event(SCP_TIMER_NF_INSTANCE_REGISTRATION_INTERVAL, data);
94
+}
95
+
96
+void scp_timer_nf_instance_heartbeat_interval(void *data)
97
+{
98
+    timer_send_event(SCP_TIMER_NF_INSTANCE_HEARTBEAT_INTERVAL, data);
99
+}
100
+
101
+void scp_timer_nf_instance_no_heartbeat(void *data)
102
+{
103
+    timer_send_event(SCP_TIMER_NF_INSTANCE_NO_HEARTBEAT, data);
104
+}
105
+
106
+void scp_timer_nf_instance_validity(void *data)
107
+{
108
+    timer_send_event(SCP_TIMER_NF_INSTANCE_VALIDITY, data);
109
+}
110
+
111
+void scp_timer_subscription_validity(void *data)
112
+{
113
+    timer_send_event(SCP_TIMER_SUBSCRIPTION_VALIDITY, data);
114
+}
115
+
116
+void scp_timer_sbi_client_wait_expire(void *data)
117
+{
118
+    timer_send_event(SCP_TIMER_SBI_CLIENT_WAIT, data);
119
+}
120
open5gs_2.4.8.202207180859.tar.xz/src/scp/timer.h Added
59
 
1
@@ -0,0 +1,57 @@
2
+/*
3
+ * Copyright (C) 2019-2022 by Sukchan Lee <acetcom@gmail.com>
4
+ *
5
+ * This file is part of Open5GS.
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
+ * GNU General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU General Public License
18
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19
+ */
20
+
21
+#ifndef SCP_TIMER_H
22
+#define SCP_TIMER_H
23
+
24
+#include "ogs-core.h"
25
+
26
+#ifdef __cplusplus
27
+extern "C" {
28
+#endif
29
+
30
+/* forward declaration */
31
+typedef enum {
32
+    SCP_TIMER_BASE = 0,
33
+
34
+    SCP_TIMER_NF_INSTANCE_REGISTRATION_INTERVAL,
35
+    SCP_TIMER_NF_INSTANCE_HEARTBEAT_INTERVAL,
36
+    SCP_TIMER_NF_INSTANCE_NO_HEARTBEAT,
37
+    SCP_TIMER_NF_INSTANCE_VALIDITY,
38
+    SCP_TIMER_SUBSCRIPTION_VALIDITY,
39
+    SCP_TIMER_SBI_CLIENT_WAIT,
40
+
41
+    MAX_NUM_OF_SCP_TIMER,
42
+
43
+} scp_timer_e;
44
+
45
+const char *scp_timer_get_name(scp_timer_e id);
46
+
47
+void scp_timer_nf_instance_registration_interval(void *data);
48
+void scp_timer_nf_instance_heartbeat_interval(void *data);
49
+void scp_timer_nf_instance_no_heartbeat(void *data);
50
+void scp_timer_nf_instance_validity(void *data);
51
+void scp_timer_subscription_validity(void *data);
52
+void scp_timer_sbi_client_wait_expire(void *data);
53
+
54
+#ifdef __cplusplus
55
+}
56
+#endif
57
+
58
+#endif /* SCP_TIMER_H */
59
open5gs_2.4.8.202207150002.tar.xz/src/sgwc/pfcp-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/sgwc/pfcp-path.c Changed
27
 
1
@@ -117,7 +117,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_pkbuf_free(e->pkbuf);
8
         sgwc_event_free(e);
9
     }
10
@@ -212,6 +212,8 @@
11
     ogs_assert(sess);
12
     ogs_assert(xact);
13
 
14
+    xact->local_seid = sess->sgwc_sxa_seid;
15
+
16
     memset(&h, 0, sizeof(ogs_pfcp_header_t));
17
     h.type = OGS_PFCP_SESSION_MODIFICATION_REQUEST_TYPE;
18
     h.seid = sess->sgwu_sxa_seid;
19
@@ -377,6 +379,7 @@
20
     ogs_pfcp_header_t h;
21
 
22
     ogs_assert(xact);
23
+    xact->local_seid = sess->sgwc_sxa_seid;
24
 
25
     memset(&h, 0, sizeof(ogs_pfcp_header_t));
26
     h.type = OGS_PFCP_SESSION_REPORT_RESPONSE_TYPE;
27
open5gs_2.4.8.202207150002.tar.xz/src/sgwc/pfcp-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/sgwc/pfcp-sm.c Changed
10
 
1
@@ -316,7 +316,7 @@
2
 
3
         rv = ogs_queue_push(ogs_app()->queue, e);
4
         if (rv != OGS_OK) {
5
-            ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+            ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
             sgwc_event_free(e);
8
         }
9
         break;
10
open5gs_2.4.8.202207150002.tar.xz/src/sgwc/s11-handler.c -> open5gs_2.4.8.202207180859.tar.xz/src/sgwc/s11-handler.c Changed
118
 
1
@@ -689,6 +689,7 @@
2
     ogs_gtp2_f_teid_t *sgw_s1u_teid = NULL, *enb_s1u_teid = NULL;
3
     ogs_gtp2_uli_t uli;
4
 
5
+    ogs_assert(sgwc_ue);
6
     ogs_assert(message);
7
     rsp = &message->create_bearer_response;
8
     ogs_assert(rsp);
9
@@ -715,30 +716,10 @@
10
     rv = ogs_gtp_xact_commit(s11_xact);
11
     ogs_expect(rv == OGS_OK);
12
 
13
-    /************************
14
-     * Check SGWC-UE Context
15
-     ************************/
16
-    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
17
-
18
-    if (!sgwc_ue) {
19
-        ogs_error("No Context in TEID");
20
-        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
21
-    }
22
-
23
-    if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
24
-        ogs_assert(OGS_OK ==
25
-            sgwc_pfcp_send_bearer_modification_request(
26
-                bearer, NULL, NULL,
27
-                OGS_PFCP_MODIFY_UL_ONLY|OGS_PFCP_MODIFY_REMOVE));
28
-        ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
29
-                OGS_GTP2_CREATE_BEARER_RESPONSE_TYPE, cause_value);
30
-        return;
31
-    }
32
-
33
     /*****************************************
34
      * Check Mandatory/Conditional IE Missing
35
      *****************************************/
36
-    ogs_assert(cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED);
37
+    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
38
 
39
     if (rsp->bearer_contexts.presence == 0) {
40
         ogs_error("No Bearer");
41
@@ -873,6 +854,7 @@
42
     sgwc_bearer_t *bearer = NULL;
43
     ogs_gtp2_update_bearer_response_t *rsp = NULL;
44
 
45
+    ogs_assert(sgwc_ue);
46
     ogs_assert(message);
47
     rsp = &message->update_bearer_response;
48
     ogs_assert(rsp);
49
@@ -899,26 +881,10 @@
50
     rv = ogs_gtp_xact_commit(s11_xact);
51
     ogs_expect(rv == OGS_OK);
52
 
53
-    /************************
54
-     * Check SGWC-UE Context
55
-     ************************/
56
-    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
57
-
58
-    if (!sgwc_ue) {
59
-        ogs_error("No Context in TEID");
60
-        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
61
-    }
62
-
63
-    if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
64
-        ogs_gtp_send_error_message(s5c_xact, sess ? sess->pgw_s5c_teid : 0,
65
-                OGS_GTP2_UPDATE_BEARER_RESPONSE_TYPE, cause_value);
66
-        return;
67
-    }
68
-
69
     /*****************************************
70
      * Check Mandatory/Conditional IE Missing
71
      *****************************************/
72
-    ogs_assert(cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED);
73
+    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
74
 
75
     if (rsp->bearer_contexts.presence == 0) {
76
         ogs_error("No Bearer");
77
@@ -1005,6 +971,7 @@
78
     sgwc_bearer_t *bearer = NULL;
79
     ogs_gtp2_delete_bearer_response_t *rsp = NULL;
80
 
81
+    ogs_assert(sgwc_ue);
82
     ogs_assert(message);
83
     rsp = &message->delete_bearer_response;
84
     ogs_assert(rsp);
85
@@ -1036,11 +1003,6 @@
86
      ************************/
87
     cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
88
 
89
-    if (!sgwc_ue) {
90
-        ogs_error("No Context in TEID");
91
-        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
92
-    }
93
-
94
     if (rsp->linked_eps_bearer_id.presence) {
95
        /*
96
         * << Linked EPS Bearer ID >>
97
@@ -1112,10 +1074,8 @@
98
             ogs_error("No Cause");
99
         }
100
 
101
-        if (sgwc_ue) {
102
-            ogs_debug("    MME_S11_TEID%d SGW_S11_TEID%d",
103
-                sgwc_ue->mme_s11_teid, sgwc_ue->sgw_s11_teid);
104
-        }
105
+        ogs_debug("    MME_S11_TEID%d SGW_S11_TEID%d",
106
+            sgwc_ue->mme_s11_teid, sgwc_ue->sgw_s11_teid);
107
         ogs_debug("    SGW_S5C_TEID0x%x PGW_S5C_TEID0x%x",
108
             sess->sgw_s5c_teid, sess->pgw_s5c_teid);
109
 
110
@@ -1514,6 +1474,7 @@
111
     s5c_xact = ogs_gtp_xact_local_create(
112
             sess->gnode, &message->h, pkbuf, gtp_bearer_timeout, bearer);
113
     ogs_expect_or_return(s5c_xact);
114
+    s5c_xact->local_teid = sess->sgw_s5c_teid;
115
 
116
     ogs_gtp_xact_associate(s11_xact, s5c_xact);
117
 
118
open5gs_2.4.8.202207150002.tar.xz/src/sgwc/s5c-handler.c -> open5gs_2.4.8.202207180859.tar.xz/src/sgwc/s5c-handler.c Changed
201
 
1
@@ -79,6 +79,9 @@
2
     ogs_gtp_xact_t *s11_xact = NULL;
3
     ogs_gtp_node_t *pgw = NULL;
4
 
5
+    ogs_assert(sess);
6
+    sgwc_ue = sess->sgwc_ue;
7
+    ogs_assert(sgwc_ue);
8
     ogs_assert(gtpbuf);
9
     ogs_assert(message);
10
     rsp = &message->create_session_response;
11
@@ -96,30 +99,10 @@
12
     rv = ogs_gtp_xact_commit(s5c_xact);
13
     ogs_expect(rv == OGS_OK);
14
 
15
-    /************************
16
-     * Check Session Context
17
-     ************************/
18
-    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
19
-
20
-    if (!sess) {
21
-        ogs_error("No Context in TEID");
22
-        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
23
-    } else {
24
-        sgwc_ue = sess->sgwc_ue;
25
-        ogs_assert(sgwc_ue);
26
-    }
27
-
28
-    if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
29
-        ogs_gtp_send_error_message(
30
-                s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
31
-                OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
32
-        return;
33
-    }
34
-
35
     /*****************************************
36
      * Check Mandatory/Conditional IE Missing
37
      *****************************************/
38
-    ogs_assert(cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED);
39
+    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
40
 
41
     if (rsp->pgw_s5_s8__s2a_s2b_f_teid_for_pmip_based_interface_or_for_gtp_based_control_plane_interface.presence == 0) {
42
         ogs_error("No GTP TEID");
43
@@ -282,24 +265,29 @@
44
             OGS_PFCP_MODIFY_UL_ONLY|OGS_PFCP_MODIFY_ACTIVATE));
45
 }
46
 
47
-void sgwc_s5c_handle_delete_session_response(
48
+void sgwc_s5c_handle_modify_bearer_response(
49
         sgwc_sess_t *sess, ogs_gtp_xact_t *s5c_xact,
50
         ogs_pkbuf_t *gtpbuf, ogs_gtp2_message_t *message)
51
 {
52
     int rv;
53
     ogs_gtp2_cause_t *cause = NULL;
54
     uint8_t cause_value;
55
+    int modify_action;
56
 
57
     sgwc_ue_t *sgwc_ue = NULL;
58
+    ogs_pkbuf_t *pkbuf = NULL;
59
 
60
     ogs_gtp_xact_t *s11_xact = NULL;
61
-    ogs_gtp2_delete_session_response_t *rsp = NULL;
62
+    ogs_gtp2_modify_bearer_response_t *rsp = NULL;
63
 
64
+    ogs_assert(sess);
65
+    sgwc_ue = sess->sgwc_ue;
66
+    ogs_assert(sgwc_ue);
67
     ogs_assert(message);
68
-    rsp = &message->delete_session_response;
69
+    rsp = &message->modify_bearer_response;
70
     ogs_assert(rsp);
71
 
72
-    ogs_debug("Delete Session Response");
73
+    ogs_debug("Modify Bearer Response");
74
 
75
     /********************
76
      * Check Transaction
77
@@ -307,34 +295,15 @@
78
     ogs_assert(s5c_xact);
79
     s11_xact = s5c_xact->assoc_xact;
80
     ogs_assert(s11_xact);
81
+    modify_action = s5c_xact->modify_action;
82
 
83
     rv = ogs_gtp_xact_commit(s5c_xact);
84
     ogs_expect(rv == OGS_OK);
85
 
86
-    /************************
87
-     * Check Session Context
88
-     ************************/
89
-    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
90
-
91
-    if (!sess) {
92
-        ogs_error("No Context in TEID");
93
-        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
94
-    } else {
95
-        sgwc_ue = sess->sgwc_ue;
96
-        ogs_assert(sgwc_ue);
97
-    }
98
-
99
-    if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
100
-        ogs_gtp_send_error_message(
101
-                s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
102
-                OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, cause_value);
103
-        return;
104
-    }
105
-
106
     /*****************************************
107
      * Check Mandatory/Conditional IE Missing
108
      *****************************************/
109
-    ogs_assert(cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED);
110
+    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
111
 
112
     if (rsp->cause.presence == 0) {
113
         ogs_error("No Cause");
114
@@ -342,9 +311,14 @@
115
     }
116
 
117
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
118
-        ogs_gtp_send_error_message(
119
-                s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
120
-                OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, cause_value);
121
+        if (modify_action == OGS_GTP_MODIFY_IN_PATH_SWITCH_REQUEST)
122
+            ogs_gtp_send_error_message(
123
+                    s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
124
+                    OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
125
+        else
126
+            ogs_gtp_send_error_message(
127
+                    s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
128
+                    OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
129
         return;
130
     }
131
 
132
@@ -358,52 +332,67 @@
133
     cause_value = cause->value;
134
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
135
         ogs_error("GTP Failed CAUSE:%d", cause_value);
136
-        ogs_gtp_send_error_message(
137
-                s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
138
-                OGS_GTP2_DELETE_SESSION_RESPONSE_TYPE, cause_value);
139
+        if (modify_action == OGS_GTP_MODIFY_IN_PATH_SWITCH_REQUEST)
140
+            ogs_gtp_send_error_message(
141
+                    s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
142
+                    OGS_GTP2_CREATE_SESSION_RESPONSE_TYPE, cause_value);
143
+        else
144
+            ogs_gtp_send_error_message(
145
+                    s11_xact, sgwc_ue ? sgwc_ue->mme_s11_teid : 0,
146
+                    OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE, cause_value);
147
         return;
148
     }
149
 
150
     /********************
151
      * Check ALL Context
152
      ********************/
153
-    ogs_assert(sess);
154
     ogs_assert(sgwc_ue);
155
+    ogs_assert(sess);
156
 
157
-    /* Remove a pgw session */
158
     ogs_debug("    MME_S11_TEID%d SGW_S11_TEID%d",
159
         sgwc_ue->mme_s11_teid, sgwc_ue->sgw_s11_teid);
160
     ogs_debug("    SGW_S5C_TEID0x%x PGW_S5C_TEID0x%x",
161
         sess->sgw_s5c_teid, sess->pgw_s5c_teid);
162
 
163
-    /*
164
-     * 1. MME sends Delete Session Request to SGW/SMF.
165
-     * 2. SMF sends Delete Session Response to SGW/MME.
166
-     */
167
-    ogs_assert(OGS_OK ==
168
-        sgwc_pfcp_send_session_deletion_request(sess, s11_xact, gtpbuf));
169
+    if (modify_action == OGS_GTP_MODIFY_IN_PATH_SWITCH_REQUEST) {
170
+        ogs_assert(OGS_OK ==
171
+            sgwc_gtp_send_create_session_response(sess, s11_xact));
172
+    } else {
173
+        message->h.type = OGS_GTP2_MODIFY_BEARER_RESPONSE_TYPE;
174
+        message->h.teid = sgwc_ue->mme_s11_teid;
175
+
176
+        pkbuf = ogs_gtp2_build_msg(message);
177
+        ogs_expect_or_return(pkbuf);
178
+
179
+        rv = ogs_gtp_xact_update_tx(s11_xact, &message->h, pkbuf);
180
+        ogs_expect_or_return(rv == OGS_OK);
181
+
182
+        rv = ogs_gtp_xact_commit(s11_xact);
183
+        ogs_expect(rv == OGS_OK);
184
+    }
185
 }
186
 
187
-void sgwc_s5c_handle_modify_bearer_response(
188
+void sgwc_s5c_handle_delete_session_response(
189
         sgwc_sess_t *sess, ogs_gtp_xact_t *s5c_xact,
190
         ogs_pkbuf_t *gtpbuf, ogs_gtp2_message_t *message)
191
 {
192
     int rv;
193
     ogs_gtp2_cause_t *cause = NULL;
194
     uint8_t cause_value;
195
-    int modify_action;
196
 
197
     sgwc_ue_t *sgwc_ue = NULL;
198
-    ogs_pkbuf_t *pkbuf = NULL;
199
 
200
     ogs_gtp_xact_t *s11_xact = NULL;
201
open5gs_2.4.8.202207150002.tar.xz/src/sgwc/sgwc-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/sgwc/sgwc-sm.c Changed
10
 
1
@@ -157,7 +157,7 @@
2
         if (gtp_message.h.teid_presence && gtp_message.h.teid != 0) {
3
             /* Cause is not "Context not found" */
4
             sgwc_ue = sgwc_ue_find_by_teid(gtp_message.h.teid);
5
-         } else if (gtp_xact->local_teid) { /* rx no TEID or TEID=0 */
6
+        } else if (gtp_xact->local_teid) { /* rx no TEID or TEID=0 */
7
             /* 3GPP TS 29.274 5.5.2: we receive TEID=0 under some
8
              * conditions, such as cause "Session context not found". In those
9
              * cases, we still want to identify the local session which
10
open5gs_2.4.8.202207150002.tar.xz/src/sgwc/sxa-handler.c -> open5gs_2.4.8.202207180859.tar.xz/src/sgwc/sxa-handler.c Changed
96
 
1
@@ -157,6 +157,7 @@
2
 
3
     ogs_debug("Session Establishment Response");
4
 
5
+    ogs_assert(sess);
6
     ogs_assert(pfcp_xact);
7
     ogs_assert(pfcp_rsp);
8
     ogs_assert(recv_message);
9
@@ -171,11 +172,6 @@
10
 
11
     cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
12
 
13
-    if (!sess) {
14
-        ogs_warn("No Context");
15
-        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
16
-    }
17
-
18
     if (pfcp_rsp->up_f_seid.presence == 0) {
19
         ogs_error("No UP F-SEID");
20
         cause_value = OGS_GTP2_CAUSE_MANDATORY_IE_MISSING;
21
@@ -453,6 +449,7 @@
22
 
23
     ogs_debug("Session Modification Response");
24
 
25
+    ogs_assert(sess);
26
     ogs_assert(pfcp_xact);
27
     ogs_assert(pfcp_rsp);
28
 
29
@@ -462,30 +459,12 @@
30
     cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
31
 
32
     if (flags & OGS_PFCP_MODIFY_SESSION) {
33
-        if (!sess) {
34
-            ogs_warn("No Context");
35
-
36
-            sess = pfcp_xact->data;
37
-            ogs_assert(sess);
38
-
39
-            cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
40
-        }
41
         sgwc_ue = sess->sgwc_ue;
42
         ogs_assert(sgwc_ue);
43
 
44
     } else {
45
         bearer = pfcp_xact->data;
46
         ogs_assert(bearer);
47
-
48
-        if (!sess) {
49
-            ogs_warn("No Context");
50
-
51
-            sess = bearer->sess;
52
-            ogs_assert(sess);
53
-
54
-            cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
55
-        }
56
-
57
         sgwc_ue = bearer->sgwc_ue;
58
         ogs_assert(sgwc_ue);
59
     }
60
@@ -1206,16 +1185,12 @@
61
 
62
     ogs_debug("Session Deletion Response");
63
 
64
+    ogs_assert(sess);
65
     ogs_assert(pfcp_xact);
66
     ogs_assert(pfcp_rsp);
67
 
68
     cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
69
 
70
-    if (!sess) {
71
-        ogs_warn("No Context");
72
-        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
73
-    }
74
-
75
     if (pfcp_rsp->cause.presence) {
76
         if (pfcp_rsp->cause.u8 != OGS_PFCP_CAUSE_REQUEST_ACCEPTED) {
77
             ogs_warn("PFCP Cause%d : Not Accepted", pfcp_rsp->cause.u8);
78
@@ -1324,16 +1299,12 @@
79
 
80
     ogs_debug("Session Report Request");
81
 
82
+    ogs_assert(sess);
83
     ogs_assert(pfcp_xact);
84
     ogs_assert(pfcp_req);
85
 
86
     cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
87
 
88
-    if (!sess) {
89
-        ogs_warn("No Context");
90
-        cause_value = OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND;
91
-    }
92
-
93
     if (pfcp_req->report_type.presence == 0) {
94
         ogs_error("No Report Type");
95
         cause_value = OGS_GTP2_CAUSE_MANDATORY_IE_MISSING;
96
open5gs_2.4.8.202207150002.tar.xz/src/sgwc/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/sgwc/timer.c Changed
10
 
1
@@ -57,7 +57,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed %d in %s",
6
+        ogs_error("ogs_queue_push() failed %d in %s",
7
                 (int)rv, sgwc_timer_get_name(e->timer_id));
8
         sgwc_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/src/sgwu/pfcp-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/sgwu/pfcp-path.c Changed
10
 
1
@@ -117,7 +117,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_pkbuf_free(e->pkbuf);
8
         sgwu_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/src/sgwu/pfcp-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/sgwu/pfcp-sm.c Changed
10
 
1
@@ -295,7 +295,7 @@
2
 
3
         rv = ogs_queue_push(ogs_app()->queue, e);
4
         if (rv != OGS_OK) {
5
-            ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+            ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
             sgwu_event_free(e);
8
         }
9
         break;
10
open5gs_2.4.8.202207150002.tar.xz/src/sgwu/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/sgwu/timer.c Changed
10
 
1
@@ -45,7 +45,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         sgwu_event_free(e);
8
     }
9
 }
10
open5gs_2.4.8.202207150002.tar.xz/src/smf/gtp-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/gtp-path.c Changed
10
 
1
@@ -106,7 +106,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_pkbuf_free(e->pkbuf);
8
         smf_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/src/smf/gx-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/gx-path.c Changed
19
 
1
@@ -1005,7 +1005,7 @@
2
         e->gtp_xact = xact;
3
         rv = ogs_queue_push(ogs_app()->queue, e);
4
         if (rv != OGS_OK) {
5
-            ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+            ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
             ogs_session_data_free(&gx_message->session_data);
8
             ogs_free(gx_message);
9
             smf_event_free(e);
10
@@ -1248,7 +1248,7 @@
11
     e->gx_message = gx_message;
12
     rv = ogs_queue_push(ogs_app()->queue, e);
13
     if (rv != OGS_OK) {
14
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
15
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
16
         ogs_session_data_free(&gx_message->session_data);
17
         ogs_free(gx_message);
18
         smf_event_free(e);
19
open5gs_2.4.8.202207150002.tar.xz/src/smf/gy-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/gy-path.c Changed
19
 
1
@@ -1104,7 +1104,7 @@
2
         }
3
         rv = ogs_queue_push(ogs_app()->queue, e);
4
         if (rv != OGS_OK) {
5
-            ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+            ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
             ogs_free(gy_message);
8
             smf_event_free(e);
9
         } else {
10
@@ -1233,7 +1233,7 @@
11
     e->gy_message = gy_message;
12
     rv = ogs_queue_push(ogs_app()->queue, e);
13
     if (rv != OGS_OK) {
14
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
15
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
16
         ogs_free(gy_message);
17
         smf_event_free(e);
18
     } else {
19
open5gs_2.4.8.202207150002.tar.xz/src/smf/init.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/init.c Changed
10
 
1
@@ -53,7 +53,7 @@
2
     rv = ogs_pfcp_context_parse_config("smf", "upf");
3
     if (rv != OGS_OK) return rv;
4
 
5
-    rv = ogs_sbi_context_parse_config("smf", "nrf");
6
+    rv = ogs_sbi_context_parse_config("smf", "nrf", "scp");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = ogs_metrics_context_parse_config();
10
open5gs_2.4.8.202207150002.tar.xz/src/smf/n4-handler.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/n4-handler.c Changed
90
 
1
@@ -255,6 +255,7 @@
2
 
3
     ogs_debug("Session Modification Response 5gc");
4
 
5
+    ogs_assert(sess);
6
     ogs_assert(xact);
7
     ogs_assert(rsp);
8
 
9
@@ -279,11 +280,6 @@
10
 
11
     status = OGS_SBI_HTTP_STATUS_OK;
12
 
13
-    if (!sess) {
14
-        ogs_warn("No Context");
15
-        status = OGS_SBI_HTTP_STATUS_NOT_FOUND;
16
-    }
17
-
18
     if (rsp->cause.presence) {
19
         if (rsp->cause.u8 != OGS_PFCP_CAUSE_REQUEST_ACCEPTED) {
20
             ogs_warn("PFCP Cause %d : Not Accepted", rsp->cause.u8);
21
@@ -624,10 +620,7 @@
22
 
23
     status = OGS_SBI_HTTP_STATUS_OK;
24
 
25
-    if (!sess) {
26
-        ogs_warn("No Context");
27
-        status = OGS_SBI_HTTP_STATUS_NOT_FOUND;
28
-    }
29
+    ogs_assert(sess);
30
 
31
     if (rsp->cause.presence) {
32
         if (rsp->cause.u8 != OGS_PFCP_CAUSE_REQUEST_ACCEPTED) {
33
@@ -669,8 +662,6 @@
34
         return status;
35
     }
36
 
37
-    ogs_assert(sess);
38
-
39
     return status;
40
 }
41
 
42
@@ -803,6 +794,7 @@
43
 
44
     OGS_LIST(pdr_to_create_list);
45
 
46
+    ogs_assert(sess);
47
     ogs_assert(xact);
48
     ogs_assert(rsp);
49
 
50
@@ -831,11 +823,6 @@
51
 
52
     ogs_pfcp_xact_commit(xact);
53
 
54
-    if (!sess) {
55
-        ogs_error("No Context");
56
-        return;
57
-    }
58
-
59
     if (rsp->cause.presence) {
60
         if (rsp->cause.u8 != OGS_PFCP_CAUSE_REQUEST_ACCEPTED) {
61
             ogs_error("PFCP Cause %d : Not Accepted", rsp->cause.u8);
62
@@ -1111,6 +1098,7 @@
63
     uint16_t pdr_id = 0;
64
     unsigned int i;
65
 
66
+    ogs_assert(sess);
67
     ogs_assert(pfcp_xact);
68
     ogs_assert(pfcp_req);
69
 
70
@@ -1118,11 +1106,6 @@
71
 
72
     cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
73
 
74
-    if (!sess) {
75
-        ogs_warn("No Context");
76
-        cause_value = OGS_PFCP_CAUSE_SESSION_CONTEXT_NOT_FOUND;
77
-    }
78
-
79
     if (pfcp_req->report_type.presence == 0) {
80
         ogs_error("No Report Type");
81
         cause_value = OGS_GTP2_CAUSE_MANDATORY_IE_MISSING;
82
@@ -1135,7 +1118,6 @@
83
         return;
84
     }
85
 
86
-    ogs_assert(sess);
87
     report_type.value = pfcp_req->report_type.u8;
88
 
89
     if (report_type.downlink_data_report) {
90
open5gs_2.4.8.202207150002.tar.xz/src/smf/nf-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/nf-sm.c Changed
67
 
1
@@ -61,16 +61,18 @@
2
     nf_instance = e->sbi.data;
3
     ogs_assert(nf_instance);
4
 
5
+    nf_instance->t_registration_interval = ogs_timer_add(ogs_app()->timer_mgr,
6
+            smf_timer_nf_instance_registration_interval, nf_instance);
7
     ogs_assert(nf_instance->t_registration_interval);
8
-    nf_instance->t_registration_interval->cb =
9
-            smf_timer_nf_instance_registration_interval;
10
+    nf_instance->t_heartbeat_interval = ogs_timer_add(ogs_app()->timer_mgr,
11
+            smf_timer_nf_instance_heartbeat_interval, nf_instance);
12
     ogs_assert(nf_instance->t_heartbeat_interval);
13
-    nf_instance->t_heartbeat_interval->cb =
14
-            smf_timer_nf_instance_heartbeat_interval;
15
+    nf_instance->t_no_heartbeat = ogs_timer_add(ogs_app()->timer_mgr,
16
+            smf_timer_nf_instance_no_heartbeat, nf_instance);
17
     ogs_assert(nf_instance->t_no_heartbeat);
18
-    nf_instance->t_no_heartbeat->cb = smf_timer_nf_instance_no_heartbeat;
19
+    nf_instance->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
20
+            smf_timer_nf_instance_validity, nf_instance);
21
     ogs_assert(nf_instance->t_validity);
22
-    nf_instance->t_validity->cb = smf_timer_nf_instance_validity;
23
 
24
     if (NF_INSTANCE_IS_NRF(nf_instance)) {
25
         OGS_FSM_TRAN(s, &smf_nf_state_will_register);
26
@@ -82,10 +84,20 @@
27
 
28
 void smf_nf_state_final(ogs_fsm_t *s, smf_event_t *e)
29
 {
30
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
31
+
32
     ogs_assert(s);
33
     ogs_assert(e);
34
 
35
     smf_sm_debug(e);
36
+
37
+    nf_instance = e->sbi.data;
38
+    ogs_assert(nf_instance);
39
+
40
+    ogs_timer_delete(nf_instance->t_registration_interval);
41
+    ogs_timer_delete(nf_instance->t_heartbeat_interval);
42
+    ogs_timer_delete(nf_instance->t_no_heartbeat);
43
+    ogs_timer_delete(nf_instance->t_validity);
44
 }
45
 
46
 void smf_nf_state_will_register(ogs_fsm_t *s, smf_event_t *e)
47
@@ -110,7 +122,8 @@
48
         ogs_timer_start(nf_instance->t_registration_interval,
49
             ogs_app()->time.message.sbi.nf_register_interval);
50
 
51
-        ogs_assert(true == smf_nnrf_nfm_send_nf_register(nf_instance));
52
+        ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
53
+                    nf_instance, smf_nnrf_nfm_build_register));
54
         break;
55
 
56
     case OGS_FSM_EXIT_SIG:
57
@@ -166,7 +179,8 @@
58
             ogs_timer_start(nf_instance->t_registration_interval,
59
                 ogs_app()->time.message.sbi.nf_register_interval);
60
 
61
-            ogs_assert(true == smf_nnrf_nfm_send_nf_register(nf_instance));
62
+            ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
63
+                        nf_instance, smf_nnrf_nfm_build_register));
64
             break;
65
 
66
         default:
67
open5gs_2.4.8.202207150002.tar.xz/src/smf/pfcp-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/pfcp-path.c Changed
19
 
1
@@ -157,7 +157,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_pkbuf_free(e->pkbuf);
8
         smf_event_free(e);
9
     }
10
@@ -329,6 +329,8 @@
11
     ogs_assert(sess);
12
     ogs_assert(xact);
13
 
14
+    xact->local_seid = sess->smf_n4_seid;
15
+
16
     memset(&h, 0, sizeof(ogs_pfcp_header_t));
17
     h.type = OGS_PFCP_SESSION_MODIFICATION_REQUEST_TYPE;
18
     h.seid = sess->upf_n4_seid;
19
open5gs_2.4.8.202207150002.tar.xz/src/smf/pfcp-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/pfcp-sm.c Changed
10
 
1
@@ -348,7 +348,7 @@
2
 
3
         rv = ogs_queue_push(ogs_app()->queue, e);
4
         if (rv != OGS_OK) {
5
-            ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+            ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
             smf_event_free(e);
8
         }
9
         break;
10
open5gs_2.4.8.202207150002.tar.xz/src/smf/s5c-handler.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/s5c-handler.c Changed
82
 
1
@@ -596,6 +596,7 @@
2
     smf_bearer_t *bearer = NULL;
3
     ogs_pfcp_far_t *dl_far = NULL;
4
 
5
+    ogs_assert(sess);
6
     ogs_assert(rsp);
7
 
8
     ogs_debug("Create Bearer Response");
9
@@ -615,11 +616,6 @@
10
      ************************/
11
     cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
12
 
13
-    if (!sess) {
14
-        ogs_error("No Context in TEID");
15
-        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
16
-    }
17
-
18
     if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
19
         ogs_assert(OGS_OK ==
20
             smf_epc_pfcp_send_one_bearer_modification_request(
21
@@ -771,6 +767,7 @@
22
     uint64_t pfcp_flags = 0;
23
     smf_bearer_t *bearer = NULL;
24
 
25
+    ogs_assert(sess);
26
     ogs_assert(rsp);
27
 
28
     ogs_debug("Update Bearer Response");
29
@@ -787,24 +784,10 @@
30
     rv = ogs_gtp_xact_commit(xact);
31
     ogs_expect(rv == OGS_OK);
32
 
33
-    /************************
34
-     * Check Session Context
35
-     ************************/
36
-    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
37
-
38
-    if (!sess) {
39
-        ogs_error("No Context in TEID");
40
-        cause_value = OGS_GTP2_CAUSE_CONTEXT_NOT_FOUND;
41
-    }
42
-
43
-    if (cause_value != OGS_GTP2_CAUSE_REQUEST_ACCEPTED) {
44
-        return;
45
-    }
46
-
47
     /*****************************************
48
      * Check Mandatory/Conditional IE Missing
49
      *****************************************/
50
-    ogs_assert(cause_value == OGS_GTP2_CAUSE_REQUEST_ACCEPTED);
51
+    cause_value = OGS_GTP2_CAUSE_REQUEST_ACCEPTED;
52
 
53
     if (rsp->bearer_contexts.presence == 0) {
54
         ogs_error("No Bearer");
55
@@ -888,6 +871,7 @@
56
     uint8_t cause_value;
57
     smf_bearer_t *bearer = NULL;
58
 
59
+    ogs_assert(sess);
60
     ogs_assert(rsp);
61
 
62
     ogs_debug("Delete Bearer Response");
63
@@ -902,18 +886,10 @@
64
     rv = ogs_gtp_xact_commit(xact);
65
     ogs_expect(rv == OGS_OK);
66
 
67
-    /************************
68
-     * Check Session Context
69
-     ************************/
70
-    if (!sess)
71
-        ogs_error("No Context in TEID");
72
-
73
     /********************
74
      * Check ALL Context
75
      ********************/
76
     ogs_assert(bearer);
77
-    sess = bearer->sess;
78
-    ogs_assert(sess);
79
 
80
     if (rsp->linked_eps_bearer_id.presence) {
81
         /*
82
open5gs_2.4.8.202207150002.tar.xz/src/smf/s6b-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/s6b-path.c Changed
10
 
1
@@ -712,7 +712,7 @@
2
         e->s6b_message = s6b_message;
3
         rv = ogs_queue_push(ogs_app()->queue, e);
4
         if (rv != OGS_OK) {
5
-            ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+            ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
             ogs_free(s6b_message);
8
             smf_event_free(e);
9
         } else {
10
open5gs_2.4.8.202207150002.tar.xz/src/smf/sbi-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/sbi-path.c Changed
89
 
1
@@ -37,7 +37,8 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
+        ogs_sbi_request_free(request);
8
         smf_event_free(e);
9
         return OGS_ERROR;
10
     }
11
@@ -45,11 +46,18 @@
12
     return OGS_OK;
13
 }
14
 
15
-static int client_cb(ogs_sbi_response_t *response, void *data)
16
+static int client_cb(int status, ogs_sbi_response_t *response, void *data)
17
 {
18
     smf_event_t *e = NULL;
19
     int rv;
20
 
21
+    if (status != OGS_OK) {
22
+        ogs_log_message(
23
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
24
+                "client_cb() failed %d", status);
25
+        return OGS_ERROR;
26
+    }
27
+
28
     ogs_assert(response);
29
 
30
     e = smf_event_new(SMF_EVT_SBI_CLIENT);
31
@@ -59,7 +67,8 @@
32
 
33
     rv = ogs_queue_push(ogs_app()->queue, e);
34
     if (rv != OGS_OK) {
35
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
36
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
37
+        ogs_sbi_response_free(response);
38
         smf_event_free(e);
39
         return OGS_ERROR;
40
     }
41
@@ -112,24 +121,10 @@
42
 
43
 void smf_sbi_close(void)
44
 {
45
+    ogs_sbi_client_stop_all();
46
     ogs_sbi_server_stop_all();
47
 }
48
 
49
-bool smf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance)
50
-{
51
-    ogs_sbi_request_t *request = NULL;
52
-    ogs_sbi_client_t *client = NULL;
53
-
54
-    ogs_assert(nf_instance);
55
-    client = nf_instance->client;
56
-    ogs_assert(client);
57
-
58
-    request = smf_nnrf_nfm_build_register();
59
-    ogs_expect_or_return_val(request, false);
60
-    return ogs_sbi_client_send_request(
61
-            client, client->cb, request, nf_instance);
62
-}
63
-
64
 bool smf_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact)
65
 {
66
     return ogs_sbi_send(nf_instance, client_cb, xact);
67
@@ -388,12 +383,19 @@
68
         ogs_pkbuf_free(n2smbuf);
69
 }
70
 
71
-static int client_notify_cb(ogs_sbi_response_t *response, void *data)
72
+static int client_notify_cb(
73
+        int status, ogs_sbi_response_t *response, void *data)
74
 {
75
     int rv;
76
-
77
     ogs_sbi_message_t message;
78
 
79
+    if (status != OGS_OK) {
80
+        ogs_log_message(
81
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
82
+                "client_notify_cb() failed %d", status);
83
+        return OGS_ERROR;
84
+    }
85
+
86
     ogs_assert(response);
87
 
88
     rv = ogs_sbi_parse_response(&message, response);
89
open5gs_2.4.8.202207150002.tar.xz/src/smf/sbi-path.h -> open5gs_2.4.8.202207180859.tar.xz/src/smf/sbi-path.h Changed
10
 
1
@@ -34,8 +34,6 @@
2
 int smf_sbi_open(void);
3
 void smf_sbi_close(void);
4
 
5
-bool smf_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance);
6
-
7
 bool smf_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact);
8
 
9
 bool smf_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type,
10
open5gs_2.4.8.202207150002.tar.xz/src/smf/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/smf/timer.c Changed
10
 
1
@@ -92,7 +92,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed %d in %s",
6
+        ogs_error("ogs_queue_push() failed %d in %s",
7
                 (int)rv, smf_timer_get_name(e->timer_id));
8
         smf_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/src/udm/init.c -> open5gs_2.4.8.202207180859.tar.xz/src/udm/init.c Changed
10
 
1
@@ -32,7 +32,7 @@
2
     udm_context_init();
3
     udm_event_init();
4
 
5
-    rv = ogs_sbi_context_parse_config("udm", "nrf");
6
+    rv = ogs_sbi_context_parse_config("udm", "nrf", "scp");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = udm_context_parse_config();
10
open5gs_2.4.8.202207150002.tar.xz/src/udm/nf-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/udm/nf-sm.c Changed
67
 
1
@@ -61,16 +61,18 @@
2
     nf_instance = e->sbi.data;
3
     ogs_assert(nf_instance);
4
 
5
+    nf_instance->t_registration_interval = ogs_timer_add(ogs_app()->timer_mgr,
6
+            udm_timer_nf_instance_registration_interval, nf_instance);
7
     ogs_assert(nf_instance->t_registration_interval);
8
-    nf_instance->t_registration_interval->cb =
9
-            udm_timer_nf_instance_registration_interval;
10
+    nf_instance->t_heartbeat_interval = ogs_timer_add(ogs_app()->timer_mgr,
11
+            udm_timer_nf_instance_heartbeat_interval, nf_instance);
12
     ogs_assert(nf_instance->t_heartbeat_interval);
13
-    nf_instance->t_heartbeat_interval->cb =
14
-            udm_timer_nf_instance_heartbeat_interval;
15
+    nf_instance->t_no_heartbeat = ogs_timer_add(ogs_app()->timer_mgr,
16
+            udm_timer_nf_instance_no_heartbeat, nf_instance);
17
     ogs_assert(nf_instance->t_no_heartbeat);
18
-    nf_instance->t_no_heartbeat->cb = udm_timer_nf_instance_no_heartbeat;
19
+    nf_instance->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
20
+            udm_timer_nf_instance_validity, nf_instance);
21
     ogs_assert(nf_instance->t_validity);
22
-    nf_instance->t_validity->cb = udm_timer_nf_instance_validity;
23
 
24
     if (NF_INSTANCE_IS_NRF(nf_instance)) {
25
         OGS_FSM_TRAN(s, &udm_nf_state_will_register);
26
@@ -82,10 +84,20 @@
27
 
28
 void udm_nf_state_final(ogs_fsm_t *s, udm_event_t *e)
29
 {
30
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
31
+
32
     ogs_assert(s);
33
     ogs_assert(e);
34
 
35
     udm_sm_debug(e);
36
+
37
+    nf_instance = e->sbi.data;
38
+    ogs_assert(nf_instance);
39
+
40
+    ogs_timer_delete(nf_instance->t_registration_interval);
41
+    ogs_timer_delete(nf_instance->t_heartbeat_interval);
42
+    ogs_timer_delete(nf_instance->t_no_heartbeat);
43
+    ogs_timer_delete(nf_instance->t_validity);
44
 }
45
 
46
 void udm_nf_state_will_register(ogs_fsm_t *s, udm_event_t *e)
47
@@ -110,7 +122,8 @@
48
         ogs_timer_start(nf_instance->t_registration_interval,
49
             ogs_app()->time.message.sbi.nf_register_interval);
50
 
51
-        ogs_assert(true == udm_nnrf_nfm_send_nf_register(nf_instance));
52
+        ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
53
+                    nf_instance, udm_nnrf_nfm_build_register));
54
         break;
55
 
56
     case OGS_FSM_EXIT_SIG:
57
@@ -166,7 +179,8 @@
58
             ogs_timer_start(nf_instance->t_registration_interval,
59
                 ogs_app()->time.message.sbi.nf_register_interval);
60
 
61
-            ogs_assert(true == udm_nnrf_nfm_send_nf_register(nf_instance));
62
+            ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
63
+                        nf_instance, udm_nnrf_nfm_build_register));
64
             break;
65
 
66
         default:
67
open5gs_2.4.8.202207150002.tar.xz/src/udm/sbi-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/udm/sbi-path.c Changed
67
 
1
@@ -35,7 +35,8 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
+        ogs_sbi_request_free(request);
8
         udm_event_free(e);
9
         return OGS_ERROR;
10
     }
11
@@ -43,11 +44,18 @@
12
     return OGS_OK;
13
 }
14
 
15
-static int client_cb(ogs_sbi_response_t *response, void *data)
16
+static int client_cb(int status, ogs_sbi_response_t *response, void *data)
17
 {
18
     udm_event_t *e = NULL;
19
     int rv;
20
 
21
+    if (status != OGS_OK) {
22
+        ogs_log_message(
23
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
24
+                "client_cb() failed %d", status);
25
+        return OGS_ERROR;
26
+    }
27
+
28
     ogs_assert(response);
29
 
30
     e = udm_event_new(UDM_EVT_SBI_CLIENT);
31
@@ -57,7 +65,8 @@
32
 
33
     rv = ogs_queue_push(ogs_app()->queue, e);
34
     if (rv != OGS_OK) {
35
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
36
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
37
+        ogs_sbi_response_free(response);
38
         udm_event_free(e);
39
         return OGS_ERROR;
40
     }
41
@@ -125,24 +134,10 @@
42
 
43
 void udm_sbi_close(void)
44
 {
45
+    ogs_sbi_client_stop_all();
46
     ogs_sbi_server_stop_all();
47
 }
48
 
49
-bool udm_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance)
50
-{
51
-    ogs_sbi_request_t *request = NULL;
52
-    ogs_sbi_client_t *client = NULL;
53
-
54
-    ogs_assert(nf_instance);
55
-    client = nf_instance->client;
56
-    ogs_assert(client);
57
-
58
-    request = udm_nnrf_nfm_build_register();
59
-    ogs_expect_or_return_val(request, false);
60
-    return ogs_sbi_client_send_request(
61
-            client, client->cb, request, nf_instance);
62
-}
63
-
64
 bool udm_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact)
65
 {
66
     return ogs_sbi_send(nf_instance, client_cb, xact);
67
open5gs_2.4.8.202207150002.tar.xz/src/udm/sbi-path.h -> open5gs_2.4.8.202207180859.tar.xz/src/udm/sbi-path.h Changed
10
 
1
@@ -30,8 +30,6 @@
2
 int udm_sbi_open(void);
3
 void udm_sbi_close(void);
4
 
5
-bool udm_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance);
6
-
7
 bool udm_sbi_send(ogs_sbi_nf_instance_t *nf_instance, ogs_sbi_xact_t *xact);
8
 bool udm_sbi_discover_and_send(OpenAPI_nf_type_e target_nf_type,
9
         udm_ue_t *udm_ue, ogs_sbi_stream_t *stream, void *data,
10
open5gs_2.4.8.202207150002.tar.xz/src/udm/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/udm/timer.c Changed
10
 
1
@@ -79,7 +79,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed %d in %s",
6
+        ogs_error("ogs_queue_push() failed %d in %s",
7
                 (int)rv, udm_timer_get_name(e->timer_id));
8
         udm_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/src/udr/init.c -> open5gs_2.4.8.202207180859.tar.xz/src/udr/init.c Changed
10
 
1
@@ -32,7 +32,7 @@
2
     udr_context_init();
3
     udr_event_init();
4
 
5
-    rv = ogs_sbi_context_parse_config("udr", "nrf");
6
+    rv = ogs_sbi_context_parse_config("udr", "nrf", "scp");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = udr_context_parse_config();
10
open5gs_2.4.8.202207150002.tar.xz/src/udr/nf-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/udr/nf-sm.c Changed
67
 
1
@@ -61,16 +61,18 @@
2
     nf_instance = e->sbi.data;
3
     ogs_assert(nf_instance);
4
 
5
+    nf_instance->t_registration_interval = ogs_timer_add(ogs_app()->timer_mgr,
6
+            udr_timer_nf_instance_registration_interval, nf_instance);
7
     ogs_assert(nf_instance->t_registration_interval);
8
-    nf_instance->t_registration_interval->cb =
9
-            udr_timer_nf_instance_registration_interval;
10
+    nf_instance->t_heartbeat_interval = ogs_timer_add(ogs_app()->timer_mgr,
11
+            udr_timer_nf_instance_heartbeat_interval, nf_instance);
12
     ogs_assert(nf_instance->t_heartbeat_interval);
13
-    nf_instance->t_heartbeat_interval->cb =
14
-            udr_timer_nf_instance_heartbeat_interval;
15
+    nf_instance->t_no_heartbeat = ogs_timer_add(ogs_app()->timer_mgr,
16
+            udr_timer_nf_instance_no_heartbeat, nf_instance);
17
     ogs_assert(nf_instance->t_no_heartbeat);
18
-    nf_instance->t_no_heartbeat->cb = udr_timer_nf_instance_no_heartbeat;
19
+    nf_instance->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
20
+            udr_timer_nf_instance_validity, nf_instance);
21
     ogs_assert(nf_instance->t_validity);
22
-    nf_instance->t_validity->cb = udr_timer_nf_instance_validity;
23
 
24
     if (NF_INSTANCE_IS_NRF(nf_instance)) {
25
         OGS_FSM_TRAN(s, &udr_nf_state_will_register);
26
@@ -82,10 +84,20 @@
27
 
28
 void udr_nf_state_final(ogs_fsm_t *s, udr_event_t *e)
29
 {
30
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
31
+
32
     ogs_assert(s);
33
     ogs_assert(e);
34
 
35
     udr_sm_debug(e);
36
+
37
+    nf_instance = e->sbi.data;
38
+    ogs_assert(nf_instance);
39
+
40
+    ogs_timer_delete(nf_instance->t_registration_interval);
41
+    ogs_timer_delete(nf_instance->t_heartbeat_interval);
42
+    ogs_timer_delete(nf_instance->t_no_heartbeat);
43
+    ogs_timer_delete(nf_instance->t_validity);
44
 }
45
 
46
 void udr_nf_state_will_register(ogs_fsm_t *s, udr_event_t *e)
47
@@ -110,7 +122,8 @@
48
         ogs_timer_start(nf_instance->t_registration_interval,
49
             ogs_app()->time.message.sbi.nf_register_interval);
50
 
51
-        ogs_assert(true == udr_nnrf_nfm_send_nf_register(nf_instance));
52
+        ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
53
+                    nf_instance, udr_nnrf_nfm_build_register));
54
         break;
55
 
56
     case OGS_FSM_EXIT_SIG:
57
@@ -166,7 +179,8 @@
58
             ogs_timer_start(nf_instance->t_registration_interval,
59
                 ogs_app()->time.message.sbi.nf_register_interval);
60
 
61
-            ogs_assert(true == udr_nnrf_nfm_send_nf_register(nf_instance));
62
+            ogs_assert(true == ogs_nnrf_nfm_send_nf_register(
63
+                        nf_instance, udr_nnrf_nfm_build_register));
64
             break;
65
 
66
         default:
67
open5gs_2.4.8.202207150002.tar.xz/src/udr/sbi-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/udr/sbi-path.c Changed
62
 
1
@@ -35,7 +35,8 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
+        ogs_sbi_request_free(request);
8
         udr_event_free(e);
9
         return OGS_ERROR;
10
     }
11
@@ -43,11 +44,18 @@
12
     return OGS_OK;
13
 }
14
 
15
-static int client_cb(ogs_sbi_response_t *response, void *data)
16
+static int client_cb(int status, ogs_sbi_response_t *response, void *data)
17
 {
18
     udr_event_t *e = NULL;
19
     int rv;
20
 
21
+    if (status != OGS_OK) {
22
+        ogs_log_message(
23
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
24
+                "client_cb() failed %d", status);
25
+        return OGS_ERROR;
26
+    }
27
+
28
     ogs_assert(response);
29
 
30
     e = udr_event_new(UDR_EVT_SBI_CLIENT);
31
@@ -57,7 +65,8 @@
32
 
33
     rv = ogs_queue_push(ogs_app()->queue, e);
34
     if (rv != OGS_OK) {
35
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
36
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
37
+        ogs_sbi_response_free(response);
38
         udr_event_free(e);
39
         return OGS_ERROR;
40
     }
41
@@ -112,19 +121,6 @@
42
 
43
 void udr_sbi_close(void)
44
 {
45
+    ogs_sbi_client_stop_all();
46
     ogs_sbi_server_stop_all();
47
 }
48
-
49
-bool udr_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance)
50
-{
51
-    ogs_sbi_request_t *request = NULL;
52
-    ogs_sbi_client_t *client = NULL;
53
-
54
-    ogs_assert(nf_instance);
55
-    client = nf_instance->client;
56
-    ogs_assert(client);
57
-
58
-    request = udr_nnrf_nfm_build_register();
59
-    ogs_expect_or_return_val(request, false);
60
-    return ogs_sbi_client_send_request(client, client->cb, request, nf_instance);
61
-}
62
open5gs_2.4.8.202207150002.tar.xz/src/udr/sbi-path.h -> open5gs_2.4.8.202207180859.tar.xz/src/udr/sbi-path.h Changed
10
 
1
@@ -29,8 +29,6 @@
2
 int udr_sbi_open(void);
3
 void udr_sbi_close(void);
4
 
5
-bool udr_nnrf_nfm_send_nf_register(ogs_sbi_nf_instance_t *nf_instance);
6
-
7
 #ifdef __cplusplus
8
 }
9
 #endif
10
open5gs_2.4.8.202207150002.tar.xz/src/udr/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/udr/timer.c Changed
10
 
1
@@ -64,7 +64,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed %d in %s",
6
+        ogs_error("ogs_queue_push() failed %d in %s",
7
                 (int)rv, udr_timer_get_name(e->timer_id));
8
         udr_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/src/upf/pfcp-path.c -> open5gs_2.4.8.202207180859.tar.xz/src/upf/pfcp-path.c Changed
10
 
1
@@ -120,7 +120,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         ogs_pkbuf_free(e->pkbuf);
8
         upf_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/src/upf/pfcp-sm.c -> open5gs_2.4.8.202207180859.tar.xz/src/upf/pfcp-sm.c Changed
10
 
1
@@ -300,7 +300,7 @@
2
 
3
         rv = ogs_queue_push(ogs_app()->queue, e);
4
         if (rv != OGS_OK) {
5
-            ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+            ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
             upf_event_free(e);
8
         }
9
         break;
10
open5gs_2.4.8.202207150002.tar.xz/src/upf/timer.c -> open5gs_2.4.8.202207180859.tar.xz/src/upf/timer.c Changed
10
 
1
@@ -47,7 +47,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
         upf_event_free(e);
8
     }
9
 }
10
open5gs_2.4.8.202207150002.tar.xz/tests/af/init.c -> open5gs_2.4.8.202207180859.tar.xz/tests/af/init.c Changed
10
 
1
@@ -34,7 +34,7 @@
2
     af_context_init();
3
     af_event_init();
4
 
5
-    rv = ogs_sbi_context_parse_config("af", "nrf");
6
+    rv = ogs_sbi_context_parse_config("af", "nrf", "scp");
7
     if (rv != OGS_OK) return rv;
8
 
9
     rv = af_context_parse_config();
10
open5gs_2.4.8.202207150002.tar.xz/tests/af/local.c -> open5gs_2.4.8.202207180859.tar.xz/tests/af/local.c Changed
19
 
1
@@ -50,7 +50,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed %d in %s",
6
+        ogs_error("ogs_queue_push() failed %d in %s",
7
                 (int)rv, af_timer_get_name(e->timer_id));
8
         af_event_free(e);
9
     } else {
10
@@ -76,7 +76,7 @@
11
 
12
     rv = ogs_queue_push(ogs_app()->queue, e);
13
     if (rv != OGS_OK) {
14
-        ogs_warn("ogs_queue_push() failed %d in %s",
15
+        ogs_error("ogs_queue_push() failed %d in %s",
16
                 (int)rv, af_timer_get_name(e->timer_id));
17
         af_event_free(e);
18
     } else {
19
open5gs_2.4.8.202207150002.tar.xz/tests/af/nf-sm.c -> open5gs_2.4.8.202207180859.tar.xz/tests/af/nf-sm.c Changed
47
 
1
@@ -61,16 +61,18 @@
2
     nf_instance = e->sbi.data;
3
     ogs_assert(nf_instance);
4
 
5
+    nf_instance->t_registration_interval = ogs_timer_add(ogs_app()->timer_mgr,
6
+            af_timer_nf_instance_registration_interval, nf_instance);
7
     ogs_assert(nf_instance->t_registration_interval);
8
-    nf_instance->t_registration_interval->cb =
9
-            af_timer_nf_instance_registration_interval;
10
+    nf_instance->t_heartbeat_interval = ogs_timer_add(ogs_app()->timer_mgr,
11
+            af_timer_nf_instance_heartbeat_interval, nf_instance);
12
     ogs_assert(nf_instance->t_heartbeat_interval);
13
-    nf_instance->t_heartbeat_interval->cb =
14
-            af_timer_nf_instance_heartbeat_interval;
15
+    nf_instance->t_no_heartbeat = ogs_timer_add(ogs_app()->timer_mgr,
16
+            af_timer_nf_instance_no_heartbeat, nf_instance);
17
     ogs_assert(nf_instance->t_no_heartbeat);
18
-    nf_instance->t_no_heartbeat->cb = af_timer_nf_instance_no_heartbeat;
19
+    nf_instance->t_validity = ogs_timer_add(ogs_app()->timer_mgr,
20
+            af_timer_nf_instance_validity, nf_instance);
21
     ogs_assert(nf_instance->t_validity);
22
-    nf_instance->t_validity->cb = af_timer_nf_instance_validity;
23
 
24
     if (NF_INSTANCE_IS_NRF(nf_instance)) {
25
         OGS_FSM_TRAN(s, &af_nf_state_will_register);
26
@@ -82,10 +84,20 @@
27
 
28
 void af_nf_state_final(ogs_fsm_t *s, af_event_t *e)
29
 {
30
+    ogs_sbi_nf_instance_t *nf_instance = NULL;
31
+
32
     ogs_assert(s);
33
     ogs_assert(e);
34
 
35
     af_sm_debug(e);
36
+
37
+    nf_instance = e->sbi.data;
38
+    ogs_assert(nf_instance);
39
+
40
+    ogs_timer_delete(nf_instance->t_registration_interval);
41
+    ogs_timer_delete(nf_instance->t_heartbeat_interval);
42
+    ogs_timer_delete(nf_instance->t_no_heartbeat);
43
+    ogs_timer_delete(nf_instance->t_validity);
44
 }
45
 
46
 void af_nf_state_will_register(ogs_fsm_t *s, af_event_t *e)
47
open5gs_2.4.8.202207150002.tar.xz/tests/af/sbi-path.c -> open5gs_2.4.8.202207180859.tar.xz/tests/af/sbi-path.c Changed
49
 
1
@@ -35,7 +35,8 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
6
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
7
+        ogs_sbi_request_free(request);
8
         af_event_free(e);
9
         return OGS_ERROR;
10
     }
11
@@ -43,11 +44,18 @@
12
     return OGS_OK;
13
 }
14
 
15
-static int client_cb(ogs_sbi_response_t *response, void *data)
16
+static int client_cb(int status, ogs_sbi_response_t *response, void *data)
17
 {
18
     af_event_t *e = NULL;
19
     int rv;
20
 
21
+    if (status != OGS_OK) {
22
+        ogs_log_message(
23
+                status == OGS_DONE ? OGS_LOG_DEBUG : OGS_LOG_WARN, 0,
24
+                "client_cb() failed %d", status);
25
+        return OGS_ERROR;
26
+    }
27
+
28
     ogs_assert(response);
29
 
30
     e = af_event_new(AF_EVT_SBI_CLIENT);
31
@@ -57,7 +65,8 @@
32
 
33
     rv = ogs_queue_push(ogs_app()->queue, e);
34
     if (rv != OGS_OK) {
35
-        ogs_warn("ogs_queue_push() failed:%d", (int)rv);
36
+        ogs_error("ogs_queue_push() failed:%d", (int)rv);
37
+        ogs_sbi_response_free(response);
38
         af_event_free(e);
39
         return OGS_ERROR;
40
     }
41
@@ -108,6 +117,7 @@
42
 
43
 void af_sbi_close(void)
44
 {
45
+    ogs_sbi_client_stop_all();
46
     ogs_sbi_server_stop_all();
47
 }
48
 
49
open5gs_2.4.8.202207150002.tar.xz/tests/af/timer.c -> open5gs_2.4.8.202207180859.tar.xz/tests/af/timer.c Changed
10
 
1
@@ -79,7 +79,7 @@
2
 
3
     rv = ogs_queue_push(ogs_app()->queue, e);
4
     if (rv != OGS_OK) {
5
-        ogs_warn("ogs_queue_push() failed %d in %s",
6
+        ogs_error("ogs_queue_push() failed %d in %s",
7
                 (int)rv, af_timer_get_name(e->timer_id));
8
         af_event_free(e);
9
     }
10
open5gs_2.4.8.202207150002.tar.xz/tests/app/5gc-init.c -> open5gs_2.4.8.202207180859.tar.xz/tests/app/5gc-init.c Changed
26
 
1
@@ -20,6 +20,7 @@
2
 #include "test-app.h"
3
 
4
 static ogs_thread_t *nrf_thread = NULL;
5
+static ogs_thread_t *scp_thread = NULL;
6
 static ogs_thread_t *upf_thread = NULL;
7
 static ogs_thread_t *smf_thread = NULL;
8
 static ogs_thread_t *amf_thread = NULL;
9
@@ -52,6 +53,8 @@
10
 
11
     if (ogs_app()->parameter.no_nrf == 0)
12
         nrf_thread = test_child_create("nrf", argv_out);
13
+    if (ogs_app()->parameter.no_scp == 0)
14
+        scp_thread = test_child_create("scp", argv_out);
15
 
16
     if (ogs_app()->parameter.no_upf == 0)
17
         upf_thread = test_child_create("upf", argv_out);
18
@@ -98,6 +101,7 @@
19
     if (udm_thread) ogs_thread_destroy(udm_thread);
20
     if (ausf_thread) ogs_thread_destroy(ausf_thread);
21
 
22
+    if (scp_thread) ogs_thread_destroy(scp_thread);
23
     if (nrf_thread) ogs_thread_destroy(nrf_thread);
24
 }
25
 
26
open5gs_2.4.8.202207150002.tar.xz/tests/app/app-init.c -> open5gs_2.4.8.202207180859.tar.xz/tests/app/app-init.c Changed
26
 
1
@@ -20,6 +20,7 @@
2
 #include "test-app.h"
3
 
4
 static ogs_thread_t *nrf_thread = NULL;
5
+static ogs_thread_t *scp_thread = NULL;
6
 static ogs_thread_t *pcrf_thread = NULL;
7
 static ogs_thread_t *hss_thread = NULL;
8
 static ogs_thread_t *upf_thread = NULL;
9
@@ -57,6 +58,8 @@
10
 
11
     if (ogs_app()->parameter.no_nrf == 0)
12
         nrf_thread = test_child_create("nrf", argv_out);
13
+    if (ogs_app()->parameter.no_scp == 0)
14
+        scp_thread = test_child_create("scp", argv_out);
15
     if (ogs_app()->parameter.no_hss == 0)
16
         hss_thread = test_child_create("hss", argv_out);
17
     if (ogs_app()->parameter.no_pcrf == 0)
18
@@ -120,6 +123,7 @@
19
 
20
     if (hss_thread) ogs_thread_destroy(hss_thread);
21
     if (pcrf_thread) ogs_thread_destroy(pcrf_thread);
22
+    if (scp_thread) ogs_thread_destroy(scp_thread);
23
     if (nrf_thread) ogs_thread_destroy(nrf_thread);
24
 }
25
 
26