<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Re: [cisco-voip] URGENT -- Blocking/Routing calls based on Caller ID with CCM</TITLE>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3157" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>Would that be this one??</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>I've never really known if this is supported, nor am I 
clear on how to use it...</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2># ani_filter.tcl<BR># Script Version 
1.0(1)<BR>#------------------------------------------------------------------ 
<BR># October 2002, Niels Brunsgaard<BR># <BR># Copyright (c) 1998-2002 by cisco 
Systems, Inc. <BR># All rights reserved. 
<BR>#------------------------------------------------------------------ <BR># 
<BR># This tcl script filters calls based on ANI. If there is a match # against 
a pe-configured list of numbers it changes the DNIS # to a configurable value # 
<BR># </FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>proc init { } { <BR>&nbsp;&nbsp;&nbsp; global param <BR>} 
</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>proc act_Setup { } { <BR>&nbsp;&nbsp;&nbsp; 
<BR>&nbsp;&nbsp;&nbsp; leg setupack leg_incoming </FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;&nbsp; set dnis [infotag get 
leg_dnis]<BR>&nbsp;&nbsp;&nbsp; set new_dnis [infotag get cfg_avpair 
new_dest]<BR>&nbsp;&nbsp;&nbsp; set ani [infotag get 
leg_ani]<BR>&nbsp;&nbsp;&nbsp; set ani_deny ""<BR>&nbsp;&nbsp;&nbsp; set ani_pi 
[infotag get leg_ani_pi]<BR>&nbsp;&nbsp;&nbsp; puts "dnis $dnis new_dnis 
$new_dnis ani $ani ani_pi $ani_pi"<BR>&nbsp;&nbsp;&nbsp; if { $ani_pi != 
"presentation_allowed" } {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set ani 
""<BR>&nbsp;&nbsp;&nbsp; }</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;&nbsp; set x 1<BR>&nbsp;&nbsp;&nbsp; while {1} 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if {[infotag get cfg_avpair_exists clid$x]} 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set ani_deny [infotag get 
cfg_avpair clid$x]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; puts "clid$x = 
$ani_deny"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if { $ani == $ani_deny} 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set dnis 
$new_dnis<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; puts "match 
clid $ani_deny x=$x"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; puts "No more clid at 
$x"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
break<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; incr 
x<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if { $x &gt; 1000 } { puts "Too many clids" 
}<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; puts "Final dnis 
$dnis"<BR>&nbsp;&nbsp;&nbsp; leg proceeding leg_incoming<BR>&nbsp;&nbsp;&nbsp; 
leg setup $dnis callInfo leg_incoming<BR>} </FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>proc act_CallSetupDone { } { <BR>&nbsp;&nbsp;&nbsp; global 
beep <BR>&nbsp; <BR>&nbsp;&nbsp;&nbsp; set status [infotag get evt_status] 
<BR>&nbsp; <BR>&nbsp;&nbsp;&nbsp; puts "Entering 
act_CallSetupDone"<BR>&nbsp;&nbsp;&nbsp; if { $status != "ls_000"} { 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; puts "Call [infotag get con_all] 
got event $status while placing an outgoing call" 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; call close <BR>&nbsp;&nbsp;&nbsp; 
} <BR>} </FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>proc act_Cleanup { } { <BR>&nbsp;&nbsp;&nbsp; puts 
"Entering act_Cleanup"<BR>&nbsp;&nbsp;&nbsp; call close <BR>} 
</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>proc act_Abort { } { <BR>&nbsp;&nbsp;&nbsp; puts 
"Unexpected event - entering act_Abort"<BR>&nbsp;&nbsp;&nbsp; call close <BR>} 
</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>init<BR>&nbsp; <BR>#---------------------------------- 
<BR>#&nbsp;&nbsp; State Machine <BR>#---------------------------------- 
<BR>&nbsp; set TopFSM(any_state,ev_disconnected) "act_Abort,same_state" 
<BR>&nbsp; set TopFSM(CALL_INIT,ev_setup_indication) "act_Setup,PLACECALL" 
<BR>&nbsp; set TopFSM(PLACECALL,ev_setup_done)&nbsp; 
"act_CallSetupDone,CALLACTIVE" <BR>&nbsp; set 
TopFSM(CALLACTIVE,ev_disconnected)&nbsp;&nbsp; "act_Cleanup,CALLDISCONNECTED" 
<BR>&nbsp; set TopFSM(CALLDISCONNECTED,ev_disconnect_done) 
"act_Cleanup,same_state" </FONT></SPAN></DIV>
<DIV>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=745282820-20092007><FONT face=Arial 
color=#0000ff size=2>&nbsp; fsm define TopFSM&nbsp; CALL_INIT 
<BR></FONT></SPAN></DIV>
<DIV>&nbsp;</DIV><!-- Converted from text/rtf format -->Tim Reimers 
<BR>Assistant Network Administrator <BR>Asheville City Schools <BR>Desk- 
828-350-6195 Mobile-828-545-3104<BR>fax- 828-255-5454 <BR>&nbsp;
<P>Most days, there are several fires burning at once. Some days, what's burning 
is your fire extinguisher.<BR>To err is human; to truly&nbsp;screw it&nbsp;up 
requires the&nbsp;root password.<BR><BR>&nbsp;</P>
<DIV>&nbsp;</DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Mike Reilly [mailto:reillyipt@gmail.com] 
<BR><B>Sent:</B> Thursday, September 20, 2007 4:18 PM<BR><B>To:</B> Tim Reimers; 
cisco-voip@puck.nether.net<BR><B>Subject:</B> Re: [cisco-voip] URGENT -- 
Blocking/Routing calls based on Caller ID with CCM<BR></FONT><BR></DIV>
<DIV></DIV><FONT face="Verdana, Helvetica, Arial"><SPAN 
style="FONT-SIZE: 12px">There is a tcl script that can be used to route these 
calls to let&#8217;s say a callhandler in unity.<BR><BR><BR>On 9/20/07 1:08 PM, "Tim 
Reimers" &lt;tim.reimers@asheville.k12.nc.us&gt; wrote:<BR><BR></SPAN></FONT>
<BLOCKQUOTE><FONT face="Verdana, Helvetica, Arial"><SPAN 
  style="FONT-SIZE: 12px"><BR>&nbsp;<BR></SPAN></FONT><SPAN 
  style="FONT-SIZE: 12px"><FONT face=Arial>Blocking/Routing calls based on 
  Caller ID with CCM<BR></FONT><FONT 
  face="Verdana, Helvetica, Arial"><BR></FONT><FONT face=Arial>Is there any 
  functionality for this in CCM 4.12 ???<BR></FONT><FONT 
  face="Verdana, Helvetica, Arial"><BR></FONT><FONT face=Arial>We do not have 
  IPCC or anything like that, unless there's a 'lite' version inside CCM that 
  I'm not aware of.<BR></FONT><FONT 
  face="Verdana, Helvetica, Arial"><BR></FONT><FONT face=Arial>We're receiving 
  bomb threats repeatedly at a highschool, and need to either block or route 
  calls with no Caller ID or with known numbers.<BR></FONT><FONT 
  face="Verdana, Helvetica, Arial"><BR></FONT><FONT face=Arial>We could either 
  route the calls to an announce-only mailbox telling people to enable CallerID 
  and call us back, or simply drop the calls.<BR></FONT><FONT 
  face="Verdana, Helvetica, Arial"><BR>&nbsp;<BR>Tim Reimers <BR>Assistant 
  Network Administrator <BR>Asheville City Schools <BR>Desk- 828-350-6195 
  Mobile-828-545-3104<BR>fax- 828-255-5454 <BR>&nbsp;<BR><BR>Most days, there 
  are several fires burning at once. Some days, what's burning is your fire 
  extinguisher.<BR>To err is human; to truly screw it up requires the root 
  password.<BR><BR>&nbsp;<BR><BR>&nbsp;<BR><BR>
  <HR align=center width="95%" SIZE=3>
  </FONT></SPAN><FONT size=2><FONT face="Monaco, Courier New"><SPAN 
  style="FONT-SIZE: 10px">_______________________________________________<BR>cisco-voip 
  mailing 
  list<BR>cisco-voip@puck.nether.net<BR>https://puck.nether.net/mailman/listinfo/cisco-voip<BR></SPAN></FONT></FONT></BLOCKQUOTE><FONT 
size=2><FONT face="Monaco, Courier New"><SPAN 
style="FONT-SIZE: 10px"><BR></SPAN></FONT></FONT></BODY></HTML>