<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/"
     >
  <channel>
    <title>Asterisell</title>
    <link>http://www.asterisell.com/blog</link>
    <description>web application for rating, showing, and billing of VoIP calls.</description>
    <pubDate>Tue, 20 Dec 2011 17:29:18 GMT</pubDate>
    <generator>Blogofile</generator>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Security Fix Release - Asterisell 3.13.0</title>
      <link>http://www.asterisell.com/blog/2011/12/20/security-fix-release---asterisell-3.13.0</link>
      <pubDate>Tue, 20 Dec 2011 00:00:00 CET</pubDate>
      <category><![CDATA[security release]]></category>
      <guid>b'0DJXH1uAwmt1QhM2UA8YRvYO4rQ='</guid>
      <description>Security Fix Release - Asterisell 3.13.0</description>
      <content:encoded><![CDATA[<div class="document">
<div class="section" id="security-bug-fix">
<h1>Security Bug Fix</h1>
<p>There were (up to date unnoticed) a security bug inside the application. It was related to a bad usage of the Symfony framework. This bug allows customers with a web account to acquire edit permissions, and changing their CDRs. Make sure to upgrade to this version as soon as possible.</p>
<p>After the upgrade you will be advised if there are customers taking advantage of this patched security hole.</p>
<p>Gitolite repositories with customized versions of Asterisell are all upgraded to this last bug-fix version.</p>
</div>
<div class="section" id="invoice-format">
<h1>Invoice Format</h1>
<dl class="docutils">
<dt>Invoices can now display:</dt>
<dd><ul class="first last simple">
<li>a logo;</li>
<li>payment terms;</li>
<li>footer notes;</li>
</ul>
</dd>
</dl>
<p>The content is specified inside the Params section.</p>
</div>
<div class="section" id="application-management">
<h1>Application Management</h1>
<p>There is a new application management shell. Use <cite>php asterisell.php help</cite> for viewing all options. It replaces many old shell commands. In particular, <cite>./configure.sh</cite> is replaced from <cite>php asterisell.php activate</cite>.</p>
<p>The upgrading procedure is now simplified, and it take care automatically of many things.</p>
<p>See the on line manual for more info. Note: the Application manual must be refreshed using the browser page refresh button, in order to see the last changes.</p>
</div>
<div class="section" id="online-invoices">
<h1>Online Invoices</h1>
<p>Customers can see on line, the invoices already sent them. The option is in <cite>apps/asterisell/config/app.yml</cite>, and it must be explicitly enabled:</p>
<pre class="literal-block">
# True for showing invoices marked as sent, to customers that are on line.
#
show_online_sent_invoices_to_customers: false
</pre>
</div>
<div class="section" id="minor-improvements">
<h1>Minor Improvements</h1>
<p>Errors are displayed in a better form.</p>
</div>
<div class="section" id="how-to-upgrade">
<h1>How to Upgrade</h1>
<p>The upgrade procedure described in the manual can be applied for upgrading from version 3.13 to next versions, but it can not be applied for upgrading from version 3.12 to 3.13.</p>
<p>Only for this upgrade, a temporary method must be followed, because the new upgrade method is not already installed.</p>
<p>First disable the cron daemon, with something like:</p>
<pre class="literal-block">
/etc/init.d/crond stop
</pre>
<p>You must create a testing directory, where merging the code and resolving related conflicts, in order to reduce the downtime of the application in the production environment. Optionally you can also use a testing database.</p>
<dl class="docutils">
<dt>Steps:</dt>
<dd><ul class="first last simple">
<li>Commit all the changes in current production environment to Git repo (<cite>git commit -a</cite>)</li>
<li><cite>git clone &lt;production-repo&gt; &lt;testing-repo&gt;</cite> for cloning the current production repo to a testing repo</li>
<li><cite>cd &lt;testing-repo&gt;</cite></li>
<li>retrieve the new version using the usual <cite>git pull ...</cite> command, that can be something like: <cite>git pull https://github.com/massimo-zaniboni/Asterisell</cite> for free version, <cite>git pull http://your-license:your-license&#64;support.asterisell.com/asterisell/git/asterisell-commercial-stable-3.git</cite> for commercial version, <cite>git pull gitolite&#64;profitoss.com:asterisell_customers your-custom-repo</cite> for customized repo</li>
<li>Inspect <cite>apps/asterisell/confi/app.yml</cite> and make sure updating <cite>web_server_user</cite>, and <cite>git_upgrade_command</cite> options to their correct values</li>
<li>Follow the new upgrade instructions inside the online manual, but upgrade only the source code on the local testing environment, and not the database</li>
<li>Make sure to commit all the changes in testing repo <cite>git commit -a</cite></li>
<li>Wait when it is acceptable a downtime of the main database</li>
<li><cite>cd &lt;production-repo&gt;</cite></li>
<li><cite>git pull &lt;testing-repo&gt;</cite></li>
<li><cite>php asterisell.php activate</cite></li>
<li><cite>php asterisell.php app upgrade</cite></li>
<li><cite>php asterisell.php data upgrade</cite></li>
<li>test the online behavior of the application</li>
<li><cite>php asterisell.php cron enable</cite></li>
<li><cite>php asterisell.php app enable</cite></li>
<li>enable the cron daemon <cite>/etc/init.d/crond start</cite></li>
<li>test the application, logging as a normal user, and not only as administrator</li>
</ul>
</dd>
</dl>
<p>If you use a testing database for the testing repo, make sure that the production database is set in the production repo.</p>
<p>Use the support forum if there are problems during upgrading.</p>
<p>All next upgrades will be a lot simpler thanks the new installed procedure.</p>
</div>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Asterisell 3.12.0 and new Web Site</title>
      <link>http://www.asterisell.com/blog/2011/11/26/asterisell-3.12.0-and-new-web-site</link>
      <pubDate>Sat, 26 Nov 2011 00:00:00 CET</pubDate>
      <category><![CDATA[new release]]></category>
      <guid>b'GtjI337Kj93e-dRiLK7C288hBSQ='</guid>
      <description>Asterisell 3.12.0 and new Web Site</description>
      <content:encoded><![CDATA[<div class="document">
<div class="section" id="bug-fixes">
<h1>Bug Fixes</h1>
<p>Now call re-rating operations executed from on-line administrators (and not from the cron-processor) do not block any more the application for 15 minutes, when they require more than the allowed PHP max execution time. They are executed until there is time, and then suspended. The remaining CDRs will be re-rated from the cron processor, that has no resource limitations.</p>
<p>Emails about customers with high call costs were sent only to administrators, but not to customers.</p>
</div>
<div class="section" id="new-features">
<h1>New Features</h1>
<p>Asterisell has now a more complete on-line manual. A copy of the manual is included also in this Web Site.</p>
</div>
<div class="section" id="web-site-update">
<h1>Web Site Update</h1>
<p>The old <cite>http://asterisell.profitoss.com</cite> Web Site is replaced with <cite>http://www.asterisell.com</cite> Web Site.</p>
<p>More slowly, I will update also all other old references to the previous Web Address.</p>
<p>The <cite>http://support.profitoss.com</cite> will work as usual.</p>
</div>
<div class="section" id="price-increasing">
<h1>Price Increasing</h1>
<p>The price was increased from EUR 540 to EUR 580.</p>
</div>
<div class="section" id="updates">
<h1>Updates</h1>
<p>Freshmeat is not anymore the recommended method for receiving notifications of new releases, through email. I will soon activate a Mail Chimp account associated to the RSS feeds of this Web Site.</p>
</div>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Asterisell 3.11.0</title>
      <link>http://www.asterisell.com/blog/2011/10/18/asterisell-3.11.0</link>
      <pubDate>Tue, 18 Oct 2011 00:00:00 CEST</pubDate>
      <category><![CDATA[new release]]></category>
      <guid>b'QOGAn-2NfjNewuYni8TB8-KWNxI='</guid>
      <description>Asterisell 3.11.0</description>
      <content:encoded><![CDATA[<div class="document">
<p>This version fixes minor bugs, in particular related to re-seller support.</p>
<p>It implements a new CheckFraud job, that advises the administrator in case of suspected calls that can be made from hacked VoIP accounts. It is enabled configuring these settings:</p>
<pre class="literal-block">
# Used from job CheckFrauds (enabled only in commercial version)
# The job run according the scheduling of `check_cost_limits_after_minutes`
#
check_frauds:
max_unprocessed_calls: 10
# if there are more than these unprocessed calls,
# then advise the administrator, because there can be unnoticed high calls costs

compare_xx_last_days_respect_customer_daily_max_cost: 5
# note: customer daily max cost is the customer monthly max cost, specified in the user interface,
# divided by 30. Set to 0 for disabling it.

compare_x_last_months_respect_current_costs: 3
# warn if a customer spent a 25% more than the maximum cost of last x months in the
# same day of week and a comparable hour of the day (hours grouped by 00-06, 06-12, 12-18, 18-24).
# Set to 0 for disabling it.
</pre>
<p>Remember executing:</p>
<pre class="literal-block">
./configure.sh
</pre>
<p>after upgrading the configurations.</p>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Asterisell 3.10.4</title>
      <link>http://www.asterisell.com/blog/2011/10/11/asterisell-3.10.4</link>
      <pubDate>Tue, 11 Oct 2011 00:00:00 CEST</pubDate>
      <category><![CDATA[new release]]></category>
      <guid>b'-j3h7cFdcmSJyJdRKqtPk15epBM='</guid>
      <description>Asterisell 3.10.4</description>
      <content:encoded><![CDATA[<div class="document">
<p>This version fixes another serious bug about recognition of call cost limits, very similar to previous bug. The source of both bugs was a naive copy and paste of already working code, without applying all the needed changes, and without a serious review of code. Sorry.</p>
<p>If you are using an older version of Asterisell and you do not want upgrading, you can apply manually this fix, because it is rather simple. Inside file 'apps/asterisell/lib/jobs/checks/CheckPartiesWithoutParams', replace:</p>
<pre class="literal-block">
const FILE_WITH_LAST_CHECK_DATE = &quot;last_check_call_cost_limit&quot;;
</pre>
<p>with:</p>
<pre class="literal-block">
const FILE_WITH_LAST_CHECK_DATE = &quot;last_CheckPartiesWithoutParams&quot;;
</pre>
<p>and:</p>
<pre class="literal-block">
$checkFile = CheckCallCostLimit::FILE_WITH_LAST_CHECK_DATE;
</pre>
<p>with:</p>
<pre class="literal-block">
$checkFile = self::FILE_WITH_LAST_CHECK_DATE;
</pre>
<p>The commercial version contains some checks for anomalous calls, for discovering frauds of VoIP calls. More details and more powerful checks, will be part of 3.11 release.</p>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Asterisell 3.10.3</title>
      <link>http://www.asterisell.com/blog/2011/10/04/asterisell-3.10.3</link>
      <pubDate>Tue, 04 Oct 2011 00:00:00 CEST</pubDate>
      <category><![CDATA[new release]]></category>
      <guid>b'LqE3eMTQR0B87D-ZiMxqNOTq8Pw='</guid>
      <description>Asterisell 3.10.3</description>
      <content:encoded><![CDATA[<div class="document">
<p>This version fix a serious bug about recognition of call cost limits.</p>
<p>If you are using an older version of Asterisell and you do not want upgrading, you can apply manually this fix, because it is rather simple:</p>
<pre class="literal-block">
&#64;&#64; -32,7 +32,7 &#64;&#64; class CheckPartiesWithoutParams extends FixedJobProcessor {
 -    const FILE_WITH_LAST_CHECK_DATE = &quot;last_check_call_cost_limit&quot;;
 +    const FILE_WITH_LAST_CHECK_DATE = &quot;last_CheckPartiesWithoutParams&quot;;
</pre>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Asterisell 3.10.2</title>
      <link>http://www.asterisell.com/blog/2011/09/27/asterisell-3.10.2</link>
      <pubDate>Tue, 27 Sep 2011 00:00:00 CEST</pubDate>
      <category><![CDATA[new release]]></category>
      <guid>b'WRpSdWeSRZpC5OyD-8DSnC5PNK0='</guid>
      <description>Asterisell 3.10.2</description>
      <content:encoded><![CDATA[<div class="document">
<p>This version introduces a bug-fix in installation instructions and in database upgrade procedure.</p>
<p>Database upgrade requires a user with &quot;alter table privileges&quot;. So to the Asterisell user configured in &quot;config/databases.yml&quot;, must have these rights. From MySQL shell:</p>
<pre class="literal-block">
CREATE USER 'asterisell3user'&#64;'localhost' IDENTIFIED BY 'some-password-here';
GRANT ALL ON asterisell3.* TO 'asterisell3user'&#64;'localhost';
</pre>
<p>This example, supposes that &quot;asterisell3&quot; is the name of created Asterisell database, and &quot;asterisell3user&quot; the name of database user.</p>
<p>NOTE: &quot;GRANT ALL&quot; is needed in order to support the database upgrade script.</p>
<p>The database upgrade script check for this and signal the problem.</p>
<p>If you have already updated the database with a user without these privileges, and using the previous version of Asterisell, you must remove upgrade data from the database shell:</p>
<pre class="literal-block">
delete from ar_database_version;
</pre>
<p>and execute upgrade script again.</p>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Asterisell 3.10.1</title>
      <link>http://www.asterisell.com/blog/2011/09/19/asterisell-3.10.1</link>
      <pubDate>Mon, 19 Sep 2011 00:00:00 CEST</pubDate>
      <category><![CDATA[new release]]></category>
      <guid>b'fLmW4WoxnnMJPmSCvN_qnweiWrQ='</guid>
      <description>Asterisell 3.10.1</description>
      <content:encoded><![CDATA[<div class="document">
<p>This version contains a small bug-fix.</p>
<p>Errors during importing of CSV files, are signaled in the error table, but if the administrator delete them, they are not generated again (on the contrary of all other errors generated from Asterisell), because by default a CSV file with errors is not imported again, and it remains silently in the processing directory.</p>
<p>With this bug-fix, the administrator must delete explicitly these errors, because the <cite>delete all problems</cite> button does not delete them automatically. So the administrator is (more) conscious of what he is doing.</p>
<p>In practice the worst-case scenario, is rather infrequent because if there are problems in the format of a CSV file, there are probably similar problems in other CSV files, so the administrator is aware that there are CSV files to process again.</p>
<p>In any case, after applying this patch, check also if there are pending CSV files in the processing directory.</p>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Asterisell 3.10.0</title>
      <link>http://www.asterisell.com/blog/2011/09/17/asterisell-3.10.0</link>
      <pubDate>Sat, 17 Sep 2011 00:00:00 CEST</pubDate>
      <category><![CDATA[new release]]></category>
      <guid>b'TfWt3XzI-ErUrP2RhBTq099C5T4='</guid>
      <description>Asterisell 3.10.0</description>
      <content:encoded><![CDATA[<div class="document">
<p>There is now a better database upgrade process:</p>
<pre class="literal-block">
cd scripts
php upgradedb.php
</pre>
<p>Fixed a bug about the display in CALL REPORT of internal and external telephone numbers, when in app.yml config file, the the internal_external_telephone_numbers setting is 1.</p>
<p>Fixed a minor bug in displaying an error message about CSV imported rates.</p>
<p>Please read all the notes about 3.9.0 version.</p>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Upgrade Problems on Asterisell 3.9.0</title>
      <link>http://www.asterisell.com/blog/2011/09/16/upgrade-problems-on-asterisell-3.9.0</link>
      <pubDate>Fri, 16 Sep 2011 00:00:00 CEST</pubDate>
      <category><![CDATA[new release]]></category>
      <guid>b'm7w8ut0pIYgPC1EUrUjeNrGcTZE='</guid>
      <description>Upgrade Problems on Asterisell 3.9.0</description>
      <content:encoded><![CDATA[<div class="document">
<p>There are minor database upgrade problems in Asterisell 3.9.0.</p>
<p>If you are planning the upgrading, please wait few days. I will improve the upgrade process using a better method, and I will release a new version of Asterisell.</p>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>Asterisell 3.9.0</title>
      <link>http://www.asterisell.com/blog/2011/08/17/asterisell-3.9.0</link>
      <pubDate>Wed, 17 Aug 2011 00:00:00 CEST</pubDate>
      <category><![CDATA[new release]]></category>
      <guid>b'wtZQsQy9pKtHOQoPp9e88EF-r1s='</guid>
      <description>Asterisell 3.9.0</description>
      <content:encoded><![CDATA[<div class="document">
<dl class="docutils">
<dt>This new version of Asterisell introduces many new features and improvements:</dt>
<dd><ul class="first last simple">
<li>full support for Resellers (a Reseller is a separate instance of Asterisell, reselling the VoIP calls of another Asterisell instance);</li>
<li>2x speedup of Call-Report;</li>
<li>fixed a memory-leak problem during CDR rating process (it affects only the rating of thousands of CDRs);</li>
<li>update of telephone prefixes description table;</li>
<li>invoices can have inclusive or exclusive ending date;</li>
<li>invoices can be configured for containing long details on called geographic-locations, or only short details on used connection types (fixed-lines/mobile lines/special numbers);</li>
<li>the Call-Report, exported CSV file format can be further configured from <cite>app.yml</cite>;</li>
<li>installation page on this site contains hints about configuring MySQL for 10x speedup in case of many CDRs;</li>
<li>validators on user names and passwords;</li>
<li>recognition of some error-prone rates;</li>
<li>removed not used indexes from CDR table;</li>
<li>various minor improvements to forms and helps;</li>
</ul>
</dd>
</dl>
<p>The major drawbacks of this upgrade, it is that it modifies the CDR table. No data will be lost, but during upgrade, the CDR table will be locked. During upgrade process new CDRs will not inserted inside the table. If it contains milions of records, then the lock can last also for 1 hour. If this is a problem, let me know. It is possible creating a script for making the upgrade using a temporary CDR table, avoiding any lock.</p>
<p>For upgrading, follow the upgrading instructions on this site.</p>
<p>If some indexes fails to be removed and it returns an error message, execute again the database upgrade script.</p>
<dl class="docutils">
<dt>After upgrading, check <cite>apps/asterisell/config/app.yml</cite> file and update the settings:</dt>
<dd><ul class="first last simple">
<li>decimal_separator_symbol_in_csv</li>
<li>numbers_as_strings_in_csv</li>
<li>csv_field_separator</li>
</ul>
</dd>
</dl>
<p>After database upgrade, you can upgrade your current telephone prefix table using:</p>
<pre class="literal-block">
cd scripts
php reset_db_and_init_data.php merge-telephone-prefixes
</pre>
<p>This is not needed, if you are making a new installation.</p>
</div>
]]></content:encoded>
    </item>
  </channel>
</rss>

