Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SIP transaction is not able to forward to RING after PRACK #21

Open
yasuhirom opened this issue Mar 7, 2022 · 12 comments
Open

SIP transaction is not able to forward to RING after PRACK #21

yasuhirom opened this issue Mar 7, 2022 · 12 comments

Comments

@yasuhirom
Copy link

hi,
I'm trying to make 2 UEs(iPhone X/iOS 12 and iPhone 12 Pro/iOS 14) with VoLTE call. Open5GS w/ Kamailio.
I setted up followed https://open5gs.org/open5gs/docs/tutorial/02-VoLTE-setup/

now, The SIP REGISTER for both UEs are success. but when I make call, SIP INVITE and SIP PRACK is made. then nothing to next. (probably RING)
After some time, SIP CANCEL is issued by time out.
I read other thread and reduce MTU to 800. but not success.

Do you have any chance to check my configuraiton ?

attached are log, configfile for open5GS and p/s/i-cscf by kamailio and pcap between eNB and EPC.
because I run kamailio_pcscf,scscf,icscf as command line (follow the above instruction), the log is saved from screen for terminal application (I use ssh to login my virtual machine. ssh is runnign comamd prompt)
therfor, the log is only last part and limited.

hardware configuration is

  • eNB : real product (baicells one),
  • Open5GS is running on ubuntu, ubuntu is runnning on Virtual box for Windows 10.
  • SIM: sysmocom SJS1
    logAndConfig.zip
    20220307AM_log.zip
@herlesupreeth
Copy link
Owner

herlesupreeth commented Mar 8, 2022

The call is not successful because there is no dedicated bearer created for VoLTE Audio for any of the UEs.

I would suggest to take a trace on 'any' interface to debug this issue

@yasuhirom
Copy link
Author

Thank you !!
Attach zip file include pcap file with any interface. , kamailio log and FoHSS log.
(sorry it just captured and just confirm wireshark can be opened. I still not check it.)

I did as follow.

  1. run 'tcpdump -i any -w volte_any.cap' on ubuntu virtual machine
  2. configure IPs
  3. start FoHSS as 'sh /root/hss.sh'
  4. start kamailio P-cscf as 'mkdir -p /var/run/kamailio_pcscf;kamailio -f /etc/kamailio_pcscf/kamailio_pcscf.cfg -P /kamailio_pcscf.pid -DD -E -e'
  5. start kamailio S-cscf as 'mkdir -p /var/run/kamailio_scscf; kamailio -f /etc/kamailio_scscf/kamailio_scscf.cfg -P /kamailio_scscf.pid -DD -E -e'
  6. start kamailio I-cscf as 'mkdir -p /var/run/kamailio_icscf; kamailio -f /etc/kamailio_icscf/kamailio_icscf.cfg -P /kamailio_icscf.pid -DD -E -e'
  7. restart Open5GS as 'systemctl restart open5gs-*'
  8. power on iPhone X/iOS 12 then connect
  9. power on iPhone 12 Pro/iOS 14 then connect
  10. make call from iPhone 12 Pro to iPhone X
  11. cancel the call after I see SIP CALCEL transaction.
  12. make call from iPhone X to iPhone 12 Pro
  13. cancel the call after I see SIP CALCEL transaction.

Below is the script for IP

Below is output for

  • ifconfig
    root@ubuntu:~# ifconfig
    enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    inet 10.0.1.33 netmask 255.255.255.0 broadcast 10.0.1.255
    inet6 fe80::a00:27ff:fef1:b572 prefixlen 64 scopeid 0x20
    ether 08:00:27:f1:b5:72 txqueuelen 1000 (Ethernet)
    RX packets 4138 bytes 1693371 (1.6 MB)
    RX errors 0 dropped 6 overruns 0 frame 0
    TX packets 4056 bytes 781554 (781.5 KB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.101 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::a00:27ff:fe84:867 prefixlen 64 scopeid 0x20
ether 08:00:27:84:08:67 txqueuelen 1000 (Ethernet)
RX packets 3656 bytes 290912 (290.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 13064 bytes 14998517 (14.9 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.101.5 netmask 255.255.255.0 broadcast 192.168.101.255
inet6 fe80::a00:27ff:fea4:9bba prefixlen 64 scopeid 0x20
ether 08:00:27:a4:9b:ba txqueuelen 1000 (Ethernet)
RX packets 6042 bytes 1147353 (1.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4931 bytes 1857760 (1.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 42993 bytes 7352589 (7.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 42993 bytes 7352589 (7.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ogstun: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1400
inet 10.45.0.1 netmask 255.255.255.0 destination 10.45.0.1
inet6 fe80::6a53:186a:a852:278a prefixlen 64 scopeid 0x20
inet6 2001:db8:cafe::1 prefixlen 48 scopeid 0x0
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 3932 bytes 715458 (715.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4226 bytes 1561392 (1.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ogstun2: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1400
inet 172.16.102.1 netmask 255.255.255.0 destination 172.16.102.1
inet6 fd1f:76f3:da9b:101:: prefixlen 48 scopeid 0x0
inet6 fe80::841:f785:911b:f77d prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 238 bytes 86615 (86.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 301 bytes 81008 (81.0 KB)
TX errors 0 dropped 1 overruns 0 carrier 0 collisions 0

  • ip addr show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:f1:b5:72 brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.33/24 brd 10.0.1.255 scope global dynamic enp0s3
    valid_lft 83273sec preferred_lft 83273sec
    inet6 fe80::a00:27ff:fef1:b572/64 scope link
    valid_lft forever preferred_lft forever
    3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:84:08:67 brd ff:ff:ff:ff:ff:ff
    inet 192.168.6.101/24 brd 192.168.6.255 scope global dynamic enp0s8
    valid_lft 473sec preferred_lft 473sec
    inet6 fe80::a00:27ff:fe84:867/64 scope link
    valid_lft forever preferred_lft forever
    4: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:a4:9b:ba brd ff:ff:ff:ff:ff:ff
    inet 192.168.101.5/24 brd 192.168.101.255 scope global enp0s9
    valid_lft forever preferred_lft forever
    inet 192.168.101.6/32 scope global enp0s9
    valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fea4:9bba/64 scope link
    valid_lft forever preferred_lft forever
    5: ogstun2: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc fq_codel state UP group default qlen 500
    link/none
    inet 172.16.102.1/24 brd 172.16.102.255 scope global ogstun2
    valid_lft forever preferred_lft forever
    inet 172.24.15.30/32 scope global ogstun2
    valid_lft forever preferred_lft forever
    inet6 fd1f:76f3:da9b:101::/48 scope global
    valid_lft forever preferred_lft forever
    inet6 fe80::841:f785:911b:f77d/64 scope link stable-privacy
    valid_lft forever preferred_lft forever
    6: ogstun: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc fq_codel state UP group default qlen 500
    link/none
    inet 10.45.0.1/24 brd 10.45.0.255 scope global ogstun
    valid_lft forever preferred_lft forever
    inet6 2001:db8:cafe::1/48 scope global
    valid_lft forever preferred_lft forever
    inet6 fe80::6a53:186a:a852:278a/64 scope link stable-privacy
    valid_lft forever preferred_lft forever
    pcap with any and kamailio log.zip

@herlesupreeth
Copy link
Owner

5: ogstun2: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1400 qdisc fq_codel state UP group default qlen 500
link/none
inet 172.16.102.1/24 brd 172.16.102.255 scope global ogstun2
valid_lft forever preferred_lft forever
inet 172.24.15.30/32 scope global ogstun2

Can you tell me why you are assigning 172.24.15.30 IP to ogstun2?

I still see the same issue, there is no dedicated bearer for VoLTE call. Check SMF and MME logs

@yasuhirom
Copy link
Author

172.24.15.30 is for P-cscf. in my understanding, apn name "ims" is used ogstun2. thus, I assign it. is it wrong ?

Attached are mme and smf log for these period.
SMF was rebooted during this period. after UE B(IMSI : 001010000000024. this is iPhone 12 Pro) had been connected.

03/08 09:19:05.901: [smf] INFO: UE IMSI[001010000000022] APN[internet] IPv4[10.45.0.2] IPv6[] (../src/smf/s5c-handler.c:223)
03/08 09:19:05.906: [gtp] INFO: gtp_connect() [127.0.0.7]:2152 (../lib/gtp/path.c:58)
03/08 09:19:06.251: [smf] INFO: [Added] Number of SMF-Sessions is now 2 (../src/smf/context.c:2610)
03/08 09:19:06.251: [smf] INFO: UE IMSI[001010000000022] APN[ims] IPv4[172.16.102.2] IPv6[] (../src/smf/s5c-handler.c:223)
03/08 09:22:38.441: [smf] INFO: [Added] Number of SMF-UEs is now 2 (../src/smf/context.c:819)
03/08 09:22:38.441: [smf] INFO: [Added] Number of SMF-Sessions is now 3 (../src/smf/context.c:2610)
03/08 09:22:38.441: [smf] INFO: UE IMSI[001010000000024] APN[internet] IPv4[10.45.0.3] IPv6[2001:230:cafe:1::2] (../src/smf/s5c-handler.c:223)
03/08 09:22:38.456: [smf] WARNING: Unknown PCO ID:(0x1a) (../src/smf/context.c:2537)
03/08 09:22:38.456: [smf] WARNING: Unknown PCO ID:(0x23) (../src/smf/context.c:2537)
03/08 09:22:38.456: [smf] WARNING: Unknown PCO ID:(0x24) (../src/smf/context.c:2537)
03/08 09:22:38.762: [smf] INFO: [Added] Number of SMF-Sessions is now 4 (../src/smf/context.c:2610)
03/08 09:22:38.762: [smf] INFO: UE IMSI[001010000000024] APN[ims] IPv4[172.16.102.3] IPv6[fd1f:76f3:da9b:1::2] (../src/smf/s5c-handler.c:223)
03/08 09:22:38.772: [smf] WARNING: Unknown PCO ID:(0x1a) (../src/smf/context.c:2537)
03/08 09:22:38.772: [smf] WARNING: Unknown PCO ID:(0x23) (../src/smf/context.c:2537)
03/08 09:22:38.772: [smf] WARNING: Unknown PCO ID:(0x24) (../src/smf/context.c:2537)
 -- -- Rebooted.

after rebooted, below below error was happen.

03/08 09:23:14.605: [smf] ERROR: No Session Data (../src/smf/gx-path.c:1071)

Also, UE A gets only IPv4 address. but UE B gets both IPv4 and IPv6.
will check disable IPv6 for UE B
smf20220308.log
smf20220308_org.log
.

@s5uishida
Copy link

Hi @yasuhirom

If you want to try VoLTE quickly, I recommend the following.

https://github.com/herlesupreeth/docker_open5gs

If you would like, please also refer to the following little note I wrote.

https://github.com/s5uishida/docker_open5gs_volte_sms_config

@yasuhirom
Copy link
Author

Hello @s5uishida

Thank you for your advice.
because I uses non native ubuntu machine, I affraid performance issue when I use Docker environment on Virtual Machine.
but, yes, if my debugging is not going well, I will try it.

Thank you!

@s5uishida
Copy link

Hi @yasuhirom

I built an Ubuntu 20.04 VM(6 CPUs, 8 GB Mem) on VirtualBox using SSD for storage.
I have not confirmed the performance, but could make VoLTE calls.

For your reference.

@yasuhirom
Copy link
Author

yasuhirom commented Mar 9, 2022

hello @s5uishida

Thank you for your information!
my laptop has Core i5 7 gen / 8GB memory. so, it is hard to apply same configuration. but it is good infomation.

Thank you !

@yasuhirom
Copy link
Author

try to disable IPv6 for UE B was not help. situation is unchanged.

I confirm SMF is rebooted when I make the call. and reboot is happen only 1st time.
After rebooted, I reattached the UEs (toggle Airplane mode). then make call. but SMF still alive. not rebooted. (Still no RINGING).

will check the reason SMF rebootting.

pcap and log 20220309.zip
.

@yasuhirom
Copy link
Author

found PCRF was crashed after error. then SMF going to reboot.

I'm asking Open5GS people regarding PCRF issue.

pcrf_20220309.log

@s5uishida
Copy link

s5uishida commented Mar 10, 2022

Hi @yasuhirom

It also worked with the following resources:

[Host PC]

  • Intel Core i5-10500
  • 32 GB Mem
  • Ubuntu 20.04

[docker_open5gs VM]

  • Ubuntu 20.04 VM on VirtualBox
  • 2 CPUs <-- a bit changed
  • 4 GB Mem <-- a bit changed
  • 40 GB SSD

FYI.

@yasuhirom
Copy link
Author

Hi @s5uishida

thank you fir your information.
Today , I started to install it in parallel to debug this issue.
Install was done. But external eNB can't attach MME. Ping to eNB is not reach from mme container . I have some questions. Will ask these on docker_open5gs project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants