added a comment -
2007-01-02 11:21 This is a particularly important case of a broader problem -- when there are multiple ways of contacting the same UA. In this case, the ENUM routing to the destination is considered to be equivalent to routing through the PSTN. This requires somewhat more complex routing -- e.g., if one attempt fails as busy (486), the second route should not be attempted. (This is especially true if the second route is via PSTN!) The current "serial forking" concept for proxies does not handle this well, as it will attempt the second route if any failure is seen from attempting the first route. What is needed is distinguishing failures from the end-point (which mean that altnerative routes to the same end-point should not be tried) from failures from intermediate systems (which mean that alternative routes should be attempted.) Compare the difference between "busy" and "reorder" in the PSTN.
This has been discussed in the IETF but I've not seen any solid solutions proposed.
Similar problems arise when calls are routed to multiple gateways to the PSTN -- it is difficult to make a call that failed to find an outgoing line on one gateway (usually reported as 503) route to a second gateway, while not having a similar fail-over when one gateway returns 486 (busy).
This has been discussed in the IETF but I've not seen any solid solutions proposed.
Similar problems arise when calls are routed to multiple gateways to the PSTN -- it is difficult to make a call that failed to find an outgoing line on one gateway (usually reported as 503) route to a second gateway, while not having a similar fail-over when one gateway returns 486 (busy).