[Asterisk-Dev] IAX proxy/redirect support
Steve Kann
stevek at stevek.com
Mon Apr 11 09:31:26 MST 2005
David Pollak wrote:
> Steve,
>
> You're correct. I'm looking at redirecting registration (and call
> initiation IAX_COMMAND_NEW) so that these two functions are performed
> against a single (or clustered) server which sends the traffic to the
> correct server. We're planning 2 data centers initially (one east
> coast, one west coast.) Based on the timezone that our users enter
> when they sign up, they'll be assigned to one of the two data
> centers. The user's voicemail and other "local" data will be on a
> cluster of machines in the assigned datacenter. Doing a DNS
> round-robin will not get the user to the correct datacenter and cluster.
>
> What I'd like to see is an IAX_COMMAND_REDIRECT that could be sent
> instead of an IAX_COMMAND_ACK to "register" and "new" requests. Thus
> users can register their clients to iax.myservice.com and have the
> registration redirected to the appropriate server and incoming calls
> to user at iax.myservice.com get redirected to
> user at specifichost.myservice.com.
>
> With that suggestion... does anybody have any reasons why a "redirect"
> command should not be added to the IAX protocol?
>
You wouldn't want to use this thing _instead of_ an ACK; The ACK
message just acknowleged that the frame was received, whether the
endpoint likes, accepts, or even understands the particular frame.
So, you might do this REDIRECT as a frame that you get back instead of a
AUTHREQ or REGAUTH frame, in response to NEW or REGREQ, respecively.
Or, you might just define this REDIRECT to be an IE, and send that IE
along with the "normal" responses to NEW, REGREQ, etc, such that older
IAX2 implementations can just ignore it, and then take the frame for
what it means (i.e. could be a rejection, or could be an AUTHREQ, etc).
Newer implementations which understand IAX_IE_REDIRECT could then just
re-send the request to the new destination..
Then, the redirect message could be valid for many types of frames..
-SteveK
More information about the asterisk-dev
mailing list