Hello team
I have deployed in the network an SBC acting as A-ALG and I am trying to
load-balance the REGISTER requests coming from the UEs towards multiple cores
(P-CSCFs) by means of DNS which resolves the P-CSCFs hosts with equal priority
and weight.
I am using Digest authentication without TLS for the UEs and the problem I am
facing is the following:
After a UE is challenged by the network with 401 Unauthorized, it resubmits the
REGISTER request with the appropriate credentials and same Call-Id as
appropriate. However this new REGISTER request is routed individually by the
SBC A-ALG towards the core side by executing again DNS procedures. The effect
is that this 2nd REGISTER request may be routed to a different P-CSCF which in
turn results again to a new challenge for obvious reasons (different contact
reaches the S-CSCF), and so on.
Note that this is not the case for the Re-REGISTER requests, where in that case
my A-ALG remembers where the initial Registration has been concluded as it uses
that address:port when a binding is refreshed by the UE.
I was not able to find any explicit reference in the specs on how a UE Proxy
Registrar (in my case an A-ALG) should route a REGISTER request following the
challenge from the network with 401, in case of multiple equivalent core
targets.
Can anybody help on that? Is there any RFC reference or other spec that
clarify this? Note that the SIP multicast Registrar discovery is not an option
in my implementation.
Thanks in advance
Dimitris