open5gs/src/pcf
Sukchan Lee a9b1b116b3 [SBI] Generate URI via HTTP.location as is (#3058)
A friend in the community was trying to connect an SMF made by another
manufacturer with an SBI interface and found a big problem with Open5GS.

All of the code in the part that generates the Resource URI
from HTTP.location is invalid.

For example, suppose we create a Resource URI with SMContext as below.
{apiRoot}/nsmf-pdusession/<apiVersion>/sm-contexts/{smContextRef}

In this case, Open5GS extracted the {smContextRef} part of the HTTP.location
and appended it to the beginning
{apiRoot}/nsmf-pdusession/<apiVersion>/sm-contexts/.

This implementation may not work properly if the apiRoot changes.
Consider a different port number as shown below.

<HTTP.location>
127.0.0.4:9999/nsmf-pdusession/v1/sm-contexts/1

The SMF may send an apiRoot to the AMF with a changed port number,
in which case the AMF must honor it.

Therefore, instead of extracting only the smContextRef from HTTP.location,
we modified it to use the whole thing to create a Resource URI.

We modified all NFs that use HTTP.location in the same way, not just SMFs.
2024-04-18 21:24:07 +09:00
..
am-sm.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00
app.c A minor typo fix (#2707) 2023-10-28 22:11:58 +09:00
context.c [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
context.h [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
event.c Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
event.h SCP(Model D) is now the default setting. 2022-10-22 11:26:04 +09:00
init.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
meson.build [PCF] Add metrics support 2022-12-06 22:57:24 +09:00
metrics.c [SBI] Fixed Invalid S-NSSAI format (#2337) 2023-05-28 21:53:52 +09:00
metrics.h [PCF] Always expose SNSSAI label (#2320) 2023-05-25 21:15:01 +09:00
naf-build.c SCP(Model D) is now the default setting. 2022-10-22 11:26:04 +09:00
naf-build.h VoNR added but not tested! 2021-11-14 21:07:56 +09:00
namf-build.c [5GC] Added BSF(Binding Support Function) 2021-05-29 15:56:12 +09:00
namf-build.h [5GC] Added BSF(Binding Support Function) 2021-05-29 15:56:12 +09:00
nbsf-build.c [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
nbsf-build.h [5GC] Added BSF(Binding Support Function) 2021-05-29 15:56:12 +09:00
nbsf-handler.c [SBI] Generate URI via HTTP.location as is (#3058) 2024-04-18 21:24:07 +09:00
nbsf-handler.h [5GC] Added BSF(Binding Support Function) 2021-05-29 15:56:12 +09:00
nnrf-handler.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
nnrf-handler.h Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
npcf-handler.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00
npcf-handler.h [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
nsmf-build.c [SEPP] Initial Update for 5G Roaming (#2739) 2023-11-19 19:34:51 +09:00
nsmf-build.h [PCF] Remove SM Policy Association Terminatation (#2650) 2023-10-04 20:27:47 +09:00
nudr-build.c arch: DB schema Changes (#796) 2021-03-08 21:25:09 +09:00
nudr-build.h Add PCF(Policy Control Function) 2020-12-11 14:03:20 -05:00
nudr-handler.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00
nudr-handler.h Add PCF(Policy Control Function) 2020-12-11 14:03:20 -05:00
pcf-sm.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00
pcf-sm.h Move src/../nf-sm.[ch] to lib/sbi/nf-sm.[ch] 2022-08-12 14:03:53 +09:00
sbi-path.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00
sbi-path.h [PCF] Remove SM Policy Association Terminatation (#2650) 2023-10-04 20:27:47 +09:00
sm-sm.c Include cause in HTTP response ProblemDetails (#3051) 2024-04-04 23:29:20 +09:00