IBSng ReleaseNotes B1.30
Long waiting message center is now included in this release, offering many new and cool features. It's completely modular and supports SMS, E-Mail and IBSng internal User to Admin, and Admin to User messaging protocol.
Messages can be scheduled for later delivery
SMS Send and Receive
Now it's possible to send SMS from web to phone and also phone to web. Received messages are kept in user message box.
Admins and users can use this feature, to get tiny reports from IBSng, by SMS.
E-mail can be used for mass mailing and notifications.
All messages are saved and can be viewed later
You can refer to Messaging Manual guide for more information on IBSng Message Center.
Notification subsystem is used to notify user that his account is about to running out of credit, or getting expired. Multiple rules can be defined with threshold such as E-Mail user if his credit is less than 100, or SMS user if it's 3 days before his account is getting expired. A simple template language is used, to define custom message templates for E-Mail and SMS messages.
This new subsystem, allows archiving of Connection and Web Analyzer logs, on daily basis for each user. A new attribute is available in misc tab of user and group information pages, that allows admin to specify number of days that he wants to keep the archive logs for user. The archive logs is then available both on users page, and admin related links in user information. The archived logs are created automatically on 4:00AM, and compressed to consume less storage capacity. They will be served very fast, because there are static contents and no database activity is involved. Special care has been taken to ensure that this function doesn't not consume too much memory or cpu power.
Now it's possible to create easy to use, pre-paid packages in IBSng.
First of all, a new attribute is added in IBSng groups, named "group credit". Group credit is the price of the pre-paid package. So It'll be used as user initial credit, while adding the user. Another usage of Group credit is, to not allowing admins to create users with arbitary credits. If an admin has ADD NEW USER permission and not CHANGE CREDIT permission, he can only create users with "group credit" amount.
If user is a member of group, that has attribute group credit, a new link will be added in "Related Links" with name "Renew User". When user wants to buy the package again, he should pay "group credit" amount of money, and re-new his account. Renew does:
- Throw away user current credit(it doesn't return to user ISP)
- Set user credit to group credit amount
- Reset user first login, so relative expiration date will be effective from next login
For Example, A group is created with group credit, 1000 with charge that has only one charge rule with Charge per Megabyte 1, and Relative Expiration date set to 1 Months. When user is created, his credit will automatically be 1000 (actually 1000MB) with 1 month of expiration. Whenever user finished his package, either Expiration date is reached or Credit is finished, the account can be renewed, allowing another month of service and 1000MB credit.
Manual renew has one problem. Normally user is notified before his account is finished, and he pays the package fee, before he runs out of credit, or expired. So we should keep somewhere that he already paid, and when he finished his current package, we automatically renew him again.
A new user attribute user deposit is keeping the money, that user has been paid, but still didn't use to buy a package. Three methods has been predicted for user to pay the money
- User asks admin to manually increase his deposit. In this case the amount of added deposit, will be decreased from ISP deposit
- If user has flag Allow Receive Deposit, he can use Prepaid vouchers with special pins to pay into his deposit
- Online Payment
- If user has flag "Online Payment" he can use payment gateways, to pay into his deposit
If auto renew flag is enabled for user, when user runs out of credit or expired, his user deposit is examined. If he has enough deposit to renew his package (enough means equal or more than group credit), The amount is decreased from deposit, and user is automatically renewed.
Now it's possible to created special users, that act as pre-paid vouchers. Internet username of these usernames are used as a PIN, that can be entered in users area of IBSng, to transfer the deposit. These users should be created in special groups that has initial deposit set to their voucher money amount. This amount will be transferred into buying user deposit.
A-to-Z VoIP Report
A new report is developed, under connection usage menu, that shows A-to-Z report, for specified conditions. A-to-Z report containts Prefix Code, Prefix Name, Count and Duration, for each prefix code.
Negative Credit Expiration Date
This new expiration date is useful for limiting how much a post-paid user can be in negative credit state. For instance, if user has negative credit expiration date of 7 days, after his credit become negative, he has only 7 days before his account get expired.
Connection Log, redundant log elimination
This new feature, eliminates redundant rows of connection log, for unsuccessful tries of user. It happens that when users can't log in, his computer continues retrying for many times. Now IBSng detects such condition and instead of inserting another row in connection log, only increments the retry count of the last row. This should make connection log table growing much more managed than before. A tool is provided, to examin previous logs and eliminate previous duplicate rows too. Refer to upgrade section for more informations.
We already started switching our interface from PHP to Python framework Turbogears. Turbogears is a well designed and modern web framework that will help improving IBSng usability and development speed. Turbogears is connecting to IBSng core, via a WSDL defined SOAP API. This is the first release, that uses turbogears on some of pages. Turbogears needs some extra step to install. Refer to upgrading section for more information.
Ras Filter in Log Console
A new tab is introduced in Log Console, to filter log console results for specified rases only.
Active Directory Enhancements
IBSng Active Directory Integration has been enhanced to acquire complete user information from active directory. In previous release, only passwords were transferred from Active Directory, but in this version, all user informations incluing CN, OU and other user informations are also transferred and shown in user comment tab.
VoIP Tariff, Add Prefix enhancements
This enhancement, makes adding prefix to VoIP Tariff with large number of prefixes, easier. First now duplicate prefix names are allowed. Second, Now it's possible to specify how IBSng re-acts to duplicate codes. It can update prefixes, when encounter to duplicate ones, Ignore them or issue an error and stop.
VoIP Tariff, Search for Prefix Code
A new type of search is added to VoIP Tariff, that can show prefixes that has the code starts or contains an special value.
VoIP Connection Log Enhancements
Prefix Name and Called number now support string operators(Starts with, like). Also Prefix Code and first applied cpm is now available in connection logs.
Periodic Accounting Bug Fixed
Multiple bugs where fixed in periodic accounting, related to resetting the user, while he is online.
Show Minutes beside Durations
This option is useful for VoIP providers, that always working with minutes and not duration formats.
Better SOAP Server Logging
SOAP server now logs request method, and first 200 bytes of arguments. This is very useful to debug input problems for interface programmers.
From-To condition for First Login, Absolute and Relative Expiration date in search user
Now All these attributes support setting condition from and to an specified time, making it possible to see users that are first logged in or expiring in specified period.
Interface Enahncement in adding multiple value permissions
Now it's possible to add multiple value at once, by using check boxes instead of drop downs. This makes the painful job of adding lots of permissions much easier.
Quintum 2G ras, IP Authorization
Quintum 2G now supports IP Authorization for Terminating calls. It authorize IP, Destination number, and bill the calls.
Upgrade from B1.29
Configuration File Changes
A simple configuration option for turbogears pid file should be added to GENERAL section of config file
;TAG: pid_file_tg ; A filename to write turbogears subsystem process-id to. ;DEFAULT: /var/run/IBSng-tg.pid pid_file_tg=/var/run/IBSng-tg.pid
Message Center and Archiver sections should be appened to the end of config file
;################################## ; Message Center ;################################## [MESSAGE_CENTER] ;TAG: max_queue_len ; Max. count of Mesasges which will be kept in Queue ;DEFAULT: 10000 max_queue_len=10000 ;TAG: max_read_from_queue ; how much messages have to be fetched from message queue for send ;DEFAULT: 1000 max_read_from_queue=1000 ;TAG: try_delay ; The delay time in second on periodic send of queued messages ;DEFAULT: 45 periodic_try_delay=45 ;TAG: max_try ; Specify trys before dropping the message on send failure ;DEFAULT: 5 max_try=5 ;TAG: max_destinations_per_message ; how much destination a message may have ;DEFAULT: 5 max_destinations_per_message=5 ;TAG: max_immediate_send_destinations ; if a message has destination lower than this value, will be sent on request ; without waiting for periodic dispatch. ;DEFAULT: 1 max_immediate_send_destinations=1 ;TAG: mc_sequence_number ; a shared-key with provider for receiving message and identification ;DEFAULT: mc_sequence_number= ;################################## ; Archiver ;################################## [ARCHIVER] ;TAG: archive_repositry_path ; Absolute path of archive repository ;DEFAULT: /usr/local/IBSng/archive archive_repositry_path=/usr/local/IBSng/archive
- Same as usual
psql -U ibs IBSng < /usr/local/IBSng/db/from_B1.29_upgrade.sql
- If you want to eliminate duplicate connection logs for previous rows, run
psql -U ibs IBSng < /usr/local/IBSng/db/eliminate_redundant_connection_log_rows.sql
Beware that it may take multiple hours.
This version is using tubogears framework for some pages. Turbogears framework should be installed for correct functionality.
apt-get install python-setuptools gcc easy_install -U setuptools easy_install TurboGears easy_install ToscaWidgets easy_install twForms easy_install Genshi
To copy new apache configuration file and enable proxy
a2enmod proxy a2enmod proxy_http cp -f /usr/local/IBSng/addons/apache/ibs.conf /etc/apache2/conf.d/
- Download and Run http://www.turbogears.org/download/tgsetup.py
easy_install ToscaWidgets easy_install twForms easy_install Genshi
- To copy new apache configuration file
cp -f /usr/local/IBSng/addons/apache/ibs.conf /etc/httpd/conf.d/