[Asterisk-Dev] IAX proxy/redirect support

John Todd jtodd at loligo.com
Mon Apr 11 09:42:10 MST 2005


FWIW, I think this is a very good idea.  There are questions about 
"state", so that when a host is redirected to 
"specifichost.myservice.com", how long do they keep that hostname? 
Forever, as long as the client exists in the same instance?  Or does 
it time out?   What happens if there's a failure for 
specifichost.myservice.com?  Does the system automatically retry 
"iax.myservice.com" to see if there's another redirect handed back? 
I'm all in favor of redirects, but these questions are sticky to 
resolve.

Not keeping state will reduce the effectiveness of having redirects, 
since the primary server would need to be contacted for each session.

JT



At 8:51 AM -0700 on 4/11/05, 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?
>
>Thanks,
>
>David
>
>Steve Kann wrote:
>
>>
>>Michael Giagnocavo wrote:
>>
>>>The closest is called a transfer. One end decides they want to step out of
>>>the conversation, and connect two endpoints. So the transfer-requester
>>>contacts the new endpoint and thus has 2 IAX calls established.
>>>
>>>Then, the requester sends a TXREQ to each of the calls, giving a random
>>>transfer ID + the address and callno of the other peer. Then each peer
>>>contacts the other with a TXCNT, expecting a TXACC reply. After a TXACC is
>>>received, the peers send a TXREADY to requester. When the request has both
>>>TXREADYs, it transmits a TXREL[ease].
>>>At this point, the requester only expects an ACK back, and then
>>>communications cease with the requester and it has successfully transferred
>>>out. The peers send a full voice frame to each other and the call continues
>>>on its merry way.
>>>
>>>Now.... the issues that rise are ones of billing and control. Since the two
>>>phones have transferred out of you and are only talking between each other,
>>>you have no control or information about the rest of the call.
>>>If you don't need control, then transfers are great. If you want correct
>>>CDRs and so on... then it's a problem. What I suggest building is an
>>>out-of-band signaling system for your gateways to keep accurate CDRs.
>>>
>>I think he's talking about registration-sessions, though, and not 
>>actual calls. I don't think there's a way to redirect (transfer) a 
>>registration request to another server.
>>
>>But you can do simple load-balancing with multiple A records for a 
>>DNS name, and I think that with CVS-HEAD, the cached A records will 
>>also expire eventually.
>>
>>>-Michael
>>>
>>>-----Original Message-----
>>>From: asterisk-dev-bounces at lists.digium.com
>>>[mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of David Pollak
>>>Sent: Friday, April 08, 2005 9:43 AM
>>>To: Asterisk Developers Mailing List
>>>Subject: [Asterisk-Dev] IAX proxy/redirect support
>>>
>>>Howdy,
>>>
>>>I'm designing a large Asterisk farm for a consumer voice service. 
>>>I'm using SER as a front-end for SIP traffic such that a client 
>>>registers with sip.myservice.com and SER figures out which server 
>>>actually handles the user's account and redirects (a 302 redirect 
>>>like in HTTP) the SIP request to that server.  I've been trying to 
>>>figure out how to do the same with IAX clients (I prefer IAX for a 
>>>bunch of reasons and would like to promote their use.)  I've 
>>>reviewed the IAX source to look for a "redirect" response with no 
>>>luck.
>>>
>>>Anyway, this may be a user question (although I've googled, read a 
>>>number of user postings, and reviewed the source code and haven't 
>>>found an answer.)
>>>
>>>Is there a way to redirect an IAX registration and other IAX 
>>>traffic a la SIP?  If not, does anyone else see a need for adding 
>>>a redirect to IAX?
>>>
>>>Thanks,
>>>
>>>David
>>>
>>>
>>>_______________________________________________
>>>Asterisk-Dev mailing list
>>>Asterisk-Dev at lists.digium.com
>>>http://lists.digium.com/mailman/listinfo/asterisk-dev
>>>To UNSUBSCRIBE or update options visit:
>>>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>>>
>>>
>>>_______________________________________________
>>>Asterisk-Dev mailing list
>>>Asterisk-Dev at lists.digium.com
>>>http://lists.digium.com/mailman/listinfo/asterisk-dev
>>>To UNSUBSCRIBE or update options visit:
>>>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>>>
>>>
>>
>>_______________________________________________
>>Asterisk-Dev mailing list
>>Asterisk-Dev at lists.digium.com
>>http://lists.digium.com/mailman/listinfo/asterisk-dev
>>To UNSUBSCRIBE or update options visit:
>>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>
>
>_______________________________________________
>Asterisk-Dev mailing list
>Asterisk-Dev at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-dev
>To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev




More information about the asterisk-dev mailing list