making Kamailio communicates with PCF for VoNR a very basic work. #333
Replies: 8 comments 86 replies
-
@NUCLEAR-WAR awesome work sharing it here. Its already a great start. I could probably take it from here. Thanks a lot |
Beta Was this translation helpful? Give feedback.
-
@herlesupreeth One query.. whether the above modules are already included in existing docker_open5gs or need to be included and compile. I see that the modules mentioned above are in the excluded list. the list of modules to exclude from compile list |
Beta Was this translation helpful? Give feedback.
-
Need to be included and its corresponding dependencies needs to be installed as well |
Beta Was this translation helpful? Give feedback.
-
Hi, Trying to get NGHTTP2 Module up and running, this module is a complet mess, the documentation does not mention required parameters to run it, also the variable $nghttp2(url) is wrong, no such parameter is "url", with this variable it is instead "path" or "pathfull", only if someone looks in the source code will find that, to run it the following is required :
then the routing script is required also, otherwise the module will not run:
also the module is not stable tried to connect to it with curl it crashed the P-CSCF with this error ( the same if SCP tries to connect):
also it run only in TLS, someone need to write it the same as Open5GS is using nghttp2 but without TLS and stable.
Trace as always is attached Frame# 1045 for PCSCF-PCF: not sure how to solve the NGhttp2 module issue ;( Best Regards |
Beta Was this translation helpful? Give feedback.
-
can you check this trace if now doing QoS with N5 ? I'm creating AppSession then modified it later with Sub/Invite, used some logic to store the AppSession and then use it later in the routing. I hope there is some improvement here, still dont have any commercial traces ;( vonr_n5_pcscf-pcf_t6_f2_Reg_Inv.zip in case you are interested in the logs : take a look and let me know if there is any improvement. Best Regards |
Beta Was this translation helpful? Give feedback.
-
Many thanks for the reviews! Here is a new trace between the PCF and the P-CSCF with the new changes based on your reviews VoNR_N5_mo_cfg_inv_reinv_reg_dereg.zip I still need to do the same for the mt.conf file should be not hard, but I need to find a way to test it because I dont have another 5G Device |
Beta Was this translation helpful? Give feedback.
-
@NUCLEAR-WAR @herlesupreeth Is it possible to have a VONR call with the new docker image and this dedicated bearer allocation for call be implemented in the recent image? |
Beta Was this translation helpful? Give feedback.
-
What's the module name for nghttp2? modules.lst: Build output: |
Beta Was this translation helpful? Give feedback.
-
Hi,
I am trying to make Kamailio sends request to PCF, I tried to search for the way that the team in the Demo, but sadly they still did not share there code to my Knowledge, so I decided to try some stuff on my own, hope that maybe someone could improve it or make it better.
So I enabled the following modules in Kamailio P-CSCF :
HTTP_Client
JANSSON
HTTP_ASYNC_CLIENT
NGHTTP2 ( this maybe required to make P-CSCF able to process Requests from PCF if any)
those modules required system libraries that must be installed to make them work.
HTTP_Client uses curl to do HTTP2 request, which is crucial to able to communicate to PCF, untill now i used only HTTP_Client and JANSSON.
I added my script to the Register.cfg file right after adding PANI Header, not a perfect place, it just easy for me to make it run without me doing extra routing scripts.
The script serves only as very basic start, it need to be adopted based on the request/response type and sure the currect place in the P-CSCF scripts, it also need to have a Fail condition, so in case there is a negative response the call/request fails, but at least I was able to send request to the PCF and get response ( error code ;) ).
So here is what I did :
in Kamailio_pcscf.cfg :
must be loaded after some modules ( see man for every module)
loadmodule "http_async_client"
loadmodule "http_client"
loadmodule "jansson"
loadmodule "nghttp2"
modparam("http_client", "httpredirect", 1)
modparam("http_client", "useragent", "P-CSCF")
modparam("http_client", "maxdatasize", 64535)
modparam("http_client", "connection_timeout", 2)
modparam("http_client", "keep_connections", 1)
modparam("http_client", "response_headers", 1)
now in register.cfg ( important : there might be a way better place, so dont just copy paste, but improve and share, sharing is caring ):
directly after :
append_hf("P-Visited-Network-ID: NETWORKNAME\r\n");
JSON output will be like this :
here is a Trace also:
vonr_n5_pcscf-pcf_t1.zip
the code is not at all good, but it could serve as a basis for more better N5 requests
this code is attached to Register request ( not suitable here) and serves to test only the communication, I got this error from PCF :
`
07/07 14:10:54.801: [app] INFO: PCF initialize...done (../src/pcf/app.c:31)
07/07 14:10:54.809: [sbi] INFO: [f5f433b0-3c59-41ef-b823-3b64fcfc4bc6] NF registered [Heartbeat:10s] (../lib/sbi/nf-sm.c:221)
07/07 14:10:54.814: [sbi] INFO: [f5f6c648-3c59-41ef-96c7-27bbc9b87b57] Subscription created until 2024-07-08T14:10:54.812170+02:00 [duration:86400,validity:86399.997774,patch:43199.998887] (../lib/sbi/nnrf-handler.c:813)
07/07 14:10:54.815: [sbi] INFO: [f5f6edf8-3c59-41ef-96c7-27bbc9b87b57] Subscription created until 2024-07-08T14:10:54.813178+02:00 [duration:86400,validity:86399.998092,patch:43199.999046] (../lib/sbi/nnrf-handler.c:813)
07/07 14:10:54.816: [sbi] INFO: [f5f70a72-3c59-41ef-96c7-27bbc9b87b57] Subscription created until 2024-07-08T14:10:54.813905+02:00 [duration:86400,validity:86399.997389,patch:43199.998694] (../lib/sbi/nnrf-handler.c:813)
07/07 14:17:13.333: [pcf] ERROR: Not found [/npcf-smpolicycontrol/v1/sm-policies/22/delete] (../src/pcf/pcf-sm.c:208)
07/07 14:17:13.371: [sbi] INFO: [UDR] (SCP-discover) NF registered [113b9136-3c50-41ef-87f6-c1c202ca8e49:1] (../lib/sbi/path.c:211)
07/07 14:17:13.377: [sbi] INFO: [BSF] (SCP-discover) NF registered [11f03032-3c50-41ef-b269-413b115b44e5:1] (../lib/sbi/path.c:211)
07/07 14:17:13.801: [pcf] ERROR: [imsi-001010000084719:1] Media-Type is Required (../src/pcf/npcf-handler.c:1087)
07/07 14:17:13.948: [pcf] ERROR: Not found [/npcf-smpolicycontrol/v1/sm-policies/20/delete] (../src/pcf/pcf-sm.c:208)
07/07 14:17:13.983: [sbi] WARNING: [UDR] (SCP-discover) NF has already been added [113b9136-3c50-41ef-87f6-c1c202ca8e49:2] (../lib/sbi/path.c:216)
07/07 14:17:13.988: [sbi] WARNING: [BSF] (SCP-discover) NF has already been added [11f03032-3c50-41ef-b269-413b115b44e5:2] (../lib/sbi/path.c:216)
07/07 14:20:14.478: [pcf] ERROR: SmContextStatusNotification failed [500] (../src/pcf/sbi-path.c:251)
07/07 14:20:24.880: [sbi] WARNING: [UDR] (SCP-discover) NF has already been added [113b9136-3c50-41ef-87f6-c1c202ca8e49:1] (../lib/sbi/path.c:216)
07/07 14:20:24.882: [sbi] WARNING: [UDR] (SCP-discover) NF has already been added [113b9136-3c50-41ef-87f6-c1c202ca8e49:2] (../lib/sbi/path.c:216)
07/07 14:20:24.889: [sbi] WARNING: [BSF] (SCP-discover) NF has already been added [11f03032-3c50-41ef-b269-413b115b44e5:1] (../lib/sbi/path.c:216)
07/07 14:20:24.893: [sbi] WARNING: [BSF] (SCP-discover) NF has already been added [11f03032-3c50-41ef-b269-413b115b44e5:2] (../lib/sbi/path.c:216)
07/07 14:20:25.460: [pcf] ERROR: [imsi-001010000084719:1] Media-Type is Required (../src/pcf/npcf-handler.c:1087)
07/07 14:20:25.921: [pcf] ERROR: [imsi-001010000084719:1] Media-Type is Required (../src/pcf/npcf-handler.c:1087)
`
I hope someone could make use of that.
Best Regards
Beta Was this translation helpful? Give feedback.
All reactions