Dial Plan Visualizer Module

You’re welcome. Glad you are finding it useful!

1 Like

Yes, It is fixed now. Thanks very much!

2 Likes

Tried installing this on 16.0 today, seems functional but the signature is not good. Refresh signatures is not fetching the key as expected. It may be a FreePBX bug though, digging into that now.

user@xxx $ sudo -u asterisk gpg --verify /var/www/html/admin/modules/dpviz/module.sig 
gpg: Signature made Fri 09 May 2025 10:58:42 PM EDT
gpg:                using RSA key 58E80D46FED5C0E3
gpg: Can't check signature: No public key

user@xxx $ sudo -u asterisk gpg --verify /var/www/html/admin/modules/core/module.sig 
gpg: Signature made Fri 28 Mar 2025 05:56:30 AM EDT
gpg:                using RSA key B53D215A755231A3
gpg: Good signature from "FreePBX Mirror Servers <[email protected]>" [full]

BTW your module.sig file claims it’s signed with key AB9EB095 which is not a valid key, but it doesn’t look like that is making a difference.

Yup, FreePBX bug with the signature. Seems fully functional in 16 as far as I can tell.

Does the fix suggested in comment about Advanced Spy - New Module resolve the issue ?

If it suggests manually adding the key, yes that’s how I got rid of the banner. Bug was fixed in 17 but not backported to 16.

1.0.20 update is released.
Updates:

  • Choose from Inbound Routes, Time Conditions, Call Flows, IVRs, Queues, Ring Groups, Dynamic Routes, Announcements, Languages, or Misc Applications as a starting point. (modules are optional and will only appear if there is at least 1.–example: Ring Groups module exists, but none exist. Ring Groups will not appear on the dropdown) -no longer limited to Inbound Routes
  • Languages + Recordings modal will find the correct audio file(s) for that language.
  • Additional tooltips for IVRs, Queues, Ring Groups, Extensions
  • Error detection for bad destinations- will not break dial plan.
  • Single and double quotes fix
  • Added SVG download

Update or Install:
fwconsole ma downloadinstall https://github.com/madgen78/dpviz/archive/refs/heads/main.zip && fwconsole reload

Have a good day.

1 Like

Why does an update require an uninstall first?

I had thought that files removed from github would remain on the pbx disk and cause the signature to fail because it saw files that did not belong.

I upgraded from .19 to .20 without uninstalling first and the files removed were not left behind.
The signature is still valid.
Uninstall is not needed. Thanks for the tip.

Is this module not signed by a co-signed key? I’m getting signature and signing errors on the module when I install it.

@madgen that was my question about not being shown anything when choosing an inbound route in the module. I rebooted the server and it’s working now. Not sure why that was needed but it works.

Thanks for attending. Not sure why that happened. Let me know if you can reproduce it.

1 Like

First of all, great job! Well done!

I’ve installed it on 5 servers, and it works fine, except on one server with FreePBX16, where I get the error :

AJAX Error:
Status: error
Error: Internal Server Error
HTTP Status: 500
Response: {"error":{"type":"Whoops\\Exception\\ErrorException","message":"Undefined offset: 1","file":"\/var\/www\/html\/admin\/modules\/dpviz\/process.php","line":1514}} 

Any ideas?

Thanks!
This is related to fmfm. Code isn’t validating properly.
I’ll let you know when to try again.

1 Like

Version .21 released.

Updates:

  • Pressing Shift and clicking on a node will redraw with the path hidden. Can be repeated multiple times. Clicking Reset will return to the full path.

In this example, the After Hours path is hidden and can be shown again by clicking the + node.
It is possible to combine CTRL + click and Shift + click to narrow the view of a dial plan.

  • Added “Show Minimal View” option (Yes/No(default)). Enabling this will hide extensions, queue and ring group members, recordings, paging and vm blast nodes.
  • Module Admin: Check online (with unsupported highlighted) will check if an update is available. (this is for future releases) (#24)
  • Added multiple modules: Allowlist (#23), Callback, Paging, Phonebook, and Trunks.
  • Added a Super .png option when exporting a .png.
  • Fixed time group formatting: Month | Day | Day of week | Time
  • Fixed fmfm validation issue.

Let me know if you have any questions.

2 Likes

:backhand_index_pointing_up: this is not working for me in the latest version

And a quick question, please:

image

All my extensions show with that “unassigned”. What does that “unassigned” refer to?

Thanks!

It means the extension hasn’t got an email assigned

Extensions don’t have email assigned to them. Mailboxes do and users do. Extensions do not.

This is only valid for nodes that have destinations.

const allowedKeywords = ["announcement","callback","callrecording","daynight","directory",
                         "dynroute","ext-group","ext-tts","from-trunk","ivr","languages",
                         "miscapp","queueprio","queues","setcid","timeconditions"];

If this is not the case…
Which browser are you using? Does this work in a different one?
Have you tried clearing your cache?
Are the any errors in the console?
Does CTRL + clicking a node work? (this will redraw with a new starting point)

Noted