As per 3GPP specifications, the UE(Mobile) should send the first REGISTER request over unsecured port of P-CSCF which is 5060 and the subsequent REGISTER request should be sent on the different port(secured port of P-CSCF) which is received in the response of the first REGISTER request.
This is a typical case of Multi-port services, which Kubernetes issues explicitly mentions that IPTables used in the services are not capable of handling the multi-port services with session affinity. Meaning that Kubernetes check the affinity of client per SEP (service endpoint - aka port) not per service. Switching to IPVS mode (sh source hashing scheduler does the trick for maintaining cross port session affinity per service) but breaks the distribution between the entire cluster especially between internal IMS Nodes (P-CSCF to I-CSCF, I-CSCF to S-CSCF and so on) because the scheduler becomes "sh" for every worker node. RR (round-robin) is the preferred scheduler but, as per IPVS documentation, it does not guarantee the cross port session affinity per service per client.
Our aim was to perform something like sh (between UE to PCSCF) and RR for the rest. But, with respect to kube-proxy implementation, it does not appear to be a feasible idea. Do you have any suggestion with respect to this problem?
Migration of IP Multimedia Subsystem(IMS) for VoLTE in Kubernetes (Issue with Cross Port Services)
105 Views Asked by rizwan alam At
0
There are 0 best solutions below
Related Questions in KUBERNETES
- Golang == Error: OCI runtime create failed: unable to start container process: exec: "./bin": stat ./bin: no such file or directory: unknown
- I can't create a pod in minikube on windows
- Oracle setting up on k8s cluster using helm charts enterprise edition
- Retrieve the Dockerfile configuration from the Kubernetes and also change container Java parameter?
- Summarize pods not running, by Namespace and Reason - I'm having trouble finding the reason
- How to get Java running parameters from Spring Boot running inside container in pod where no ps exist
- How do we configure prometheus server to scrape metrics from a pod with Istio sidecar proxy?
- In rke kube-proxy pod is not present
- problem with edge server registration in Eureka
- Unable to Access Kubernetes LoadBalancer Service from Local Device Outside Cluster
- Kubernetes cluster on GCE connection refused error
- Based on my experience, I've outlined the Kubernetes request flow. Could someone please add or highlight any points I might have overlooked?
- how to define StackGres helm chart "restapi" values to use internal LoadBalancer - AWS EKS
- Python3.11 can't open file [Errno 2] No such file or directory
- Cannot find remote pod service - SERVICE_UNAVAILABLE
Related Questions in IPTABLES
- Redirect outbound traffic to a different port
- How to ping IPv6 address of link-local from container attached to bridge network
- Netfilter Module to Log HTTP Headers
- Redirect Outbound Traffic to Remote TCP Transparent Proxy
- Install docker on RHEL 8.8. Service does not start because of error : "Failed to initialize nft: Protocol not supported"
- To allow IPsec NAT-T traffic to pass through, why does the firewall still need to permit ESP when it already allows UDP 4500?
- Rancher 1.6 port forwarding on any host forwards to host with rancher/server installed
- Problem with netfilter queue, iptables or C ++
- iptables not dropping with all chain policies set to DROP and only SSH accepted
- When iptables is used for reverse proxy, how does the proxy server know the client IP address after the real-server replies messages?
- DNAT translation in iptables for TCP connections
- How to run squid in bridge mode
- ICMP request not been forwarded by NAT instance
- Modify android WebView and create whitelist
- Enable UFW to block dockerized application. How can I block outside access to just the docker network?
Related Questions in IMS
- Google's Carrier Services reports permissions aren't granted although they are
- Are the DBD and PSB load modules in IMS executable programs or just control blocks?
- Read all records from the database using call functions in ims
- Lanunching IMS Settings App of Samsung Mobiles Programmatically
- Is it possible to initialize a REXX environment in an IMS BMP region using IRXINIT?
- Can PDN Connectivity Request for IMS APN be initiated if VoPS support is not there in Attach Accept?
- Is it currently possible to read the inbox of RCS messages?
- Powershell Invoke-WebRequest IMS Path + Credentials
- Migration of IP Multimedia Subsystem(IMS) for VoLTE in Kubernetes (Issue with Cross Port Services)
- NAT with IPSec issue in IP Multimedia Subsystem(IMS)
- Is SMS Over IMS That Important
- Go-Diameter: how to determine data variable in NewAVP of TGPPUserLocationInfo to get desired value in Wireshark dump
- Error SoftLayer_Product_Order. (SoftLayer_Product_Order:: verifyOrder)
- Error SoftLayer_Exception_Public. (SoftLayer_Dns_Domain_Registration:: modifyContact)
- Object does not exist to execute method on. (SoftLayer_Dns_Domain_Registration::addNameserversToDomain)
Related Questions in SESSION-AFFINITY
- gcloud command for session affinity
- master/minion alike for https://github.com/kubernetes/ingress-nginx
- Why does ARR-Disable-Session-Affinity not work in Azure Web App
- When using Network Load Balancer (GCP), what function is Client source IP among Session affinity functions?
- Is there a way to modify the domain of the heroku session affinity cookie?
- How to setup session affinity for Rest API in Azure App Service
- Can I modify the value of ARR Affinition cookies programmatically
- Difference between ingress and service's kubernetes session affinity
- Round-Robin for connection-based load-balancing
- How to configure Tomcat session persistence in SAP Business Objects 4.3 on AWS EC2?
- Migration of IP Multimedia Subsystem(IMS) for VoLTE in Kubernetes (Issue with Cross Port Services)
- Istio extension to provide session affinity among replicas without using consistent hash
- Extending lifetime of affinity cookie per request
- Gcloud load balancing to the same host for two TCP connections
- Sticky sessions for socketIO nodejs app deployed on Google Cloud App Engine
Related Questions in IPVS
- get original dst failed in container
- kubernetes kube proxy mode(which one IPVS,iptables or userspace)
- UDP packet does not gets distributed in rr fashion in IPVS mode in K8S
- Migration of IP Multimedia Subsystem(IMS) for VoLTE in Kubernetes (Issue with Cross Port Services)
- How to load ip_vs module successfully?
- k8S Ingress and IPVS
- Azure kubernetes service (AKS) , load balancer with least Connection
- Kube-proxy with IPVS mode doesn't keep a connection
- IPVS stickiness in case of many clients can be hidden behind a single IP address
- What does it means "can't set sysctl net/ipv4/vs/conn_reuse_mode" when set ipvs mode whith k8s?
- How do I automatically update ipvs information?
- Why does the ipvs scheduler keep coming back to rr?
- Balancing traffic using least connection in Kubernetes
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?