Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Call vectoring - enter your partys extension - HELP!

Status
Not open for further replies.
Nov 22, 2013
600
US
Interesting problem.
In my main vector you press 1, that then brings you to this vector to enter your partys extension, while it is all working the one problem I have is that if you want to dial an extension, 2710 for example, if you just enter 2 and pause (because you dont know your extension or have to look to see what you are dialing) it will timeout after a few seconds and force to extension 2000 (extension 2000 is one of my hunt groups it should not go here) if you press 3 and pause it will force to extension 3000, for and pause it will dial 4000. I would like to know if it is possible to do some sort of unconditional timeout, like if you enter anything less than 4 digits it will start the vector over again at step 3? Thanks for your help.

CALL VECTOR

Number: 50 Name: Main-Extensions
Multimedia? n Attendant Vectoring? n Meet-me Conf? n Lock? n
Basic? y EAS? y G3V4 Enhanced? y ANI/II-Digits? y ASAI Routing? y
Prompting? y LAI? y G3V4 Adv Route? y CINFO? y BSR? y Holidays? y
Variables? y 3.0 Enhanced? y
01 # This is the main menu "if you know your partys extensions" vector.
02 wait-time 1 secs hearing silence
03 collect 1 digits after announcement 6002 for none
04 goto step 15 if digits = 1
05 goto step 19 if digits = 2
06 goto step 23 if digits = 3
07 goto step 27 if digits = 4
08 goto step 31 if digits = 5
09 goto step 35 if digits = 6
10 goto step 39 if digits = 7
11 goto step 43 if digits = 8
12 goto vector 1 @step 1 if digits = 9
13 goto step 2 if unconditionally
14 stop
15 collect 3 digits after announcement none for none
16 set digits = digits ADD 1000
17 route-to digits with coverage y
18 stop
19 collect 3 digits after announcement none for none
20 set digits = digits ADD 2000
21 route-to digits with coverage y
22 stop
23 collect 3 digits after announcement none for none
24 set digits = digits ADD 3000
25 route-to digits with coverage y
26 stop
27 collect 3 digits after announcement none for none
28 set digits = digits ADD 4000
29 route-to digits with coverage y
30 stop
31 collect 3 digits after announcement none for none
32 set digits = digits ADD 5000
33 route-to digits with coverage y
34 stop
35 collect 3 digits after announcement none for none
36 set digits = digits ADD 6000
37 route-to digits with coverage y
38 stop
39 collect 3 digits after announcement none for none
40 set digits = digits ADD 7000
41 route-to digits with coverage y
42 stop
43 collect 3 digits after announcement none for none
44 set digits = digits ADD 8000
45 route-to digits with coverage y
46 stop
 
Can you repost your "final" vector with the converage fixed?

Unless you caught it you're going to have issues with 5000 extensions:

45 collect 1 digits after announcement none for none
46 goto step 2 if digits < 100
47 set digits = digits ADD 5000
48 goto step 2 if digits in table 1
49 announcement 6020
50 goto step 2 if unconditionally
51 stop


There's no route-to step.



- Stinney
"Scire ubi aliquid invenire possis, ea demum maxima pars eruditionis est"

"To know where to find anything is, after all, the greatest part of education"

 
step 69 is currently blank, as if I had the step in there it would not let you call 8000 series extension. I have been testing calling a bunch of random numbers, such as ones that I know are good and ones that are not valid, so far it seems to be working. I can call all 8000's numbers without a problem, if it is a invalid 8000 number it just goes to step 2. So that is suffice but still weird.

CALL VECTOR

Number: 49 Name: extension test
Multimedia? n Attendant Vectoring? n Meet-me Conf? n Lock? n
Basic? y EAS? y G3V4 Enhanced? y ANI/II-Digits? y ASAI Routing? y
Prompting? y LAI? y G3V4 Adv Route? y CINFO? y BSR? y Holidays? y
Variables? y 3.0 Enhanced? y
01
02 collect 1 digits after announcement 6002 for none
03 goto step 13 if digits = 1
04 goto step 21 if digits = 2
05 goto step 29 if digits = 3
06 goto step 37 if digits = 4
07 goto step 45 if digits = 5
08 goto step 52 if digits = 6
09 goto step 60 if digits = 7
10 goto step 68 if digits = 8
11 goto vector 1 @step 1 if digits = 9
12 stop
13 collect 3 digits after announcement none for none
14 goto step 2 if digits < 100
15 set digits = digits ADD 1000
16 goto step 2 if digits in table 1
17 route-to digits with coverage y
18 announcement 6020
19 goto step 2 if unconditionally
20 stop
21 collect 3 digits after announcement none for none
22 goto step 2 if digits < 100
23 set digits = digits ADD 2000
24 goto step 2 if digits in table 1
25 route-to digits with coverage y
26 announcement 6020
27 goto step 2 if unconditionally
28 stop
29 collect 3 digits after announcement none for none
30 goto step 2 if digits < 100
31 set digits = digits ADD 3000
32 goto step 2 if digits in table 1
33 route-to digits with coverage y
34 announcement 6020
35 goto step 2 if unconditionally
36 stop
37 collect 3 digits after announcement none for none
38 goto step 2 if digits < 100
39 set digits = digits ADD 4000
40 goto step 2 if digits in table 1
41 route-to digits with coverage y
42 announcement 6020
43 goto step 2 if unconditionally
44 stop
45 collect 1 digits after announcement none for none
46 goto step 2 if digits < 100
47 set digits = digits ADD 5000
48 goto step 2 if digits in table 1
49 announcement 6020
50 goto step 2 if unconditionally
51 stop
52 collect 3 digits after announcement none for none
53 goto step 2 if digits < 100
54 set digits = digits ADD 6000
55 goto step 2 if digits in table 1
56 route-to digits with coverage y
57 announcement 6020
58 goto step 2 if unconditionally
59 stop
60 collect 3 digits after announcement none for none
61 goto step 2 if digits < 100
62 set digits = digits ADD 7000
63 goto step 2 if digits in table 1
64 route-to digits with coverage y
65 announcement 6020
66 goto step 2 if unconditionally
67 stop
68 collect 3 digits after announcement none for none
69 (I took this step out but it was goto step 2 if digits < 100)
70 set digits = digits ADD 8000
71 goto step 2 if digits in table 1
72 route-to digits with coverage y
73 announcement 6020
74 goto step 2 if unconditionally
75 stop
 

Unfortunately, I see an issue in the logic here. If we goto step 2 if digits < 100 then if someone dials 8, 099, or 8, 001 it might be viewing the digits dialed as 99 or 1 which is less than 100.

- Stinney
"Scire ubi aliquid invenire possis, ea demum maxima pars eruditionis est"

"To know where to find anything is, after all, the greatest part of education"

 

A version of redphone's solution is what you are going to need to do to get it to work right if you want to keep all the goto steps after the first digit. Think this will do it, I tested in my system. If you enter 2, then 1 and nothing else, number is read as 21, if you enter 2, then 01, number is read as 201, only if you dial 3 digits after dialing 2 will it be a 4 digit number.

21 collect 3 digits after announcement none for none
22 set digits = digits CATR 2 (CATR for 3's, CATR for 4's, etc)
23 goto step 2 if digits < 2000 (3000 for 3's, 4000 for 4's, etc)
24 goto step 2 if digits in table 1
25 route-to digits with coverage y
26 announcement 6020
27 goto step 2 if unconditionally
28 stop




- Stinney
"Scire ubi aliquid invenire possis, ea demum maxima pars eruditionis est"

"To know where to find anything is, after all, the greatest part of education"

 
I'm really sorry, it's supposed to be CATL not CATR

- Stinney
"Scire ubi aliquid invenire possis, ea demum maxima pars eruditionis est"

"To know where to find anything is, after all, the greatest part of education"

 
I hate to keep making this post longer but, I will go with the other solution. I have added it to a test vector. When I dial a correct extension it works, when I dial a non exsistant extensions it plays announcement 6020 then disconnects? even though I have a step saying go back to step 2? The trace says it is leaving the vector as it normally would for a valid extension.?


10:04:39 TRACE STARTED 05/02/2014 CM Release String cold-03.0.124.0-20850
10:04:41 0 0 ENTERING TRACE cid 12796
10:04:41 48 1 vdn e2003 bsr appl 0 strategy 1st-found override n
10:04:41 48 1 collect 1 digits after annc 6002 for none
10:04:41 48 1 announcement: board 001V9 ann ext: 6002
10:04:42 48 2 goto step 5 if digits = 2
10:04:42 48 2 digits = [2]
10:04:42 48 5 collect 3 digits after annc none for none
10:04:43 48 6 set digits = digits CATL 2
10:04:43 48 6 digits = [117]
10:04:43 48 6 operand = [2]
10:04:43 48 6 ========= CATL =========
10:04:43 48 6 digits = [2117]
10:04:43 48 7 goto step 2 if digits < 2000
10:04:43 48 7 digits = [2117]
10:04:43 48 8 goto step 2 if digits in table 1
10:04:43 48 8 digits = [2117]
10:04:43 48 9 route-to digits with coverage y
10:04:43 48 10 announcement 6020
10:04:43 48 10 announcement: board 001V9 ann ext: 6020
10:04:47 48 11 goto step 2 if unconditionally
10:04:47 48 2 goto step 5 if digits = 2
10:04:47 48 2 digits = [2117]
10:04:47 48 3 stop
10:04:47 48 3 LEAVING VECTOR PROCESSING cid 12796
10:04:47 48 3 TRACE COMPLETE cid 12796
 
here is the vector.

01 collect 1 digits after announcement 6002 for none
02 goto step 5 if digits = 2
03 stop
04
05 collect 3 digits after announcement none for none
06 set digits = digits CATL 2
07 goto step 2 if digits < 2000
08 goto step 2 if digits in table 1
09 route-to digits with coverage y
10 announcement 6020
11 goto step 2 if unconditionally
12 stop
 
Ok since I am now using REDPHONES vector I think my only problem is the variables, I have A and B in use already so I chose CD But what do I need to add in the ch var C and D field ?


01 #
02 wait-time 1 secs hearing silence
03 collect 1 digits after announcement 6002 for CD
04 goto vector 1 @step 1 if digits = 9
05 goto step 7 if unconditionally
06 stop
07 collect 3 digits after announcement none for none
08 set digits = digits CATL AB
09 goto step 2 if digits < 900
10 route-to digits with coverage y
12 stop
 

Issue is the digits:

0:04:47 48 2 goto step 5 if digits = 2
10:04:47 48 2 digits = [2117]
10:04:47 48 3 stop

When you dial the non-existing extension it's still in the digits cache, clear the digits after the announcement:

21 collect 3 digits after announcement none for none
22 set digits = digits CATR 2 (CATR for 3's, CATR for 4's, etc)
23 goto step 2 if digits < 2000 (3000 for 3's, 4000 for 4's, etc)
24 goto step 2 if digits in table 1
25 route-to digits with coverage y
26 announcement 6020
27 set digits = none add none
28 goto step 2 if unconditionally
29 stop




- Stinney
"Scire ubi aliquid invenire possis, ea demum maxima pars eruditionis est"

"To know where to find anything is, after all, the greatest part of education"

 
I am banging my head against a wall trying to make this work for everything, I can get it to work for just the 2000 extensions but I cannot get it to work when I add 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000. It keeps putting a 2 in front of everything on the trace. I suspect it is the variable, but I am unsure of how to go about fixing this at this point. In the below trace I am dialing 3030 not 2030.. Thanks for the help by the way, I appreciate it, I really wanted to get this working for the weekend crew, I work at a hospital and this systme is still new and I am learning it day by day, it has been hard. :/ Thanks again.



3:43:42 TRACE STARTED 05/02/2014 CM Release String cold-03.0.124.0-20850
13:43:44 0 0 ENTERING TRACE cid 2760
13:43:44 48 1 vdn e2003 bsr appl 0 strategy 1st-found override n
13:43:44 48 1 wait 0 secs hearing silent
13:43:44 48 2 collect 1 digits after annc 6002 for C
13:43:44 48 2 announcement: board 001V9 ann ext: 6002
13:43:44 48 3 variable C = [] -> (?) global
13:43:44 48 3 goto vec 1 @step 1 if digits = 9
13:43:44 48 3 digits = [3]
13:43:44 48 4 collect 3 digits after annc none for none
13:43:46 48 5 goto step 10 if digits = 2
13:43:46 48 5 digits = [030]
13:43:46 48 6 goto step 18 if digits = 3
13:43:46 48 6 digits = [030]
13:43:46 48 9 <blank>
13:43:46 48 10 set digits = digits CATL 2
13:43:46 48 10 digits = [030]
13:43:46 48 10 operand = [2]
13:43:46 48 10 ========= CATL =========
13:43:46 48 10 digits = [2030]
13:43:46 48 11 goto step 2 if digits < 2000
13:43:46 48 11 digits = [2030]
13:43:46 48 12 goto step 2 if digits in table 1
13:43:46 48 12 digits = [2030]
13:43:46 48 13 route-to digits with coverage y
13:43:46 48 14 LEAVING VECTOR PROCESSING cid 2760
13:43:46 48 14 TRACE COMPLETE cid 2760
 
01 wait-time 0 secs hearing silence
02 collect 1 digits after announcement 6002 for C
03 goto vector 1 @step 1 if digits = 9
04 collect 3 digits after announcement none for none
05 goto step 10 if digits = 2
06 goto step 18 if digits = 3
07
08
09
10 set digits = digits CATL 2
11 goto step 2 if digits < 2000
12 goto step 2 if digits in table 1
13 route-to digits with coverage y
14 announcement 6020
15 set digits = none ADD none
16 goto step 2 if unconditionally
17 stop
18 collect 1 digits after announcement none for E
19 set digits = digits CATL 3
20 goto step 2 if digits < 3000
21 goto step 2 if digits in table 1
22 route-to digits with coverage y
23 announcement 6020
24 set digits = none ADD none
25 stop
 
Code:
change variables                                                Page   1 of  39
                              VARIABLES FOR VECTORS

Var Description                 Type    Scope Length Start Assignment       VAC
A   
B  
[b]C                               collect G     1      1     1[/b]

1 #
02 wait-time 1 secs hearing silence
03 collect 1 digits after announcement 6002 for C
04 goto vector 1 @step 1 if digits = 9
05 goto step 7 if unconditionally
06 stop
07 collect 3 digits after announcement none for none
08 set digits = digits CATL C
09 goto step 2 if digits < 900
10 route-to digits with coverage y
12 stop
 

01 wait-time 0 secs hearing silence
02 collect 1 digits after announcement 6002 for C
03 goto vector 1 @step 1 if digits = 9
04 collect 3 digits after announcement none for none
05 goto step 10 if C = 2
06 goto step 18 if C = 3
07



- Stinney
"Scire ubi aliquid invenire possis, ea demum maxima pars eruditionis est"

"To know where to find anything is, after all, the greatest part of education"

 
I cant enter anything like this, it keeps going back to step 2 no matter what number I hit.

1 wait-time 0 secs hearing silence
02 collect 1 digits after announcement 6002 for C
03 goto vector 1 @step 1 if digits = 9
04 goto step 7 if unconditionally
05 stop
06 collect 3 digits after announcement none for none
07 set digits = digits CATL C
08 goto step 2 if digits < 900
09 route-to digits with coverage y
10 stop


here is the trace

13:57:15 TRACE STARTED 05/02/2014 CM Release String cold-03.0.124.0-20850
13:57:16 0 0 ENTERING TRACE cid 3113
13:57:16 48 1 vdn e2003 bsr appl 0 strategy 1st-found override n
13:57:16 48 1 wait 0 secs hearing silent
13:57:16 48 2 collect 1 digits after annc 6002 for C
13:57:16 48 2 announcement: board 001V9 ann ext: 6002
13:57:18 48 3 variable C = [2] -> (2) global
13:57:18 48 3 goto vec 1 @step 1 if digits = 9
13:57:18 48 3 digits = [2]
13:57:18 48 4 goto step 7 if unconditionally
13:57:18 48 7 set digits = digits CATL C
13:57:18 48 7 digits = [2]
13:57:18 48 7 variable C = [2] global
13:57:18 48 7 ========= CATL =========
13:57:18 48 7 digits = [22]
13:57:18 48 8 goto step 2 if digits < 900
13:57:18 48 8 digits = [22]
13:57:18 48 2 collect 1 digits after annc 6002 for C
13:57:18 48 2 announcement: board 001V9 ann ext: 6002
13:57:20 48 3 LEAVING VECTOR PROCESSING cid 3113
13:57:20 48 3 TRACE COMPLETE cid 3113
 
Ok I had go to step 7 when it should be step 6. Just noticed that. Sorry. :/
 
I like where redphone is going with this, it's a much cleaner vector, a couple changes to meet your requirements for no allowing transfers to 2000 and other extensions and when a non-existing number is dialed:


1 #
02 wait-time 1 secs hearing silence
03 collect 1 digits after announcement 6002 for C
04 goto vector 1 @step 1 if digits = 9
05 goto step 7 if unconditionally
06 stop
07 collect 3 digits after announcement none for none
08 set digits = digits CATL C
09 goto step 2 if digits < 1000
10 goto step 12 if digits in table 1 (say they dialied 2, 000, then it goes to 12, clears digits and starts over)
11 route-to digits with coverage y
12 announcement 6020
13 set digits = none add none
14 goto step 2 if unconditional
15 stop


- Stinney
"Scire ubi aliquid invenire possis, ea demum maxima pars eruditionis est"

"To know where to find anything is, after all, the greatest part of education"

 
ok So it is working now !! I can dial any 4 digits extension, and any invalid extension will get a wrong message announcement, and go back to beginning of vector. 12 steps is a LOT better than 70+ steps. My only concernt will be, can this handle high call volumes with one variable constantly changing ?





01 wait-time 0 secs hearing silence
02 collect 1 digits after announcement 6002 for C
03 goto vector 1 @step 1 if digits = 9
04 goto step 6 if unconditionally
05 stop
06 collect 3 digits after announcement none for none
07 set digits = digits CATL C
08 goto step 2 if digits < 900
09 route-to digits with coverage y
10 announcement 6020
11 goto step 2 if unconditionally
12 stop
 
One correction. Change the Scope to (L)ocal. This will handle the high call volume by assigning it on a per call basis.

Code:
Var Description                 Type    Scope Length Start Assignment       VAC
A   
B  
C                               collect [b]L[/b]     1      1
 
Alright Done, it is being testing now, will go live monday probably. Thank you everyone for your help. This has been a interesting problem for me, my company and users will much appreciate it.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top