Any step-by-step installing FOP2 on separate server from *?

I'm hoping either someone can help with something that seems it might be fairly simple, or that there's a step-by-step guide for setting FOP2 up on a server separate from the Asterisk PBX.

Here's where I'm at:
I get an "OK!" from the manager connection test, but I also get the following from "-X 15":

"cat: /etc/asterisk/voicemail.conf: No such file or directory

Can't listen to port 4445"

The webserver (for FOP2) is Ubuntu 13.04, the PBX is CentOS 6.4

Any help is greatly appreciated.

Comments

  • I think I replied already for your errors (comment the #exec line, check if fop2 is already running or if you have fop1 which must be stopped).

    As for the separate server, if you configured buttons manually, then you do not need to do anything else, as the manager connection is made with no errors.. everything should work.

    Best regards,
  • Commenting that line got rid of the voicemail.conf "error", but I'm not sure whether I want to create my buttons manually. Can you point me to an explanation of why I'd want to create them manually? I'd rather pull as much info as possible from the PBX.

    After commenting that out, I still get this:
    bind: Address already in use at script/fop2_server.pl line 10272
    

    when I checked on port 4445, I get:
    tcp        0      0 0.0.0.0:4445            0.0.0.0:*               LISTEN      2316/fop2_serve
    

    Is it possible I have two instances of FOP2 running?

    These are both new servers, FOP1 has never been installed on them.
  • Hi,

    You cannot pull information from Asterisk to get a full working configuration, as Asterisk needs lots of "glue" to make a PBX, you can list SIP peers, but you do not know what extensions are tied to them, the same for voicemailboxes, etc.

    FOP2 provides scripts for autoconfiguration for FreePBX, that provides that "glue". If you use vanilla Asterisk, then *you* can create your own set of scripts based on your own logic/glue. It is just *not possible* to infere all the needed configuration just by polling asterisk config data.

    So, if you want to pull information for the PBX you can write your scripts to do so, or you can configure things manually.

    Regarding the running instance, I said it before, fop2 is *already running*, you cannot run it again unless you kill the previous instance. You probably have the init script installed, so try

    /etc/init.d/fop2 stop
    /etc/init.d/fop2 start
    /etc/init.d/fop2 restart
    etc..
  • I think the last piece of my puzzle is that I can't make, accept or transfer calls from the panel.

    I'm able to see all my extensions and groups, etc. And I can see all the call activity in the panel, but I can't dial out or interact with the physical phones in any way from the panel.

    Is there full documentation on non-FreePBX installs that covers this stuff?
  • The documentation is online. You are probably lacking of permissions in /etc/asterisk/manager.conf, you might want to create a user like the one described in this post:

    http://www.fop2.com/blog/make-fop2-snap ... ventfilter

    Best regards,
  • Well, I have permissions set to "all" for now.

    I can get it to see statuses, etc. but I cannot get it to dial out at all.

    I'm almost certain we're going to go with FOP2, so I think it's time to get the license and buy some support time.

    I think I need myself, my PBX guy and one of your guys to get together for a half hour to an hour and hash out the missing pieces (unless this is an easy fix at this point, which it may well be)

    edit: I also can't get chat to work (I can't even see how it's initiated) if chat doesn't work, that's a definite deal-killer.
  • The webserver (for FOP2) is Ubuntu 13.04, the PBX is CentOS 6.4.

    Hi Because your running Centos 6.4 you need to configure FOP2 to run as a Centos 5 process see below:

    We are working on a custom binary for Centos 6. In the meantime, you can use the Centos 5 binary, the only thing to do is to create a symlink for libcrypto so it works correctly:

    In a 64 bit system the command is:
    ln -s /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6
    In a 32 bit system the command is:
    ln -s /usr/lib/libcrypto.so.10 /usr/lib/libcrypto.so.6
  • I made that change and still can't initiate a call from the Panel.
  • This might be a really stupid question, but I'm getting desparate.

    Does the FOP2 service need to be installed-on/running-on the PBX?

    The way I have it, the only changes that have been made to the PBX would be to configure the manager.conf file and ensuring that sip.conf has "callevents=yes" and that queues.conf has "eventwhencalled=yes"

    Everything else that's been done has been on the webserver/fop2-server side (the Ubuntu VM)
  • I'm going out on limb here having been a newcomer to FOP2 but in most instances I would expect FOP2 to be on the same server as Asterisk, and the AMI.

    However having said that if you have FOP2 running on another web server and you have ensured that it is configured to connect to another server hosting Asterisk and the AMI and the required connecting ports are open along with using the correct AMI authentication as defined in

    /etc/asterisk/manager.conf
    and
    /usr/local/fop2/fop2.cfg

    Then in theory this would also work, Some more experienced users please correct me if I am wrong.

    Also when testing using /usr/local/fop2/fop2_server --test

    Would confirm that FOP2 can talk to Asterisk AMI
  • Having a correct path of communication between the fop2 server and AMI is important, but it is not the only thing needed in order to send *correct* commands to Asterisk. I put emphasis in *correct*.

    In general, for every command to work -except for hangup or record-, you have to configure an extension and context in the button definition that must match your dialplan, as set in asterisk's extensions.conf. Also, you need the "originate" permission in /etc/asterisk/manager.conf

    If you want to troubleshot, you need to start fop2 with debug level 15 and then inspect the output when you try to originate a call, to start fop2 in debug mode you have to pass -X 15 to the startup command.. you can do something like this

    killall fop2_server
    cd /usr/local/fop2
    script capture.log
    ./fop2_server.pl -X 15
    (connect to fop2, try to originate/dial a call)
    ctrl-C
    exit

    at this point you have a capture.log file to inspect.

    My guess? You might have incorrect extenxion/context configured in your buttons, you might lack the originate permission in manager.conf.
  • It looks like our Asterisk guy changed the context to something other than the default "from-internal" to "phones".

    I had him create a new context to mirror "phones" called "flash-op" and it works like a charm.

    Thanks to the awesome chat support guys here who helped me out with this.
  • I have the fop2 installed on a separate non PBX server and it seems that everything is working as it should aside from the Phonebook. I tried installing the Phonebook, however on the step of creating the table I received this error:
    -bash: mysql.db: No such file or directory
    Am I missing something? The fop2 database was created properly and the mysql is running.
  • I have the fop2 installed on a separate non PBX server and it seems that everything is working as it should aside from the Phonebook. I tried installing the Phonebook, however on the step of creating the table I received this error:
    -bash: mysql.db: No such file or directory
    Am I missing something? The fop2 database was created properly and the mysql is running.

    In the latest fop2 versions there is no need to create the tables, they will be autocreated if they are missing.

    Did you setup proper mysql credentials in config.php?
  • This is what I got when I click the phone book icon:
    "You do not have permissions to access this resource." However the permission on the user is set to "all"
    Below is the config.php:
    $DBHOST = 'localhost';
    $DBNAME = 'fop2';
    $DBUSER = 'fop2';
    $DBPASS = 'mysld root password';
  • Also I check the fop2 database, it is created but there are no tables in it.
  • I turned on the debug and this is what I got: By the way I use the root user and root password for the mysql on the config.php file.
    notice
    /var/www/html/fop2/lib/dblib.php (line 390)

    mysql_close() expects parameter 1 to be resource, boolean given
    notice
    /var/www/html/fop2/lib/dblib.php (line 80)


    mysql_query() expects parameter 2 to be resource, boolean given
    notice
    /var/www/html/fop2/lib/dblib.php (line 234)


    mysql_fetch_assoc() expects parameter 1 to be resource, null given
    notice
    /var/www/html/fop2/lib/dblib.php (line 80)


    mysql_query() expects parameter 2 to be resource, boolean given
    notice
    /var/www/html/fop2/lib/dblib.php (line 80)


    mysql_query() expects parameter 2 to be resource, boolean given
    Phonebook

    notice
    /var/www/html/fop2/lib/dblib.php (line 390)


    mysql_close() expects parameter 1 to be resource, boolean given
  • You said you used root user pass in config, but the thing you copied from your config.php has the "fop2" mysql user.. are you sure you got the mysql credentials set up correctly?

    There is one thing you might want to comment to prevent warnings that will distract more than help troubleshooting, look in config.php for this line:

    set_config($DBSETUP);

    And remove it.
  • Sorry but here is the config on config.php:
    $DBHOST = 'localhost';
    $DBNAME = 'fop2';
    $DBUSER = 'root';
    $DBPASS = 'mysld root password';
    johnny2000

    Posts: 4
    Joined: Sun Feb 16, 2014 7:36 pm
  • Did you comment or remove the set_config line? My guess is still that your mysql credentials are wrong.
  • I commented it out and the result is similar:
    notice
    /var/www/html/fop2/lib/dblib.php (line 390)

    mysql_close() expects parameter 1 to be resource, boolean given
    notice
    /var/www/html/fop2/lib/dblib.php (line 80)

    mysql_query() expects parameter 2 to be resource, boolean given
    notice
    /var/www/html/fop2/lib/dblib.php (line 80)

    mysql_query() expects parameter 2 to be resource, boolean given
    Phonebook

    notice
    /var/www/html/fop2/lib/dblib.php (line 390)
  • By the way, as you mentioned that the database and tables will be created automatically with this version, so I drop the fop2 database that was created when I tried to install the phonebook manually. So there is no fop2 database in the mysql. I am trying to figure out which line on the config.php where the database is created and the table.
  • I still believe your mysql credentials are wrong. Did you try to connect to mysql with the *exact* parameters you have in config.php? Try to catch me on the live help to give me access to your server, there is no quick way we could fix this here in the forum.
  • By the way, as you mentioned that the database and tables will be created automatically with this version, so I drop the fop2 database that was created when I tried to install the phonebook manually. So there is no fop2 database in the mysql. I am trying to figure out which line on the config.php where the database is created and the table.

    No, I never mentioned that the DATABASE is created, only the TABLES. So, create the fop2 database again. The phonebook.php script will create the visual_phonebook table if it does not exists.
  • I created the fop2 database, and I did try to connect to fop2 database using the user root and password for root, and no problem connecting to database. I restarted the fop2 service and the error is similar but only 1 line. I commented the
    // set_config($DBSETUP);
    Below is the result:
    notice
    /var/www/html/fop2/phonebook.php (line 42)

    Undefined index: phonebook
    You do not have permissions to access this resource.

    I will try to catch you on the live help, if there is nothing we can do here in the forum. Thanks very much.
  • That last one is not an error, if you look you will see that the table is most probably created. Is it? You are probably lacking permissions to open the phonebook or the php sessions are broken.

    Best regards,
  • I just check the fop2 database and it is empty, no tables were created.
  • After checking and correcting the credentials, I still get one line of the "notice". But finally I have it working even the seLinux is running. Below are the boolean that I turned on with in seLinux.

    setsebool -P telepathy_tcp_connect_generic_network_ports 1
    setsebool -P httpd_can_network_connect 1
    setsebool -P allow_user_mysql_connect 1
    setsebool -P httpd_can_network_connect_db 1

    After turning it on, everything works. Thanks Nico.
Sign In or Register to comment.