Remote Agents

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

On this page:

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.

1 Installation

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 Asterisk Server (Vanilla) Installation.

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.

service iSymphonyServerV3 stop

Once you have a plain iSymphony Server Installation that is not running we can begin modifying the configuration.

Warning

The iSymphony Agent Server version and revision must match that of the main iSymphony Server.

2. Configuration

We need to modify the iSymphony Server configuration in order to run the Server as an Agent only.

  1. Delete the default Core Server

    rm -rf /opt/isymphony3/server/conf/servers/default
  2. Open the file /opt/isymphony3/server/conf/main.xml.
  3. Disable all servlets except the Agent servlet like so.

    <Configuration>
        <Server enabled="false">
            <BrokerConnection host="localhost" port="51000" transport="vm"/>
            <Web port="58080" sslPort="55050"/>
        </Server>
        <CommunicationManager enabled="false"/>
        <AdministrationInterface enabled="false"/>
        <ClientInterface enabled="false"/>
        <Agent enabled="true"/>
        <Repositories>
            <Repository>http://lambda.i9technologies.com/isymphony/beta</Repository>
        </Repositories>
    </Configuration>
  4. Open the file /opt/isymphony3/server/jvm.args.
  5. Add the following line to the end of the file:

    -Dcom.xmlnamespace.panel.framework.jms.broker_url=tcp://<hostname>:51000

    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. 

  6. Open the file /opt/isymphony3/server/conf/agent/voicemail.xml.
  7. Modify the VoicemailAgent identifier to a unique name. 

    Warning

    The identifier must be unique among all agents attached to the main iSymphony Server including both Voicemail and Recording agents.

    <Configuration>
        <VoicemailAgent identifier="remote1-vm" rootDirectory="/var/spool/asterisk/voicemail"/>
        <Resource host="localhost" extension="wav"/>
    </Configuration>
  8. Set the Resourcehost to the public ip or hostname of the PBX. Also set the file extension you wish to use for Voicemail playback.

    <Configuration>
        <VoicemailAgent identifier="remote1-vm" rootDirectory="/var/spool/asterisk/voicemail"/>
        <Resource host="[the public IP or hostname of the PBX]" extension="wav"/>
    </Configuration>
  9. 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.
  10. 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.
  11. Start the iSymphony Server Agent using the following commands:

    RPM

     service iSymphonyServerV3 start

    Tarball

    /opt/isymphony3/server/startup.sh
  12. Log into the iSymphony Administration Interface on the main iSymphony Server.
  13. Navigate to the Core Server Configuration page.
  14. 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.
  15. Navigate to the PBX Connection that the Agent is managing recordings for.
  16. In the Recording Agent list select the Recording Agent you just added and save the configuration.

3. Extra Steps For FreePBX

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.

  1. Log into FreePBX.
  2. Navigate to the iSymphony FreePBX Module Page. See FreePBX Module Administration for more information.
  3. Under Voicemail Agent Settings set the Identifier field to the identifier that you assigned to the Voicemail Agent in voicemail.xml.
  4. Set the Resource Host and Resource Extension fields in the Voicemail Agent Settings section to the same values you specified in voicemail.xml.
  5. Under Recording Agent Settings set the Identifier field to the identifier that you assigned to the Recording Agent in recording.xml.
  6. Set the Resource Host and Resource Extension fields in the Recording Agent Settings section to the same values you specified in recording.xml.
  7. Save the configuration and Apply Config in FreePBX.