Wiki source code of Remote Agents

Last modified by superadmin on 2021/09/09 20:55

Show last authors
1 **//On this page~://**
2
3
4
5 {{toc/}}
6
7 When the iSymphony Server is running remotely from the PBX the iSymphony Server requires an Agent to be running on the PBX in order to relay information about Voicemail and Recording files back to the iSymphony Server.
8
9 = 1 Installation =
10
11 An iSymphony Agent is nothing more than the normal iSymphony Server with the majority of the functionality turned off. For instructions on how to install the base iSymphony Server see [[doc:iSymphony 3\.5 Documentation.iSymphony Installation and Update Guide.Installing iSymphony.Asterisk Server (Vanilla) Installation.WebHome]].
12
13 Do not start the server. If you are using the RPM installation the server will be started automatically on install. If this is the case use the following command to stop the server.
14
15 {{code language="bash"}}
16 service iSymphonyServerV3 stop
17 {{/code}}
18
19 Once you have a plain iSymphony Server Installation that is not running we can begin modifying the configuration.
20
21 {{note}}
22 The iSymphony Agent Server version and revision must match that of the main iSymphony Server.
23 {{/note}}
24
25 = 2. Configuration =
26
27 We need to modify the iSymphony Server configuration in order to run the Server as an Agent only.
28
29 1. (((
30 Delete the default Core Server
31
32 {{code language="bash"}}
33 rm -rf /opt/isymphony3/server/conf/servers/default
34 {{/code}}
35 )))
36 1. Open the file **/opt/isymphony3/server/conf/main.xml**.
37 1. (((
38 Disable all servlets except the Agent servlet like so.
39
40 {{code language="xml"}}
41 <Configuration>
42 <Server enabled="false">
43 <BrokerConnection host="localhost" port="51000" transport="vm"/>
44 <Web port="58080" sslPort="55050"/>
45 </Server>
46 <CommunicationManager enabled="false"/>
47 <AdministrationInterface enabled="false"/>
48 <ClientInterface enabled="false"/>
49 <Agent enabled="true"/>
50 <Repositories>
51 <Repository>http://lambda.i9technologies.com/isymphony/beta</Repository>
52 </Repositories>
53 </Configuration>
54 {{/code}}
55 )))
56 1. Open the file** /opt/isymphony3/server/jvm.args**.
57 1. (((
58 Add the following line to the end of the file:
59
60 {{code language="xml"}}
61 -Dcom.xmlnamespace.panel.framework.jms.broker_url=tcp://<hostname>:51000
62 {{/code}}
63
64 Be sure to modify the <hostname> parameter to match your main iSymphony server hostname, and if necessary, change the port number from 51000 to the port that you're using for your broker on your primary server.
65 )))
66 1. Open the file **/opt/isymphony3/server/conf/agent/voicemail.xml.**
67 1. (((
68 Modify the **VoicemailAgent identifier** to a unique name.
69
70 {{note}}
71 The identifier must be unique among all agents attached to the main iSymphony Server including both Voicemail and Recording agents.
72 {{/note}}
73
74 {{code language="xml"}}
75 <Configuration>
76 <VoicemailAgent identifier="remote1-vm" rootDirectory="/var/spool/asterisk/voicemail"/>
77 <Resource host="localhost" extension="wav"/>
78 </Configuration>
79 {{/code}}
80 )))
81 1. (((
82 Set the **Resourcehost** to the public ip or hostname of the PBX. Also set the file extension you wish to use for Voicemail playback.
83
84 {{code language="xml"}}
85 <Configuration>
86 <VoicemailAgent identifier="remote1-vm" rootDirectory="/var/spool/asterisk/voicemail"/>
87 <Resource host="[the public IP or hostname of the PBX]" extension="wav"/>
88 </Configuration>
89 {{/code}}
90 )))
91 1. Repeat steps 7 and 8 but with **/opt/isymphony3/server/conf/agent/recording.xml**. Make sure to not use the same agent **identifier** that you set for the Voicemail Agent.
92 1. Verify that there are no firewalls enabled that would prevent communication between the iSymphony Server and Agent on TCP port **51000**. You may have to configure your firewalls to allow communication on this port.
93 1. (((
94 Start the iSymphony Server Agent using the following commands:
95
96 **RPM**
97
98 {{code language="bash"}}
99  service iSymphonyServerV3 start
100 {{/code}}
101
102 **Tarball**
103
104 {{code language="bash"}}
105 /opt/isymphony3/server/startup.sh
106 {{/code}}
107 )))
108 1. Log into the [[iSymphony Administration Interface>>doc:iSymphony 3\.5 Documentation.iSymphony Administrator's Guide.Connecting to the Administration Interface.WebHome]] on the main iSymphony Server.
109 1. Navigate to the [[Core Server>>doc:iSymphony 3\.5 Documentation.iSymphony Administrator's Guide.Configuration.Core Servers.WebHome]] Configuration page.
110 1. You should see the new Voicemail Agent listed in the Voicemail Agent Section. Check off the new **Voicemail Agent** and save the Core Server configuration.
111 1. Navigate to the [[PBX Connection>>doc:iSymphony 3\.5 Documentation.iSymphony Administrator's Guide.Configuration.PBX Connections.WebHome]] that the Agent is managing recordings for.
112 1. In the **Recording Agent** list select the Recording Agent you just added and save the configuration.
113
114 = 3. Extra Steps For FreePBX =
115
116 If using the iSymphony FreePBX Module we need to inform the module of the newly added Agents so that we can modify the configuration of the new Agents from within FreePBX.
117
118 1. Log into FreePBX.
119 1. Navigate to the iSymphony FreePBX Module Page. See [[doc:iSymphony 3\.5 Documentation.iSymphony Administrator's Guide.FreePBX Module Administration.WebHome]] for more information.
120 1. Under **Voicemail Agent Settings** set the **Identifier** field to the identifier that you assigned to the Voicemail Agent in **voicemail.xml.**
121 1. Set the **Resource Host** and **Resource Extension** fields in the **Voicemail Agent Settings** section to the same values you specified in **voicemail.xml**.
122 1. Under **Recording Agent Settings** set the **Identifier** field to the identifier that you assigned to the Recording Agent in **recording.xml.**
123 1. Set the **Resource Host** and **Resource Extension** fields in the **Recording Agent Settings** section to the same values you specified in **recording.xml**.
124 1. Save the configuration and **Apply Config** in FreePBX.
iSymphony