<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
i have this scenario where i have a marketing department calling USA numbers excessively and sometimes the leads contain duplicate numbers OR "duplicate customers with different numbers" &nbsp;on the other hand we have some numbers that are black listed the destination should be checked and caller should be informed in both cases.<div><br></div><div>the following dialplan would first check if the number is blackliste (from local MYSQL DB) .. challenge it then continue to MSSQL DB where existing customers info is located and challenge the phone number against existing customers to see if the call should go through or not.</div><div><br></div><div><span class="Apple-style-span" style="font-family: 'Segoe UI', Tahoma, Verdana, Arial, sans-serif; color: rgb(42, 42, 42); "><pre style="line-height: 17px; white-space: normal; "><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,1,MYSQL(Connect connid localhost localSQLuser password blacklistDB)</font></span></pre><pre><font class="Apple-style-span" face="Tahoma"><span class="Apple-style-span" style="white-space: normal;"></span></font><span class="Apple-style-span" style="white-space: normal; "><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n,MYSQL(Query resultid_1 ${connid} SELECT COUNT(*) FROM tbl_BlackList WHERE PhNumber=${EXTEN})</font></span></pre><pre><font class="Apple-style-span" face="Tahoma"><span class="Apple-style-span" style="white-space: normal; "></span></font><span class="Apple-style-span" style="white-space: normal; "><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n,MYSQL(Fetch fetchid1 ${resultid_1} ifpresent)</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n,MYSQL(Disconnect ${connid})</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n,GotoIF($[${ifpresent} = 0] ?pok:perror);;; IF THE NUMBER EXISTS TELL THE CALLER THAT IT'S BLACKLISTED</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n,MYSQL(Clear ${resultid_1})</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n,MYSQL(Clear ${fetchid1})</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n(perror),Wait(1)</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n,PlayBack(privacy-blacklisted)</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n,congestion(1)</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n,HangUp</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n(pok),GoToIf($[${ODBC_CHKAVAIL(${EXTEN})} = 0]?dial:exerror)</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n(dial),GoTo(dial-usa,${EXTEN},1)</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n(exerror),PlayBack(already-in-db) ;;; PLAY SOUND FILE THE CUSTOMER ALREADY IN DATABASE</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma">exten =&gt; _1N.,n,Hangup</font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma"><br></font></span></pre><pre><span class="Apple-style-span" style="white-space: normal;"><font class="Apple-style-span" face="Tahoma"><br></font></span></pre><pre><font class="Apple-style-span" face="Tahoma"><span class="Apple-style-span" style="white-space: normal;">you can use the above example to check the number being dialed against your DB (what ever DBMS you are using) and route it depending on the result of your SQL query.</span></font></pre><pre><font class="Apple-style-span" face="Tahoma"><span class="Apple-style-span" style="white-space: normal;">hope this helps</span></font></pre></pre></span><br>-- Tarek Sawah

Integrated Digital Systems

CCNA, MCSE, RHCE, VoIP USA: +1 347 562 2308


<br><br><br><br>&gt; From: benny+usenet@amorsen.dk<br>&gt; To: hose+asterisk@bluemaggottowel.com<br>&gt; Date: Mon, 13 Sep 2010 20:18:08 +0200<br>&gt; CC: asterisk-users@lists.digium.com<br>&gt; Subject: Re: [asterisk-users] A way to check against a list of numbers?<br>&gt; <br>&gt; Hose &lt;hose+asterisk@bluemaggottowel.com&gt; writes:<br>&gt; <br>&gt; &gt; The most straightforward way would be to just define explicit patterns.<br>&gt; &gt; Obviously that works, but doesn't seem scalable in terms of maintenance.<br>&gt; <br>&gt; I don't think that maintaining the list in the dial plan is all that<br>&gt; bad, actually. Dump it in its own context and file...<br>&gt; <br>&gt; If that isn't convenient enough I'd go for the Asterisk database next.<br>&gt; <br>&gt; Also on the option list is private e164/enum or an SQL database.<br>&gt; <br>&gt; <br>&gt; /Benny<br>&gt; <br>&gt; -- <br>&gt; _____________________________________________________________________<br>&gt; -- Bandwidth and Colocation Provided by http://www.api-digital.com --<br>&gt; New to Asterisk? Join us for a live introductory webinar every Thurs:<br>&gt;                http://www.asterisk.org/hello<br>&gt; <br>&gt; asterisk-users mailing list<br>&gt; To UNSUBSCRIBE or update options visit:<br>&gt;    http://lists.digium.com/mailman/listinfo/asterisk-users<br></div>                                               </body>
</html>