Hi, AFAIK there is an issue in typical SIP/PSTN enviroments in the case of failover using different gateways serially.
The main issue is that SIP doesn't define how a UAC should handle the case in which it receives various "183 Session Progress" from different early-dialogs, each of them containing early-media.
It occurs to me that a SIP/PSTN gateway sometimes replies 183 with early media for 1 or 2 seconds, and inmediatelly it replies a 502. Well, this 502 could be caused by other node in the PSTN network, it's not necessarialy a problem fo the gateway [1]. In this case I do serial forking forwarding the request to other gateway.
But the UAC already received early media from the first gateway, and most of the SIP phones just render the first early media they receive in case of multiple 183, and drop others. So basically the problem is that the UAC user doesn't listen the ringing coming from PSTN after the request has been forwarded to the second gateway.
Is there something I could do at proxy level to avoid this issue? Sincerely I don't think so, since it makes no sense to disallow the first 183 (I cannot know that the gateway will later reply a 502).
Thanks.
[1] Anyway, *who* is creating the early media? Why the PSTN generates it if the request doesn't arrive to the called? "imagine there is no PSTN..."