<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PostalCode"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="State"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="City"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="Street"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="address"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Courier;
        panose-1:2 7 4 9 2 2 5 2 4 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
span.EmailStyle25
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>www.noblesys.com<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> asterisk-biz-bounces@lists.digium.com
[mailto:asterisk-biz-bounces@lists.digium.com] <b><span style='font-weight:
bold'>On Behalf Of </span></b>BJ Weschke<br>
<b><span style='font-weight:bold'>Sent:</span></b> Wednesday, August 15, 2007
8:53 AM<br>
<b><span style='font-weight:bold'>To:</span></b> <st1:PersonName w:st="on">Commercial
 and Business-Oriented Asterisk Discussion</st1:PersonName><br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [asterisk-biz]
Outbound Messaging, Voice Broadcasting, Alerts,</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>&nbsp; On 8/7/07, <b><span style='font-weight:bold'>Gerard Hickey</span></b>
&lt;<a href="mailto:hickey@kinetic-compute.com">hickey@kinetic-compute.com</a>&gt;
wrote:<o:p></o:p></span></font></p>

<div>

<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>

<div>

<p class=MsoNormal><span class=q><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></span></p>

<div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>On Aug 7, 2007, at 1:41 AM, Luki wrote:<o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
<br>
<o:p></o:p></span></font></p>

<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt' type=cite>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Does anyone know of a program/code out there for high volume voice <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>broadcasting, the applications include high volume political calling,<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>outbound surveys, emergency notifications, patient reminders, etc, etc.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Looking for a program that can handle small volumes of calls, example
50<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>to 200 calls for doctors offices to very large call volumes of<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>1,000,0000 calls per hour for mass messaging. <o:p></o:p></span></font></p>

</div>

</blockquote>

<div style='min-height: 14px'>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>For a project like this, a distributed solution would be ideal. You<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>know, Google-style: lots of low-end machines, cheaper and redundancy <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>included. With <span class=st><span name=st id=st>Asterisk</span></span>
you probably can't squeeze more than 250 calls<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>even on a decent hardware, and for 1,000,000 calls per hour, say 2 <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>minutes in duration (with call setup), you need about 130 decent<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>machines. Or like 300 low-end ones... so like 8 racks full.<o:p></o:p></span></font></p>

</div>

<div style='min-height: 14px'>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>The code should be pretty simple (this setup is easily distributable).<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>One beefy database server (or a small cluster for redundancy) can<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>handle ~500-1000 queries/sec you'd need to sustain for 1,000,000 calls<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>per hour.<o:p></o:p></span></font></p>

</div>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Yes, you&nbsp;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.&nbsp; <o:p></o:p></span></font></p>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>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 <span class=st><span name=st id=st>asterisk</span></span>
machines. Arguably you could reverse the solution and have the individual <span
class=st><span name=st id=st>asterisk</span></span> boxes query the database
when it has&nbsp;capability to place a call, but it is easy to have two or more
<span class=st><span name=st id=st>asterisk</span></span> boxes attempting to
dial the same number. You also have the problem of not detecting <span
class=st><span name=st id=st>asterisk</span></span> boxes that are not pulling
their own weight as easily.&nbsp; <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>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.&nbsp; <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Finally, blacklists and do not call lists need to be incorporated into
the system. If&nbsp; 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.&nbsp; <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>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.&nbsp;<o:p></o:p></span></font></p>

<div><span style='border-spacing: 0px;word-spacing:0px'>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>--</span></font><font
size=1 color=black face=Helvetica><span style='font-size:9.0pt;font-family:
Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>Gerard Hickey &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; Kinetic Compute Services</span></font><font size=1 color=black
face=Helvetica><span style='font-size:9.0pt;font-family:Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Helvetica><span
style='font-size:9.0pt;font-family:Helvetica;color:black'><a
href="mailto:hickey@kinetic-compute.com" target="_blank"><font color="#0000ee"
face=Courier><span style='font-family:Courier;color:#0000EE'>hickey@kinetic-compute.com</span></font></a></span></font><font
size=1 color=black face=Courier><span style='font-size:9.0pt;font-family:Courier;
color:black'>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <st1:Street
w:st="on"><st1:address w:st="on">694 Allen Ave.</st1:address></st1:Street></span></font><font
size=1 color=black face=Helvetica><span style='font-size:9.0pt;font-family:
Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'><span onmouseup="SetCallButtonPressed(this, 0,0)"
onmousedown="SetCallButtonPressed(this, 1,0)"
onmouseover="SetCallButton(this, 1,0);skype_active=CheckCallButton(this);"
onmouseout="SetCallButton(this, 0,0);HideSkypeMenu();" id="__skype_highlight_id"><span
title="Change country code ..." onclick="javascript:if(1){doRunCMD(event, 'chdial','0');}else{doRunCMD(event, 'call','+12073185646');}event.preventBubble();return false;"
onmouseout="SetCallButtonPart(this, 0);"
onmouseover="SetCallButtonPart(this, 1);" id="__skype_highlight_id_left"><span
id="__skype_highlight_id_left_adge"><img border=0 width=11 height=11
id="_x0000_i1025"
src="chrome://skype_ff_toolbar_win/content/cb_transparent_l.gif"
class="skype_tb_img_adge"></span><span id="__skype_highlight_id_left_img"><img
border=0 width=32 height=32 id="_x0000_i1026"
src="chrome://skype_ff_toolbar_win/content/famfamfam/us.gif" title=""
class="skype_tb_img_flag" name="skype_tb_img_f0"><img border=0 width=1
height=1 id="_x0000_i1027" src="chrome://skype_ff_toolbar_win/content/space.gif"
class="skype_tb_img_space"><img border=0 width=1 height=1 id="_x0000_i1028"
src="chrome://skype_ff_toolbar_win/content/space.gif" class="skype_tb_img_space"><img
border=0 width=32 height=32 id="_x0000_i1029"
src="chrome://skype_ff_toolbar_win/content/arrow.gif" title=""
class="skype_tb_img_arrow" name="skype_tb_img_a0"><img border=0 width=1
height=1 id="_x0000_i1030" src="chrome://skype_ff_toolbar_win/content/space.gif"
class="skype_tb_img_space"><img border=0 width=1 height=1 id="_x0000_i1031"
src="chrome://skype_ff_toolbar_win/content/space.gif" class="skype_tb_img_space"></span></span><img
border=0 width=1 height=1 id="_x0000_i1032"
src="chrome://skype_ff_toolbar_win/content/space.gif" class="skype_tb_img_space"><span
title="Call this phone number in United States of America with Skype: +12073185646"
onclick="javascript:doRunCMD(event, 'call','+12073185646');event.preventBubble();return false;"
onmouseout="SetCallButtonPart(this, 0)" onmouseover="SetCallButtonPart(this, 1)"
id="__skype_highlight_id_right"><span id="__skype_highlight_id_innerText"><img
border=0 width=1 height=1 id="_x0000_i1033"
src="chrome://skype_ff_toolbar_win/content/space.gif" class="skype_tb_img_space"><img
border=0 width=1 height=1 id="_x0000_i1034"
src="chrome://skype_ff_toolbar_win/content/space.gif" class="skype_tb_img_space"><img
border=0 width=1 height=1 id="_x0000_i1035"
src="chrome://skype_ff_toolbar_win/content/space.gif" class="skype_tb_img_space"><img
border=0 width=1 height=1 id="_x0000_i1036"
src="chrome://skype_ff_toolbar_win/content/space.gif" class="skype_tb_img_space"><span
class=skypetbinnertext>207-318-5646</span></span><span
id="__skype_highlight_id_right_adge"><span class=skypetbinjectionleftimg> </span><img
border=0 width=11 height=11 id="_x0000_i1037"
src="chrome://skype_ff_toolbar_win/content/cb_transparent_r.gif"
class="skype_tb_img_adge"></span></span></span>&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <st1:place
w:st="on"><st1:City w:st="on">Portland</st1:City>, <st1:State w:st="on">ME</st1:State>
 &nbsp; <st1:PostalCode w:st="on">04103-3707</st1:PostalCode></st1:place></span></font><font
size=1 color=black face=Helvetica><span style='font-size:9.0pt;font-family:
Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

<div style='min-height: 14px'>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>Specializing in
UNIX/Linux/Mac OSX solutions for business and education.</span></font><font
size=1 color=black face=Helvetica><span style='font-size:9.0pt;font-family:
Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>&nbsp;&nbsp; &nbsp; *
ACSA certified and member of Apple Consultants Network</span></font><font
size=1 color=black face=Helvetica><span style='font-size:9.0pt;font-family:
Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

<div style='min-height: 14px'>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>Alternative contact
methods:</span></font><font size=1 color=black face=Helvetica><span
style='font-size:9.0pt;font-family:Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>&nbsp; &nbsp; Jabber: </span></font><font
size=1 color=black face=Helvetica><span style='font-size:9.0pt;font-family:
Helvetica;color:black'><a href="mailto:unixgeek@jabber.kinetic-compute.com"
target="_blank"><font color="#0000f0" face=Courier><span style='font-family:
Courier;color:#0000F0'>unixgeek@jabber.kinetic-compute.com</span></font></a><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>&nbsp; &nbsp;
AIM:&nbsp; &nbsp; unixgeek69</span></font><font size=1 color=black
face=Helvetica><span style='font-size:9.0pt;font-family:Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>&nbsp; &nbsp; Skype:&nbsp;
unixgeek69</span></font><font size=1 color=black face=Helvetica><span
style='font-size:9.0pt;font-family:Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

<div style='min-height: 14px'>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'><o:p>&nbsp;</o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>All email messages are
sent digitally signed with a X.509 key for&nbsp;</span></font><font size=1
color=black face=Helvetica><span style='font-size:9.0pt;font-family:Helvetica;
color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>authentication
purposes. Messages not signed should be considered&nbsp;</span></font><font
size=1 color=black face=Helvetica><span style='font-size:9.0pt;font-family:
Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=1 color=black face=Courier><span
style='font-size:9.0pt;font-family:Courier;color:black'>forgeries and
discarded.</span></font><font size=1 color=black face=Helvetica><span
style='font-size:9.0pt;font-family:Helvetica;color:black'><o:p></o:p></span></font></p>

</div>

</div>

</div>

</div>

</blockquote>

</span>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
<br>
&nbsp;At BTWTech we've developed such a distributed system originally for a
large telemarketing client, but we also now have some municipal alert and
political reference clients on it as well. It takes into account many of the
features that Gerard has correctly pointed out are challenges in operating such
a platform. <br>
<br>
&nbsp;Contact us at <a href="mailto:info@btwtech.com">info@btwtech.com</a> for
more info. <o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
-- <br>
Bird's The Word Technologies, Inc.<br>
<a href="http://www.btwtech.com/">http://www.btwtech.com/ </a><o:p></o:p></span></font></p>

</div>

</body>

</html>