rizwan alam
rizwan alam

Reputation: 53

Migration of IP Multimedia Subsystem(IMS) for VoLTE in Kubernetes (Issue with Cross Port Services)

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?

Upvotes: 2

Views: 91

Answers (0)

Related Questions