<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Adding blacklist to an Asterisk@Home PBX Server</title>
	<atom:link href="http://www.jackenhack.com/archives/2005/09/26/adding-blacklist-to-an-asteriskhome-pbx-voip-server/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jackenhack.com/archives/2005/09/26/adding-blacklist-to-an-asteriskhome-pbx-voip-server/</link>
	<description></description>
	<lastBuildDate>Fri, 05 Mar 2010 11:25:11 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Sven</title>
		<link>http://www.jackenhack.com/archives/2005/09/26/adding-blacklist-to-an-asteriskhome-pbx-voip-server/comment-page-1/#comment-24303</link>
		<dc:creator>Sven</dc:creator>
		<pubDate>Fri, 05 Mar 2010 11:25:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.jackenhack.com/blog/?p=528#comment-24303</guid>
		<description>&lt;p&gt;here is the dialplan in 1.4 for individual blacklist:&lt;/p&gt;

&lt;p&gt;in the incoming contexts, add:&lt;/p&gt;

&lt;pre&gt;
[macro-dialexten]
exten =&gt; s,1,Set(blklst=${DB(BLACKLIST/${MACRO_EXTEN}/${CALLERID(num)})})
exten =&gt; s,n,GotoIf(${blklst}?:noblklst)
exten =&gt; s,n,Playback(privacy-you-are-blacklisted&#124;noanswer)
exten =&gt; s,n,Hangup(17)  ; give busy or send to voicemail if you want
;exten =&gt; s,n,VoiceMail(${MACRO_EXTEN}&#124;u)
exten =&gt; s,n(noblklst),NoOp(HERE GOES THE REST OF THE DIALPLAN)
exten =&gt; s,n,.....
&lt;/pre&gt;

&lt;p&gt;in your features place:&lt;/p&gt;

&lt;pre&gt;
; Blacklist per user
exten =&gt; *54,1,Goto(add-to-blacklist&#124;s&#124;1)
exten =&gt; *55,1,Goto(remove-from-blacklist&#124;s&#124;1) 

[add-to-blacklist]
exten =&gt; s,1,Playback(enter-num-blacklist)
exten =&gt; s,n,Read(blacknr,then-press-pound)
exten =&gt; s,n,SayDigits(${blacknr})
exten =&gt; s,n,Background(if-correct-press)
exten =&gt; s,n,Background(digits/1)
exten =&gt; s,n,Background(if-this-is-not-correct)
exten =&gt; s,n,Background(digits/2)
exten =&gt; s,n,WaitExten(10)
exten =&gt; s,n,Goto(t&#124;1)
exten =&gt; 1,1,Set(DB(BLACKLIST/${CALLERID(num)}/${blacknr})=1)
exten =&gt; 1,n,Playback(num-was-successfully)
exten =&gt; 1,n,Playback(added)
exten =&gt; 1,n,Hangup(16)
exten =&gt; 2,1,Goto(s&#124;1)
exten =&gt; t,1,Playback(nothing-recorded)
exten =&gt; t,n,Hangup(16)

[remove-from-blacklist]
exten =&gt; s,1,Playback(entr-num-rmv-blklist)
exten =&gt; s,n,Read(blacknr,then-press-pound)
exten =&gt; s,n,SayDigits(${blacknr})
exten =&gt; s,n,Background(if-correct-press)
exten =&gt; s,n,Background(digits/1)
exten =&gt; s,n,Background(if-this-is-not-correct)
exten =&gt; s,n,Background(digits/2)
exten =&gt; s,n,WaitExten(10)
exten =&gt; s,n,Goto(t&#124;1)
exten =&gt; 1,1,NoOp(${DB_DELETE(BLACKLIST/${CALLERID(num)}/${blacknr})})
exten =&gt; 1,n,Playback(num-was-successfully)
exten =&gt; 1,n,Playback(removed)
exten =&gt; 1,n,Hangup(16)
exten =&gt; 2,1,Goto(s&#124;1)
exten =&gt; t,1,Playback(nothing-recorded)
exten =&gt; t,n,Hangup(16)
&lt;/pre&gt;
</description>
		<content:encoded><![CDATA[<p>here is the dialplan in 1.4 for individual blacklist:</p>

<p>in the incoming contexts, add:</p>

<pre>
[macro-dialexten]
exten =&gt; s,1,Set(blklst=${DB(BLACKLIST/${MACRO_EXTEN}/${CALLERID(num)})})
exten =&gt; s,n,GotoIf(${blklst}?:noblklst)
exten =&gt; s,n,Playback(privacy-you-are-blacklisted|noanswer)
exten =&gt; s,n,Hangup(17)  ; give busy or send to voicemail if you want
;exten =&gt; s,n,VoiceMail(${MACRO_EXTEN}|u)
exten =&gt; s,n(noblklst),NoOp(HERE GOES THE REST OF THE DIALPLAN)
exten =&gt; s,n,.....
</pre>

<p>in your features place:</p>

<pre>
; Blacklist per user
exten =&gt; *54,1,Goto(add-to-blacklist|s|1)
exten =&gt; *55,1,Goto(remove-from-blacklist|s|1) 

[add-to-blacklist]
exten =&gt; s,1,Playback(enter-num-blacklist)
exten =&gt; s,n,Read(blacknr,then-press-pound)
exten =&gt; s,n,SayDigits(${blacknr})
exten =&gt; s,n,Background(if-correct-press)
exten =&gt; s,n,Background(digits/1)
exten =&gt; s,n,Background(if-this-is-not-correct)
exten =&gt; s,n,Background(digits/2)
exten =&gt; s,n,WaitExten(10)
exten =&gt; s,n,Goto(t|1)
exten =&gt; 1,1,Set(DB(BLACKLIST/${CALLERID(num)}/${blacknr})=1)
exten =&gt; 1,n,Playback(num-was-successfully)
exten =&gt; 1,n,Playback(added)
exten =&gt; 1,n,Hangup(16)
exten =&gt; 2,1,Goto(s|1)
exten =&gt; t,1,Playback(nothing-recorded)
exten =&gt; t,n,Hangup(16)

[remove-from-blacklist]
exten =&gt; s,1,Playback(entr-num-rmv-blklist)
exten =&gt; s,n,Read(blacknr,then-press-pound)
exten =&gt; s,n,SayDigits(${blacknr})
exten =&gt; s,n,Background(if-correct-press)
exten =&gt; s,n,Background(digits/1)
exten =&gt; s,n,Background(if-this-is-not-correct)
exten =&gt; s,n,Background(digits/2)
exten =&gt; s,n,WaitExten(10)
exten =&gt; s,n,Goto(t|1)
exten =&gt; 1,1,NoOp(${DB_DELETE(BLACKLIST/${CALLERID(num)}/${blacknr})})
exten =&gt; 1,n,Playback(num-was-successfully)
exten =&gt; 1,n,Playback(removed)
exten =&gt; 1,n,Hangup(16)
exten =&gt; 2,1,Goto(s|1)
exten =&gt; t,1,Playback(nothing-recorded)
exten =&gt; t,n,Hangup(16)
</pre>]]></content:encoded>
	</item>
	<item>
		<title>By: Sven</title>
		<link>http://www.jackenhack.com/archives/2005/09/26/adding-blacklist-to-an-asteriskhome-pbx-voip-server/comment-page-1/#comment-24302</link>
		<dc:creator>Sven</dc:creator>
		<pubDate>Fri, 05 Mar 2010 11:21:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.jackenhack.com/blog/?p=528#comment-24302</guid>
		<description>&lt;p&gt;here is the dialplan in 1.4 for individual blacklist:&lt;/p&gt;

&lt;p&gt;in the incoming contexts, add:&lt;/p&gt;

&lt;p&gt;::CODECOLORER&lt;em&gt;COMMENT&lt;/em&gt;1::&lt;/p&gt;

&lt;p&gt;in your features place:&lt;/p&gt;

&lt;p&gt;::CODECOLORER&lt;em&gt;COMMENT&lt;/em&gt;2::&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>here is the dialplan in 1.4 for individual blacklist:</p>

<p>in the incoming contexts, add:</p>

<p>::CODECOLORER<em>COMMENT</em>1::</p>

<p>in your features place:</p>

<p>::CODECOLORER<em>COMMENT</em>2::</p>]]></content:encoded>
	</item>
	<item>
		<title>By: ?????? ?????? ??? Asterisk &#171; mysyslog.ru</title>
		<link>http://www.jackenhack.com/archives/2005/09/26/adding-blacklist-to-an-asteriskhome-pbx-voip-server/comment-page-1/#comment-21475</link>
		<dc:creator>?????? ?????? ??? Asterisk &#171; mysyslog.ru</dc:creator>
		<pubDate>Fri, 15 May 2009 09:37:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.jackenhack.com/blog/?p=528#comment-21475</guid>
		<description>&lt;p&gt;[...] ????????? ???????? ??????: ??????? DB ??????? DBdel ????? ??????????? ?????????? ??????? ?????? [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] ????????? ???????? ??????: ??????? DB ??????? DBdel ????? ??????????? ?????????? ??????? ?????? [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jake</title>
		<link>http://www.jackenhack.com/archives/2005/09/26/adding-blacklist-to-an-asteriskhome-pbx-voip-server/comment-page-1/#comment-21000</link>
		<dc:creator>Jake</dc:creator>
		<pubDate>Wed, 15 Apr 2009 18:03:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.jackenhack.com/blog/?p=528#comment-21000</guid>
		<description>&lt;p&gt;With LookupBlaclist being deprecated has any updated these dialplan applications to use just Blacklist() ?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>With LookupBlaclist being deprecated has any updated these dialplan applications to use just Blacklist() ?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.jackenhack.com/archives/2005/09/26/adding-blacklist-to-an-asteriskhome-pbx-voip-server/comment-page-1/#comment-20958</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Sat, 04 Apr 2009 20:47:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.jackenhack.com/blog/?p=528#comment-20958</guid>
		<description>&lt;p&gt;I have the need to deploy a blacklist feature for multiple customers, who use the same asterisk server. The problem with blacklist is it only validates on the callerID. I need a way to validate on if the number is calling a particular DID, which has decided to blacklist them. Anyone have a dial plan for that?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I have the need to deploy a blacklist feature for multiple customers, who use the same asterisk server. The problem with blacklist is it only validates on the callerID. I need a way to validate on if the number is calling a particular DID, which has decided to blacklist them. Anyone have a dial plan for that?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: joey</title>
		<link>http://www.jackenhack.com/archives/2005/09/26/adding-blacklist-to-an-asteriskhome-pbx-voip-server/comment-page-1/#comment-20678</link>
		<dc:creator>joey</dc:creator>
		<pubDate>Thu, 15 Jan 2009 02:06:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.jackenhack.com/blog/?p=528#comment-20678</guid>
		<description>&lt;p&gt;hey guys I am sorry I am an amateur here
I have developed a asterisk server and used the xlite softphones as my client. Now i need to find a way to detect voice spam using this setup.may be using blacklisting please help me on how to move forward from here.I have the initial setup ready&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>hey guys I am sorry I am an amateur here
I have developed a asterisk server and used the xlite softphones as my client. Now i need to find a way to detect voice spam using this setup.may be using blacklisting please help me on how to move forward from here.I have the initial setup ready</p>]]></content:encoded>
	</item>
	<item>
		<title>By: ryanczak</title>
		<link>http://www.jackenhack.com/archives/2005/09/26/adding-blacklist-to-an-asteriskhome-pbx-voip-server/comment-page-1/#comment-20504</link>
		<dc:creator>ryanczak</dc:creator>
		<pubDate>Sat, 14 Apr 2007 20:25:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.jackenhack.com/blog/?p=528#comment-20504</guid>
		<description>&lt;p&gt;I had to update this a bit to get it to work with Asterisk 1.4.2 (I don&#039;t use Asterisk@home but it should work anyways). &lt;/p&gt;

&lt;p&gt;First I had to replace calltrace as it does not seem to be available in asterisk 1.4.2. I did this by adding the following to the inbound call context:&lt;/p&gt;

&lt;p&gt;Set(DB(lastcallerid/number)=${CALLERID(num)})&lt;/p&gt;

&lt;p&gt;My inbound context looks like this:
exten =&gt; s,1,LookupBlacklist(j) ; If CID blacklisted, goto 102
exten =&gt; s,2,Set(DB(lastcallerid/number)=${CALLERID(num)})
exten =&gt; s,3,Dial(SIP/100,30,tr)
exten =&gt; s,4,Voicemail(u100)
exten =&gt; s,5,Hangup
exten =&gt; s,102,Goto(custom-blacklisted,s,1)&lt;/p&gt;

&lt;p&gt;The rest is pretty straight forward. I added autofallthrough=no to the [general] context because yes is now the default value. It needs to be no for this to work properly. I replaced the DBput and DBget calls with the appropriate Set syntax (DBput and DBget have been depreciated). I changed the gotoif in [custom-blacklist-last] because it would not work as written above. Lastly I changed the ResponseTimeout(60) to Set(TIMEOUT(response)=60). Here are the changed blacklist contexts:&lt;/p&gt;

&lt;p&gt;[custom-blacklist-add]
exten =&gt; s,1,Playback(enter-num-blacklist)
exten =&gt; s,2,Set(TIMEOUT(response)=60)
exten =&gt; s,3,Read(blacknr,then-press-pound)
exten =&gt; s,4,SayDigits(${blacknr})
exten =&gt; s,5,Playback(if-correct-press)
exten =&gt; s,6,Playback(digits/1)
;exten =&gt; 1,1,DBput(blacklist/${blacknr}=1)
exten =&gt; 1,1,Set(DB(blacklist/${blacknr})=1)
exten =&gt; 1,2,Playback(num-was-successfully)
exten =&gt; 1,3,Playback(added)
exten =&gt; 1,4,Wait(1)
exten =&gt; 1,5,Hangup
exten=&lt;em&gt;X.,3,Playback(num-was-successfully)
exten=&lt;/em&gt;X.,4,Playback(added)
exten=_X.,5,Hangup&lt;/p&gt;

&lt;p&gt;[custom-blacklist-remove]
exten =&gt; s,1,Playback(entr-num-rmv-blklist)
exten =&gt; s,2,Set(TIMEOUT(response)=60)
exten =&gt; s,3,Read(blacknr,then-press-pound)
exten =&gt; s,4,SayDigits(${blacknr})
exten =&gt; s,5,Playback(if-correct-press)
exten =&gt; s,6,Playback(digits/1)
exten =&gt; 1,1,DBdel(blacklist/${blacknr})
exten =&gt; 1,2,SayDigits($blacklist)
exten =&gt; 1,3,Playback(num-was-successfully)
exten =&gt; 1,4,Playback(removed)
exten =&gt; 1,5,Hangup&lt;/p&gt;

&lt;p&gt;[custom-blacklisted]
exten=s,1,Answer
exten=s,2,Wait(1)
exten=s,3,Playback(nbdy-avail-to-take-call)
exten=s,4,Playback(carried-away-by-monkeys)
exten=s,5,Playback(lots-o-monkeys)
exten=s,6,Hangup&lt;/p&gt;

&lt;p&gt;[custom-blacklist-last]
exten =&gt; s,1,Answer
exten =&gt; s,2,Wait(1)
exten =&gt; s,3,Set(number=${DB(lastcallerid/number)})
exten =&gt; s,4,GotoIf($[&quot;${number}&quot; = &quot;&quot;]?104) ; also if it&#039;s blank (caller id blocked)
exten =&gt; s,5,Playback(privacy-to-blacklist-last-caller)
exten =&gt; s,6,Playback(telephone-number)
exten =&gt; s,7,SayDigits(${number})
exten =&gt; s,8,Playback(press)
exten =&gt; s,9,Playback(digits/1)
exten =&gt; 1,1,Set(DB(blacklist/${number})=1)
exten =&gt; 1,2,Playback(privacy-blacklisted)
exten =&gt; 1,3,Wait,1
exten =&gt; 1,4,Hangup
exten =&gt; s,104,Playback(unidentified-no-callback)
exten =&gt; s,106,Hangup&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I had to update this a bit to get it to work with Asterisk 1.4.2 (I don&#8217;t use Asterisk@home but it should work anyways). </p>

<p>First I had to replace calltrace as it does not seem to be available in asterisk 1.4.2. I did this by adding the following to the inbound call context:</p>

<p>Set(DB(lastcallerid/number)=${CALLERID(num)})</p>

<p>My inbound context looks like this:
exten =&gt; s,1,LookupBlacklist(j) ; If CID blacklisted, goto 102
exten =&gt; s,2,Set(DB(lastcallerid/number)=${CALLERID(num)})
exten =&gt; s,3,Dial(SIP/100,30,tr)
exten =&gt; s,4,Voicemail(u100)
exten =&gt; s,5,Hangup
exten =&gt; s,102,Goto(custom-blacklisted,s,1)</p>

<p>The rest is pretty straight forward. I added autofallthrough=no to the [general] context because yes is now the default value. It needs to be no for this to work properly. I replaced the DBput and DBget calls with the appropriate Set syntax (DBput and DBget have been depreciated). I changed the gotoif in [custom-blacklist-last] because it would not work as written above. Lastly I changed the ResponseTimeout(60) to Set(TIMEOUT(response)=60). Here are the changed blacklist contexts:</p>

<p>[custom-blacklist-add]
exten =&gt; s,1,Playback(enter-num-blacklist)
exten =&gt; s,2,Set(TIMEOUT(response)=60)
exten =&gt; s,3,Read(blacknr,then-press-pound)
exten =&gt; s,4,SayDigits(${blacknr})
exten =&gt; s,5,Playback(if-correct-press)
exten =&gt; s,6,Playback(digits/1)
;exten =&gt; 1,1,DBput(blacklist/${blacknr}=1)
exten =&gt; 1,1,Set(DB(blacklist/${blacknr})=1)
exten =&gt; 1,2,Playback(num-was-successfully)
exten =&gt; 1,3,Playback(added)
exten =&gt; 1,4,Wait(1)
exten =&gt; 1,5,Hangup
exten=<em>X.,3,Playback(num-was-successfully)
exten=</em>X.,4,Playback(added)
exten=_X.,5,Hangup</p>

<p>[custom-blacklist-remove]
exten =&gt; s,1,Playback(entr-num-rmv-blklist)
exten =&gt; s,2,Set(TIMEOUT(response)=60)
exten =&gt; s,3,Read(blacknr,then-press-pound)
exten =&gt; s,4,SayDigits(${blacknr})
exten =&gt; s,5,Playback(if-correct-press)
exten =&gt; s,6,Playback(digits/1)
exten =&gt; 1,1,DBdel(blacklist/${blacknr})
exten =&gt; 1,2,SayDigits($blacklist)
exten =&gt; 1,3,Playback(num-was-successfully)
exten =&gt; 1,4,Playback(removed)
exten =&gt; 1,5,Hangup</p>

<p>[custom-blacklisted]
exten=s,1,Answer
exten=s,2,Wait(1)
exten=s,3,Playback(nbdy-avail-to-take-call)
exten=s,4,Playback(carried-away-by-monkeys)
exten=s,5,Playback(lots-o-monkeys)
exten=s,6,Hangup</p>

<p>[custom-blacklist-last]
exten =&gt; s,1,Answer
exten =&gt; s,2,Wait(1)
exten =&gt; s,3,Set(number=${DB(lastcallerid/number)})
exten =&gt; s,4,GotoIf($["${number}" = ""]?104) ; also if it&#8217;s blank (caller id blocked)
exten =&gt; s,5,Playback(privacy-to-blacklist-last-caller)
exten =&gt; s,6,Playback(telephone-number)
exten =&gt; s,7,SayDigits(${number})
exten =&gt; s,8,Playback(press)
exten =&gt; s,9,Playback(digits/1)
exten =&gt; 1,1,Set(DB(blacklist/${number})=1)
exten =&gt; 1,2,Playback(privacy-blacklisted)
exten =&gt; 1,3,Wait,1
exten =&gt; 1,4,Hangup
exten =&gt; s,104,Playback(unidentified-no-callback)
exten =&gt; s,106,Hangup</p>]]></content:encoded>
	</item>
	<item>
		<title>By: ever zalazar</title>
		<link>http://www.jackenhack.com/archives/2005/09/26/adding-blacklist-to-an-asteriskhome-pbx-voip-server/comment-page-1/#comment-9523</link>
		<dc:creator>ever zalazar</dc:creator>
		<pubDate>Fri, 14 Jul 2006 03:44:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.jackenhack.com/blog/?p=528#comment-9523</guid>
		<description>&lt;p&gt;HI, I need to know about extensions-additional.conf&lt;/p&gt;

&lt;p&gt;Lets say that i need to configure the language for each user when go to read their message. The menu of voicemail has to be in the language that the user choose. That users are not in sip.conf, they come directly from a S.E.R.server, and check the email. HOw can I configure them the language?
thanks&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>HI, I need to know about extensions-additional.conf</p>

<p>Lets say that i need to configure the language for each user when go to read their message. The menu of voicemail has to be in the language that the user choose. That users are not in sip.conf, they come directly from a S.E.R.server, and check the email. HOw can I configure them the language?
thanks</p>]]></content:encoded>
	</item>
</channel>
</rss>
