Newer
Older
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
Vtiger Asterisk Connector is light weight JAVA application used for routing calls that land on Asterisk to Vtiger. It
periodically posts the call events that are triggered by Asterisk and let Vtiger decide on the next action that needs
to be done.
Connector internally has two different JAVA applications
1. vtigeragi
2. vtigerwebapp
"vtigeragi" refers to Vtiger Asterisk Gateway Interface, it acts as an gateway between Asterisk and Vtiger.
It uses asterisk-java library and provides wrapper APIs to communicate with asterisk, listens to the events that are
triggered by asterisk. vtigeragi is listening for asterisk events on default port(4573).
Note:
To make vtigeragi default port as configurable port, fastagi.properties file needs to be included in class path with following contents.
* bindPort = 4573
For more information refer https://asterisk-java.org/tutorial/
"vtigerwebapp" is JAVA MAVEN web application, it is used by vtigeragi to communicate with Vtiger. All the events that are
triggered by vtigeragi is logged into connector database and same is posted to Vtiger. All the communication between
vtigeragi and vtigerwebapp is done using servlets. This uses JETTY server bundled within the application and runs on the
port that is configured in VtigerAsteriskConnector.properties file.
Connector uses Sqlite database handler to store events triggered by asterisk and local path info for call recording files.
Connector is designed to obfuscate the source files. For more information on obfuscation, please refer http://proguard.sourceforge.net/
Follow below steps to create and build the project from IDE.
1. vtigeragi
Create new java application in any IDE like NetBeans using existing source and set following project properties.
* Set Main Class = org.asteriskjava.Cli
* Include following libraries in class path
a. asterisk-java-1.0.0.M3.jar
b. commons-codec-1.6.jar
c. commons-logging-1.1.3.jar
d. httpclient-4.3.1.jar
e. httpclient-cache-4.3.1.jar
f. httpcore-4.3.jar
g. httpmime-4.3.1.jar
h. slf4j-api-1.6.1.jar
i. slf4j-log4j12-1.6.1.jar
j. log4j-1.2.16.jar
Once the properties are configured, use the build option in IDE to create a JAR file. For more information refer build.xml to know/change properties about the JAR file.
2. vtigerwebapp
Create new MAVEN web application in any IDE like NetBeans using existing source and set following properties.
* Copy existing pom.xml to newly created project/Create project using existing pom.xml
* Include following dependencies
a. asterisk-java-1.0.0.M3.jar
b. commons-logging-1.1.3.jar
c. javax.servlet-api-3.0.1.jar
d. jetty-all-server-8.1.14.v20131031.jar
e. org.jbundle.util.osgi.wrapped.org.apache.http.client-4.1.2.jar
f. slf4j-api-1.6.1.jar
g. log4j-1.2.16.jar
h. slf4j-log4j12-1.6.1.jar
* Copy the src folder from existing source to newly created project source
Once the properties are configured, use the build option in IDE to build the WAR file.
Once building process for both connector components are completed, then run package.sh script to generate distributable ZIP file.