License violation but no calls in progress

Configuring detection parameters, and optimizations
stangri
Posts: 1
Joined: Tue Feb 07, 2017 4:57 pm

License violation but no calls in progress

Postby stangri » Tue Feb 07, 2017 5:04 pm

So on my testing box (with the total of 4 users) I have the following in the secast log during the logrotate:

Code: Select all

Mon Feb 6 23:52:40 2017, 00000404, I, Logger, Log file rotation/truncation detected.  New log file started
Mon Feb 6 23:52:40 2017, 00001019, E, License, Violation detected.  8 lines in use exceeds license limit of 3 lines
Mon Feb 6 23:52:40 2017, 00000126, W, Controller, Automatic shutdown request by module License
Mon Feb 6 23:52:40 2017, 00002038, W, Controller, Stopping
Mon Feb 6 23:52:40 2017, 00000107, I, General, SecAst state changing to not protecting
Mon Feb 6 23:52:40 2017, 00001706, I, Database Controller, Database closed
Mon Feb 6 23:52:40 2017, 00001713, E, Database Controller, Database command failed on write to eventlog table
Mon Feb 6 23:52:40 2017, 00001705, I, Database Controller, Database open for archiving
Mon Feb 6 23:52:41 2017, 00001259, I, Asterisk Controller, Stopped
Mon Feb 6 23:52:41 2017, 00001303, I, Geo IP, Closed GeoIP database
Mon Feb 6 23:52:41 2017, 00001602, I, Controller, Pipe server stopping
Mon Feb 6 23:52:41 2017, 00000201, I, Controller, Telnet server stopping
Mon Feb 6 23:52:41 2017, 00002832, I, Controller, Recovery state will no longer be automatically saved
Mon Feb 6 23:52:42 2017, 00002824, I, Controller, Stopped
Mon Feb 6 23:52:42 2017, 00000101, I, General, SecAst terminating with exit code 200 (license violation or error) after running for 2 days; 7 hours; 8 minutes; 21 seconds


There's no way that there are 8 simultaneous calls on that system at any time, as a matter of fact there were no calls active at all at the time in the log file.

Sadly, when that happens, secast takes the astman/asterisk down with it, making the whole system inaccessible.

How can I get secast to accurately determine the number of simultaneous active calls? If I can't have it resolved, my out resort would be to disable/uninstall secast completely, after a long struggle with dependencies to run it on Ubuntu 14.04 LTS.
User avatar
Telium Support
Posts: 127
Joined: Sun Nov 27, 2016 3:27 pm

Re: License violation but no calls in progress

Postby Telium Support » Tue Feb 07, 2017 9:01 pm

The fact that the license violation occurs close to the time of a log rotation is a red herring (no relationship).

SecAst does not track calls in progress; it asks Asterisk to report the number of calls in progress. You can perform the same query from the command line:

Code: Select all

asterisk -vx 'core show calls'

So the question is why is your Asterisk installation reporting 8 calls in progress. This can be due to:
  • Valid users making calls in or out
  • Valid user starting the conference feature
  • Incoming callers leaving a voicemail
  • Automated calls
  • Hackers calling in to probe your dialplan
  • Asterisk incorrectly not releasing channels
  • Dialplan errors

If the number of calls reports higher than you expect, you can delve deeper into the calls in progress using a command like:

Code: Select all

asterisk -vx 'core show channels'

Depending on your version of Asterisk, the issue of not releasing channels may be well known. These calls will (likely) eventually timeout, but until they do your 'active calls' count is artificially inflated by Asterisk.

If you are using FreePBX they recently started making automatic calls in the background to set 'time condition' variables. This is a poor design and is discouraged - they are loading up your PBX with invisible calls (because they can only code in PHP). Other Asterisk distributions don't do that (eg: Elastix, xCALLY, etc). However, Asterisk will report these as calls in progress; nothing we can do about it, and that won't explain 8 calls in progress.

So...in a nutshell SecAst does not count calls - it gets that number from Asterisk. Something else is going on with your Asterisk setup. Repeat the first command above once every 30 seconds and watch if your 'calls processed' count is increasing even when users aren't making calls. That should help you figure out why Asterisk is reporting a count you don't expect!

It sounds like you're struggling with some basic Linux admin and Asterisk admin tasks. If this is a commercial installation I would recommend purchasing 2 hours of support so we can help you through setup. If this is a home installation you probably have a big learning curve ahead of you in terms of Ubuntu and Asterisk - I'm not sure if it's worthwhile for you to continue but we can't really offer free support for Asterisk (or Ubuntu). I'm not sure if you are using a configuration generator either (you don't offer any details of your system), but if this is a commercial installation you may want to move up to a package like xCALLY which provides a very professional turnkey solution without many of the headaches involved with FreePBX or other small packages (you don't need to know anything about Linux or Asterisk).