herlesupreeth / docker_open5gs

Docker files to run open5gs + IMS + eNB + gNB + NR-UE in a docker
BSD 2-Clause "Simplified" License
304 stars 170 forks source link

GTP capsulation of INVITE message #123

Closed aprilsmith closed 1 year ago

aprilsmith commented 1 year ago

Hello,

It seems that INVITE sip message is not GTP encapsulated when I capture the packet in docker host network interface during taking a VoLTE test.

The INVITE message is encapsulated in the sample file of tutorial(https://open5gs.org/open5gs/docs/tutorial/02-VoLTE-setup/25. Test voice call)

I think that INVITE should also be encapsulated like REGISTER, but I wonder why it doesn't. Please let me know what I misunderstood. Thank you. image

herlesupreeth commented 1 year ago

It is encapsulated only when it travels from container running eNB to SGWU and when transmitted from SGWU to UPF container. Once it reached UPF container its decapsulated and send sent to P-CSCF.

The packet you are seeing is between the following entities where GTP is not used.

ICSCF

ICSCF_IP=172.22.0.19

SCSCF

SCSCF_IP=172.22.0.20

aprilsmith commented 1 year ago

Thanks for your comment.

I understand the message between ICSCF and SCSCF did not need to GTP tunnel. But all IMS entities(cscf) are connected to UE through LTE GTP tunnel. (UE-eNB-LTE-IMS) So both the GTP encapsulated invite message and the GTP not used invite message might be shown.

For example, Register message is shown three times: two GTP tunnel sections with outer IP and one GTP stripped section.

  1. eNB(172.22.0.22)-SGW(172.22.0.6)
  2. SGW(172.22.0.6)-UPF(172.22.0.8)
  3. UE(192.168.101.2)-PCSCF(172.22.0.21)