[Asterisk-Dev] OT: R&D Loadbalancer SIP Questions

Matthew Boehm mboehm at cytelcom.com
Thu Mar 24 14:32:27 MST 2005


I'm posting this here as the -dev people are most likely more intimate with
the SIP packet structure than -users are.

I've been trying to find a pure SIP load balancer. We will soon be doing
some major traffic and I feel that easiest growth is stacking * boxes behind
a load balancer. All calls will be SIP<->SIP or SIP -> PSTN; no PSTN->SIP

Yes, I could use SER, but that is just another computer that could fail.

I sent an email to Cisco. No response.
I emailed Tasman Networks and they said to contact Kemp Tech.

Just got off the phone with a technician at Kemp and he had the following
questions for handling SIP load:

    1. Which SIP header would be best to become the "session id"? He gave
examples of Via header, callid header and From header. The header needs to
be persistant across all packets per call and be unique between calls. (not
purely unique, meaning that the LB doesn't store id's past the termination
of the call.)

    2. Is the "session id" chosen in #1 also present in the audio payload
packets?

    3. I was under the impression that SIP over TCP was not yet an RFC
standard but the tech seemed to think so. So his question was "at any time
during a call, are there both tcp and udp packets refering to that same
call? and with the same id as #1?"

    4. Finally, he wanted to know what could he do to "query" each server to
determine if it should be in the pool of servers. For example, when doing
HTTP requests, the LB examines the packet and if it finds any thing in the
error 500 range, that server is marked as "down".  He said that he could
send an INVITE to each server and as long as he recieved code XXX that that
server would remain in the pool. If no response recieved after XXms, or the
incorrect response code recieved, then the server is marked down and email
fired off.

Thoughts, questions, concerns are welcome.

Thanks,
Matthew

-- 
Matthew Boehm
  There is no air in space.
  If there was, we couldn't call it space.
  It would be called atmosphere.




More information about the asterisk-dev mailing list