<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><BR><DIV><DIV>On Aug 7, 2007, at 1:41 AM, Luki wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Does anyone know of a program/code out there for high volume voice</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">broadcasting, the applications include high volume political calling,</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">outbound surveys, emergency notifications, patient reminders, etc, etc.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Looking for a program that can handle small volumes of calls, example 50</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">to 200 calls for doctors offices to very large call volumes of</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">1,000,0000 calls per hour for mass messaging.</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">For a project like this, a distributed solution would be ideal. You</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">know, Google-style: lots of low-end machines, cheaper and redundancy</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">included. With Asterisk you probably can't squeeze more than 250 calls</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">even on a decent hardware, and for 1,000,000 calls per hour, say 2</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">minutes in duration (with call setup), you need about 130 decent</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">machines. Or like 300 low-end ones... so like 8 racks full.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The code should be pretty simple (this setup is easily distributable).</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">One beefy database server (or a small cluster for redundancy) can</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">handle ~500-1000 queries/sec you'd need to sustain for 1,000,000 calls</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">per hour.</DIV></BLOCKQUOTE></DIV><DIV><BR class="khtml-block-placeholder"></DIV>Yes, you definitely need to have a distributed solution to scale up to the 1M calls/hour, but the architecture is much more complex than you first might think it is. <DIV><BR class="khtml-block-placeholder"></DIV><DIV>First you need to have a set of machines as directors to keep track of what machines have outdial capabilities. Using a director approach allows one to have better control of the systems and receive up to the minute reporting concerning the efficiency of the cluster of asterisk machines. Arguably you could reverse the solution and have the individual asterisk boxes query the database when it has capability to place a call, but it is easy to have two or more asterisk boxes attempting to dial the same number. You also have the problem of not detecting asterisk boxes that are not pulling their own weight as easily. </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>The bigger problem is call scheduling. Your queueing system gets very complex very fast when you start servicing multiple clients with different requirements and different workloads. Lets take the examples from the first email: a doctor's office placing patient reminders and a political campaign. Everything is great when the system is processing the patient reminders because the system is lightly loaded. Then the political campaign starts and the system gets flooded with thousands of calls (seems to me that 1M calls is a bit much unless you are doing national political campaigns). As the campaign calls take over the system, one will find that without the proper queuing algorithms the patient reminders are now being placed 2 days after the appointments. </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Finally, blacklists and do not call lists need to be incorporated into the system. If I remember correctly there are a number of federal regulations concerning automated calling that also need to be addressed in the system along with observing time of day restrictions for the destination number. </DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>All in all the solution gets pretty complex pretty fast. Unless you do a hack job, just don't care and have not problem treating your customers like dirt. Then you have it made. <BR><DIV> <SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">--</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">Gerard Hickey </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">Kinetic Compute Services</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="mailto:hickey@kinetic-compute.com"><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="color: rgb(0, 0, 238); font-family: Courier; -khtml-text-decorations-in-effect: underline; ">hickey@kinetic-compute.com</SPAN></FONT></A><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">694 Allen Ave.</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">207-318-5646</SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">Portland, ME </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">04103-3707</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; min-height: 14px; ; font-family: Courier; "><BR style="font-family: Courier; "></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">Specializing in UNIX/Linux/Mac OSX solutions for business and education.</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">* ACSA certified and member of Apple Consultants Network</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; min-height: 14px; ; font-family: Courier; "><BR style="font-family: Courier; "></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">Alternative contact methods:</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">Jabber: </SPAN></FONT><A href="mailto:unixgeek@jabber.kinetic-compute.com"><FONT class="Apple-style-span" face="Courier"><FONT class="Apple-style-span" color="#0000F0"><SPAN class="Apple-style-span" style="color: rgb(0, 0, 240); font-family: Courier; -khtml-text-decorations-in-effect: underline; ">unixgeek@jabber.kinetic-compute.com</SPAN></FONT></FONT></A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">AIM:</SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">unixgeek69</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">Skype:</SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">unixgeek69</SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; min-height: 14px; ; font-family: Courier; "><BR style="font-family: Courier; "></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">All email messages are sent digitally signed with a X.509 key for</SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">authentication purposes. Messages not signed should be considered</SPAN></FONT><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; "> </SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" face="Courier"><SPAN class="Apple-style-span" style="font-family: Courier; ">forgeries and discarded.</SPAN></FONT></DIV><BR class="Apple-interchange-newline"></SPAN> </DIV><BR></DIV></BODY></HTML>