UCCX 7.0 -calling number block script

The version of Call Manager that I am on does not have a way to block an ANI coming into system (apparently later release do, will upgrade later).
The calls from these auto-dialers that are coming in are going to our Call Center Express trigger.
I created translation pattern that directs calls to that trigger to a new script.  New script has "if/ then' stmt  that says if the nubmer is xxx-xxx-xxxx (listing the specific auto dialer number), I route it to a fax machine,  if not then go to next step,  did another 'if / then'  for the 2nd auto dialer number,  if not that number then I route the call to the regular trigger for the call center script (if it is then it also goes to the fax number).\
That works , there is some delay though.
Those auto dialer calls have not stopped (number of calls reduced signficantly- but not gone).
Now I need to add another number that is auto dialing us ... I am thinking initial delay is going to get longer ......
could not figure out how to list more than on ANI ... seems I had to do a new "if/ then" statement for each number ..........
Any ideas on improving the script to be more efficient?

Here's one way, which seems to be the preferred way in Java to find a needle in a haystack:
Variables
String ANI = ""String[] blocked_numbers = new String[] {"1000", "1001", "2002"}
Script
Start...ANI = Get Call Contact Info (--Triggering Contact--, Calling Number)If (java.util.Arrays.asList(blocked_numbers).contains(ANI))     True          /* This is a blocked caller */     False          /* This is not a blocked caller */...End
You would use the String array to hold all of your blocked numbers.  I have used three to illustrate the example.
Anthony Holloway
Please use the star ratings to help drive great content to the top of searches.

Similar Messages

  • UCCX with international call authenication

    Dear member,
    I have a customer would like to enhance the privileges on the international call base on phone number and password (FAC, CMC cannot fulfill it). If we route the call to UCCX (collect the phone number), IVR script (get the password from user input), and authenticate through somewhere then routes to CCM. Is it possible to do that?
    One of my concerns is the no. of IVR port if many user call in.
    Any comment on this solution or any other better solution?
    Regards
    Russ

    Hi,
    no, it looks like a simple and solid way of doing that using UCCX.
    Alternative: use the Routing Rules engine of the CUCM and ask an external application about the calling and the caller number every time a call is placed. This external application would contain the extension of the user (caller) and the list of numbers he/she is allowed to call, so no password is needed, everything is done automagically.
    G.

  • UCCX Script: Capture Original Called Number

    Hi Folks, 
    I am not a expert in UCCX Environment, but I have to perform a basic script to capture original Called Number. 
    1) I have two Cisco 3825 Gateways connected over the PSTN with ISDN Signalling;
    2) I am receiving the last four digits from my local provider (XXXX) and send that via voip dial peer to UCCX 10.1 to trigger 71011000. I am using the num-exp .... 71011000 to matching this dial peer.
    My problem:
    I need to play an annoucement that this prefix will change to another, but I have to delivery the call to CUCM extension number after that. I have the prompts yet, but how can I capture the original Called Number, since I have translated it using the num-exp commando on Cisco 3825 Gateway ?
    Regards, 
    Luiz

    I would create a separate dial-peer with the correct called number on the gateway, and add a trigger for that extension number in UCCX.  Even if you have to translate it from 4 digits to an 8 digit number, you still have a unique called number coming into UCCX that you can use in your script.

  • UCCX Called Number

    Hello,
    I am writing a UCCX script that pulls the calling and called numbers and does some other cool stuff to find an outcome and finally what to do with that specific call.
    Everything is working except I am not getting the called number. The called number I am seeing is the CTI Route Point number that was called to get the call into UCCX rather than the PSTN number.
    The setup is as follows:
    PSTN ---> SIP ---> CUBE ---> CUCM ---> UCCX 
    I can see the called number in the SIP messages and of course call manager is routing based all the called number I have done everything I can think off but it is still not showing me the PSTN called number in UCCX.
    I have attached a screen shot of the Get Call Contact Info step in UCCX scripting let me know if you need to see anything else related to the script.
    Any help appreciated.
    Thanks

    If the DNIS supplied at ingress to CUCM does not match the CTI RP DN then either you have Significant Digits stripping the called number down on the SIP trunk or a translation pattern modifying the called number before it gets to the CTI RP. In either case, CCX can only work with what CUCM gives it over the CTI QBE channel. A translation pattern resets the calling/called number to whatever transform it is performing so "Original Called Number" won't work either.
    Just mentally map the PSTN DNIS to the CTI RP DN and program the script to act accordingly based on the CTI RP DN.

  • UCCX how can you set a script to match first 4 or 5 digits of a caller id

    Hi
    I'm looking for a way to divert international calls destined for a UK UCCX server outside business hours. The numbers get mapped to the same DDI when they reach the UK gateway (called number is the same).
    Here is the scenario:
    Calls from US ouside business hours get transferred to destination directory number A (caller ID begins with 9001 by the time call gets to script)
    Calls from Australia  outside business hours get transferred to destination directory number B (caller ID begins with 90061 by the time call gets to script)
    I was thinking of using the Get Call Contact Info step to populate the Calling Number variable with the caller id then using the If step (since the Called Number is the same)
    So if the Calling Number begins with 9001 then transfer the call to destination A. If the Calling Number begins with 90061 then transfer the call to destination B
    What is should the If statement be in each case?
    .....or is there an better way to do this?
    Thanks

    Hi
    Try:
    if
    callerid.startsWith("90061")
    Assuming your var is already populated as is called callerid.
    Regards
    Aaron

  • Calling number specification to be routed to designated agent via CCX script

    I want to be able to specify a number e.g. 502-8475 in the script that would then be routed to specific skilled agents in a queue. The number specify will be forward by another PBX to the queue number so that numberr will not be the caller number but the called. Can this be done with the script if so how.

    Different skills = different queue as UCCX Customer Service Queue (CSQ) is constructed based on skills assigned to it.
    If you simply want to reuse the same queue logic but queue the call to different set of agents, you still need to build different CSQ and assign the "new" skill to this CSQ as well as the agents.  Then you have couple of options to route it:
    1. Build new Application triggered by the number and point to the same script but override the CSQ name which needs to be exposed as parameter
    2. Change the existing script to perform a check to see what was the dialed number or original dialed number, you can accomplish this via "get call info" step, and then change the CSQ variable name to this new CSQ.
    HTH, please rate all helpful posts!
    Chris

  • Calling a SQL script from the PL/SQL block.

    Hello All,
    I am using oracle 11g database.
    My requirment is as follows. I have a SQL script to alter the table. But before alter the table I need to test some condition , if the condition satisfy then I have to alter the table through the SQL script. For the checking the condition I have to use the plsql block and inside I need to call the SQL script.
    Can I call a SQL script from PL/SQL block, if yes then how?
    I am tring to use START, RUN and @ command but it is throughing error.
    Thanks
    SUN

    [PL/SQL manual|http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/functions55a.htm#77600] Ctrl-F start, finds nothing. [SQLPlus manual|http://download.oracle.com/docs/cd/B19306_01/server.102/b14357/toc.htm] Ctrl-F start finds this. Isn't it wonderful that Oracle documents this stuff so we don't have to guess.
    Can I call a SQL script from PL/SQL block, if yes then how? No.
    You could call the stored procedure in a SQL*Plus script before the alter table and have it raise an exception if the condition is not met and have the script quit when there is an error.

  • Loosing Called number information at script start

    My application is such that I need to know what number was dialed to reach the script.
    I will have multiple translations patters all forwareding to the same IPCC script Route Point.
    When the script executes I loose the origional dialed number information, even though i have the "Forward called number" box checked in the Route Point.
    All the variables in the "Get Call Contact Info" step show the "called" number as the Route point number (e.g. 7301 and not 888-111-2222 the number that got translated to 7301?
    Where did my number Go ?!?!?!? and how do I get it back !!!
    -Kevin-

    A translation pattern starts a new call within UCM in a manner of speaking. You will not see pre-transformed information in this scenario.
    This is also a bad idea because you run the risk of causing a race condition within CCX. The server checks the dialed number against all configured triggers any time you perform a call transfer or redirect within a CCX script. If the dialed number is not a trigger, CCX cannot properly handle UCM routing the call back to the CCX server. Essentially, when you transfer a call to a number that immediately routes back to CCX (translation pattern, Call Forward, etc), it breaks CCX.
    The correct solution to this is to add all of the pre-translated numbers as triggers on CCX.

  • I keep getting calls, so I added that number to my list of calls to block.  It doesn't ring anymore, but I keep getting notification messages that say "Call back".  Why do I receive this when the call should be blocked?

    I keep getting calls from (removed), so I added that number to my list of calls to block.  It doesn't ring anymore, but I keep getting notification messages that say "Call back (removed)".  Why do I receive this when the call should be blocked?
    Private info removed as required by the Verizon Wireless Terms of Service
    Message was edited by: Admin Moderator

    Okay, you are correct the call is not supposed to ring in. Have you done any troubleshooting on the phone? First off, try power cycling the phone. Turn the phone off, then back on again. If that does not work, then try a reset. Hold the sleep/wake and home buttons together until you see the Apple logo and then release. The phone will reboot. See if that changes things. Is the caller using the exact number that you blocked, or is it possible they are using another number, or have restricted the Caller ID?

  • UCCX 7.0 Trying to Get Called Number step

    I'm trying to have my script recognize a specific called number and then based off that call number queue call at higher priority and send to agent.  I am in the debug state right now and it's blowing by IF statement for the called number.    What am I missing here?
    thanks
    Called Number = Get Call Contact Info
    IF (called_number==1234567) then
    True> Set Pri 7
    False>continue to queue call lower Pri

    are you in active or reactive debug mode?  if active, you cannot pull the get call contact info step, but I suspect you would have seen that.  so, I will assume you are in reactive.  but I want to make sure.
    I see you wrote out the script steps by hand, instead of a screenshot, or file upload, so this could easily be a typo, but your variable in the get call contact info step is:
    Called Number
    And your variable in the if step is:
    called_number
    They should be the same.
    Also, your if step should have the phone number literal in double quotes:
    "1234567"
    And not typed out like an integer:
    1234567
    But again, that could be a typo, and not really how your script is built.
    The logic looks good:
    Get Called NumberIf Called Number == Priority Number Then     Set PriorityElse     Do Nothing
    So I am only left to guess at the problem....do you use wild card triggers?  I.e., not 1234567, but 123XXXX?
    If you are using wild card triggers, then the Called Number would be the trigger:
    123XXXX
    And not the actual number dialed (you need to get the Dialed Number, which is at the bottom of the list):
    1234567
    If that is the case, then certainly:
    "123XXXX" != "1234567"
    And that would route your calls to the False branch of the If step.

  • Can any one tell me how can i call a shell script from pl/sql

    i like to call shell script from pl/sql procedure.
    can any one suggest how can i do this

    Have you not mastered in asking the same kind of question ?
    First do write a script...
    no one will spoon feed you.
    How can i call a shell script from procedure
    How to call Shell Script from pl/sql block
    -Sk

  • How can i call a shell script from procedure

    I have a shell script.now i am i a situation to call that shell script from one of my procedures and need to get a value from that script.
    can u suggest me that how can a call the shell script from pl/sql?

    Is the same question you asked here
    How to call Shell Script from pl/sql block
    -SK

  • Error Using dbms_scheduler to call a shell script

    Hi,
    I have been assigned a job of sending emails through unix utility(Mailx), based on certain activity in database.
    Email needs to be sent on insert/update of a column in one of the database tables.
    I am trying to use the block below to call the unix script responsible to send mails:
    begin
    dbms_scheduler.create_job
    job_name => 'TPP_SEND_EMAIL_JOB',
    job_type => 'EXECUTABLE',
    job_action => '/opt/ENV/code/BIL/users/usrbil01/Hemz/sndmailscrpt.ksh',
    repeat_interval => 'FREQ=MINUTELY; INTERVAL=30',
    enabled => true,
    comments => 'Send Email on ISU update'
    end;
    sndmailscrpt.ksh: Script to send email is embedded within the shell script
    I am getting the below error when i try to run the job using 'exec dbms_scheduler.run_job('TPP_SEND_EMAIL_JOB');'
    Error:
    ORA-27370: job slave failed to launch a job of type EXECUTABLE
    ORA-27300: OS system dependent operation:accessing extjob wrapper failed with status: 2
    ORA-27301: OS failure message: No such file or directory
    ORA-27302: failure occurred at: sjsec 3
    ORA-06512: at "SYS.DBMS_ISCHED", line 150
    ORA-06512: at "SYS.DBMS_SCHEDULER", line 441
    ORA-06512: at line 1
    I am not aware of any db related permissions that needs to be given, is this related to that or is there somethin i need to do for execution to be successfull
    Request you to let me know the exact solution and also the steps i need to take in order to ensure successfull execution of this script.
    Please also let me know if there is any other way wherein i can call a unix script from a database trigger on run time(i.e, whenever insert/update on a particular column in database)
    Regards,
    Hemanth

    Hi All,
    Thank you for your inputs.
    I am now pressed to explore the option of utl_mail as this dircetly sends mail from database. This is suggested as an option for my delivery now.
    I am able to install utl_mail and send a mail using the block below:
    begin
    utl_mail.send(
    sender => '[email protected]',
    recipients => '[email protected]',
    subject => 'Testing utl_mail',
    message => 'The receipt of this email is checking on working of UTL_MAIL '
    exception
    when others then
    dbms_output.put_line('error: '||sqlerrm);
    end;
    The block gets executed successfully, but i have not received a mail yet, is there a table or oracle log from where i can trace the delivery status for the mai, or if the mail is successfully sent too?
    I have heard from users in this forum for support of mime type "HTML", Should i pass the whole html body in the *'message'* input parameter here or can i pass a html template name with path present else where?
    Please do assist me in this regard.
    Regards,
    Hemanth

  • How to append calling and called number with translation rules?

    Hello,
    I have one question about digit manipulations.
    How to append calling number and called number with IOS commands?
    For example, when 123 dials 45678, translations have to be performed and the new called number to be 12345678.
    Thank you,
    I will vote this conversation.

    It is not possible with translation rules.
    However, you can do that with a TCL/IVR script.

  • How to find icon position of currently executed VI on caller's block diagram

    Dear forum,
    I currently try to use a LabVIEV VI as a simple sequencer: Several (very slow) actions have to execute one after another. Each action is represented by a Sub-VI, some actions are executed several times. My task is to visualize the currently executed Sub-VI somehow.
    My first intention (simply manipulate the icon of the currently running VI with "VI Icon.Get as Image Data" / "VI Icon.Set from Image Data" invoke nodes) failed, because this changes the icon of ALL instances of this VI; if you use the same VI several times, the icons of all these VI are changed (see here: http://forums.ni.com/t5/LabVIEW/How-to-change-animate-icon-of-currently-running-VI/m-p/3120754/highl...
    My current approach is to use an image of the block diagram (with "VI: Block Diagram: Get Image Scaled" invoke method) within a picture control of the front panel and to work within this control. But for this I need to know the position of the icon of the currently executed VI. I know that I can evaluate Bounds and Position via the GObj properties, but how do I find the currently running VI (note that a VI may reside several times on the block diagram, so the name of the VI is not unique)? IMHO the simpliest way would be if a VI could find its icon on the caller's block diagram itself when executed...
    It's clear that this position is not the position on the picture yet, but this conversion is a small piece of work...
    Regards,
    cpschnuffel
    Solved!
    Go to Solution.

    Yamaeda wrote:
    Run it in highlight mode, done.
    Sure if you don't mind having functional checks taking hours instead of minutes...okay maybe that is exagerating for a simple VI like this, but it would increase cycle time.  Honestly I think the best solution would be to use the helper VI that was mentiond before, which keeps track of what VI is running.  You can of course use scripting to get the block diagram image, but there isn't a good way to know what exact VI is running using VI server.  Here are a few discussions.
    https://lavag.org/topic/16660-how-to-get-actual-vi-execution-state/
    https://decibel.ni.com/content/thread/18687
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

Maybe you are looking for