herlesupreeth / Kamailio_IMS_Config

Fixed version of Kamailio IMS configuration files for basic calling
45 stars 36 forks source link

Volte testbed using srsRAN , open5GS , Kamilio IMS and USRP_B210 #38

Closed srinidhikrs closed 1 month ago

srinidhikrs commented 5 months ago

Hi,

I wanted to test few (audio/video) services (with our Telephony application server) related to Volte call using Volte testbed based on srsRAN , open5GS , Kamilio IMS and USRP_B210 / some other cheaper SDR kit . So I am planning to setup Volte testbed in our company's lab following the steps outlined in : https://open5gs.org/open5gs/docs/tutorial/02-VoLTE-setup

Had few queries on the same :

1)What is the network coverage area (radius) within which handsets would be able to latch on to the LTE signal.?

2)Is Government permission/approval required for such setups in lab ? (India)

3) It seems like programmable sims need to be used and configured for use in handsets available in market . What can be the issues related to the sim compatibility and configuration ?

4)Will i be able to test with any volte compatible handset available in Indian market?

5)Can i just use Kamailio IMS setup without srsRAN to validate call flows using sip client phones in PC? Any references/details related to sip client configurations for connecting to Kamilio IMS would be helpful.

6)Any specific antennas to be used with USRP B210 for testing the volte call flows with handsets available in the market?

7) can srsenb , srsepc, open5gs stack and kamailio IMS run on the same server/laptop?

Any other details related to the same would be helpful .

Thanks Srinidhi

herlesupreeth commented 5 months ago

Hey,

1)What is the network coverage area (radius) within which handsets would be able to latch on to the LTE signal.?

With USRP B210 (without antennas) you can get roughly around 2 meters of coverage. With suitable antennas you can achieve around 10 meters of coverage.

2)Is Government permission/approval required for such setups in lab ? (India)

When using licensed spectrum it is always required to buy spectrum/get approval from telecom authority of India. But since you are using a USRP B210 and the range is not that far you can use without any permission. If you plan to give any demos using your setup to any officials then I would definitely recommend getting permission/buy spectrum.

It seems like programmable sims need to be used and configured for use in handsets available in market . What can be the issues related to the sim compatibility and configuration ?

4)Will i be able to test with any volte compatible handset available in Indian market?

If you are using programmable SIM cards (e.g. from Sysmocom) you should not have any issues connecting to LTE network you setup. But connecting to IMS is a bit of challenge and varies from handsets to handset, for starters VoLTE option wont be activated in most of the handsets but this can be forcefully activated if you are using Sysmocom USIM/ISIM sim cards

5)Can i just use Kamailio IMS setup without srsRAN to validate call flows using sip client phones in PC? Any references/details related to sip client configurations for connecting to Kamilio IMS would be helpful.

yes, you can but you would have to disable Rx interface in P-CSCF configuration files#

6)Any specific antennas to be used with USRP B210 for testing the volte call flows with handsets available in the market?

You can use any antennas just ensure its operating frequency is inline with the LTE band you plan to use and also has sufficient gain

can srsenb , srsepc, open5gs stack and kamailio IMS run on the same server/laptop?

yes it can. Just ensure that server/laptop is powerful enough for example, I have HP EliteBook 655 G9 laptop and its runs all in that machine just fine (NOTE: if you are using open5gs you wont be needing srsepc and srsepc doesnt support VoLTE as far as I know)

I would recommend using this repo for easier deployment - https://github.com/herlesupreeth/docker_open5gs

srinidhikrs commented 5 months ago

I am trying to get imsdroid register to pcscf . But failing with 504 server timeout . PCSCF IP : 192.168.1.28 imsdroid IP : 192.168.1.212

Please help to figure out the reaso for register failure .

I have attached pcap file and pcscf log file [Uploading pcscflog.zip…]() [Uploading imsdroid_register.zip…]()

herlesupreeth commented 5 months ago

@srinidhikrs you have not uploaded the logs or pcaps correctly. You need to wait until the files gets uploaded and then press on comment button

srinidhikrs commented 5 months ago

Attached the logs and pcap file .

Thanks Srinidhi


From: Supreeth Herle @.*** Sent: Thursday, January 18, 2024 3:17 PM To: herlesupreeth/Kamailio_IMS_Config Cc: Srinidhi K R; Mention Subject: Re: [herlesupreeth/Kamailio_IMS_Config] Volte testbed using srsRAN , open5GS , Kamilio IMS and USRP_B210 (Issue #38)

CAUTION. This email originated from outside the organization. Please exercise caution before clicking on links or attachments in case of suspicion or unknown senders.

@srinidhikrshttps://github.com/srinidhikrs you have not uploaded the logs or pcaps correctly. You need to wait until the files gets uploaded and then press on comment button

— Reply to this email directly, view it on GitHubhttps://github.com/herlesupreeth/Kamailio_IMS_Config/issues/38#issuecomment-1898137460, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA47HRZZ43RYFUK6RE463ZDYPDVSRAVCNFSM6AAAAABBXUSNR2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJYGEZTONBWGA. You are receiving this because you were mentioned.Message ID: @.***>


DISCLAIMER: The information in this message is confidential and may be legally privileged. It is intended solely for the addressee. Access to this message by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, or distribution of the message, or any action or omission taken by you in reliance on it, is prohibited and may be unlawful. Please immediately contact the sender if you have received this message in error. Further, this e-mail may contain viruses and all reasonable precaution to minimize the risk arising there from is taken by OnMobile. OnMobile is not liable for any damage sustained by you as a result of any virus in this e-mail. All applicable virus checks should be carried out by you before opening this e-mail or any attachment thereto. Thank you - OnMobile Global Limited.

srinidhikrs commented 5 months ago

Attached the logs and pcap file .

Thanks Srinidhi debug.zip

herlesupreeth commented 5 months ago

Can you please describe your setup? and in the pcap attached I see only a SIP REGISTER

First of all, I dont think your P-CSCF is running see below logs, and these modules are needed for P-CSCF using the kamailio_pcscf.cfg to run

 0(325660) DEBUG: <core> [core/sr_module.c:434]: load_module(): module file not found </usr/lib64/kamailio/modules_k/rtimer.so>
 0(325660) DEBUG: <core> [core/sr_module.c:460]: load_module(): module file not found </usr/lib64/kamailio/modules_k/rtimer/rtimer.so>
 0(325660) DEBUG: <core> [core/sr_module.c:434]: load_module(): module file not found </usr/lib64/kamailio/modules/rtimer.so>
 0(325660) DEBUG: <core> [core/sr_module.c:460]: load_module(): module file not found </usr/lib64/kamailio/modules/rtimer/rtimer.so>
 0(325660) DEBUG: <core> [core/sr_module.c:434]: load_module(): module file not found </usr/lib/kamailio/modules_k/rtimer.so>
 0(325660) DEBUG: <core> [core/sr_module.c:460]: load_module(): module file not found </usr/lib/kamailio/modules_k/rtimer/rtimer.so>
 0(325660) DEBUG: <core> [core/sr_module.c:434]: load_module(): module file not found </usr/lib/kamailio/modules/rtimer.so>
 0(325660) DEBUG: <core> [core/sr_module.c:460]: load_module(): module file not found </usr/lib/kamailio/modules/rtimer/rtimer.so>
 0(325660) DEBUG: <core> [core/sr_module.c:434]: load_module(): module file not found </usr/lib/x86_64-linux-gnu/kamailio/modules/rtimer.so>
 0(325660) DEBUG: <core> [core/sr_module.c:460]: load_module(): module file not found </usr/lib/x86_64-linux-gnu/kamailio/modules/rtimer/rtimer.so>

If you are new to this setting up of VoLTE/VoNR testbed I would highly recommend using https://github.com/herlesupreeth/docker_open5gs repo and master branch

srinidhikrs commented 5 months ago

First I want to test and validate audio/video service (using Teephony application server) using sip client and IMS+HSS . I am to able to start pcscf , icscf , scscf and hss as per the instructions given in : https://open5gs.org/open5gs/docs/tutorial/02-VoLTE-setup/

PCSCF , SCSCF , ICSCF are able to load all required modules and start successfully. HSS is also started and running successfully.

When I try to sign-in from imsdroid phone , SIP Register request is sent to PCSCF . PCSCF is processing the incoming REGISTER request and sending 504 timeout with register failure .

In pcscfg log file I can find the cfgtrace for register request processing. But I am not able find the reason for failure.

IMSdroid runs on different random ports everytime sign-in is attempted but in packet dump pcscf is sending the register request back to imsdroid sip client on port 5060? Please help to figure out why registration is failing.

I have caputred and attached proper pcscf.log and also packet dump containing sip requests and responses.

Thanks Srinidhi pcscf.zip

herlesupreeth commented 5 months ago

image

This is so wrong, P-CSCF shouldn't be sending SIP REGISTER to UE. Have you made any changes to cfg files of kamailio?

PCSCF , SCSCF , ICSCF are able to load all required modules and start successfully. HSS is also started and running successfully.

can you elaborate on how you verified this?

herlesupreeth commented 5 months ago

aha.. got it. You should not be using IP (also, its a wrong IP) address in IMSDroid when sending SIP REGISTER. It should be set to sip:ims.mnc001.mcc001.3gppnetwork.org

srinidhikrs commented 5 months ago

After changing to sip:ims.mnc001.mcc001.3gppnetwork.org , the registration is failing with HSS user unknown error.

I have attached hss.log , icscf.log , pcap file , screenshots of hss IMPI,IMSU and IMPU page for user alice

icscf is sending UAR request to hss and receiving RC_IMS_DIAMETER_ERROR_USER_UNKNOWN

Please help in finding the reason for error

Th hss_user_unknown.zip anks Srinidhi

srinidhikrs commented 5 months ago

I created new IMSU , IMPI and IMPU in HSS and selected authentication scheme used by imsdroid . Then I amwas able to register using imsdroid sip client successfully.

Thanks Srinidhi

srinidhikrs commented 5 months ago

I was able to create service profile and trigger application server routing with the IMS setup . Now I would like to move to the next step of creating the volte testbed and test the service with android phones available in the market . So I had the following queries :

1)Is purchase of USRP_B210 SDR kit without antennas enough to start with ?

2)For sims do i need to purchase sysmocom usim only (https://shop.sysmocom.de/sysmoISIM-SJA2-SIM-USIM-ISIM-Card-10-pack-with-ADM-keys/sysmoISIM-SJA2-10p-adm) or can the following also be used (https://www.desertcart.in/products/135750554)

3)Any reference to which sim card reader to be purchased to be used for sim programming?

4)After programming sims will there be any compatibility issues with handsets available in Indian market ? (samsung/xiomi/vivo/oneplus/...)

5)Are there any chances of bricking sims/phone during the process?

6)Will there be any frequency /band config changes to be made in srsenb so that india compatible handsets could latch on to the lte signal?

7)Is there any list of COTS UE which are compatible with srsEnb + Open5GS + Kamailio IMS setup ?

Thanks Srinidhi

herlesupreeth commented 5 months ago

1)Is purchase of USRP_B210 SDR kit without antennas enough to start with ?

I would recommend buying with antennas because it could happen that you would be using a band used by local operator in the vicinity and it might be interfering so having some extra gain via antennas would be helpful

2)For sims do i need to purchase sysmocom usim only (https://shop.sysmocom.de/sysmoISIM-SJA2-SIM-USIM-ISIM-Card-10-pack-with-ADM-keys/sysmoISIM-SJA2-10p-adm) or can the following also be used (https://www.desertcart.in/products/135750554)

I would always recommend Sysmocom ISIM as they are feature rich and is future proof in terms of ability to program any EFs/DFs on the SIM card

3)Any reference to which sim card reader to be purchased to be used for sim programming?

Sysmocom also offers SIM card readers such as this - https://shop.sysmocom.de/Omnikey-CardMan-6121-USB-CCID-interface-2FF-sized/cm6121 but you can also get one from Gemalto (I use Gemalto IDBridge K50 Shell Token V3)

4)After programming sims will there be any compatibility issues with handsets available in Indian market ? (samsung/xiomi/vivo/oneplus/...)

I dont think so.

5)Are there any chances of bricking sims/phone during the process?

Using a programmed SIM wont brick any phone. Rooting your phone may brick your phone.

6)Will there be any frequency /band config changes to be made in srsenb so that india compatible handsets could latch on to the lte signal?

This I cannot say for sure. I tried band 7 (dl_earfcn = 3150) and band 20 (dl_earfcn = 6300) and they seems to work

7)Is there any list of COTS UE which are compatible with srsEnb + Open5GS + Kamailio IMS setup ?

I dont think there is any official list but these are the phones tested - Mi 9 Pro 5G, Oneplus 5, iPhone X and above, Nokia 5.3

srinidhikrs commented 5 months ago

Thanks for the information. Will ping you if there is any issue in configuring the volte testbed after procurring the required hardware.

srinidhikrs commented 4 months ago

I was trying to purchase antennas , usims and simcard reader . Had the following queries :

1)which antenna to be used for VoLTE tesebed along with usrp_b210 SDR kit

Two vert2450-dual-band-antenna-3dbi OR Two VERT900 Vertical Antenna (824-960 MHz, 1710-1990 MHz) Dualband

2)Have placed order for open-cells usim and sim card reader.

3)While trying to sign up account in sysmocom using the link sent to email, getting error "Unfortunately something went wrong" and not able to sign up and procure syscmocom usim .

4)Along with sysmocom usim / open-cells usim can we buy and use Gemalto IDBridge K50 Shell Token V3 (Is it compatible?)

Thanks Srinidhi

herlesupreeth commented 4 months ago

Two vert2450-dual-band-antenna-3dbi OR Two VERT900 Vertical Antenna (824-960 MHz, 1710-1990 MHz) Dualband

Depends on what 4G band you want to operate on. If you are planning to use Band 7 then go for Two vert2450-dual-band-antenna-3dbi or if you are planning to use Band 20/3/5 then go for Two VERT900 Vertical Antenna (824-960 MHz, 1710-1990 MHz) Dualband

3)While trying to sign up account in sysmocom using the link sent to email, getting error "Unfortunately something went wrong" and not able to sign up and procure syscmocom usim .

I would suggest writing them an email - webshop@sysmocom.de

4)Along with sysmocom usim / open-cells usim can we buy and use Gemalto IDBridge K50 Shell Token V3 (Is it compatible?)

yes

srinidhikrs commented 2 months ago

I have running enb using srsenb, epc using open5gs and ims using kamailio. When i am trying to attach UE to the network , the UE is attaching to the network but IMS registration is not happening. IN connection settings , when Volte option is disabled and enabled , SIP Register message happens ., but it is failing. Please help in diagnosing the issue.
Sim : Open-cells USIM UE : One Plus volte_8apr_100.zip epclogs.zip

srinidhikrs commented 2 months ago

Hi,

Got One Plus to register to the network with VoLTE. The issue was resolved by adding missing associate imsu for impi and correcting few config issues. Looking for one more device (redmi/oppo/vivo/realme) which can attach to the configured network with VoLTE.

Thanks Srinidhi

srinidhikrs commented 1 month ago

Configured sysmocom-sja5 sim as per the website : https://github.com/herlesupreeth/CoIMS_Wiki

Disabled sqn check

Then while trying to make volte call from redmi note 12 pro phone to oneplus phone .

Volte Call not happening (b-party is also not ringing).

A-party volte signal is also lost while trying to make call

Please check the attached tcpdump and help in resolving the issue volte_call.zip

Thanks Srinidhi

herlesupreeth commented 1 month ago

Please check the attached tcpdump and help in resolving the issue volte_call.zip

I see only one of the UE successfully registered with the IMS as result of this call didnt work. Also, the UE which failed to register with IMS apparently lost the connection with eNB so I would check whether your eNB is stable or not.

srinidhikrs commented 1 month ago

In the captured tracedump , we can see the following flow Redmi ---------------INVITE------------->OnePLus Redmi<--------------183 Session Progress---------OnePLus Redmi----------------PRACK------------------>OnePLus Redmi<--------------200 OK(PRACK)-----------OnePlus

S1AP-NAS-EPS : E-RABSetupRequest S1AP-NAS-EPS : UplinkNASTransport : Ativate Dedicated EPS bearer context reject (Syntactitcal errors in packet filter)

Redmi<---------------480 Temorarily Unavailable---------OnePLus

srinidhikrs commented 1 month ago

Based on the following forum discussion , i have added the required parameter in smf.yaml https://github.com/open5gs/open5gs/discussions/2712

After that , we were able to make ViLTE (video over LTE) call from redmi phone to OnePLus successfully.

Thanks Srinidhi