Dale,

I think the way to "model" this, is as a proxy that performs serial forking 
while conditionally adding a new target to the target set each time a prior 
attempt fails (with a cause related to the particular gateway). This is 
still fully standard RFC3261 behavior (see section 16.5, "[...] the proxy 
MAY continue to add targets to the set after beginning Request Forwarding. 
It MAY use any information obtained during that processing to determine new 
targets."). The proxy may even do a DNS A lookup, and then selectively add 
alternative IP addresses following this scheme (though most existing proxies 
would probably not behave in the way you want here)

BTW Unreachable gateways will appear as transport errors (ICMP for UDP, RST 
for TCP)

Regards,
Jeroen

[EMAIL PROTECTED] wrote:
> I'm running into this situation:  Multiple "PSTN gateway boxes".  If a
> call is to be routed to a PSTN line, how do I send it to a gateway in
> an intelligent way?  By that, I mean:
>
> - If the call is sent to gateway 1, and it has no free ports, and
>  (most likely) rejects the INVITE with a 503, the call will be sent
>  to gateway 2, etc.
>
> - Similarly if gateway 1 is unreachable, which presumably appears as a
>  408.
>
> - But if the call receives an error response which indicates an error
>  condition at the far end of the PSTN (e.g., 486), do not retry the
>  call on the next gateway.
>
> - Be organized as a SIP forking operation of some sort so that it can
>  be integrated as one fork of an ordinary call routing situation.
>
> Ordinary SIP serial forking does not do this correctly, nor does
> making the IP addresses of the gateways alternative A records for a
> DNS name.  I'm thinking that the only workable solution is to treat
> expanding "[EMAIL PROTECTED]" into "[EMAIL PROTECTED]", "[EMAIL PROTECTED]", 
> and
> "[EMAIL PROTECTED]" as a proxy operation with a particularly complex
> algorithm for building the target set.
>
> Does anyone have a better solution?
>
> Dale
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors 

_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to