Code Monkey home page Code Monkey logo

framework's Introduction

  ___               _          _ 
 |_ _|___ ___  __ _| |__   ___| |
  | |/ __/ __|/ _` | '_ \ / _ \ |
  | |\__ \__ \ (_| | |_) |  __/ |
 |___|___/___/\__,_|_.__/ \___|_|

Issabel is an open source distribution and GUI for Unified Communications systems forked from Elastix©

It uses the Asterisk© open source PBX software as its core.

Framework

Main GUI Framework for Issabel.

License

GPLv2 or Later

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

framework's People

Contributors

asternic avatar gregmbs avatar hgmnetwork avatar ibinetwork avatar lordbasex avatar venturinog avatar zhulizhong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

framework's Issues

PBX Menu

The Main PBX Menu. you happen to forget to add Phone Book to the Advanced Tab

Also Need to set a way to Change the (Non-embedded) to IssabelPBX So that you can hide it under the group perrmission.

I always get this error

Syntax error, unexpected '!' in /etc/issabel.conf on line 1

[pbxapi/lib/base.php:2174] Base->error()
[pbxapi/index.php:33] parse_ini_file()

API sets wrong month on time groups

You should correct the framework/html/pbxapi/controllers/timegroups.php because as it is won’t properly configure months (it only allows numeric months but that will result in the asterisk ignoring the month).

Suggestion:

$validmonths = array('jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec');

        } else if ($key=='start_month') {
            if(!in_array($finalval[$key],$validmonths)) {
                $errors[]=array('status'=>'422','source'=>'start_month','detail'=>'Incorrect format. Allowed values: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec or *');
            }
        } else if ($key=='end_month') {
            if(!in_array($finalval[$key],$validmonths)) {
                $errors[]=array('status'=>'422','source'=>'end_month','detail'=>'Incorrect format. Allowed values: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec');
            }

Add option Multicast paging

Could you add somewhere to the paging as to setup a Multicast paging. Right now have to set it up in the extensions_custom.conf File

We happen to add this.

exten => 77,1,Dial(MulticastRTP/basic/224.0.0.1:1234)

if you could add it. It will be nice. Or even set it up to where you can add more then one multicast also. Like.
exten => 77,1,Dial(MulticastRTP/basic/224.0.0.1:1234)
exten => 78,1,Dial(MulticastRTP/basic/224.0.0.2:1235)

Thanks.

Recording Options don't work when creating extension

The api documentation says that it is possible to pass the following parameters:

recording_in_internal: always
recording_in_external: always
recording_out_internal: always
recording_out_external: always

To enable extension recordings, but these parameters are not working. Extensions are always being created with 'dontcare'.

Looking at the api code in /var/www/html/pbxapi/controllers/extension.php in lines 512 to 515 it is possible to see that there are validations for the following parameters: recording.inbound_external, recording.inbound_internal, recording.outbound_external, recording.outbound_internal are not received, by default they will be 'dontcare'. Example:

$RECINEXT = isset($post['recording.inbound_external'])?$post['recording.inbound_external']:'dontcare';

I think here we have the first error: the name of the parameters in validation is different from what was documented, causing the Recording Options not to work when passing the parameters that was documented.

I did tests passing the parameters as lines 512-515 expect, but I still got 'dontcare', so I found the possible second error.

In line 898 of the file /var/www/html/pbxapi/controllers/extension.php, it renames the received parameters according to the variable $field_map, declared in the same file in line 42, causing the parameters of the Recording Options to be renamed as follows:

'recording.inbound_external' = 'astdb.ampusers.recording/in/external'
'recording.inbound_internal' = 'astdb.ampusers.recording/in/internal'
'recording.outbound_external' = 'astdb.ampusers.recording/out/external'
'recording.outbound_internal' = 'astdb.ampusers.recording/out/internal'

The parameters are now called 'astdb.ampusers.recording/in/external', 'astdb.ampusers.recording/in/internal', 'astdb.ampusers.recording/out/external', 'astdb.ampusers.recording/out/ internal', different from what lines 512-515 expect, causing the value to always be 'dontcare'.

Could you fix that? Thanks!

Edit: My suggestion for correction: change lines 512-515 to:
$RECINEXT = isset($post['astdb.ampusers.recording/in/external'])?$post['astdb.ampusers.recording/in/external']:'dontcare'; $RECININT = isset($post['astdb.ampusers.recording/in/internal'])?$post['astdb.ampusers.recording/in/internal']:'dontcare'; $RECOUTEXT = isset($post['astdb.ampusers.recording/out/external'])?post['astdb.ampusers.recording/out/external']:'dontcare'; $RECOUTINT = isset($post['astdb.ampusers.recording/out/internal'])?post['astdb.ampusers.recording/out/internal']:'dontcare';

SUDOERS files get replaced or overwritten by ISSABEL install

Hi,

I found out (the hard way) that by using the netinstall script for ISSABEL4 on a prepared clean and hardnened CentOS 7 platform, the script or one of ISSABEL packages completely replaces or overwrites our sudoers file in /etc/sudoers

This should not happen, it should update the existing file with the details ofr asterisk/issabel, but not overwrite it.

How can we prevent this? And can this be fixed in the installation?

Thanks

Add option

Would there a way that we can get valet parking added. So we can park direct to park zone and not have to use the Parking Lot Ext.

Also Is there a way to get multi parking lots setup. Something like the paid of free will do?

dialparties.agi permission denied

got an issue, where a timecondition pointed to an extension or virtual extension, where follow me redirected to an external number. this did not work, and on log I could see permission denied for dialparties.agi.
fixed it using an old thread on elastix fforum ( https://www.elastix.org/community/threads/dialparties-permission-problem.129534/).

You may edit:
/var/lib/asterisk/bin/retrieve_conf
/var/www/html/admin/modules/framework/bin/retrieve_conf

and under the cp_subdirs function change 0754 to 0755

then execute:
/var/lib/asterisk/bin/retrieve_conf
asterisk -rx "module reload"

Bug in Multi Parking

https://forum.issabel.org/d/3362-bug-multi-parking

there is a bug with the multi parking

I have two setup. One is the default lots.

Parking lot Ext =700
Parking lot =701-703

Setup an other one
Parking Lot Ext =710
Parking lots =711-713

When put a call into 700. It will put the call into parking 701 like it should.
but the problem is that when you put a call into lot 710. It will park the call into 701 not 711

Also is there a way to get the option added to have where you can put a call direct to 701 or 711 without needing the use 700 or 710

PBXAPI Not Applying Extension Changes

PBXAPI does not seem to apply changes to extensions e.g Outbound CID setting:

https://github.com/IssabelFoundation/framework/blob/master/framework/html/pbxapi/controllers/extensions.php

Going to the PBX Web Interface and clicking "Save" then "Apply Changes" on the specific Extension makes the updates work.

Running /usr/bin/issabel-helper applychanges Manually does not seem to apply the changes either.

Example CURL Request to PBXAPI:

curl -X PUT -H 'Accept: /' -H 'Accept-Encoding: gzip, deflate' -H 'Authorization: Bearer..-' -H 'Connection: keep-alive' -H 'Content-Length: 32' -H 'Content-Type: application/json' -H 'User-Agent: python-requests/2.25.1' -d '{"outboundcid": "555123"}' https://issabel.local/pbxapi/extensions/1001

Menu search slow

image

Low importance issue,

Each key stroke send request to server,,

Instead can search using js function

[PATCH] Adding external authentication to Issabel

I've produced a patch/POC to enable in Issabel authentication using external sources. This patch is working in my production environment, but clearly need work to be integrated.

First patch modify login input, because i've not found a way to pass to authenticateUser() the non-md5 password; probably this is a big security hole (i suspect that the plaintext password is then saved to session cookie...) but it works.

index.php.diff.txt

Second patch modify authenticateUser() decoupling check for user existance in the db for the effective password check; i've addedd an LDAP/AD password check and an example, untested, code to login to an POP/IMAP server. Last i've keeped the original code that check against md5 password on the DB.

paloSantoACL.class.php.diff.txt

I'm seeking feedback, expecially for the security things.

Thanks.

Additional themes

yum install issabel-framework-themes-extra doesn't install extra themes.

I was able to do it by using rpm -Uvh http://repo.elastix.org/elastix/4/extras/x86_64/RPMS/elastix-framework-themes-extra-4.0.0-18.noarch.rpm

That installs extra themes in /var/www/html/themes which can then be selected in the GUI. I can't find these themes here so perhaps we can create a repository for them?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.