-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTransCall1.java
More file actions
130 lines (113 loc) · 3.61 KB
/
Copy pathTransCall1.java
File metadata and controls
130 lines (113 loc) · 3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import org.asteriskjava.manager.AuthenticationFailedException;
import org.asteriskjava.manager.DefaultManagerConnection;
import org.asteriskjava.manager.ManagerConnection;
import org.asteriskjava.manager.TimeoutException;
import org.asteriskjava.manager.action.CommandAction;
//import org.asteriskjava.manager.action.EventsAction;
import org.asteriskjava.manager.action.OriginateAction;
/*import org.asteriskjava.manager.action.ParkAction;
import org.asteriskjava.manager.action.RedirectAction;
import org.asteriskjava.manager.event.HoldEvent;
import org.asteriskjava.manager.event.HoldedCallEvent;*/
import org.asteriskjava.manager.response.CommandResponse;
import org.asteriskjava.manager.response.ManagerResponse;
public class TransCall1 {
private ManagerConnection mc;
Scanner s=new Scanner(System.in);
String c1,c2;
ManagerResponse mr=new ManagerResponse();
public TransCall1() {
mc=new DefaultManagerConnection("localhost","admin","asterisk@321");
}
public void run(String args1,String args2) throws InterruptedException{
try
{
mc.login();
CommandAction action;
CommandResponse response;
List<String> list = new ArrayList<String>();
String[] str;
String[] str2;
String s1,s2,sub;
action = new CommandAction();
action.setCommand("core show channels verbose");
response = (CommandResponse) mc.sendAction(action);
list = response.getResult();
//System.out.println(list.size()-3);
str=new String[list.size()-3];
str2=new String[list.size()-3];
int i = 0;
while ( i <list.size()-3)
{
str[i]=list.get(i);
//System.out.println(str[i]);
i++;
}
//System.out.println(str[0]);
i=0;
do
{
s1=str[0];
//s2=str[i];
int x=s1.indexOf("Extension");
int y=s1.indexOf("Prio");
sub=str[i].substring(x,y-1).trim();
//System.out.println(sub);
str2[i]=sub;
i++;
}while ( i <list.size()-3);
//System.out.println("Enter extension to disconnect");
String c1=args1;
String c2=args2;
int j=0;
while(j< str2.length){
if(c1.equals(str2[j]))
{
int ext_place=j;
s1=str[0];
s2=str[ext_place];
int x=s1.indexOf("Channel");
int y=s1.indexOf("Context");
sub=s2.substring(x,y-1).trim();
//System.out.println(sub);
c1=sub;
}
if(c2.equals(str2[j]))
{
int ext_place=j;
s1=str[0];
s2=str[ext_place];
int x=s1.indexOf("Channel");
int y=s1.indexOf("Context");
sub=s2.substring(x,y-1).trim();
//System.out.println(sub);
c2=sub;
}
j++;
}
//System.out.println("Enter channel 2");
//c2=s.next();
OriginateAction oa=new OriginateAction();
oa.setChannel("SIP/5221");
oa.setContext("from-internal");
oa.setPriority(1);
oa.setExten("1234");
//RedirectAction pa=new RedirectAction(oa);
mr=mc.sendAction(oa);
//System.out.println(mr.getMessage());
//HoldEvent he=new HoldEvent(pa);
//System.out.println(he.toString());
mc.logoff();
} catch (IllegalStateException | IOException | AuthenticationFailedException | TimeoutException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws InterruptedException {
TransCall1 hc=new TransCall1();
hc.run(args[0],args[1]);
}
}