Dial Plan Visualizer Module

Hello all,

I wanted to share the module that I forked from a previous module cpviz a few years ago.

This module will visually display an incoming route and allow you to see all the paths involved from start to finish.

Features include:
Pan and zoom, export to .png, highlighting paths.
Supports ANY and caller id matching routes.

Here’s a simple example:

It has been recently signed by Sangoma (thanks) and does not display the warning banner.

Let me know if you run into any issues or suggestions on improvements.

Thanks,
Adam

18 Likes

So glad to hear this is now a signed module, I’ve gotten so much use out of this!

1 Like

Howdy! Welcome back to the forums!

This module looks great, thank you. :smile:

Tried on v17 – partially works but hangs for me when it starts to draw. The module.xml references version 12 of FreePBX. What versions have you developed it with ?

Finally! @madgen

2 Likes

Thanks.
It may hang for a second if you have a lot of inbound routes as it’s reading the destination information each time.
You can disable the destination column in the Options which will only read inbound routes.
I thought the supported version referred to the minimum.
I have multiple versions that I test with, including 17.

1 Like

This is intriguing. Just testing on a v16 system and getting an error:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'asterisk.disa' doesn't exist<br><br>Error selecting from disa::

So it requires DISA be installed on the system?

Then, I installed DISA and get this error:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'asterisk.vmblast' doesn't exist<br><br>Error selecting from Voicemail Blasting::

So it also requires vmblast?

I’ve updated the code to correct the issue raised + disa and vmblasts are optional modules.
Let me know if this has resolved your issue.

1 Like

Yep that took care of it. I’ll continue to test and let you know if there’s anything else I find.

Another thought, do you have any plans to adapt this into UCP at all?

2 Likes

Actually tested it in a fresh VM with nothing eg. no routes – separate error there missing a variable, raised it on GitHub for you – but even with a route and a basic IVR with one option, it spun. Maybe it didn’t like starting out with no routes and that clobbered something else (?)

Pretty much. It is described in the docs as what the server sends you based on your minimum version of FreePBX, but, if you are side-loading modules sans server, then it does seem to have a different meaning in practice. (A future author of a FreePBX module.xml DTD might consider this in more detail and maybe include a maximum version as well. Digressing further, you could have a git branch for 16, another git branch for 17, etc. See for example the “supported” lines in the framework v16 module.xml vs. the framework v17 module.xml).

Issue raised is resolved.
Let me know if it is drawing any quicker.
A normal dial plan should not take longer than a second.
More complex, maybe 2 to 4 seconds.

1 Like

Sorry. I don’t have any plans for this. We do not use UCP.
I would suggest creating a limited administrator and give access to the module.

Thank you - very cool.

Many others have already expressed their thanks, but I figured it wouldn’t hurt to add mine! Thanks! It works much better than the previous module. Being signed is also a huge plus.

I always had trouble with cpviz failing on a route that was set to match any inbound route, but that is fixed on this version.

3 Likes

w00t! Got it to stop spinning and show me some graphics!

Did an uninstall/reinstall, but then when that still was spinning, opened up a debugging, in-browser Web Developer Tools Console – hit reload, and poof :dragon_face: – there’s a pretty picture. :framed_picture: And then another. :chart_increasing: And another :slight_smile:

Will try to reproduce on another brand new VM soon. Seems like an initialization issue…

1 Like

Thanks for this awesome module! Unfortunately, I am still getting a signing error:


The module still works as expected :+1:

You can clear that message if the signature status in Module Admin shows Good.
If it shows anything else, you should uninstall, remove the module, then upload file or download from link and start fresh.

Also, you’re welcome. I’m glad that it is working for everyone.

2 Likes

Okay, it says Good in module admin. Thanks

2 Likes

That’s a very nice module !

3 Likes

Great work @madgen !

I had a similar problem as adell4444 :

with these modules :
setcid : Table ‘asterisk.setcid’ doesn’t exist
directory : Table ‘asterisk.directory_details’ doesn’t exist

Is there any reason some modules are required ? Why not make them all optional ?

1 Like