Code Monkey home page Code Monkey logo

provisioner's Introduction

Quick Overview

-More Information can be found at: http://www.provisioner.net

General Files

autoload.php - Project Autoloader Class

packager.php - takes this project and combines it into tgz packages that can then be used on systems like Endpoint Manager for FreePBX

merge_data.php - Merges all json data into one json export depending on brand & family.

Samples

parse_csv.php - uses phones.csv to generate TFTPboot files

demo.php - Web based demo

process.php - Web based processor

display.php - Web based GUI

Tests

phpunittest.php - Requires phpunit (https://github.com/sebastianbergmann/phpunit/) used to test before release

check_json.php - Checks all json files for json error

report.sh - Generates all configs from all brands.

Includes

json.php - Needed for php less than 5.3

timezone.php - Needed for php less than 5.3

provisioner's People

Contributors

badfish69 avatar beppodotit avatar brycied00d avatar charlesrg avatar dazza76 avatar dbedoya avatar dfwbt avatar dmeiners-zz avatar dpaks51 avatar dschreiber avatar frifri avatar hamstercnw avatar jaybee- avatar jeremyrnelson avatar jmcguirl avatar jnovack avatar kiall avatar manageddc avatar mariedling avatar markstubb avatar mikemsd avatar p-walker avatar pedrokiefer avatar pointu avatar tdring avatar tm1000 avatar vsc55 avatar wolrah avatar xpedeus avatar xrobau 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  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  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  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  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  avatar  avatar  avatar  avatar

provisioner's Issues

Stuff & Stuff

neurosys: tm1000: in the sip.cfg they get strict. Works --> voIpProt.SIP.alertInfo.2.class="autoAnswer" voIpProt.SIP.alertInfo.2.value="answer"
[1:13pm] neurosys: tm1000: all sound points and VVX
[1:13pm] tm1000: ok

SPA525G Line and XML Issue

For example, if in the main manager screen you select line 5, but no other lines, the XML file will display line 5 twice and no line 1, instead of line 1, 2, 3, 4, 5 it will show line 5, 2, 3, 4 and 5, causing all sorts of issues with provisioning.

Grandstream 502/503 support

Greetings, would be nice if there was support for the Grandstream 502/503 Handy Tones. My 503 took forever to figure out and setup when i first set it up. Still playing with it. Looks like a nice unit but not always the easiest to configure.

Fix json error function with jaybee code

foreach (explode(" ","NONE DEPTH STATE_MISMATCH CTRL_CHAR SYNTAX UTF8") AS $key=>$value) {$value='JSON_ERROR_$value'; if (!defined($value)) {define($value,$key)}}; if(!function_exists('json_last_error')) { function json_last_error() { return JSON_ERROR_NONE; } }

Grandstream static IP provisioning

We want to activate Grandstream phones provisioning using static IP, so we want to set the static IP address parameters, dns parameters, subnet mask parameters, and gateway parameters (P9 - P28, P92 - P95), as well as the IP address mode parameter (P8). We know IP address mode parameter is a number, so we want to reasign the value of the connection_type variable to store the code number instead of the connection type string selected (static or dhcp). Also, we want to create a set of new variables containing the octects of the rest of parameters needded. We want to make these changes in the phone.php file of each family inside Grandstream brand. Do you think this is the right place to do it?

yealink - pc port should default to bridge

endpoint/yealink/t2x/network_22.xml
endpoint/yealink/t3x/network_22.xml

Line 75 on both files, should be set to a default value of 1 bridge mode. Currently it is setup to act as a router on the pc port by default. Acting as a router is not a default behavior on most phones. Yealink by default is set to bridge mode.

Codec/Audio Selection = Controlled by FreePBX

I'm using a Yealink T26, when I go to edit Specific. There are 3 codec selection boxes and a Controlled by FreePBX check box. My question is, are the codec preferences being pulled from Asterisk SIP Settings? I tried rearranging the code pref in SIP Settings but it did not change on the config files. When I deselected Controlled by FreePBX, I selected the 3 different codec preferences, click submit, rebuilt the config files. No change on the codec preference after rebuild and reboot. I seem to control the codec settings.

SNOM M3 Problems

Hi

I have been trying to get a snom M3 to auto provision using endpoint manager in freepbx 2.10.

It seems that for the M3, the assumption is that the config file format is the same XML type as for the other snom 3X0 phones. This does not appear to be the case, and is still just a text file format. i.e.

%SRV_0_SIP_UA_DATA_DOMAIN%:"" %SRV_0_SIP_URI_DOMAIN_CONFIG%:0 %SRV_0_SIP_UA_DATA_SERVER_PORT%:5060 %SRV_0_SIP_UA_DATA_SERVER_TYPE%:0 %SRV_0_SIP_UA_DATA_SERVER_IS_LOCAL%:0 %SRV_0_SIP_UA_DATA_REREG_TIME%:600 %SRV_0_SIP_UA_DATA_PROXY_ADDR%:"" %SRV_0_DTMF_SIGNALLING%:2 %SRV_0_SIP_UA_CODEC_PRIORITY%:0, 1, 2, 4, 255

Have I done something wrong at my end or am I correct that the wrong format is being generated?

Only first line configuration added to devices with 2 lines (iteration issue)

Tested using blue.box, Provisioner git pull from 4/3/12, and the Grandstream GXP1200 profile. Provisioner only adds the configuration for the first line in the generated config. If I modify the GXP1200 grandstream/gxp/family_data.json for 3 lines Provisioner correctly adds the configuration for both lines 1 and 2.

Yealink Should Have line set by default

OK, now I'm really confused..

I look in the config file generated (0015652e4c6e.cfg), and it contains:

START Line Key Options

[ memory11 ] path = /config/vpPhone/vpPhone.ini type = blf DKtype = 15 Line = Value =

[ memory12 ] path = /config/vpPhone/vpPhone.ini type = blf DKtype = 15 Line = Value =

[ memory13 ] path = /config/vpPhone/vpPhone.ini type = blf DKtype = 15 Line = Value =

END Line Key Options

So the phone should have all 3 line buttons using the single account it's been configured for.

There must be some other setting that makes it use the extra line keys for the first line when it only has 1 set of account details, or this phone is just screwy.

Downloadable provisioner_net.tgz missing files

Upon downloading provisioner_net.tgz to rebuild a broken modules directory:

  • autoload.php is missing from archive
  • setup.php is missing
  • the temp/ directory is not created.

These are critical.

Documentation

Can you document a simple tutorial for using your library for provisioning polycoms from the web ?

Do not run packager.php

All devs, please don't run packager.php for freepbx until further notice (sometime later this week)

Thanks.

Aastra 57xx softkey definitions

Hi there,

Looks like aap9xxx6xx/prgkeys.json reflects a full compliment of softkey types for the lower end phones (6731i in our case) while topkeys.json & softkeys.json are missing several types (eg. speeddialtransfer, several others) Is there a reason for this? Seems like I could just add copy those entries over...

Support for Mitel 52XX Series

I see that Provisioner/Endpoint Manager supports the Mitel 53XX series, but not the 52XX series. Is this coming in a future release?
If you need me to test, I have two Mitel 5224 phones with v8 firmware.

Thanks.
Ross

Polycom Buddy List Issue

So sorry for pestering you at your email but I didn't see any links to submit a bug. I haven't tracked it to EPM or if its a phone issue but it seems like either a its pollycom's issue or a Doh.

I have EPM 2.10.3.7 installed on freepbx 2.10.0.x. Polycom firmware is the one that is supplied from the firmware download button.

I was playing with buddy lists vs attendants etc, If you disable buddy's before you clear out the list the buddy list remains on the line keys, the buddies soft-key goes away as expected, just the line keys still remain populated with old data from the empty list. I re-enabled the buddy list and the line keys clear on next provisioning cycle.

Thought it was worth mentioning, and thanks for your work on the project.

Yealink T-26 & T-22

1.) under keys tab i can change the Soft Key 2 Type: to XML Phonebook, it takes a value of the Remote phone book name (see #2).
When used, it displays on the button on the phone "XmlGro", so it'd be nice to have a field for value, as well as name. But this is difficult to do, and i don't see if you can even do it from the web interface, but from the phone you can set the button name, so i'd imagine it's somewhere in the configs.

2.) on the general tab "remote phone book" 0-4 doesn't seem to do anything, i've tried every combination possible and nothing seems to be showing up on the phone... to get the XML phonebook in #1 to work i have to go on the web interface for the phone and put something in under "Contacts" tab "Remote PhoneBook", as long as it's the same name as the value field under the soft key type, it'll work

OMG!!! where did ./endpoint/cisco/spax102 go???

i just tried to provision some 2102's and 3102's and discovered they're gone from the file structure. Yet the model's are available in the EP Configuration manager. All my residential and supermicro SMBs use these.

(Yes, they are both installed/enabled)

Missing or mis-named files

There are a few files which according to my reading family_data.xml should be there, but aren't. I think the Cisco ones should be called "SEP" not "SIP", the others I have not found a reason for.

This list was automatically generated, then checked by hand.

cisco/sip79x1G/SIP$mac.cnf
cisco/sip79x1G/SIPDefault.cnf
snom/3xx820m3/$mac_$ext_custom.xml
snom/3xx820m3/$mac.xml
snom/8xx/$mac_$ext_custom.xml
snom/8xx/$mac.xml

Here is my new M7 (V70+) compatible template for Yealink T32G & T38G phones

Hi there

Because the share function of OSS End Point Manager doesn't allow to add any comment I start here a thread.

After hours of testing I build a new 100% clean M7 compatible y0000000000$suffix.cfg template for Yealink T32G & T38G. This provision file works PERFECTLY with firmware 32.70.0.185 and 38.70.0.185. Please note that it is designed for EUROPE, - it has European Date, Time, and Daylight Saving parameters. Regarding these Daylight Saving parameters, the previous provision file newer worked for me.

The only bad thing is that the parameter local_time.time_zone_name can not be set globally in OSS End Point Manager. It would be great if someone can implement here a "dynamic link" like {$timezone_name} which will set it automatically in the corresponding configuration file.

Thanks!

Update 27.11.2014: add screen_saver.pic function
Update 25.02.2015: moved wallpaper_upload.url, phone_setting.backgrounds, phone_setting.screen_saver_time & screen_saver.pic.url to $mac.cfg config file.

#!version:1.0.0.1
## the file header "#!version:1.0.0.1" can not be edited or deleted. ##


# 
local_time.time_zone = {$timezone}
local_time.time_zone_name = 
local_time.ntp_server1 = {$network_time_server}
local_time.ntp_server2 = pool.ntp.org
local_time.interval = 1000
local_time.summer_time = 1
local_time.dst_time_type = 1
local_time.start_time = 3/5/7/1
local_time.end_time = 10/5/7/2
local_time.offset_time = 60
local_time.time_format = 1
local_time.date_format = 5
local_time.dhcp_time = 0
local_time.manual_time_enable = 1


# 
auto_provision.mode = 1
auto_provision.repeat.enable = 0
auto_provision.repeat.minutes = 1440
auto_provision.weekly.enable = 0
auto_provision.weekly.mask = 0123456
auto_provision.weekly.begin_time = 00:00
auto_provision.weekly.end_time = 00:00
auto_provision.server.url = tftp://{$server.ip.1}
auto_provision.dhcp_option.enable = 1


# 
telnet.enable = 0


# 
voice.cng = 0
voice.vad = 1
voice.side_tone = -30
voice.tone.country = {$tones_country}


# 
distinctive_ring_tones.alert_info.1.text = interal
distinctive_ring_tones.alert_info.1.ringer = 2
distinctive_ring_tones.alert_info.2.text = external
distinctive_ring_tones.alert_info.2.ringer = 5


# 
phone_setting.inter_digit_time = 4
phone_setting.flash_hook_timer = 1
phone_setting.lock = 0
phone_setting.phone_lock.unlock_pin = 10
phone_setting.phone_lock.lock_time_out = 10
phone_setting.ring_type = Busy.wav
phone_setting.active_backlight_level = 6
phone_setting.inactive_backlight_level = 0
phone_setting.backlight_time = 120
phone_setting.ring_for_tranfailed = Ring1.wav
phone_setting.logon_wizard = 0
phone_setting.predial_autodial = 0
phone_setting.is_deal180 = 1
phone_setting.dialnow_delay = {$dialnowdelay}
phone_setting.custom_softkey_enable = 0
phone_setting.theme = {$theme}
phone_setting.emergency.number = 000
phone_setting.sms_popup_enable = 1
phone_setting.common_power_led_enable = 0
phone_setting.mail_power_led_flash_enable = 0
phone_setting.mute_power_led_flash_enable = 0
phone_setting.hold_power_led_flash_enable = 0
phone_setting.voice_volume = 5


# 
dialplan_dialnow.url = tftp://{$server.ip.1}/dialnow.xml


# 
security.user_password = admin:{$adminpw}


# 
firmware.url = {$firmware_name}

More

drmessano: Register_{$line}_ needs to be set to YES for any extension you actually want to have work lol
[08:54am] drmessano: Because for line 3 and 4, it's not default
[08:54am] drmessano: and it sucks ass to discover that
[08:56am] leobaillard: tm1000: yes

Polycom overrides breaks digitmaps

Provisioner / endpoint / polycom / spipm/{$mac}-phone.cfg
Provisioner / endpoint / polycom / spom/{$mac}-phone.cfg
Provisioner / endpoint / polycom / splm/{$mac}-phone.cfg

The config file {$mac}-phone.cfg sets overrides for dialplan.digitmap.timeOUt and dialplan.digitmap. This breaks digitmap and digitmap.timeout that are set in general configs or the phone mac address config files. The only way to get the phone to pickup the digitmap is to remove the overrides for dialplan.digitmap.timeOut and diaplan.digitmap.

Is it necessary to generate the {$mac}-phone.cfg file at all? Because the polycom phones generate that file when you make a change on the phone interface or the web interface of the phone. Also this file is only being generated on the initial creation of the device or if you delete {$mac}-phone.cfg for a particular phone. Not sure if that is a permissions issue that is causing that. Because I original tried just changing the template for {$mac}-phone.cfg then do a rebuild for all phone configs. It did not re-generate the phone.cfg for any of the phones until I deleted them, and did another rebuild on all the phones.

{$mac}-phone.cfg
<PHONE_CONFIG> <OVERRIDES dialplan.digitmap.timeOut="4" dialplan.digitmap=""/> </PHONE_CONFIG>

working example of {$mac}-phone.cfg
<PHONE_CONFIG> <OVERRIDES /> </PHONE_CONFIG>

GXPHD cfg$mac update missing Multipurpose Key variables

The following P codes need the following variables:

P323 = {$key_mode_01}
P302 = {$key_name_01}
P303 = {$speed_dial_01}
P324 = {$key_mode_02}
P305 = {$key_name_02}
P306 = {$speed_dial_02}
P325 = {$key_mode_03}
P308 = {$key_name_03}
P309 = {$speed_dial_03}
P326 = {$key_mode_04}
P311 = {$key_name_04}
P312 = {$speed_dial_04}
P327 = {$key_mode_05}
P314 = {$key_name_05}
P315 = {$speed_dial_05}
P328 = {$key_mode_06}
P317 = {$key_name_06}
P318 = {$speed_dial_06}
P329 = {$key_mode_07}
P320 = {$key_name_07}
P321 = {$speed_dial_07}
P353 = {$key_mode_08}
P355 = {$key_name_08}
P356 = {$speed_dial_08}
P357 = {$key_mode_09}
P359 = {$key_name_09}
P360 = {$speed_dial_09}
P361 = {$key_mode_10}
P363 = {$key_name_10}
P364 = {$speed_dial_10}
P365 = {$key_mode_11}
P367 = {$key_name_11}
P368 = {$speed_dial_11}
P369 = {$key_mode_12}
P371 = {$key_name_12}
P372 = {$speed_dial_12}
P373 = {$key_mode_13}
P375 = {$key_name_13}
P376 = {$speed_dial_13}
P377 = {$key_mode_14}
P379 = {$key_name_14}
P380 = {$speed_dial_14}
P381 = {$key_mode_15}
P383 = {$key_name_15}
P384 = {$speed_dial_15}
P385 = {$key_mode_16}
P387 = {$key_name_16}
P388 = {$speed_dial_16}
P389 = {$key_mode_17}
P391 = {$key_name_17}
P392 = {$speed_dial_17}
P393 = {$key_mode_18}
P395 = {$key_name_18}
P396 = {$speed_dial_18}

Grandstream Phone Do Not Reboot

I changed the reboot function to equal below in /endpoint/grandstream/base.php

    function reboot() {
            if(($this->engine == "asterisk") AND ($this->system == "unix")) {
                    exec($this->engine_location. " -rx 'sip show peers like ".$this->lines[1]['ext']."'", $output);
                    if(preg_match("/\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/",$output[1],$matches)) {
                            $ip = $matches[0];
                            $pass = (isset($this->options['admin_pass']) ? $this->options['admin_pass'] : 'admin');
                            //This is lame. I need to do this in php not over the command line. etc, I AM THE LAME.
                            exec('curl -c cookies.txt -d"P2='.$pass.'&Login=Login&gnkey=0b82" http://'.$ip.'/dologin.htm');
                            exec("curl -b cookies.txt http://".$ip."/rs.htm");
                    }
            }
    }

Potential serious problem with Yealink T2X family - $mac.cfg

I've become aware of an issue with the generation of the $mac.cfg in the T2X family of Yealink phones - a few variables in the line loop (most importantly the {$line_m1} variable) are resolving as blank resulting in an invalid config file that can cause the SIP stack in the phone to crash. To make matters worse, it appears a factory reset does not fix the config issue, requiring root access to the phone to fix it. (anyone know what it is/how to hack the phone to get it?)

Unless the cause behind this can be found very quickly, all my recent changes to the T2X family will need to be reverted until the issue can be sorted out. I should note that this does not affect the T3X family of phone.

Add Grandstream 1400/1405 Support

I've hacked away at the 1450 config to be able to make the 1400 work and do some changes but proper support for it would be nice.

Thanks

minor syntax error in endpoint/aastra/aap9xxx6xxx/aastra.cfg

This is a trivial correction but I was not sure if it would be appropriate for me to fork the file and edit it myself, so I will simply report that the following line is invalid:

sip intercom allow auto answer: 1

Although "allow auto answer" is an intercom-related setting, the correct syntax (according to Aastra's Administrator Guide and Aastra's sample config files) does not include "intercom" so the correct line should be:

sip allow auto answer: 1

I verified this for firmware Releases 2.6.0 thru 3.2.2.

Note: The factory default value for this setting is 1 so there is usually no harm from the syntax error. The line is ignored but the value would be 1 anyway.

EPM Broken - Edit Links Missing

It seems that randomly after adding some lines to a device in EPM all of the graphic icons disappear. These are the graphics that allow you to see if the device is online/offline and the pencil that let you edit the config files for each device. They just disappear for no reason. I have rebooted everything and they never come back. Even if I delete the module and reinstall or delete all devices and readd. I was able to get the graphics to re show up after uninstalling the module, installing an older version of the module, then upgrading again. However after I added the SPA8000 back and added a few lines (POOF) all graphics in EPM are gone and so are my editing ability.

Test Suite

We need a test suite. I will work on one. :-)

Grandstream

Dial Plan needs to be { x%2B | _x%2B | *xx_x%2B } not what is set to by default
TFTP Option not set currently from gui need to do it from the config
Speed Dial 1 is configured wrong in the config it is set to dial speed dial 2

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.