We are very open when it comes to people contributing code to this project. In order to make life easier, here is the preferred method to contribute code:

For bug fixes and security updates in Master branch:

  1. Fork the Master Branch into your own personal Github account
  2. Update your local fork
  3. Generate a pull request from your own fork over to our Master Branch

For new features and improvement:

  1. Fork the Development Branch into your own personal Github account
  2. Update your local fork
  3. Generate a pull request from your own fork over to our development branch

We will do our best to go over the various contributions as fast as possible. Bug fixes and security updates will be handled faster – feature improvements will be added to the next major release.

Our IDE of choice is phpStorm from JetBrains ( – we use the default styling, so no need to change that. If you use a different IDE, please make sure you update your IDE to support the internal styling of the project, so that you don’t break the general code styling.

Make sure to document your code – once it’s merged in, we will need to keep working on your code, so please make sure your documentation will be clear and concise, so we can continue your work (as required).

Our objective is to involve the community as much as possible, so feel free to jump in and assist. Contibutions to the project will automatically put your name into the file, so that everybody will see your coolness and greatness supporting the Open Source movement and the continuation of this project.

6 comments for “Contributing

  1. May 25, 2015 at 5:27 am

    How can I sue PHP ARI and Asterisk ARI with secure HTTPS ? HTTP is working, but when I am trying for HTTPS it is not working.

    • admin
      May 25, 2015 at 5:30 am

      For HTTPS to work, you need to enable certificates. Did you create the proper private certificates for your installation?

      Something got lost in the translation – “How can I sue”?

  2. pieter
    June 10, 2016 at 11:03 am

    Is any of the admins still active, I see its been a while for updates, im going to be doing forks and updates just wondering how active pulls will be checked

    • admin
      February 23, 2017 at 7:27 am

      Hi Pieter,

      Pull requests are welcome – we are simply busy with real life and the library works, so we didn’t get
      much time to update it.

  3. Incntarxl
    December 6, 2016 at 10:13 am

    I am having following issues
    Starting Stasis Program… Waiting for handshake… 2016-12-06T05:12:17-05:00 INFO (6): Initializing Handlers… Waiting for handshake… 2016-12-06T05:12:17-05:00 INFO (6): Connecting… Waiting for handshake… 2016-12-06T05:12:17-05:00 ERR (3): React\SocketClient\ConnectionException: Connection refused in /var/www/html/phpari-master/vendor/react/socket-client/src/Connector.php:75 Stack trace: #0 /var/www/html/phpari-master/vendor/react/promise/src/FulfilledPromise.php(25): React\SocketClient\Connector->checkConnectedSocket(Resource id #5) #1 /var/www/html/phpari-master/vendor/react/promise/src/Promise.php(119): React\Promise\FulfilledPromise->then(Array, NULL) #2 /var/www/html/phpari-master/vendor/react/promise/src/Promise.php(164): React\Promise\Promise->React\Promise\{closure}(Object(React\Promise\FulfilledPromise)) #3 /var/www/html/phpari-master/vendor/react/promise/src/Promise.php(133): React\Promise\Promise->settle(Object(React\Promise\FulfilledPromise)) #4 /var/www/html/phpari-master/vendor/react/promise/src/Promise.php(182): React\Promise\Promise->resolve(Resource id #5) #5 [internal function]: React\Promise\Promise->React\Promise\{closure}(Resource id #5) #6 /var/www/html/phpari-master/vendor/react/promise/src/Deferred.php(35): call_user_func(Object(Closure), Resource id #5) #7 /var/www/html/phpari-master/vendor/react/socket-client/src/Connector.php(64): React\Promise\Deferred->resolve(Resource id #5) #8 [internal function]: React\SocketClient\Connector->React\SocketClient\{closure}(Resource id #5, Object(React\EventLoop\StreamSelectLoop)) #9 /var/www/html/phpari-master/vendor/react/event-loop/src/StreamSelectLoop.php(240): call_user_func(Object(Closure), Resource id #5, Object(React\EventLoop\StreamSelectLoop)) #10 /var/www/html/phpari-master/vendor/react/event-loop/src/StreamSelectLoop.php(201): React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL) #11 /var/www/html/phpari-master/sample.php(152): React\EventLoop\StreamSelectLoop->run() #12 /var/www/html/phpari-master/sample.php(170): BasicStasisApplication->execute() #13 {main}

    • admin
      February 23, 2017 at 7:31 am

      Seems like your ARI configuration and your phpari.ini file are mismatching, as the websocket can’t connect.
      Can you post your configurations in some form?

Leave a Reply

Your email address will not be published. Required fields are marked *

Please Do the Math