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)
104 Views Asked by rizwan alam At
0
There are 0 best solutions below
Related Questions in KUBERNETES
- How to know a Pod's own IP address from inside a container in the Pod?
- Who will decide the "specified number of pods" for replication controller in kubernetes?
- Access other containers of a pod in Kubernetes
- Kubernetes cluster using Vagrant not working after restart
- kubectl not installed with gcloud SDK
- How do I access the Kubernetes api from within a pod container?
- Exposing several services with Vagrant and Kubernetes on my own server
- Does Kubernetes provision new VMs for pods on my cloud platform?
- Any suggestion for running Aerospike on Kubernetes on CoreOS on GCE?
- Kubernetes - kubectl exec bash - session drop and line width
- Google Container Engine (GKE): "Hello Wordpress" tutorial not working (ERR_CONNECTION_REFUSED)
- Kubernetes Pod Creation Speed
- How can i set max count of pods for replication-controller per node?
- Is there a way to tell kubernetes to update your containers?
- Postgres with Kubernetes and persistentDisk
Related Questions in IPTABLES
- iptables put all forwarding rules in prerouting
- Docker ignores iptable rules when using "-p <port>:<port>"
- debian 8 iptables-persistent
- delete all rules from iptables
- Iptables locking me out of SSH
- Iptables block all ports excet the port 53 (udp,,tcp)
- iptables-restore command failed in iptables v1.4.16.2
- PHP, IPTables, and Request to Flask
- Corresponding rules in MacOS for this Iptables rules
- Node Express Application redirect port 443 requests to port 3000 on hostmonster
- Block external access to docker containers
- Fail2Ban not blocking failed postfix login under plesk
- Shell script to read a file
- Bash Script Command Not Executing
- iptables: forward a single IP/Port to one interface, everything else to another
Related Questions in IMS
- Go-Diameter: how to determine data variable in NewAVP of TGPPUserLocationInfo to get desired value in Wireshark dump
- Is SMS Over IMS That Important
- IMS Service has stopped - Galaxy s8
- kamailio: Kamailio not routing ACK after 200 OK
- IMS - Forwarding calls flow in SIP - SDP negotiation
- ICO0005E: A communication error occurred during sending or receiving the IMS message. java.net.SocketException: Connection reset
- NAT with IPSec issue in IP Multimedia Subsystem(IMS)
- Is it possible to initialize a REXX environment in an IMS BMP region using IRXINIT?
- In a IMS network,if a device doesn't get 200 OK for refresh REGISTER then what will be the device behavior?
- upgrading .netcoreapp2.0 to .netcoreapp2.1 starts giving Error parsing discovery document from https://ims.com/.well-known/openid-configuration
- Boghe IMS client automation
- When are these diameter errors are triggered?
- What is the difference between ISIM and USIM?
- /etc/network/interfaces:4: option with empty value
- some proplems about test openimscore
Related Questions in SESSION-AFFINITY
- How do I implement session affinity with a Ingress controller using GCE load balancer
- master/minion alike for https://github.com/kubernetes/ingress-nginx
- Istio extension to provide session affinity among replicas without using consistent hash
- How to make Kubernetes service load balance based on client IP instead of NGINX reverse proxy IP
- Static websites hosted on storage accounts accessed through Azure Front Door not loaded properly
- Sticky sessions for socketIO nodejs app deployed on Google Cloud App Engine
- OpenShift service with sessionAffinity forwards traffic to two pods
- Kubernetes : why are my requests redirected to different pods although I set sessionAffinity to ClientIP?
- Does devise require session affinity?
- Gcloud load balancing to the same host for two TCP connections
- When using Network Load Balancer (GCP), what function is Client source IP among Session affinity functions?
- Session Affinity in kubernetes based on Client session not on Client IP
- GCE HTTPS load balancer session affinity
- How to set session affinity between inner servicess inside a Kubernetes cluster
- Suppress affinity cookie to force client to another Azure app node
Related Questions in IPVS
- Kube-proxy with IPVS mode doesn't keep a connection
- How to load ip_vs module successfully?
- get original dst failed in container
- Balancing traffic using least connection in Kubernetes
- What does it means "can't set sysctl net/ipv4/vs/conn_reuse_mode" when set ipvs mode whith k8s?
- Azure kubernetes service (AKS) , load balancer with least Connection
- Why does the ipvs scheduler keep coming back to rr?
- How do I automatically update ipvs information?
- k8S Ingress and IPVS
- kubernetes kube proxy mode(which one IPVS,iptables or userspace)
- Migration of IP Multimedia Subsystem(IMS) for VoLTE in Kubernetes (Issue with Cross Port Services)
- UDP packet does not gets distributed in rr fashion in IPVS mode in K8S
- IPVS stickiness in case of many clients can be hidden behind a single IP address
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 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?