<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.kolmisoft.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mantas+svelnys</id>
	<title>Kolmisoft Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kolmisoft.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mantas+svelnys"/>
	<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php/Special:Contributions/Mantas_svelnys"/>
	<updated>2026-05-27T23:18:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Setting_up_https_secure_connection&amp;diff=19496</id>
		<title>Setting up https secure connection</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Setting_up_https_secure_connection&amp;diff=19496"/>
		<updated>2015-05-07T06:25:40Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Installing SSL =&lt;br /&gt;
For an SSL encrypted web server you will need a few things. Depending on your install you may or may not have OpenSSL and mod_ssl, Apache's interface to OpenSSL. &lt;br /&gt;
&lt;br /&gt;
 yum -y install mod_ssl openssl &lt;br /&gt;
&lt;br /&gt;
Generate private key &lt;br /&gt;
 openssl genrsa -out ca.key 2048 &lt;br /&gt;
&lt;br /&gt;
Generate CSR &lt;br /&gt;
 openssl req -new -key ca.key -out ca.csr&lt;br /&gt;
&lt;br /&gt;
Generate Self Signed Key&lt;br /&gt;
 openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt&lt;br /&gt;
&lt;br /&gt;
Move the files to the correct locations&lt;br /&gt;
 mv ca.crt /etc/pki/tls/certs&lt;br /&gt;
 mv ca.key /etc/pki/tls/private/ca.key&lt;br /&gt;
 mv ca.csr /etc/pki/tls/private/ca.csr&lt;br /&gt;
&lt;br /&gt;
Then we need to update the Apache SSL configuration file ( /etc/httpd/conf.d/ssl.conf ). Change the paths to match where the Key file is stored. If you've used the method above it will be.&lt;br /&gt;
&lt;br /&gt;
 SSLCertificateFile /etc/pki/tls/certs/ca.crt  &lt;br /&gt;
&lt;br /&gt;
Then set the correct path for the Certificate Key File a few lines below. If you've followed the instructions above it is:&lt;br /&gt;
 SSLCertificateKeyFile /etc/pki/tls/private/ca.key  &lt;br /&gt;
&lt;br /&gt;
Quit and save the file and then restart Apache&lt;br /&gt;
 /etc/init.d/httpd restart&lt;br /&gt;
&lt;br /&gt;
Source: http://shapeshed.com/journal/setting_up_mod_ssl_on_apache_centos_52/&lt;br /&gt;
&lt;br /&gt;
Troubleshooting:&lt;br /&gt;
&lt;br /&gt;
If you cannot access GUI, try following commands:&lt;br /&gt;
 chown apache.apache /var/log/httpd&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
== Allow only https ==&lt;br /&gt;
If you would like your users to be automatically redirected to secure connection (https), add the line to /etc/httpd/conf.d/mor.conf so it would look like:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
  DocumentRoot /var/www/html&lt;br /&gt;
  &amp;lt;Directory /var/www/html&amp;gt;&lt;br /&gt;
   Allow from all&lt;br /&gt;
  &amp;lt;/Directory&amp;gt;&lt;br /&gt;
  RailsBaseURI /billing&lt;br /&gt;
  &amp;lt;Directory /var/www/html/billing&amp;gt;&lt;br /&gt;
   Options -MultiViews&lt;br /&gt;
  &amp;lt;/Directory&amp;gt;&lt;br /&gt;
  RailsEnv production&lt;br /&gt;
  Redirect permanent / https://www.example.com/     #Add this one. Put your hostname instead of www.example.com&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Important notes ==&lt;br /&gt;
* When you disable http access and allow https only - please make sure that you change URL in various crontabs used by mor and located in /etc/cron.d/*&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ERROR: When directory structure is visible ==&lt;br /&gt;
&lt;br /&gt;
That means incorrect configuration in /etc/httpd/conf.d/ssl.conf&lt;br /&gt;
&lt;br /&gt;
Make sure your file looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This is the Apache server configuration file providing SSL support.&lt;br /&gt;
# It contains the configuration directives to instruct the server how to&lt;br /&gt;
# serve pages over an https connection. For detailing information about these&lt;br /&gt;
# directives see &amp;lt;URL:http://httpd.apache.org/docs/2.2/mod/mod_ssl.html&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Do NOT simply read the instructions in here without understanding&lt;br /&gt;
# what they do.  They're here only as hints or reminders.  If you are unsure&lt;br /&gt;
# consult the online docs. You have been warned.&lt;br /&gt;
#&lt;br /&gt;
 &lt;br /&gt;
LoadModule ssl_module modules/mod_ssl.so&lt;br /&gt;
 &lt;br /&gt;
#&lt;br /&gt;
# When we also provide SSL we have to listen to the&lt;br /&gt;
# the HTTPS port in addition.&lt;br /&gt;
#&lt;br /&gt;
Listen 443&lt;br /&gt;
 &lt;br /&gt;
##&lt;br /&gt;
##  SSL Global Context&lt;br /&gt;
##&lt;br /&gt;
##  All SSL configuration in this context applies both to&lt;br /&gt;
##  the main server and all SSL-enabled virtual hosts.&lt;br /&gt;
##&lt;br /&gt;
 &lt;br /&gt;
#   Pass Phrase Dialog:&lt;br /&gt;
#   Configure the pass phrase gathering process.&lt;br /&gt;
#   The filtering dialog program (`builtin' is a internal&lt;br /&gt;
#   terminal dialog) has to provide the pass phrase on stdout.&lt;br /&gt;
SSLPassPhraseDialog  builtin&lt;br /&gt;
 &lt;br /&gt;
#   Inter-Process Session Cache:&lt;br /&gt;
#   Configure the SSL Session Cache: First the mechanism&lt;br /&gt;
#   to use and second the expiring timeout (in seconds).&lt;br /&gt;
SSLSessionCache         shmcb:/var/cache/mod_ssl/scache(512000)&lt;br /&gt;
SSLSessionCacheTimeout  300&lt;br /&gt;
 &lt;br /&gt;
#   Semaphore:&lt;br /&gt;
#   Configure the path to the mutual exclusion semaphore the&lt;br /&gt;
#   SSL engine uses internally for inter-process synchronization.&lt;br /&gt;
SSLMutex default&lt;br /&gt;
 &lt;br /&gt;
#   Pseudo Random Number Generator (PRNG):&lt;br /&gt;
#   Configure one or more sources to seed the PRNG of the&lt;br /&gt;
#   SSL library. The seed data should be of good random quality.&lt;br /&gt;
#   WARNING! On some platforms /dev/random blocks if not enough entropy&lt;br /&gt;
#   is available. This means you then cannot use the /dev/random device&lt;br /&gt;
#   because it would lead to very long connection times (as long as&lt;br /&gt;
#   it requires to make more entropy available). But usually those&lt;br /&gt;
#   platforms additionally provide a /dev/urandom device which doesn't&lt;br /&gt;
#   block. So, if available, use this one instead. Read the mod_ssl User&lt;br /&gt;
#   Manual for more details.&lt;br /&gt;
SSLRandomSeed startup file:/dev/urandom  256&lt;br /&gt;
SSLRandomSeed connect builtin&lt;br /&gt;
#SSLRandomSeed startup file:/dev/random  512&lt;br /&gt;
#SSLRandomSeed connect file:/dev/random  512&lt;br /&gt;
#SSLRandomSeed connect file:/dev/urandom 512&lt;br /&gt;
 &lt;br /&gt;
#&lt;br /&gt;
# Use &amp;quot;SSLCryptoDevice&amp;quot; to enable any supported hardware&lt;br /&gt;
# accelerators. Use &amp;quot;openssl engine -v&amp;quot; to list supported&lt;br /&gt;
# engine names.  NOTE: If you enable an accelerator and the&lt;br /&gt;
# server does not start, consult the error logs and ensure&lt;br /&gt;
# your accelerator is functioning properly.&lt;br /&gt;
#&lt;br /&gt;
SSLCryptoDevice builtin&lt;br /&gt;
#SSLCryptoDevice ubsec&lt;br /&gt;
 &lt;br /&gt;
##&lt;br /&gt;
## SSL Virtual Host Context&lt;br /&gt;
##&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;VirtualHost _default_:443&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
# General setup for the virtual host, inherited from global configuration&lt;br /&gt;
DocumentRoot &amp;quot;/var/www/html/billing&amp;quot;                                           #ADD THIS&lt;br /&gt;
#ServerName www.example.com:443&lt;br /&gt;
 &lt;br /&gt;
# Use separate log files for the SSL virtual host; note that LogLevel&lt;br /&gt;
# is not inherited from httpd.conf.&lt;br /&gt;
ErrorLog logs/ssl_error_log&lt;br /&gt;
TransferLog logs/ssl_access_log&lt;br /&gt;
LogLevel warn&lt;br /&gt;
 &lt;br /&gt;
#   SSL Engine Switch:&lt;br /&gt;
#   Enable/Disable SSL for this virtual host.&lt;br /&gt;
SSLEngine on&lt;br /&gt;
 &lt;br /&gt;
#   SSL Protocol support:&lt;br /&gt;
# List the enable protocol levels with which clients will be able to&lt;br /&gt;
# connect.  Disable SSLv2 access by default:&lt;br /&gt;
SSLProtocol all -SSLv2&lt;br /&gt;
 &lt;br /&gt;
#   SSL Cipher Suite:&lt;br /&gt;
# List the ciphers that the client is permitted to negotiate.&lt;br /&gt;
# See the mod_ssl documentation for a complete list.&lt;br /&gt;
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW&lt;br /&gt;
 &lt;br /&gt;
#   Server Certificate:&lt;br /&gt;
# Point SSLCertificateFile at a PEM encoded certificate.  If&lt;br /&gt;
# the certificate is encrypted, then you will be prompted for a&lt;br /&gt;
# pass phrase.  Note that a kill -HUP will prompt again.  A new&lt;br /&gt;
# certificate can be generated using the genkey(1) command.&lt;br /&gt;
SSLCertificateFile /etc/pki/tls/certs/localhost.crt&lt;br /&gt;
 &lt;br /&gt;
#   Server Private Key:&lt;br /&gt;
#   If the key is not combined with the certificate, use this&lt;br /&gt;
#   directive to point at the key file.  Keep in mind that if&lt;br /&gt;
#   you've both a RSA and a DSA private key you can configure&lt;br /&gt;
#   both in parallel (to also allow the use of DSA ciphers, etc.)&lt;br /&gt;
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key&lt;br /&gt;
 &lt;br /&gt;
#   Server Certificate Chain:&lt;br /&gt;
#   Point SSLCertificateChainFile at a file containing the&lt;br /&gt;
#   concatenation of PEM encoded CA certificates which form the&lt;br /&gt;
#   certificate chain for the server certificate. Alternatively&lt;br /&gt;
#   the referenced file can be the same as SSLCertificateFile&lt;br /&gt;
#   when the CA certificates are directly appended to the server&lt;br /&gt;
#   certificate for convinience.&lt;br /&gt;
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt&lt;br /&gt;
 &lt;br /&gt;
#   Certificate Authority (CA):&lt;br /&gt;
#   Set the CA certificate verification path where to find CA&lt;br /&gt;
#   certificates for client authentication or alternatively one&lt;br /&gt;
#   huge file containing all of them (file must be PEM encoded)&lt;br /&gt;
#SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt&lt;br /&gt;
 &lt;br /&gt;
#   Client Authentication (Type):&lt;br /&gt;
#   Client certificate verification type and depth.  Types are&lt;br /&gt;
#   none, optional, require and optional_no_ca.  Depth is a&lt;br /&gt;
#   number which specifies how deeply to verify the certificate&lt;br /&gt;
#   issuer chain before deciding the certificate is not valid.&lt;br /&gt;
#SSLVerifyClient require&lt;br /&gt;
#SSLVerifyDepth  10&lt;br /&gt;
 &lt;br /&gt;
#   Access Control:&lt;br /&gt;
#   With SSLRequire you can do per-directory access control based&lt;br /&gt;
#   on arbitrary complex boolean expressions containing server&lt;br /&gt;
#   variable checks and other lookup directives.  The syntax is a&lt;br /&gt;
#   mixture between C and Perl.  See the mod_ssl documentation&lt;br /&gt;
#   for more details.&lt;br /&gt;
#&amp;lt;Location /&amp;gt;&lt;br /&gt;
#SSLRequire (    %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \&lt;br /&gt;
#            and %{SSL_CLIENT_S_DN_O} eq &amp;quot;Snake Oil, Ltd.&amp;quot; \&lt;br /&gt;
#            and %{SSL_CLIENT_S_DN_OU} in {&amp;quot;Staff&amp;quot;, &amp;quot;CA&amp;quot;, &amp;quot;Dev&amp;quot;} \&lt;br /&gt;
#            and %{TIME_WDAY} &amp;gt;= 1 and %{TIME_WDAY} &amp;lt;= 5 \&lt;br /&gt;
#            and %{TIME_HOUR} &amp;gt;= 8 and %{TIME_HOUR} &amp;lt;= 20       ) \&lt;br /&gt;
#           or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/&lt;br /&gt;
#&amp;lt;/Location&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
#   SSL Engine Options:&lt;br /&gt;
#   Set various options for the SSL engine.&lt;br /&gt;
#   o FakeBasicAuth:&lt;br /&gt;
#     Translate the client X.509 into a Basic Authorisation.  This means that&lt;br /&gt;
#     the standard Auth/DBMAuth methods can be used for access control.  The&lt;br /&gt;
#     user name is the `one line' version of the client's X.509 certificate.&lt;br /&gt;
#     Note that no password is obtained from the user. Every entry in the user&lt;br /&gt;
#     file needs this password: `xxj31ZMTZzkVA'.&lt;br /&gt;
#   o ExportCertData:&lt;br /&gt;
#     This exports two additional environment variables: SSL_CLIENT_CERT and&lt;br /&gt;
#     SSL_SERVER_CERT. These contain the PEM-encoded certificates of the&lt;br /&gt;
#     server (always existing) and the client (only existing when client&lt;br /&gt;
#     authentication is used). This can be used to import the certificates&lt;br /&gt;
#     into CGI scripts.&lt;br /&gt;
#   o StdEnvVars:&lt;br /&gt;
#     This exports the standard SSL/TLS related `SSL_*' environment variables.&lt;br /&gt;
#     Per default this exportation is switched off for performance reasons,&lt;br /&gt;
#     because the extraction step is an expensive operation and is usually&lt;br /&gt;
#     useless for serving static content. So one usually enables the&lt;br /&gt;
#     exportation for CGI and SSI requests only.&lt;br /&gt;
#   o StrictRequire:&lt;br /&gt;
#     This denies access when &amp;quot;SSLRequireSSL&amp;quot; or &amp;quot;SSLRequire&amp;quot; applied even&lt;br /&gt;
#     under a &amp;quot;Satisfy any&amp;quot; situation, i.e. when it applies access is denied&lt;br /&gt;
#     and no other module can change it.&lt;br /&gt;
#   o OptRenegotiate:&lt;br /&gt;
#     This enables optimized SSL connection renegotiation handling when SSL&lt;br /&gt;
#     directives are used in per-directory context.&lt;br /&gt;
#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire&lt;br /&gt;
&amp;lt;Files ~ &amp;quot;\.(cgi|shtml|phtml|php3?)$&amp;quot;&amp;gt;&lt;br /&gt;
    SSLOptions +StdEnvVars&lt;br /&gt;
&amp;lt;/Files&amp;gt;&lt;br /&gt;
&amp;lt;Directory &amp;quot;/var/www/cgi-bin&amp;quot;&amp;gt;&lt;br /&gt;
    SSLOptions +StdEnvVars&lt;br /&gt;
&amp;lt;/Directory&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
#   SSL Protocol Adjustments:&lt;br /&gt;
#   The safe and default but still SSL/TLS standard compliant shutdown&lt;br /&gt;
#   approach is that mod_ssl sends the close notify alert but doesn't wait for&lt;br /&gt;
#   the close notify alert from client. When you need a different shutdown&lt;br /&gt;
#   approach you can use one of the following variables:&lt;br /&gt;
#   o ssl-unclean-shutdown:&lt;br /&gt;
#     This forces an unclean shutdown when the connection is closed, i.e. no&lt;br /&gt;
#     SSL close notify alert is send or allowed to received.  This violates&lt;br /&gt;
#     the SSL/TLS standard but is needed for some brain-dead browsers. Use&lt;br /&gt;
#     this when you receive I/O errors because of the standard approach where&lt;br /&gt;
#     mod_ssl sends the close notify alert.&lt;br /&gt;
#   o ssl-accurate-shutdown:&lt;br /&gt;
#     This forces an accurate shutdown when the connection is closed, i.e. a&lt;br /&gt;
#     SSL close notify alert is send and mod_ssl waits for the close notify&lt;br /&gt;
#     alert of the client. This is 100% SSL/TLS standard compliant, but in&lt;br /&gt;
#     practice often causes hanging connections with brain-dead browsers. Use&lt;br /&gt;
#     this only for browsers where you know that their SSL implementation&lt;br /&gt;
#     works correctly.&lt;br /&gt;
#   Notice: Most problems of broken clients are also related to the HTTP&lt;br /&gt;
#   keep-alive facility, so you usually additionally want to disable&lt;br /&gt;
#   keep-alive for those clients, too. Use variable &amp;quot;nokeepalive&amp;quot; for this.&lt;br /&gt;
#   Similarly, one has to force some clients to use HTTP/1.0 to workaround&lt;br /&gt;
#   their broken HTTP/1.1 implementation. Use variables &amp;quot;downgrade-1.0&amp;quot; and&lt;br /&gt;
#   &amp;quot;force-response-1.0&amp;quot; for this.&lt;br /&gt;
SetEnvIf User-Agent &amp;quot;.*MSIE.*&amp;quot; \&lt;br /&gt;
         nokeepalive ssl-unclean-shutdown \&lt;br /&gt;
         downgrade-1.0 force-response-1.0&lt;br /&gt;
 &lt;br /&gt;
#   Per-Server Logging:&lt;br /&gt;
#   The home of a custom SSL log file. Use this when you want a&lt;br /&gt;
#   compact non-error SSL logfile on a virtual host basis.&lt;br /&gt;
CustomLog logs/ssl_request_log \&lt;br /&gt;
          &amp;quot;%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \&amp;quot;%r\&amp;quot; %b&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
DocumentRoot /var/www/html                                                #ADD THIS&lt;br /&gt;
&amp;lt;Directory /var/www/html&amp;gt;                                                 #ADD THIS&lt;br /&gt;
    Allow from all                                                        #ADD THIS&lt;br /&gt;
&amp;lt;/Directory&amp;gt;                                                              #ADD THIS&lt;br /&gt;
RailsBaseURI /billing                                                     #ADD THIS&lt;br /&gt;
&amp;lt;Directory /var/www/html/billing&amp;gt;                                         #ADD THIS&lt;br /&gt;
    Options -MultiViews                                                   #ADD THIS&lt;br /&gt;
&amp;lt;/Directory&amp;gt;                                                              #ADD THIS&lt;br /&gt;
ServerName my.domain.com                                                  #ADD THIS&lt;br /&gt;
RedirectMatch permanent ^/$ https://my.domain.com/billing/callc/login     #ADD THIS change my.domain.com to proper domain&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are implementing SSL into MOR please remove m2.conf file&lt;br /&gt;
&lt;br /&gt;
 rm -rf /etc/httpd/conf.d/m2.conf&lt;br /&gt;
&lt;br /&gt;
Restart Apache after changing this file.&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=I_have_a_problem_with_GUI&amp;diff=19479</id>
		<title>I have a problem with GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=I_have_a_problem_with_GUI&amp;diff=19479"/>
		<updated>2015-05-01T10:04:38Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;What problem do you have? &lt;br /&gt;
&lt;br /&gt;
* [[Access Denied]]&lt;br /&gt;
* [[GUI does not open]]&lt;br /&gt;
* [[GUI opens very slowly]]&lt;br /&gt;
* [[Time in GUI is displayed incorrectly]]&lt;br /&gt;
* [[Global_Settings | How to remove Kolmisoft branding from MOR]]&lt;br /&gt;
* [[Accountant cannot see assigned permission objects]]&lt;br /&gt;
* [[I have a problem with Google Maps]]&lt;br /&gt;
* [[I want to hide &amp;quot;I want to&amp;quot; help links]]&lt;br /&gt;
* [[I cannot see Menu]]&lt;br /&gt;
* [[MOR_integration|I want to integrate MOR]]&lt;br /&gt;
* [[I see Apache test on Start page]]&lt;br /&gt;
* [[I see &amp;quot;Don't be so smart&amp;quot; error message on some pages]]&lt;br /&gt;
* [[Custom_Reseller_Login_page_LOGO|Where can I find reseller's website address?]]&lt;br /&gt;
* [[Reseller's LOGO changes after GUI update]]&lt;br /&gt;
* [[Can I have a hostname for MOR]]&lt;br /&gt;
* [[GUI update blocks user]]&lt;br /&gt;
* [[GUI time zone]]&lt;br /&gt;
* [[Bad group name apache FAILED]]&lt;br /&gt;
* [[Internal Error]]&lt;br /&gt;
* [[How to change admin's password]]&lt;br /&gt;
* [[Global_Settings | I want to display more information on the start page]]&lt;br /&gt;
* [[I have to wait to login again after 3 unsuccesful tries]]&lt;br /&gt;
* [[I have changed User password and still able to connect]]&lt;br /&gt;
* [[Webphone is not shown]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= See also = &lt;br /&gt;
* [[Main_Page#GUI_2 | GUI Problems]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=I_have_a_problem_with_GUI&amp;diff=19478</id>
		<title>I have a problem with GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=I_have_a_problem_with_GUI&amp;diff=19478"/>
		<updated>2015-05-01T10:04:18Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;What problem do you have? &lt;br /&gt;
&lt;br /&gt;
* [[Access Denied]]&lt;br /&gt;
* [[GUI does not open]]&lt;br /&gt;
* [[GUI opens very slowly]]&lt;br /&gt;
* [[Time in GUI is displayed incorrectly]]&lt;br /&gt;
* [[Global_Settings | How to remove Kolmisoft branding from MOR]]&lt;br /&gt;
* [[Accountant cannot see assigned permission objects]]&lt;br /&gt;
* [[I have a problem with Google Maps]]&lt;br /&gt;
* [[I want to hide &amp;quot;I want to&amp;quot; help links]]&lt;br /&gt;
* [[I cannot see Menu]]&lt;br /&gt;
* [[MOR_integration|I want to integrate MOR]]&lt;br /&gt;
* [[I see Apache test on Start page]]&lt;br /&gt;
* [[I see &amp;quot;Don't be so smart&amp;quot; error message on some pages]]&lt;br /&gt;
* [[Custom_Reseller_Login_page_LOGO|Where can I find reseller's website address?]]&lt;br /&gt;
* [[Reseller's LOGO changes after GUI update]]&lt;br /&gt;
* [[Can I have a hostname for MOR]]&lt;br /&gt;
* [[GUI update blocks user]]&lt;br /&gt;
* [[GUI time zone]]&lt;br /&gt;
* [[Bad group name apache FAILED]]&lt;br /&gt;
* [[Internal Error]]&lt;br /&gt;
* [[How to change admin's password]]&lt;br /&gt;
* [[Global_Settings | I want to display more information on the start page]]&lt;br /&gt;
* [[I have to wait to login again after 3 unsuccesful tries]]&lt;br /&gt;
* [[I have changed User password and he still able to connect]]&lt;br /&gt;
* [[Webphone is not shown]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= See also = &lt;br /&gt;
* [[Main_Page#GUI_2 | GUI Problems]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=I_have_changed_User_password_and_still_able_to_connect&amp;diff=19477</id>
		<title>I have changed User password and still able to connect</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=I_have_changed_User_password_and_still_able_to_connect&amp;diff=19477"/>
		<updated>2015-05-01T10:03:44Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: Created page with 'New password will become valid when user re-login to the system. Until then connection data is store in browsers cache and server.  If you want to force user to enter new passwor…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New password will become valid when user re-login to the system. Until then connection data is store in browsers cache and server.&lt;br /&gt;
&lt;br /&gt;
If you want to force user to enter new password you should clear sessions from server.&lt;br /&gt;
&lt;br /&gt;
In order to do that:&lt;br /&gt;
&lt;br /&gt;
1. Connect to server via SSH&lt;br /&gt;
&lt;br /&gt;
2. Enter commands:&lt;br /&gt;
&lt;br /&gt;
 rm -rf /dev/shm/sessions/*&lt;br /&gt;
 service httpd restart&lt;br /&gt;
&lt;br /&gt;
After that your customer will be kicked-out from GUI and will need to enter password.&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=I_have_a_problem_with_GUI&amp;diff=19476</id>
		<title>I have a problem with GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=I_have_a_problem_with_GUI&amp;diff=19476"/>
		<updated>2015-05-01T10:00:54Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;What problem do you have? &lt;br /&gt;
&lt;br /&gt;
* [[Access Denied]]&lt;br /&gt;
* [[GUI does not open]]&lt;br /&gt;
* [[GUI opens very slowly]]&lt;br /&gt;
* [[Time in GUI is displayed incorrectly]]&lt;br /&gt;
* [[Global_Settings | How to remove Kolmisoft branding from MOR]]&lt;br /&gt;
* [[Accountant cannot see assigned permission objects]]&lt;br /&gt;
* [[I have a problem with Google Maps]]&lt;br /&gt;
* [[I want to hide &amp;quot;I want to&amp;quot; help links]]&lt;br /&gt;
* [[I cannot see Menu]]&lt;br /&gt;
* [[MOR_integration|I want to integrate MOR]]&lt;br /&gt;
* [[I see Apache test on Start page]]&lt;br /&gt;
* [[I see &amp;quot;Don't be so smart&amp;quot; error message on some pages]]&lt;br /&gt;
* [[Custom_Reseller_Login_page_LOGO|Where can I find reseller's website address?]]&lt;br /&gt;
* [[Reseller's LOGO changes after GUI update]]&lt;br /&gt;
* [[Can I have a hostname for MOR]]&lt;br /&gt;
* [[GUI update blocks user]]&lt;br /&gt;
* [[GUI time zone]]&lt;br /&gt;
* [[Bad group name apache FAILED]]&lt;br /&gt;
* [[Internal Error]]&lt;br /&gt;
* [[How to change admin's password]]&lt;br /&gt;
* [[Global_Settings | I want to display more information on the start page]]&lt;br /&gt;
* [[I have to wait to login again after 3 unsuccesful tries]]&lt;br /&gt;
* [[I have changed User password and still able to connect]]&lt;br /&gt;
* [[Webphone is not shown]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= See also = &lt;br /&gt;
* [[Main_Page#GUI_2 | GUI Problems]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Transfers_with_MOR&amp;diff=19380</id>
		<title>Transfers with MOR</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Transfers_with_MOR&amp;diff=19380"/>
		<updated>2015-04-17T10:15:14Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Transfers by default are not available in MOR because Asterisk cannot guarantee correct CDRs with Transfers.&lt;br /&gt;
&lt;br /&gt;
In other words - it is possible to dial for free using Transfers with Asterisk (MOR).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
If you really want transfers and do not care about possible loss, here is the way to enable them:&lt;br /&gt;
&lt;br /&gt;
In file /etc/asterisk/sip.conf&lt;br /&gt;
&lt;br /&gt;
change line&lt;br /&gt;
 &lt;br /&gt;
 allowtransfer = no&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
 allowtransfer = yes&lt;br /&gt;
&lt;br /&gt;
Then in file /etc/asterisk/mor.conf add line (starting from MOR X6):&lt;br /&gt;
&lt;br /&gt;
 transfer_billing_enabled = 1&lt;br /&gt;
&lt;br /&gt;
And reload Asterisk.&lt;br /&gt;
'''Use it at your own risk!'''&lt;br /&gt;
&lt;br /&gt;
Different phones may have different transfer implementations therefore transfer billing depends on how phones initiate transfer. Only authenticated users can transfer calls.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are tested scenarios with transfers (tested with ATTENDED and BLIND transfers on MOR X6).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scenario #1'''&lt;br /&gt;
&lt;br /&gt;
''Prefix 370, rate 0.1''&lt;br /&gt;
&lt;br /&gt;
Local user A calls outside number (prefix 370) and after 30 seconds user A transfers call to local user B. User B talks for another 20 seconds and hangs up. User A will be billed for 50 seconds (30 seconds before transfer and 20 seconds after transfer).&lt;br /&gt;
&lt;br /&gt;
User price = (50*0.1)/60 = 0.0833&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scenario #2'''&lt;br /&gt;
&lt;br /&gt;
''Prefix 370, rate 0.1''&lt;br /&gt;
''Prefix 371, rate 0.3''&lt;br /&gt;
&lt;br /&gt;
Local user A calls outside number (prefix 370) and after 30 seconds user A transfers call to another outside number (prefix 371). After 40 seconds call ends. User A will be billed for 110 seconds (70 seconds to prefix 370 (30 seconds before transfer and 40 seconds after transfer) and 40 seconds to prefix 371).&lt;br /&gt;
&lt;br /&gt;
User price = (70*0.1)/60 + (40*0.3)/60 = 0.3167&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scenario #3'''&lt;br /&gt;
&lt;br /&gt;
''Prefix 370, rate 0.1''&lt;br /&gt;
&lt;br /&gt;
Local user A calls local user B and after 30 seconds user A transfers call to outside number (prefix 370). User B talks for another 20 seconds. User A will be billed for 20 seconds.&lt;br /&gt;
&lt;br /&gt;
User price = (20*0.1)/60 = 0.0333&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scenario #4 (BLIND transfers only)'''&lt;br /&gt;
&lt;br /&gt;
''Prefix 370, rate 0.1''&lt;br /&gt;
&lt;br /&gt;
Local user A calls local user B and after 30 seconds user B transfers call to outside number (prefix 370). User A talks for another 20 seconds. User A will be billed for 20 seconds.&lt;br /&gt;
&lt;br /&gt;
User price = (20*0.1)/60 = 0.0333&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scenario #5 (ATTENDED transfers only)'''&lt;br /&gt;
&lt;br /&gt;
''Prefix 370, rate 0.1''&lt;br /&gt;
&lt;br /&gt;
Local user A calls local user B and after 30 seconds user B transfers call to outside number (prefix 370). User A talks for another 20 seconds. User B will be billed for 20 seconds.&lt;br /&gt;
&lt;br /&gt;
User price = (20*0.1)/60 = 0.0333&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Limitations'''&lt;br /&gt;
&lt;br /&gt;
Call can be transfered only one time.&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Update_MOR_GUI&amp;diff=19255</id>
		<title>Update MOR GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Update_MOR_GUI&amp;diff=19255"/>
		<updated>2015-04-02T10:33:27Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* How to update the GUI? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=What is MOR GUI Update?=&lt;br /&gt;
MOR GUI update is a procedure to update your graphical user interface (GUI) to the newest version.&lt;br /&gt;
=Why should I update my GUI?=&lt;br /&gt;
Some features are being implemented after official version release, so if you find, that you lack some feature documented in wiki - you should update your GUI to receive that feature.&lt;br /&gt;
&lt;br /&gt;
Please check for important changes [[Important_changes | here]]. It could be that you will need some changes on configuration after update.&lt;br /&gt;
&lt;br /&gt;
'''P.S. Use the procedure that matches your version, otherwise it might break your system. To update to a newer version - please contact the Kolmisoft team'''&lt;br /&gt;
&lt;br /&gt;
=How to determine what GUI version I have?=&lt;br /&gt;
Please run this command to determine your current MOR GUI version:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
 svn info /home/mor | grep URL | awk -F&amp;quot;/&amp;quot; '{print $NF}'&lt;br /&gt;
You will get a similar output:&lt;br /&gt;
 [root@localhost ~]# svn info /home/mor | grep URL | awk -F&amp;quot;/&amp;quot; '{print $NF}'&lt;br /&gt;
 9&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=What else should I know?=&lt;br /&gt;
MOR GUI and MOR core versions '''must match'''. Always update your GUI according to core version. MOR core version can be determined by running this command:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 asterisk -rx &amp;quot;mor show status&amp;quot; | grep Version&lt;br /&gt;
You will get a similar output:&lt;br /&gt;
 [root@localhost ~]# asterisk -rx &amp;quot;mor show status&amp;quot; | grep Version&lt;br /&gt;
 Version: '''9.1.22'''&lt;br /&gt;
&lt;br /&gt;
In this example we have MOR with version 9 core. So to update GUI you should follow the GUI update guide for version 9&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=How to update the GUI?=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MOR 8 update ==&lt;br /&gt;
&lt;br /&gt;
To update '''[[MOR 8 documentation | MOR 8]]''' GUI run such commands over SSH as root:&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/src/mor&lt;br /&gt;
 svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor&lt;br /&gt;
 /usr/src/mor/upgrade/0.8/hard_fix.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MOR 9 update ==&lt;br /&gt;
&lt;br /&gt;
To upgrade '''[[MOR 9 documentation | MOR 9]]''' GUI run such commands over SSH as root:&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/src/mor&lt;br /&gt;
 svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor&lt;br /&gt;
 /usr/src/mor/upgrade/9/fix.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== MOR 10 update ==&lt;br /&gt;
&lt;br /&gt;
To update '''[[MOR 10 documentation | MOR 10]]''' GUI run such commands over SSH as root:&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/src/mor&lt;br /&gt;
 svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor&lt;br /&gt;
 /usr/src/mor/upgrade/10/fix.sh&lt;br /&gt;
&lt;br /&gt;
== MOR 11 update ==&lt;br /&gt;
&lt;br /&gt;
To update '''[[MOR_11 | MOR 11]]''' GUI run such commands over SSH as root:&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/src/mor&lt;br /&gt;
 svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor&lt;br /&gt;
 /usr/src/mor/upgrade/11/fix.sh&lt;br /&gt;
&lt;br /&gt;
== MOR 12 update ==&lt;br /&gt;
&lt;br /&gt;
To update '''[[MOR_12 | MOR 12]]''' GUI run such commands over SSH as root:&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/src/mor&lt;br /&gt;
 svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor&lt;br /&gt;
 /usr/src/mor/upgrade/12.126/fix.sh&lt;br /&gt;
&lt;br /&gt;
== MOR X3 update ==&lt;br /&gt;
&lt;br /&gt;
To update '''[[MOR_X3 | MOR X3]]''' GUI run such commands over SSH as root:&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/src/mor&lt;br /&gt;
 svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor&lt;br /&gt;
 /usr/src/mor/upgrade/12/fix.sh&lt;br /&gt;
&lt;br /&gt;
== MOR X4 update ==&lt;br /&gt;
&lt;br /&gt;
To update '''[[MOR_X4 | MOR X4]]''' GUI run such commands over SSH as root:&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/src/mor&lt;br /&gt;
 svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor&lt;br /&gt;
 /usr/src/mor/upgrade/x4/fix.sh&lt;br /&gt;
&lt;br /&gt;
== MOR X5 update ==&lt;br /&gt;
&lt;br /&gt;
To update '''[[MOR_X5 | MOR X5]]''' GUI run such commands over SSH as root:&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/src/mor&lt;br /&gt;
 svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor&lt;br /&gt;
 /usr/src/mor/x5/update.sh&lt;br /&gt;
&lt;br /&gt;
== MOR X6 update ==&lt;br /&gt;
&lt;br /&gt;
To update '''[[MOR_X6 | MOR X6]]''' GUI run such commands over SSH as root:&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/src/mor&lt;br /&gt;
 svn co http://svn.kolmisoft.com/mor/install_script/trunk/ /usr/src/mor&lt;br /&gt;
 /usr/src/mor/x6/update.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
fix.sh makes it automatically, also if mysql connection files will be overwritten in remote asterisk it will fail to connect database:&lt;br /&gt;
&lt;br /&gt;
'''Notice:''' After update if your Asterisk version is 1.8 please copy configuration files form this directory to asterisk server.&lt;br /&gt;
&lt;br /&gt;
(If your system consist from few Asterisk servers copy do it on all Asterisk servers):&lt;br /&gt;
&lt;br /&gt;
'''From'''&lt;br /&gt;
 /usr/src/mor/asterisk-conf/ast_1.8&lt;br /&gt;
&lt;br /&gt;
'''To''' &lt;br /&gt;
 '''/etc/asterisk''' and override all files.&lt;br /&gt;
&lt;br /&gt;
If after file overriding calls still not going restart Asterisk with this command:&lt;br /&gt;
&lt;br /&gt;
 /usr/src/mor/sh_scripts/asterisk_nice_restart.sh&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Recommended_hardware&amp;diff=19089</id>
		<title>Recommended hardware</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Recommended_hardware&amp;diff=19089"/>
		<updated>2015-03-17T11:14:26Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Specifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Specifications ==&lt;br /&gt;
&lt;br /&gt;
Main principle - as powerful as possible. For single server solution we recommend:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
| '''Component''' || '''Minimum requirement''' || '''Recommended''' || [[File:check.png]] ''' We provide as Hosted Solution''' || '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| CPU || Quad Xeon/Intel Core i5+ || any higher CPU || [[File:check.png]] Intel(R) Xeon(R) CPU E3-1245 V2 @ 3.40GHz || &lt;br /&gt;
|-&lt;br /&gt;
| RAM || 4 Gb || 16 GB or more || [[File:check.png]] 32 GB ||&lt;br /&gt;
|-&lt;br /&gt;
| HDD || 100 Gb || 100 Gb or more, SDD (Solid State Drives), [http://en.wikipedia.org/wiki/RAID#RAID_1 RAID Type 1] || [[File:check.png]] 2 x 120 GB SSD RAID 1 || all space must be assigned to / partition; ext3 file system&lt;br /&gt;
|-&lt;br /&gt;
| OS || [[Centos_installation | Linux Centos 6]] || x86_64 || [[File:check.png]] Centos 6.6 ||&lt;br /&gt;
|-&lt;br /&gt;
| Brand|| Any || Intel, DELL, HP, Fujitsu || [[File:check.png]] Intel ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is required to have clean server without any additional packets installed.&lt;br /&gt;
&lt;br /&gt;
Default Centos kernel is required.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements for multi-server deployment ==&lt;br /&gt;
&lt;br /&gt;
'''Asterisk server:''' same requirements as above, except SSD would not increase performance so it is not needed and 4 GB of RAM is sufficient. CPU is most important component here. If Proxy solution is in use, Asterisks cannot be under NAT, it must have Public IP for SIP and RTP traffic.&lt;br /&gt;
&lt;br /&gt;
'''Database server:''' same requirements as above and SSD is highly recommended here. SSD is must if system has more than one Asterisk server. There should be 100GB or more space as database grows fast on high traffic. Fast data storage device and CPU are most important here. If more than one Database server is in use, UPS (Uninterruptible Power Supply) devices must be used for these servers, otherwise power outage would cause broken replication.&lt;br /&gt;
&lt;br /&gt;
'''GUI server:''' same requirements as above, except SSD would not increase performance a lot. HDD with more space is recommended here.&lt;br /&gt;
&lt;br /&gt;
'''Proxy server:''' same requirements as above, except 4 GB of RAM and 40 GB on HDD will be enough here. SSD would not increase performance. Proxy server cannot be under NAT, it must have Public IP for SIP traffic.&lt;br /&gt;
&lt;br /&gt;
'''Redundant servers:''' there are no special requirements on server hardware if server is part of redundant system. However, there are requirements for network to which servers are connected:&lt;br /&gt;
&lt;br /&gt;
* Both servers should be within same subnet.&lt;br /&gt;
* Both servers should be able to ''broadcast'' packets to UDP 694 port.&lt;br /&gt;
* Both servers should be able to receive packets broadcasted by other server.&lt;br /&gt;
* There should be Virtual IP reserved in Subnet.&lt;br /&gt;
* Both servers should be able to work with that Virtual IP (only one server at same time).&lt;br /&gt;
&lt;br /&gt;
If any of requirements above are not met, in some cases it is possible to adapt different network configurations or services (like &amp;quot;IP Failover&amp;quot;). However, management/configuration/development of third party software (like special scripts) needed to adapt special solution should be performed by servers owner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Virtualization ==&lt;br /&gt;
&lt;br /&gt;
MOR system was tested and working on following Virtualization technologies:&lt;br /&gt;
* VMware&lt;br /&gt;
* VirtualBox&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* Do you have the provision of STUN and TURN servers on your end?&lt;br /&gt;
&lt;br /&gt;
No, we do not provide STUN servers. MOR should receive Public IPs on SIP headers. NAT traversal should be done on customer's side.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[How fast MOR can perform]]&lt;br /&gt;
* [[Stress Test 2012-03-05]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Watch_active_calls/channels_in_Asterisk_server_from_CLI&amp;diff=19032</id>
		<title>Watch active calls/channels in Asterisk server from CLI</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Watch_active_calls/channels_in_Asterisk_server_from_CLI&amp;diff=19032"/>
		<updated>2015-03-05T07:11:03Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Watch active channels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Watch number of active channels===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'core show channels' | grep channels&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Watch number of active calls===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'core show channels' | grep calls&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Watch active channels===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'core show channels verbose'&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Watch active channels in Asterisk 1.8===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'core show channels verbose'&amp;quot;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Watch_active_calls/channels_in_Asterisk_server_from_CLI&amp;diff=19031</id>
		<title>Watch active calls/channels in Asterisk server from CLI</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Watch_active_calls/channels_in_Asterisk_server_from_CLI&amp;diff=19031"/>
		<updated>2015-03-05T07:10:51Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Watch number of active calls */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Watch number of active channels===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'core show channels' | grep channels&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Watch number of active calls===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'core show channels' | grep calls&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Watch active channels===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'show channels verbose'&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Watch active channels in Asterisk 1.8===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'core show channels verbose'&amp;quot;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Watch_active_calls/channels_in_Asterisk_server_from_CLI&amp;diff=19030</id>
		<title>Watch active calls/channels in Asterisk server from CLI</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Watch_active_calls/channels_in_Asterisk_server_from_CLI&amp;diff=19030"/>
		<updated>2015-03-05T07:10:21Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Watch number of active channels */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Watch number of active channels===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'core show channels' | grep channels&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Watch number of active calls===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'show channels' | grep calls&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Watch active channels===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'show channels verbose'&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Watch active channels in Asterisk 1.8===&lt;br /&gt;
&lt;br /&gt;
watch &amp;quot;asterisk -vvvvvrx 'core show channels verbose'&amp;quot;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=How_to_access_MySQL_database_via_WEB&amp;diff=18973</id>
		<title>How to access MySQL database via WEB</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=How_to_access_MySQL_database_via_WEB&amp;diff=18973"/>
		<updated>2015-02-23T11:35:28Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Since MOR v0.7 phpmyadmin directory is restricted from web access.&lt;br /&gt;
&lt;br /&gt;
To access MySQL database via WEB you need to do:&lt;br /&gt;
Login via ssh to your MOR GUI server and execute:&lt;br /&gt;
   cat /root/phpMyAdminPassword&lt;br /&gt;
And you must see something like this:&lt;br /&gt;
   Login and Password from phpMyAdmin system: admin YOURPASSWORD&lt;br /&gt;
Now go to http://'''IP ADDRESS OF YOUR WEB SERVER'''/mordbadmin (for example http://123.123.123.123/mordbadmin) &lt;br /&gt;
and enter correct details which you have got from /root/phpMyAdminPassword file. &lt;br /&gt;
&lt;br /&gt;
Then login using your regular details from mysql. (Mostly 'mor/mor' or just 'root' without password will help you to access phpmyadmin web page where you can manage your databases). &lt;br /&gt;
&lt;br /&gt;
'''Be very careful when changing something in database, its good idea to make whole database backup before making any changes.'''&lt;br /&gt;
&lt;br /&gt;
BETTER IF YOU DO NOT CHANGE ANYTHING IN DB AT ALL!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A real world example how to obtain phpmyadmin password from system:&lt;br /&gt;
&lt;br /&gt;
[[Image:ppp.png]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Directions&amp;diff=18816</id>
		<title>M4 Directions</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Directions&amp;diff=18816"/>
		<updated>2015-01-13T15:23:50Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: Created page with 'Can be foun in:  MAINTENANCE -&amp;gt; Directions -&amp;gt; Groups  Very similar to MOR:  http://wiki.kolmisoft.com/index.php/Directions_and_Destinations'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Can be foun in:&lt;br /&gt;
&lt;br /&gt;
MAINTENANCE -&amp;gt; Directions -&amp;gt; Groups&lt;br /&gt;
&lt;br /&gt;
Very similar to MOR:&lt;br /&gt;
&lt;br /&gt;
http://wiki.kolmisoft.com/index.php/Directions_and_Destinations&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Switch_Manual&amp;diff=18815</id>
		<title>M4 Switch Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Switch_Manual&amp;diff=18815"/>
		<updated>2015-01-13T14:56:23Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Maintenance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= General Info =&lt;br /&gt;
* [[M2 Switch | Introduction]]&lt;br /&gt;
* [[M2 Switch Stress Test | Stress Test]]&lt;br /&gt;
* [[M2 Roadmap| Roadmap]]&lt;br /&gt;
* [[M2 Network Architecture | Network Architecture]]&lt;br /&gt;
* [[M2 Supported Codecs | Supported Codecs]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuration = &lt;br /&gt;
* [[M2 Users | Users]]&lt;br /&gt;
* [[m2.conf]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Routing =&lt;br /&gt;
* [[M2 Routing Logic | Routing Logic]]&lt;br /&gt;
* [[M2 Regexp Examples|Regexp Examples]]&lt;br /&gt;
* [[M2 Origination Points | Origination Points (OP) ]]&lt;br /&gt;
* [[M2 Termination Points | Termination Points (TP) ]]&lt;br /&gt;
* [[M2 Routing Groups | Routing Groups (RG) ]]&lt;br /&gt;
* [[M2 Dial Peers | Dial Peers (DP) ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Billing =&lt;br /&gt;
&lt;br /&gt;
* [[Code Decks]]&lt;br /&gt;
* [[M2 Tariffs| Tariffs]]&lt;br /&gt;
* [[M2 Rates | Rates]]&lt;br /&gt;
* [[M2 Rate Notification | Rate Notifications]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Accounting =&lt;br /&gt;
* [[M2 Payments | Payments]]&lt;br /&gt;
* [[M2 Customer Invoices| Customer Invoices]]&lt;br /&gt;
* [[M2 Supplier Invoices| Supplier Invoices]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Reporting =&lt;br /&gt;
Reports, Stats&lt;br /&gt;
&lt;br /&gt;
* [[M2 Balance Report | Balance Report]]&lt;br /&gt;
* [[M2 Financial Status|Financial Status]]&lt;br /&gt;
* [[M2 CSV Export | CSV Export]]&lt;br /&gt;
* [[M2 reports examples | reports examples]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Maintenance =&lt;br /&gt;
* [[M2 Access Levels | Access Levels]]&lt;br /&gt;
* [[M2 Hangupcause Codes | Hangupcause Codes]]&lt;br /&gt;
* [[M2 Warning Balance | Warning Balance]]&lt;br /&gt;
* [[M2 Alerts | Alerts]]&lt;br /&gt;
* [[Freeswitch]]&lt;br /&gt;
** [https://wiki.freeswitch.org/wiki/Codecs#Transcodable_codecs Freeswitch Codecs]&lt;br /&gt;
** [https://wiki.freeswitch.org/wiki/Codec_Negotiation Freeswitch Codec Negotiation]&lt;br /&gt;
* [[M2 Number Pools|Number Pools]]&lt;br /&gt;
* [[M2 Directions | Directions]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= User Portal =&lt;br /&gt;
* [[M2 User Dashboard | Dashboard]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tutorials = &lt;br /&gt;
* [[M2 How to make first call | How to make first call]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=LCR&amp;diff=18799</id>
		<title>LCR</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=LCR&amp;diff=18799"/>
		<updated>2015-01-08T16:54:26Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
LCR (Least Cost Routing) is a set of Providers that should be used to send a call  when trying to dial any destination - for example, by the cheapest rate. &lt;br /&gt;
&lt;br /&gt;
The correct name for such a function is a Routing Table, because the function supports other ways of routing, not just finding the cheapest route.&lt;br /&gt;
&lt;br /&gt;
By default LCR supports fail-over. That is, if one provider fails, the next one is dialed. This is completely invisible for the caller and lets you increase the chances of the user reaching his destination. If one Provider is not capable of delivering a call, the system will try to use the remaining [[How_to_add_Provider_to_LCR | Providers]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Fail-over explanation==&lt;br /&gt;
With such configuration:&lt;br /&gt;
&lt;br /&gt;
[[image:lcr_fo_case1.png]]&lt;br /&gt;
&lt;br /&gt;
System will do following:&lt;br /&gt;
&lt;br /&gt;
* system tries to use &amp;quot;Kolmisoft PREMIUM&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
* if above fails, system tries to use &amp;quot;Kolmisoft STANDARD&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
* end.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
With such configuration:&lt;br /&gt;
&lt;br /&gt;
[[image:lcr_fo_case2.png]]&lt;br /&gt;
&lt;br /&gt;
System will do following:&lt;br /&gt;
* system tries to use &amp;quot;Kolmisoft PREMIUM&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
* end.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
With such configuration:&lt;br /&gt;
&lt;br /&gt;
[[image:lcr_fo_case3.png]]&lt;br /&gt;
&lt;br /&gt;
System will do following:&lt;br /&gt;
* system tries to use &amp;quot;Kolmisoft PREMIUM&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
* if above fails, system tries to use &amp;quot;Kolmisoft STANDARD&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
* if above fails, system tries to use provider &amp;quot;112&amp;quot; even if its rate is higher than User rate;&lt;br /&gt;
&lt;br /&gt;
* end.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS –&amp;gt; Billing –&amp;gt; LCR'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lcr_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you can see the list off all LCRs&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lcr_main.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Name – name of LCR.&lt;br /&gt;
* Order – type of routing mode.&lt;br /&gt;
* Providers – quantity of providers in LCR. Click on it to [[How_to_add_Provider_to_LCR | Add Providers to LCR]]&lt;br /&gt;
* [[Call_routing_per_destination_basis | By destination]]&lt;br /&gt;
* Usage Details – the list of Users and Card Groups where this LCR is used.&lt;br /&gt;
* [[LCR make tariff | Make Tariff from LCR Providers to CSV]] – feature that gets you a CSV with the MIN/MAX prices selected from the list of Providers in LCR. Click on the [[Image:excel.png]] icon and the download should start automatically. (De-activated provider will be taken into CSV. &amp;quot;by Destination&amp;quot; will not be taken into CSV)&lt;br /&gt;
* LCR copy – press on icon to make LCR copy.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Press [[Image:icon_add.png]]'''New LCR''' to create LCR.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Supported routing modes===&lt;br /&gt;
&lt;br /&gt;
* [[Call Routing by price|By Price]] - cheapest first (Least Cost Routing).&lt;br /&gt;
* [[Call Routing by priority (Manual LCR) | By priority]].&lt;br /&gt;
* [[Routing by Percent| By percent]] or Weight-based routing.&lt;br /&gt;
&lt;br /&gt;
The user has one base LCR, so that all his calls are routed by some preset rule.&lt;br /&gt;
&lt;br /&gt;
It is possible to route different destinations for a User using [[Call routing per destination basis]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==LCR Time Periods==&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X4---&amp;gt;&lt;br /&gt;
Sometimes there is such demand to change LCR for some time period. This functionality gives you an ability to do that. Go to LCRs list and press [[image:icon_edit.png]] icon. Here time periods can be set.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lcr_time_periods.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Time period defines the exact time period LCR will be active. There is a limit of five periods in one LCR. Rest of the time will be used main LCR.&lt;br /&gt;
===Examples===&lt;br /&gt;
# Select '''Date''' from 1 of January to 28 of February and choose '''Hour : Minute''' from 09:00 to 18:59. Selected LCR will be used from 1 of January till 28 of February at time from 09:00 till 18:59.&lt;br /&gt;
# Select just '''Hour : Minute''' from 19:00 to 08:59 and selected LCR will be used every day at time from 19:00 till 08:59.&lt;br /&gt;
# Select '''Weekday''' from Monday to Friday and choose '''Hour : Minute''' from 13:00 to 15:59. Selected LCR will be used  every week from Monday till Friday at time from 13:00 till 15:59.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Copying LCRs between resellers==&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR 12---&amp;gt;&lt;br /&gt;
Sometimes you need to make a LCR which takes quite a long time to make. If you have made a similar one before you can just copy it and change appropriate details. &lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS''' -&amp;gt; '''Billing''' -&amp;gt; '''LCR''' -&amp;gt; '''Copy LCR'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lcr_copy_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
You will see this window:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:lcr_copy.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Choose ''Original LCR reseller'' and ''Cloned LCR reseller'' and click ''Clone'' button.&lt;br /&gt;
&lt;br /&gt;
Please note that LCR will not be allowed to copy if reseller B is not allowed to use Providers which are used by Reseller A.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[LCR Logic]]&lt;br /&gt;
* [[How to add Provider to LCR]]&lt;br /&gt;
* [[Call Routing by price]]&lt;br /&gt;
* [[Call Routing by priority (Manual LCR) | Call Routing by priority ]]&lt;br /&gt;
* [[Routing by Percent | Call Routing by percent]] or Weight-based routing&lt;br /&gt;
* [[Call routing per destination basis]]&lt;br /&gt;
* [[LCR/Tariff change based on call prefix]]&lt;br /&gt;
* [[Why call was not routed through other provider/trunk?|Why was a call not routed through another provider/trunk?]]&lt;br /&gt;
* [[LCR_make_tariff|Make Tariff from LCR Providers to CSV]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Get_Google_Maps_key&amp;diff=18786</id>
		<title>Get Google Maps key</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Get_Google_Maps_key&amp;diff=18786"/>
		<updated>2014-12-30T10:56:07Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:gmaps.jpg|right|400px]]&lt;br /&gt;
'''!!!OUTDATED!!!'''&lt;br /&gt;
&lt;br /&gt;
You need a Google maps key to use the Google maps plugin.&lt;br /&gt;
* Go to [http://code.google.com/apis/maps/signup.html Google].&lt;br /&gt;
* Write your site in the text box below. Note that http://1.2.3.4 differs from http://yoursite.com, so enter the hostname that you will use to access your site.&lt;br /&gt;
* Press &amp;quot;Generate API key&amp;quot; and Google will give you your key.&lt;br /&gt;
* Insert this key in '''SETTINGS –&amp;gt; Setup –&amp;gt; Settings –&amp;gt; Google Maps –&amp;gt; Key'''.&lt;br /&gt;
* Click '''Save changes'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''See also:'''&lt;br /&gt;
* [[Configuration from GUI#Google_Maps | Google Maps Configuration]]&lt;br /&gt;
* [[Google Maps integration]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Routing_Logic&amp;diff=18782</id>
		<title>M4 Routing Logic</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Routing_Logic&amp;diff=18782"/>
		<updated>2014-12-22T08:40:59Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:m2_logical_structure.png|700px]]&lt;br /&gt;
&lt;br /&gt;
# Based on &amp;quot;Routing Group - Dial Peer&amp;quot; priority we order Dial Peers (DP) (if priorities match - we select random)&lt;br /&gt;
## Next (by priority) DP is used only when previous has Stop Hunting unchecked&lt;br /&gt;
# Based on &amp;quot;Origination Point Routing Algorithm&amp;quot; (example provided bellow) we order Termination Points (TP) in selected Dial Peer by:&lt;br /&gt;
## LCR - routing is based only by price (TP tarrifs). If TP price matches - we order by &amp;quot;Dial Peers TP Priority&amp;quot; (if priorities match - we select random)&lt;br /&gt;
## Weight - routing is based only by weight number. Lower number has greater priority. If TP weight or price matches - we order by &amp;quot;Dial Peers TP Priority&amp;quot; (if priorities match - we select random)&lt;br /&gt;
## Percent - routing is based only by percents. If zero is entered calls will not go through. Let say prov1 has 90% and prov2 has 10% (only two providers in routing group). So in ideal conditions prov1 has 9/10 and prov2 has 1/10 probability to terminate the call.&lt;br /&gt;
&lt;br /&gt;
[[File:M2_Routing_by_LCR_WG_PC.png]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Routing_Logic&amp;diff=18781</id>
		<title>M4 Routing Logic</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Routing_Logic&amp;diff=18781"/>
		<updated>2014-12-22T08:40:30Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:m2_logical_structure.png|700px]]&lt;br /&gt;
&lt;br /&gt;
# Based on &amp;quot;Routing Group - Dial Peer&amp;quot; priority we order Dial Peers (DP) (if priorities match - we select random)&lt;br /&gt;
## Next (by priority) DP is used only when previous has Stop Hunting unchecked&lt;br /&gt;
# Based on &amp;quot;Origination Point Routing Algorithm&amp;quot; (example provided bellow) we order Termination Points (TP) in selected Dial Peer by:&lt;br /&gt;
## LCR - routing is based only by price (TP tarrifs). If TP price matches - we order by &amp;quot;Dial Peers TP Priority&amp;quot; (if priorities match - we select random)&lt;br /&gt;
## Weight - routing is based only by weight number. Lower number has greater priority. If TP weight or price matches - we order by &amp;quot;Dial Peers TP Priority&amp;quot; (if priorities match - we select random)&lt;br /&gt;
## Percent - routing is based only by percents. If zero is entered calls will not go through. Let say prov1 has 90% and prov2 has 10% (only two providers in routing group). So in ideal conditions prov1 has 9/10 and prov2 has 1/10 probability to terminate the call. If TP percent matches - Termination Points will be ordered by probability described by percent values.&lt;br /&gt;
&lt;br /&gt;
[[File:M2_Routing_by_LCR_WG_PC.png]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Routing_Logic&amp;diff=18780</id>
		<title>M4 Routing Logic</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Routing_Logic&amp;diff=18780"/>
		<updated>2014-12-22T08:39:13Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:m2_logical_structure.png|700px]]&lt;br /&gt;
&lt;br /&gt;
# Based on &amp;quot;Routing Group - Dial Peer&amp;quot; priority we order Dial Peers (DP) (if priorities match - we select random)&lt;br /&gt;
## Next (by priority) DP is used only when previous has Stop Hunting unchecked&lt;br /&gt;
# Based on &amp;quot;Origination Point Routing Algorithm&amp;quot; (example provided bellow) we order Termination Points (TP) in selected Dial Peer by:&lt;br /&gt;
## LCR - routing is based only by price (TP tarrifs). If TP price matches - we order by &amp;quot;Dial Peers TP Priority&amp;quot; (if priorities match - we select random)&lt;br /&gt;
## Weight - routing is based only (price does not matter) by weight number. Lower number has greater priority. If TP weight or price matches - we order by &amp;quot;Dial Peers TP Priority&amp;quot; (if priorities match - we select random)&lt;br /&gt;
## Percent - routing is based only (price does not matter) by percents. If zero is entered calls will not go throug. Let say prov1 has 90% and prov2 has 10% (only two providers in routing group). So in ideal conditions prov1 has 9/10 and prov2 has 1/10 probability to terminate the call. If TP percent matches - Termination Points will be ordered by probability described by percent values.&lt;br /&gt;
&lt;br /&gt;
[[File:M2_Routing_by_LCR_WG_PC.png]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Routing_Logic&amp;diff=18779</id>
		<title>M4 Routing Logic</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Routing_Logic&amp;diff=18779"/>
		<updated>2014-12-22T08:33:34Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:m2_logical_structure.png|700px]]&lt;br /&gt;
&lt;br /&gt;
# Based on &amp;quot;Routing Group - Dial Peer&amp;quot; priority we order Dial Peers (DP) (if priorities match - we select random)&lt;br /&gt;
## Next (by priority) DP is used only when previous has Stop Hunting unchecked&lt;br /&gt;
# Based on &amp;quot;Origination Point Routing Algorithm&amp;quot; (example provided bellow) we order Termination Points (TP) in selected Dial Peer by:&lt;br /&gt;
## LCR - routing is based only by price (TP tarrifs).&lt;br /&gt;
## Weight - routing is based only (price does not matter) by weight number. Lower number has greater priority. If TP weight or price matches - we order by &amp;quot;Dial Peers TP Priority&amp;quot; (if priorities match - we select random)&lt;br /&gt;
## Percent - routing is based only (price does not matter) by percents. If zero is entered calls will not go throug. Let say prov1 has 90% and prov2 has 10% (only two providers in routing group). So in ideal conditions prov1 has 9/10 and prov2 has 1/10 probability to terminate the call. If TP percent matches - Termination Points will be ordered by probability described by percent values.&lt;br /&gt;
&lt;br /&gt;
[[File:M2_Routing_by_LCR_WG_PC.png]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:M2_Routing_by_LCR_WG_PC.png&amp;diff=18778</id>
		<title>File:M2 Routing by LCR WG PC.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:M2_Routing_by_LCR_WG_PC.png&amp;diff=18778"/>
		<updated>2014-12-22T08:17:10Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Ports_which_should_be_opened&amp;diff=18773</id>
		<title>Ports which should be opened</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Ports_which_should_be_opened&amp;diff=18773"/>
		<updated>2014-12-19T13:27:10Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For server some ports should be opened '''or forwarded''' to M2/MOR server:&lt;br /&gt;
&lt;br /&gt;
* TCP 80 - for GUI/HTTP&lt;br /&gt;
* TCP 22 - for SSH connection&lt;br /&gt;
* TCP 25/465 - for SMTP / SMTP over SSL (TLS)&lt;br /&gt;
* UDP 694 - for Heartbeat.&lt;br /&gt;
* TCP 3306 - for MySQL replication&lt;br /&gt;
* TCP 3690 - for SVN connections&lt;br /&gt;
* UDP 4569 - for IAX2 connection&lt;br /&gt;
* UDP 5060 to 5070, 10000-20000 - for SIP connection&lt;br /&gt;
* TCP/UDP 123 - Network Time Protocol&lt;br /&gt;
* TCP/UDP 1720 - for H.323 Protocol&lt;br /&gt;
* TCP/UDP 5038 - for Asterisk manager interface&lt;br /&gt;
* TCP/UDP 10050 - for Zabbix monitoring&lt;br /&gt;
* UDP 4000 - 4999 for T.38 support&lt;br /&gt;
* TCP/UDP 443 - For HTTPS (if used)&lt;br /&gt;
You can test which TCP ports are opened using nmap tool:&lt;br /&gt;
&lt;br /&gt;
 nmap -vv -P0 your MOR server's IP address&lt;br /&gt;
&lt;br /&gt;
https://www.virtualizationhero.com/docs/manuals/linux/RHL-9-Manual/security-guide/s1-server-ports.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== iptables config ===&lt;br /&gt;
 &lt;br /&gt;
For Asterisk server:&lt;br /&gt;
&lt;br /&gt;
 iptables -A INPUT -p tcp --dport ssh -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -p tcp --dport 5038 -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -p udp --dport 5038 -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -p udp --dport 4569 -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -p udp --dport 1720 -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -p udp --dport 5060:5070 -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -p udp --dport 10000:20000 -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -p udp --dport 4000:4999 -j ACCEPT&lt;br /&gt;
 iptables -A INPUT -j DROP&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Heartbeat_configuration&amp;diff=18603</id>
		<title>Heartbeat configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Heartbeat_configuration&amp;diff=18603"/>
		<updated>2014-11-07T06:40:50Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Possible problems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''What is High availability?'''&lt;br /&gt;
&lt;br /&gt;
High availability is a system design protocol and associated implementation that ensures a certain absolute degree of operational continuity during a given measurement period. &lt;br /&gt;
&lt;br /&gt;
Lets say you have two servers 'A' and 'B' with MOR installed, MySQL is running replication between them. By default all trafic comming to server 'A' is monitored by server 'B', so when server 'A' fails, server 'B' stands in its position by given time. &lt;br /&gt;
&lt;br /&gt;
So allmost no data is lost, and your users will be happy with your services.&lt;br /&gt;
&lt;br /&gt;
[[File:Hearbeat_example.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''What is Heartbeat?'''&lt;br /&gt;
&lt;br /&gt;
Heartbeat is software which implements these monitoring and availability features for your servers. It must be carrefully installed, configured and tested on both servers to ensure correct producing of services.&lt;br /&gt;
&lt;br /&gt;
'''What do you need to know before starting'''&lt;br /&gt;
&lt;br /&gt;
Please review once more the provided above scheme. It represents a typical Linux Heartbeat configuration. Before starting you have to be aware of 4 main points:&lt;br /&gt;
&lt;br /&gt;
1. All public IP addresses have to be on same subnet.&amp;lt;br&amp;gt;&lt;br /&gt;
2. [http://en.wikipedia.org/wiki/Virtual_IP_address  Virtual IP] has to be free (not assigned to any device on the network) and the last octet of the address (in this case .4 is the last octet) has to be the highest in the configuration. Server A and B have to be on &amp;quot;lower&amp;quot; IP, in this case .2 and .3 (the last octet).&amp;lt;br&amp;gt;&lt;br /&gt;
3. Never use servers when they are off-line as it will ruin the MySQL replication.&amp;lt;br&amp;gt;&lt;br /&gt;
4. After heartbeat configuration has been made, do not change the addressing scheme or the host-names of the servers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Installation'''&lt;br /&gt;
&lt;br /&gt;
Hearbeat 2.99 has been full tested on Centos 5.2 only, there is no guarantee that it will work on older versions or distros.&lt;br /&gt;
&lt;br /&gt;
Download mor install scripts from svn. in both servers.&lt;br /&gt;
&lt;br /&gt;
Run /usr/src/mor/sh_scripts/install_heartbeat.sh in both servers&lt;br /&gt;
&lt;br /&gt;
Script will:&lt;br /&gt;
&lt;br /&gt;
 * download special file, then yum automaticaly install correct heartbeat files for your system.&lt;br /&gt;
 * install pacemaker, its future only.&lt;br /&gt;
 * configure /etc/ha.d/authkeys so you don't need to change anything here&lt;br /&gt;
 * configure /etc/ha.d/ha.cf file, but you still need adjust it by hand (how? later on this page).&lt;br /&gt;
 * configure /etc/ha.d/haresources file, but you still need to change few bits there, also, later on this page.&lt;br /&gt;
 * add 2 lines to /etc/hosts, but just for testing purporses only, so you will have to change ips here.&lt;br /&gt;
&lt;br /&gt;
'''ATTENTION''': if you installed Heartbeat manually, please make sure that you have '''same version of Heartbeat on both servers'''. You will probably need same Centos version on both servers to do that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Configuration'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Before going further, you need to setup hostname of both servers. Make sure master will have node01 and slave node02. (uname -n) must return correct words.'''&lt;br /&gt;
&lt;br /&gt;
Make sure to remove all services which are related to Heartbeat from the runlevels:&lt;br /&gt;
&lt;br /&gt;
 chkconfig --list&lt;br /&gt;
&lt;br /&gt;
If you want to remove some service (for example asterisk):&lt;br /&gt;
&lt;br /&gt;
 chkconfig --del asterisk&lt;br /&gt;
&lt;br /&gt;
Edit /etc/sysconfig/network to change your hostname. Then reboot your machine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First configure master (node01):&lt;br /&gt;
&lt;br /&gt;
Open /etc/hosts and you will see something like this:&lt;br /&gt;
&lt;br /&gt;
 203.0.113.2 node01 #change to correct IP&lt;br /&gt;
 203.0.113.3 node02 #change to correct IP here aswell&lt;br /&gt;
&lt;br /&gt;
Change ip of node01 of master machine, which &amp;quot;accept all incoming traffic by default&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
And change ip to slave, witch will &amp;quot;accept all data, if master will die&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open /etc/ha.d/ha.cf and change:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deadtime higher or lower setting. Deadtime means how many seconds have to pass before take over job from master. &lt;br /&gt;
&lt;br /&gt;
Remember, this should be lower on on &amp;quot;lightly&amp;quot; loaded machines, and higher and &amp;quot;highly&amp;quot; loaded machines.&lt;br /&gt;
&lt;br /&gt;
Deadtime 10 is more than enough. (Default is 5)&lt;br /&gt;
&lt;br /&gt;
Make sure you add 2 network interfaces for heartbeat broadcasts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The bcast directive is used to configure which interfaces Heartbeat sends UDP broadcast traffic on.&lt;br /&gt;
&lt;br /&gt;
For example 'bcast eth0 eth1'.&lt;br /&gt;
&lt;br /&gt;
The udpport directive is used to configure which port is used for these broadcast communications if the &lt;br /&gt;
udpport directive is specified before the bcast directive, otherwise the default port will be used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now open /etc/ha.d/haresources (be sure to leave only the lines given below):&lt;br /&gt;
&lt;br /&gt;
 node01 203.0.113.4 asterisk # just for testing, remember this ip can't be used in your network!!!&lt;br /&gt;
&lt;br /&gt;
Or&lt;br /&gt;
&lt;br /&gt;
 node01 IPaddr::192.168.0.142/24/eth0:0 httpd # just for testing, remember this ip can't be used in your network!!! # if eth0:0 does not appear&lt;br /&gt;
&lt;br /&gt;
So, first of all:&lt;br /&gt;
&lt;br /&gt;
Assuming node01 is master and node02 is slave, by default all traffic is going to node01.&lt;br /&gt;
&lt;br /&gt;
You need to choose IP (for Virtual IP) from your network and never use it, otherwise this will lead to unexpected results.&lt;br /&gt;
&lt;br /&gt;
node01 203.0.113.4 asterisk, &amp;quot;if master is dead, slave (node02) will restart asterisk and start to accept traffic comming from 203.0.113.4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now copy all configuration to slave (node02).&lt;br /&gt;
&lt;br /&gt;
 shell@node01:/$ scp -r /etc/ha.d/ root@node02:/etc/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Start heartbeat on both servers by running /etc/init.d/heartbeat start. If everything will be ok, you will see something like this:&lt;br /&gt;
&lt;br /&gt;
 Starting High-Availability services:&lt;br /&gt;
 &lt;br /&gt;
 2008/12/18_18:13:22 INFO:  Resource is stopped&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                                                           [  OK  ]&lt;br /&gt;
&lt;br /&gt;
Do not forget to remove Asterisk from system startup, because it needs to be started by Heartbeat:&lt;br /&gt;
 chkconfig asterisk off&lt;br /&gt;
on both servers.&lt;br /&gt;
&lt;br /&gt;
'''Testing'''&lt;br /&gt;
&lt;br /&gt;
Now run iptraf on both machines, from another machine start pinging your binded IP address (in this example we speak about 203.0.113.4).&lt;br /&gt;
&lt;br /&gt;
Check for masters iptraf window, you will see incoming ICMP data, slave have to be quiet.&lt;br /&gt;
&lt;br /&gt;
[[Image:heartbeat1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now kill master (for example: ifconfig eth0 down or issue a reboot), after short period of time (on this example 5 seconds) on slave you will see incoming ICMP packets.&lt;br /&gt;
&lt;br /&gt;
To bring master to work again, first of all you have to configure network on master and start heartbeat. After 20~ seconds master have to start doing his job again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now go to GUI and change your default asterisk server IP (Settings -&amp;gt; Servers), change from 127.0.0.1 to virtual IP address. If your GUI is unable connect to them, make sure both asterisk servers allow connections from your GUI server. (file: /etc/asterisk/manager.conf)&lt;br /&gt;
&lt;br /&gt;
= sip.conf = &lt;br /&gt;
&lt;br /&gt;
In file '''/etc/asterisk/sip.conf''' enter correct IP for value '''bindaddr''', correct IP = IP to which your devices are registering. E.g. Virtual IP.&lt;br /&gt;
&lt;br /&gt;
Do same changes for bindaddr in iax.conf, h323.conf and manager.conf&lt;br /&gt;
&lt;br /&gt;
[[How to restart Asterisk server|Restart Asterisk]]&lt;br /&gt;
&lt;br /&gt;
Make this on both servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= mor.conf = &lt;br /&gt;
&lt;br /&gt;
On slave server go to '''/etc/asterisk/mor.conf''' and set '''server_id = 2''' (default is 1)&lt;br /&gt;
&lt;br /&gt;
= Possible problems =&lt;br /&gt;
&lt;br /&gt;
Look at the picture:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Heartbeat_broadcast.jpg]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In this example HeartBeat in bcast directive has only one interface configured on both servers: eth1&lt;br /&gt;
&lt;br /&gt;
This can lead to problems if the link eth1 &amp;lt;----&amp;gt; eth1 between the servers fails (broken cable, switch, NIC, etc)&lt;br /&gt;
&lt;br /&gt;
'''You must specify at least 2 interfaces in bcast directive'''&lt;br /&gt;
&lt;br /&gt;
The bcast directive is used to configure which interfaces Heartbeat sends UDP broadcast traffic on.&lt;br /&gt;
&lt;br /&gt;
An example of bcast directive:&lt;br /&gt;
 bcast eth0 eth1&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Virtual interface does not appear ==&lt;br /&gt;
&lt;br /&gt;
Check /var/log/heartbeat.log&lt;br /&gt;
&lt;br /&gt;
If you can see something like:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 ResourceManager(default)[6106]: 2012/12/07_11:33:51 info: Running /etc/ha.d/resource.d/IPaddr 123.123.123.123 start&lt;br /&gt;
 IPaddr(IPaddr_123.123.123.123)[6197]: 2012/12/07_11:33:51 ERROR: /usr/lib64/heartbeat/findif failed [rc=1].&lt;br /&gt;
 /usr/lib/ocf/resource.d//heartbeat/IPaddr(IPaddr_123.123.123.123)[6183]: 2012/12/07_11:33:51 ERROR:  Generic error&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Please add subnet mask and interface to /etc/ha.d/haresources like this:&lt;br /&gt;
&lt;br /&gt;
 node01 123.123.123.123/27/em1 asterisk&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Virtual interface appears on both nodes ==&lt;br /&gt;
&lt;br /&gt;
Check if servers can send packets through port UDP 694 to each other ('''both directions'''). Firewalls may block that port.&lt;br /&gt;
&lt;br /&gt;
Check if /etc/ha.d/haresources has properly defined &amp;quot;node01&amp;quot; (or relevant hostname) on '''both servers'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== There is more than one HA cluster in the same subnet ==&lt;br /&gt;
&lt;br /&gt;
We can suspect that there is another HA cluster runing if in /var/log/heartbeat.log we see such output:&lt;br /&gt;
&lt;br /&gt;
 Nov 06 13:25:28 node01 heartbeat: [9200]: WARN: Invalid authentication type [3] in message!&lt;br /&gt;
 Nov 06 13:25:28 node01 heartbeat: [9200]: WARN: string2msg_ll: node [cpc2] failed authentication&lt;br /&gt;
&lt;br /&gt;
So we need to change port in /etc/ha.d/ha.cf like this:&lt;br /&gt;
&lt;br /&gt;
 logfile /var/log/heartbeat.log&lt;br /&gt;
 logfacility local0&lt;br /&gt;
 keepalive 2&lt;br /&gt;
 deadtime 5 # depends on load, so be careful!&lt;br /&gt;
 initdead 20 # start time&lt;br /&gt;
 udpport 496 # UDPPORT SHOULD COME IN FRONT OF BCAST LINE OTHERWISE PORT WON'T BE CHANGED&lt;br /&gt;
 bcast  eth0&lt;br /&gt;
 auto_failback on&lt;br /&gt;
 node node01&lt;br /&gt;
 node node02&lt;br /&gt;
&lt;br /&gt;
== Heartbeat service does not start ==&lt;br /&gt;
&lt;br /&gt;
There is was bug with resource-agents-3.9.2-21.el6_4.8.x86_64 package.&lt;br /&gt;
&lt;br /&gt;
Make sure that packets &amp;quot;heartbeat&amp;quot; and &amp;quot;resource-agents&amp;quot; are up to date.&lt;br /&gt;
&lt;br /&gt;
Command to update:&lt;br /&gt;
&lt;br /&gt;
 yum install heartbeat resource-agents&lt;br /&gt;
&lt;br /&gt;
More details:&lt;br /&gt;
http://bugs.centos.org/view.php?id=6727&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
[[High availability (Heartbeat clustering)]]&lt;br /&gt;
&lt;br /&gt;
http://www.linux-ha.org/wiki/Haresources&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Summary&amp;diff=18534</id>
		<title>Summary</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Summary&amp;diff=18534"/>
		<updated>2014-10-10T07:46:00Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''No longer available till X5: [[There is no &amp;quot;Summary&amp;quot; in MOR X5]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
These statistics provide brief information about Terminators and Originators.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
Go to '''STATISTICS –&amp;gt; Calls –&amp;gt; Summary''' &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:summary_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here it is possible to see brief information about Terminators and Originators:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:summary.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Terminators''' table&lt;br /&gt;
* [[Terminators | Terminator]] – name of Terminator.&lt;br /&gt;
* Total Calls – quantity of selected period calls made through all Providers which belongs to Terminator.&lt;br /&gt;
&amp;lt;!--* Exact billsec – &lt;br /&gt;
* Terminator billsec –--&amp;gt;&lt;br /&gt;
* Terminator Price – sum of provider_price in selected period calls made through all Providers which belongs to Terminator.&lt;br /&gt;
&lt;br /&gt;
'''Originators''' table&lt;br /&gt;
* Originator – name of User.&lt;br /&gt;
* Total Calls – quantity of selected period calls.&lt;br /&gt;
&amp;lt;!--* Exact billsec – &lt;br /&gt;
* Originator billsec –--&amp;gt;&lt;br /&gt;
* Originator Price – sum of (user_price + did_inc_price).&lt;br /&gt;
&amp;lt;!---This functionality is available from MOR X4---&amp;gt;&lt;br /&gt;
* Originator Price with Tax – sum of (user_price + did_inc_price) with User Tax.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[Terminators]]&lt;br /&gt;
* [[User Details]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=There_is_no_%22Summary%22_in_MOR_X5&amp;diff=18486</id>
		<title>There is no &quot;Summary&quot; in MOR X5</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=There_is_no_%22Summary%22_in_MOR_X5&amp;diff=18486"/>
		<updated>2014-10-06T11:47:19Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: Created page with 'We have removed Summary because it was dublication of Aggregates.   To get the same information as it was in MOR X4 Sumarry you should use following settings:    [[File:Like summ…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We have removed Summary because it was dublication of Aggregates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To get the same information as it was in MOR X4 Sumarry you should use following settings:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Like summary x5 aggregates.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is how it been in X4:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:X4 old sumarry.png]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Like_summary_x5_aggregates.png&amp;diff=18485</id>
		<title>File:Like summary x5 aggregates.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Like_summary_x5_aggregates.png&amp;diff=18485"/>
		<updated>2014-10-06T11:45:38Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:X4_old_sumarry.png&amp;diff=18484</id>
		<title>File:X4 old sumarry.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:X4_old_sumarry.png&amp;diff=18484"/>
		<updated>2014-10-06T11:44:25Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=I_have_a_problem_with_Statistics&amp;diff=18481</id>
		<title>I have a problem with Statistics</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=I_have_a_problem_with_Statistics&amp;diff=18481"/>
		<updated>2014-10-06T11:40:45Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Where can I find Simultaneous Calls statistic | Where can I find Simultaneous Calls statistics]]&lt;br /&gt;
* [[Where can I find hardware and network statistic | Where can I find hardware and network statistics]]&lt;br /&gt;
* [[Number of calls in Aggregate do not match with number of calls in Graphs]]&lt;br /&gt;
* [[I cannot see calls in Calls by Source]]&lt;br /&gt;
* [[Calls in invoice and last calls/country stats do not match]]&lt;br /&gt;
* [[There is no &amp;quot;Summary&amp;quot; in MOR X5]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=M4_Dial_Peers&amp;diff=18219</id>
		<title>M4 Dial Peers</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=M4_Dial_Peers&amp;diff=18219"/>
		<updated>2014-08-04T15:15:27Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
Dial Peer is a logical routing entity (group of [[M2 Termination Points | Termination Points]] with predefined rules) which allows to control how calls should be routed.&lt;br /&gt;
&lt;br /&gt;
It consists of several rules and includes [[M2 Termination Points | Termination Points]] over which calls should be routed.&lt;br /&gt;
&lt;br /&gt;
Dial Peers are grouped together into [[M2 Routing Groups | Routing Groups]] which then are assigned to [[M2 Origination Points | Origination Points]].&lt;br /&gt;
&lt;br /&gt;
In order to temporary remove a Dial Peer it can be set as inactive so it won't be used in determining a call's route.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Routing by Destination/Number B =&lt;br /&gt;
&lt;br /&gt;
[[Image:M2_dp_destination_by_tariff.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Destination by Regexp - describes which destinations should be allowed&amp;lt;br/&amp;gt;&lt;br /&gt;
Destination by Tariff - describes which destinations should be allowed for selected Tariff and matched by Destinations Mask (which is equivalent to SQL LIKE function)&amp;lt;br/&amp;gt;&lt;br /&gt;
Destination deny regexp - describes which destinations should be denied&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Routing by Source/CallerID/Number A=&lt;br /&gt;
&lt;br /&gt;
Source regexp - describes which Source/CallerID/Number A should be allowed&amp;lt;br&amp;gt;&lt;br /&gt;
Source deny regexp - which should be denied&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Assigning Termination Points =&lt;br /&gt;
Routing &amp;gt; Dial Peers &amp;gt; pressing on button in TP List column&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:M2_assigned_termination_points.png]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Termination Point can be assigned to Dial Peer by pressing on ASSIGN TERMINATION POINT button (1), selecting Termination Point from Termination Points drop down list (2), setting Percent (3), Weight (4) and pressing ASSIGN button (5).&amp;lt;br/&amp;gt;&lt;br /&gt;
Active column show if Termination Point is active. Termination Point status can be changed in Termination Points edit page.&amp;lt;br/&amp;gt;&lt;br /&gt;
Pressing on Termination Points name (7) redirect to Termination Points edit page.&amp;lt;br/&amp;gt;&lt;br /&gt;
Pressing on Percent (8) allows it to be updated (to save it just press anywhere else).&amp;lt;br/&amp;gt;&lt;br /&gt;
Pressing on Weight (9) works just like pressing on Percent.&amp;lt;br/&amp;gt;&lt;br /&gt;
REMOVE button (10) removes Dial Peers relationship with Termination Point (not the Termination Point)&lt;br /&gt;
&lt;br /&gt;
= Percent and Weight logic =&lt;br /&gt;
&lt;br /&gt;
'''2 providers in TP list has weight = 1 and percent = 100''' &lt;br /&gt;
&lt;br /&gt;
1/2 possibility to call with one or another&lt;br /&gt;
&lt;br /&gt;
'''First provider weight is 1 and percent equal to 100% and the second ones weight is also one but percent is 50%'''&lt;br /&gt;
&lt;br /&gt;
In this case first provider get 2 calls while second provider gets 1 call.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If weight is 1 and percent value is equal (all has 10%, 20% or 100%) calls will be divided randomly but evenly to all providers in list.&lt;br /&gt;
&lt;br /&gt;
= See also= &lt;br /&gt;
* [[M2 Regexp Examples|Regexp Examples]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=IVR_system&amp;diff=17703</id>
		<title>IVR system</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=IVR_system&amp;diff=17703"/>
		<updated>2014-05-01T10:27:59Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:ivr_example.png|right|500px]]This system makes it possible to configure advanced IVR ('''Interactive Voice Response''') systems.&lt;br /&gt;
&lt;br /&gt;
This functionality can be used by system owner (admin) and [[Reseller_Pro_Addon|Resellers PRO]].&lt;br /&gt;
&lt;br /&gt;
IVRs and IVR Time Periods are located in '''ADDONS -&amp;gt; PBX functions -&amp;gt; IVR''' and Voices can be found at '''SETTINGS''' -&amp;gt; '''Setup''' -&amp;gt; '''Voices'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Definitions ==&lt;br /&gt;
&lt;br /&gt;
* '''Voices''' – a set of audio files, such as male/female recordings, that together form a &amp;quot;voice&amp;quot; for the same IVR.&lt;br /&gt;
* '''Time Periods''' – a start date/time and end date/time that describe a time period.&lt;br /&gt;
* '''IVR''' – a set of IVR blocks.&lt;br /&gt;
** '''Blocks''' – a part of IVR in which the caller can take some action (press a button-extension, listen to a recording, etc). Basically block in IVR is &amp;quot;set of rules&amp;quot;.&lt;br /&gt;
** '''Extensions''' – possible button presses (0-9, *, # and some other special cases).&lt;br /&gt;
** '''Actions''' – what action the system should take when a new Block is reached.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Setup logic ==&lt;br /&gt;
&lt;br /&gt;
* Create Voice&lt;br /&gt;
** Record and upload the necessary sound files to Voice.&lt;br /&gt;
* Create Time Period(s).&lt;br /&gt;
* Create IVR.&lt;br /&gt;
** Create and configure Block(s).&lt;br /&gt;
* Create the IVR Dial Plan.&lt;br /&gt;
* Assign this IVR Dial Plan to a DID.&lt;br /&gt;
* Call this DID to test it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Voices ==&lt;br /&gt;
&lt;br /&gt;
'''SETTINGS''' -&amp;gt; '''Setup''' -&amp;gt; '''Voices'''&lt;br /&gt;
&lt;br /&gt;
Here it is possible to create several Voices. A Voice consists of a set of sound files. Usually all the sound files in one Voice are recorded by one person to keep the sound consistent.&lt;br /&gt;
&lt;br /&gt;
Multiple operations can be performed with Voices:&lt;br /&gt;
&lt;br /&gt;
* View a detailed list of the system Voices.&lt;br /&gt;
* Add a new sound Voice.&lt;br /&gt;
* View the sounds that have files in different Voices.&lt;br /&gt;
* Upload new sound files for Voices.&lt;br /&gt;
* Delete Voices and voice files from the system.&lt;br /&gt;
&lt;br /&gt;
You cannot remove sounds that are currently used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Time Periods ==&lt;br /&gt;
&lt;br /&gt;
Go to '''ADDONS -&amp;gt; PBX functions -&amp;gt; IVR''' –&amp;gt; Time Periods'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ivr_time_perionds_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you will see Time Periods list. Click [[Image:icon_add.png]]'''New Time Period''' to create new period or click on [[image:icon_edit.png]] icon to edit old one to set time periods.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:ivr_time_perionds.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Time period defines the exact time period IVR will be active. There is a limit of three periods in [[IVR Dial Plan]]. There is a fourth period, but it only consists of all the remaining time that is not covered by the previous three periods.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Examples===&lt;br /&gt;
# Select '''Date''' from 1 of January to 28 of February and choose '''Hour : Minute''' from 09:00 to 18:59. Action will be active from 1 of January till 28 of February at time from 09:00 till 18:59.&lt;br /&gt;
# Select just '''Hour : Minute''' from 19:00 to 08:59 and action will be active every day at time from 19:00 till 08:59.&lt;br /&gt;
# Select '''Weekday''' from Monday to Friday and choose '''Hour : Minute''' from 13:00 to 15:59. Action will be active every week from Monday till Friday at time from 13:00 till 15:59.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IVR Structure ==&lt;br /&gt;
&lt;br /&gt;
* '''IVR''' – consists of a set of IVR blocks.&lt;br /&gt;
** '''Blocks''' – part of IVR in which a caller can take some action (press a button-extension, listen to a recording, etc).&lt;br /&gt;
** '''Extensions''' – possible button presses (0-9, *, # and some other special cases).&lt;br /&gt;
** '''Actions''' – what action the system should take when an extension is activated.&lt;br /&gt;
&lt;br /&gt;
The main part of IVR is '''Blocks'''. The whole of IVR is a set of Blocks. A Block can be considered as a part of IVR logic where a caller can take some action.&lt;br /&gt;
&lt;br /&gt;
'''Extension''' is what the user does – presses a button (0-9, *, #), waits (Timeout), or presses any non-described extension – which can be described as an Invalid Extension. We explain this in detail later.&lt;br /&gt;
&lt;br /&gt;
'''Actions''' are actions which will be activated when the caller comes to a Block.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
For example, here is a simple IVR: &lt;br /&gt;
* A caller calls a DID and IVR answers with a recording: &amp;quot;Thank you for calling SOME COMPANY. For sales press 1, for management press 2, to speak to a consultant please hold or press 3.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here we have only one block: the user listens to the recording and can take some Action -&amp;gt; press some button (Extension) or wait (Wait is also Extension but is special - it is called Timeout).&lt;br /&gt;
&lt;br /&gt;
If the user presses something different than 1, 2 or 3, the message will be played again. This is called an Invalid Extension, or (i) for short.&lt;br /&gt;
&lt;br /&gt;
To summarize, we have the following situation:&lt;br /&gt;
&lt;br /&gt;
* 1 Block.&lt;br /&gt;
* Extensions: 1, 2, 3, t (timeout), i (invalid).&lt;br /&gt;
* Actions: call to sales, call to management, call to a consultant, play recording again.&lt;br /&gt;
&lt;br /&gt;
This example is to illustrate the main IVR building parts. We will show how they operate together to build a working IVR.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Extensions ==&lt;br /&gt;
&lt;br /&gt;
Extensions are button presses on the dialpad: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, * and # and two special extensions:&lt;br /&gt;
&lt;br /&gt;
* t - means &amp;quot;timeout&amp;quot;, when no extension is pressed in a determined time period.&lt;br /&gt;
* i - means &amp;quot;invalid&amp;quot;. This extension becomes active when a caller presses some extensions that are not described in the IVR block configuration.&lt;br /&gt;
&lt;br /&gt;
The 'i' (invalid) extension in the previous example could be triggered when buttons 4, 5, 6, 7, 8, 9, 0, *, # are pressed, because only 1, 2 and 3 are described.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Actions ==&lt;br /&gt;
&lt;br /&gt;
An Action is some (yes...) action which is executed when a new Block is reached.&lt;br /&gt;
&lt;br /&gt;
Possible Actions:&lt;br /&gt;
&lt;br /&gt;
* Playback – plays a sound file.&lt;br /&gt;
* Delay – delays execution by some seconds.&lt;br /&gt;
* Change Voice – changes IVR Voice.&lt;br /&gt;
* Hangup – finishes the call.&lt;br /&gt;
* Transfer to – transfers the call to:&lt;br /&gt;
** Another IVR&lt;br /&gt;
** DID&lt;br /&gt;
** Device&lt;br /&gt;
** Block&lt;br /&gt;
** Extension - in an opened text field you can enter anything.&lt;br /&gt;
* Debug – text message to Asterisk CLI which helps debugging.&lt;br /&gt;
* Set Accountcode - sets ownership for the call to some other user.&lt;br /&gt;
* Set CallerID (Number) - Sets incoming call to IVR, callerID number to any desired value. Usage example can be found [[How_to_request_Authentication_by_PIN_when_call_comes_from_Banned_CallerID | here]]&lt;br /&gt;
* Random Play&lt;br /&gt;
[[File:Ivr_play_random.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This action plays a random sound file from the selected '''IVR Voice''' file group.&lt;br /&gt;
&lt;br /&gt;
== Timeouts ==&lt;br /&gt;
&lt;br /&gt;
=== Timeout digits ===&lt;br /&gt;
&lt;br /&gt;
 The maximum amount of time permitted between digits when the&lt;br /&gt;
 user is typing in an extension. When this timeout expires&lt;br /&gt;
 after the user has started to type in an extension, the&lt;br /&gt;
 extension will be considered complete, and will be&lt;br /&gt;
 interpreted. Note that if an extension typed in is valid,&lt;br /&gt;
 it will not have to timeout to be tested, so typically at&lt;br /&gt;
 the expiry of this timeout, the extension will be considered&lt;br /&gt;
 invalid (and thus control would be passed to the 'i'&lt;br /&gt;
 extension, or if none exists the call would be&lt;br /&gt;
 terminated). The default timeout (in MOR IVR) is 3 seconds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Timeout Response===&lt;br /&gt;
&lt;br /&gt;
 The maximum amount of time permitted after falling through a&lt;br /&gt;
 series of priorities for a channel in which the user may&lt;br /&gt;
 begin typing an extension. If the user does not begin typing an&lt;br /&gt;
 extension in this amount of time, control will pass to the&lt;br /&gt;
 't' extension if one exists, or if none exists, the call would be&lt;br /&gt;
 terminated. Once the user begins to type an extension, Asterisk&lt;br /&gt;
 will wait for digit timeout to be reached, and response timeout has&lt;br /&gt;
 no effect. The default timeout (in MOR IVR) is 10 seconds. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Deleting IVR ==&lt;br /&gt;
&lt;br /&gt;
* If an IVR is not assigned to any Dial Plan, you can delete the IVR by clicking the [[Image:icon_delete.png]] icon near an IVR in the IVR menu.&lt;br /&gt;
* If the IVR is assigned to a Dial Plan, you need to unassign the IVR from the Dial Plan to be able to delete it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Setup Hints/Tips ==&lt;br /&gt;
&lt;br /&gt;
* If you want to play a sound file, make sure you have set the correct Voice. By default, Voice = 'en'. If you have uploaded a sound file for a different Voice, select it before playing your Sound File:&lt;br /&gt;
&lt;br /&gt;
[[Image:ivr_select_voice_before_playback.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
* Currently it is not possible to record calls for a device which is accessed from IVR. For example, if calls go like this: IVR -&amp;gt; Device, and device has option to record calls for this device, these calls will not be recorded. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=See also=&lt;br /&gt;
* [[IVR for Calling Cards]]&lt;br /&gt;
* [[IVR Greeting for DID]]&lt;br /&gt;
* [[Dial Local]]&lt;br /&gt;
* [[I have a problem with IVR]]&lt;br /&gt;
* [[Sound files]]&lt;br /&gt;
** [[MOR IVR Samples]]&lt;br /&gt;
*[[IVR setup example]]&lt;br /&gt;
&lt;br /&gt;
*[[Random Play IVR Campaign]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_rate_get&amp;diff=17549</id>
		<title>MOR API rate get</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_rate_get&amp;diff=17549"/>
		<updated>2014-03-24T11:29:47Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Parametres */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!---This functionality is available from MOR 10, but was also backported to MOR 9 ---&amp;gt;&lt;br /&gt;
=Description=&lt;br /&gt;
[[MOR API]] rate_get feature enables you to check rate over http.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
=Configuration=&lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS –&amp;gt; Setup –&amp;gt; Settings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
[[File:settings_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In API tab ensure that MOR API is enabled and check '''Allow devices to check rate over HTTP''' option :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings_various_rate_over_http.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/rate_get'''&lt;br /&gt;
* For Backwards-compatibility old name 'rate' is also usable. Call: '''/api/rate'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* u - username for authentication. Required.&lt;br /&gt;
* username – username of user whose rates you want to see.&lt;br /&gt;
* prefix – prefix number of destination you want to see.&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required''' (if setting '''Disable hash checking''' is not checked).&lt;br /&gt;
'''NOTE:''' Don't use full number in API request. Use correct prefix only, because this method don't do prefix search, its only shows actual price for the exact prefix.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/rate_get?u=admin&amp;amp;username=USERNAME&amp;amp;prefix=PREFIX&amp;amp;hash=HASH&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 http://127.0.0.1/billing/api/rate?u=admin&amp;amp;username=admin&amp;amp;prefix=370&amp;amp;hash=47fc73b6d374bd0a85e3984c1e1623451681569c&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
Result is returned in format: rate#destination#prefix&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;rate&amp;gt;0.987#Lithuania#370&amp;lt;/rate&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE.''' MOR API rate method shows rate, which is applied to User. If rate by prefix is not found in [[Custom Rates]], it will be taken from Tariff assigned to User.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* User do not have rates for selected destination:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Rate was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User with selected username does not exist:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Allow devices to check rate over HTTP''' option in [[MOR_API_rate_get#Configuration | API Settings]] is not set:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Feature disabled&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* API is not allowed: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;API Requests are disabled&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=MOR_API_rate_get&amp;diff=17548</id>
		<title>MOR API rate get</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=MOR_API_rate_get&amp;diff=17548"/>
		<updated>2014-03-24T11:28:47Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Request */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!---This functionality is available from MOR 10, but was also backported to MOR 9 ---&amp;gt;&lt;br /&gt;
=Description=&lt;br /&gt;
[[MOR API]] rate_get feature enables you to check rate over http.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
=Configuration=&lt;br /&gt;
&lt;br /&gt;
Go to '''SETTINGS –&amp;gt; Setup –&amp;gt; Settings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt; &lt;br /&gt;
[[File:settings_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In API tab ensure that MOR API is enabled and check '''Allow devices to check rate over HTTP''' option :&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Settings_various_rate_over_http.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Usage=&lt;br /&gt;
&lt;br /&gt;
* From '''MOR X4''' call: '''/api/rate_get'''&lt;br /&gt;
* For Backwards-compatibility old name 'rate' is also usable. Call: '''/api/rate'''&lt;br /&gt;
* Methods: POST, GET(if allowed, not recomended)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Parametres===&lt;br /&gt;
&lt;br /&gt;
* username – username of user whose rates you want to see.&lt;br /&gt;
* prefix – prefix number of destination you want to see.&lt;br /&gt;
* [[MOR API hash construction | hash]] - SHA1 hash constructed using '''params''' and '''API_Secret_Key''' ([[MOR API hash construction | More described in Constructing hash]]). '''Required''' (if setting '''Disable hash checking''' is not checked).&lt;br /&gt;
'''NOTE:''' Don't use full number in API request. Use correct prefix only, because this method don't do prefix search, its only shows actual price for the exact prefix.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
===Request===&lt;br /&gt;
&lt;br /&gt;
 HTML POST: http://&amp;lt;SERVER_IP&amp;gt;/billing/api/rate_get?u=admin&amp;amp;username=USERNAME&amp;amp;prefix=PREFIX&amp;amp;hash=HASH&lt;br /&gt;
&lt;br /&gt;
Example: &lt;br /&gt;
&lt;br /&gt;
 http://127.0.0.1/billing/api/rate?u=admin&amp;amp;username=admin&amp;amp;prefix=370&amp;amp;hash=47fc73b6d374bd0a85e3984c1e1623451681569c&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
&lt;br /&gt;
'''Success'''&lt;br /&gt;
&lt;br /&gt;
Result is returned in format: rate#destination#prefix&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
  &amp;lt;rate&amp;gt;0.987#Lithuania#370&amp;lt;/rate&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE.''' MOR API rate method shows rate, which is applied to User. If rate by prefix is not found in [[Custom Rates]], it will be taken from Tariff assigned to User.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
'''Errors'''&lt;br /&gt;
&lt;br /&gt;
* User do not have rates for selected destination:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Rate was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* User with selected username does not exist:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;User was not found&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Allow devices to check rate over HTTP''' option in [[MOR_API_rate_get#Configuration | API Settings]] is not set:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;page&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;Feature disabled&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/page&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* API is not allowed: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;status&amp;gt;&lt;br /&gt;
   &amp;lt;error&amp;gt;API Requests are disabled&amp;lt;/error&amp;gt;&lt;br /&gt;
 &amp;lt;/status&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR API]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case2.png&amp;diff=17547</id>
		<title>File:Lcr fo case2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case2.png&amp;diff=17547"/>
		<updated>2014-03-22T12:09:41Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: uploaded a new version of &amp;quot;File:Lcr fo case2.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case3.png&amp;diff=17546</id>
		<title>File:Lcr fo case3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case3.png&amp;diff=17546"/>
		<updated>2014-03-22T11:49:54Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: uploaded a new version of &amp;quot;File:Lcr fo case3.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case2.png&amp;diff=17545</id>
		<title>File:Lcr fo case2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case2.png&amp;diff=17545"/>
		<updated>2014-03-22T11:45:50Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: uploaded a new version of &amp;quot;File:Lcr fo case2.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case2.png&amp;diff=17544</id>
		<title>File:Lcr fo case2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case2.png&amp;diff=17544"/>
		<updated>2014-03-22T11:44:41Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: uploaded a new version of &amp;quot;File:Lcr fo case2.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case1.png&amp;diff=17543</id>
		<title>File:Lcr fo case1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case1.png&amp;diff=17543"/>
		<updated>2014-03-22T11:44:17Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: uploaded a new version of &amp;quot;File:Lcr fo case1.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case1.png&amp;diff=17542</id>
		<title>File:Lcr fo case1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=File:Lcr_fo_case1.png&amp;diff=17542"/>
		<updated>2014-03-22T11:41:36Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: uploaded a new version of &amp;quot;File:Lcr fo case1.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Automatic_Backups_do_not_work&amp;diff=17489</id>
		<title>Automatic Backups do not work</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Automatic_Backups_do_not_work&amp;diff=17489"/>
		<updated>2014-03-05T09:31:40Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cronjob =&lt;br /&gt;
&lt;br /&gt;
Automatic backups are run by cronjob which should reside in '''/etc/cron.d/mor_hourly_actions'''&lt;br /&gt;
&lt;br /&gt;
Inside this file you will see:&lt;br /&gt;
&lt;br /&gt;
 0 * * * * root wget -o /dev/null -O /dev/null http://127.0.0.1/billing/callc/hourly_actions&lt;br /&gt;
&lt;br /&gt;
To test if it really works execute such lines in bash:&lt;br /&gt;
&lt;br /&gt;
 cd /tmp&lt;br /&gt;
 wget http://127.0.0.1/billing/callc/hourly_actions&lt;br /&gt;
&lt;br /&gt;
You should get such output:&lt;br /&gt;
&lt;br /&gt;
 --07:39:07--  http://127.0.0.1/billing/callc/hourly_actions&lt;br /&gt;
 Connecting to 127.0.0.1:80... connected.&lt;br /&gt;
 HTTP request sent, awaiting response... 302 Found&lt;br /&gt;
 Location: http://127.0.0.1/billing/backups/backups_hourly_cronjob [following]&lt;br /&gt;
 --07:39:07--  http://127.0.0.1/billing/backups/backups_hourly_cronjob&lt;br /&gt;
 Connecting to 127.0.0.1:80... connected.&lt;br /&gt;
 HTTP request sent, awaiting response... 200 OK&lt;br /&gt;
 Length: 1 [text/html]&lt;br /&gt;
 Saving to: `backups_hourly_cronjob'&lt;br /&gt;
 100%[===========================================================================================================================&amp;gt;] 1           --.-K/s   in 0s&lt;br /&gt;
 07:39:07 (274 KB/s) - '''`backups_hourly_cronjob' saved''' [1/1]&lt;br /&gt;
&lt;br /&gt;
If you do not get such output that means Apache is misconfigured and you need to make sure that your Apache is accessible as 127.0.0.1 from this local MOR server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In /tmp/mor_debug.txt should be such lines:&lt;br /&gt;
&lt;br /&gt;
 2010-03-19 10:00:01 - Make backups at: 10 h&lt;br /&gt;
 Making auto backup&lt;br /&gt;
&lt;br /&gt;
If they are, '''login as apache user''' and try to execute such command in bash:&lt;br /&gt;
&lt;br /&gt;
 /usr/local/mor/make_backup.sh 20100319090451 /usr/local/mor/backups -c&lt;br /&gt;
&lt;br /&gt;
Check if backup is made.&lt;br /&gt;
&lt;br /&gt;
If not, do:&lt;br /&gt;
&lt;br /&gt;
chmod 777 -R /usr/local/mor/backups&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Backup is not visible in GUI =&lt;br /&gt;
&lt;br /&gt;
Backup is made, file is present, but does not appear in GUI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= SSL is used in the server =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In such case you should change mor_hourly cron configuration file like this:&lt;br /&gt;
&lt;br /&gt;
'''0 * * * * root wget -o /dev/null -O /dev/null https://your.domain.name/billing/callc/hourly_actions  --no-check-certificate'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you do not have FQDN then put your server IP adress instead of your.domain.name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
File is located in:&lt;br /&gt;
&lt;br /&gt;
''' vi /etc/cron.d/mor_hourly_actions '''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= See also =&lt;br /&gt;
* [[I have a problem with Backups]]&lt;br /&gt;
* [[Backup system]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Recommended_hardware&amp;diff=17391</id>
		<title>Recommended hardware</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Recommended_hardware&amp;diff=17391"/>
		<updated>2014-02-12T07:51:51Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Main principle - as powerful as possible.&lt;br /&gt;
&lt;br /&gt;
For 1 server solution:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
| '''Component''' || '''Minimum requirement''' || '''Recommended''' || [[File:check.png]] ''' We provide as Hosted Solution''' || '''Comment'''&lt;br /&gt;
|-&lt;br /&gt;
| CPU || Quad Xeon/Intel Core i5+ || any higher CPU || [[File:check.png]] Intel(R) Xeon(R) CPU E3-1245 V2 @ 3.40GHz || &lt;br /&gt;
|-&lt;br /&gt;
| RAM || 4 Gb || 16 GB or more || [[File:check.png]] 32 GB ||&lt;br /&gt;
|-&lt;br /&gt;
| HDD || 100 Gb || 100 Gb or more, SDD (Solid State Drives), [http://en.wikipedia.org/wiki/RAID#RAID_1 RAID Type 1] || [[File:check.png]] 2 x 120 GB SSD RAID 1 || all space must be assigned to / partition&lt;br /&gt;
|-&lt;br /&gt;
| OS || [[Centos_installation | Centos 6]] || x86_64 || [[File:check.png]] Centos 6.2 ||&lt;br /&gt;
|-&lt;br /&gt;
| Brand|| Any || Intel, DELL, HP, Fujitsu || [[File:check.png]] Intel ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* [[Centos installation | Centos installation instructions]]&lt;br /&gt;
&lt;br /&gt;
Such server can handle up to 500 concurrent calls if:&lt;br /&gt;
&lt;br /&gt;
* SIP protocol is used&lt;br /&gt;
* There's no call transcoding&lt;br /&gt;
* GUI, IVR, Recordings and other extra services are not in use &lt;br /&gt;
* CPS is low (&amp;lt;5). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We also recommend to have clean server without any additional packets installed.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For many servers solution:&lt;br /&gt;
&lt;br /&gt;
'''Asterisk server:''' same requirements as above, except SSD would not increase performance so it is not needed and 4 GB of RAM is sufficient. CPU is most important component here. If Proxy solution is in use, Asterisks cannot be under NAT, it must have Public IP for SIP and RTP traffic.&lt;br /&gt;
&lt;br /&gt;
'''Database server:''' same requirements as above and SSD is highly recommended here. There should be 100GB or more space as database grows fast on high traffic. Fast data storage device and CPU are most important here. If more than one Database server is in use, UPS (Uninterruptible Power Supply) devices must be used for these servers, otherwise power outage would cause broken replication.&lt;br /&gt;
&lt;br /&gt;
'''GUI server:''' same requirements as above, except SSD would not increase performance a lot. HDD with more space is recommended here.&lt;br /&gt;
&lt;br /&gt;
'''Proxy server:''' same requirements as above, except 4 GB of RAM and 40 GB on HDD will be enough here. SSD would not increase performance. Proxy server cannot be under NAT, it must have Public IP for SIP traffic.&lt;br /&gt;
&lt;br /&gt;
'''Redundant servers:''' there are no special requirements on server hardware if server is part of redundant system. However, there are requirements for network to which servers are connected:&lt;br /&gt;
&lt;br /&gt;
* Both servers should be within same subnet.&lt;br /&gt;
* Both servers should be able to ''broadcast'' packets to UDP 694 port.&lt;br /&gt;
* Both servers should be able to receive packets broadcasted by other server.&lt;br /&gt;
* There should be Virtual IP reserved in Subnet.&lt;br /&gt;
* Both servers should be able to work with that Virtual IP (only one server at same time).&lt;br /&gt;
&lt;br /&gt;
If any of requirements above are not met, in some cases it is possible to adapt different network configurations or services (like &amp;quot;IP Failover&amp;quot;). However, management/configuration/development of third party software (like special scripts) needed to adapt special solution should be performed by servers owner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[How fast MOR can perform]]&lt;br /&gt;
* [[Stress Test 2012-03-05]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Recordings_Addon&amp;diff=17337</id>
		<title>Recordings Addon</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Recordings_Addon&amp;diff=17337"/>
		<updated>2014-02-04T07:44:56Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Delete recordings after sending it via e-mail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
Recordings functionality can be used to record selected users' calls for Monitoring purpose.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Functionality ==&lt;br /&gt;
&lt;br /&gt;
Recording Addon provides this functionality:&lt;br /&gt;
&lt;br /&gt;
* Record User Calls.&lt;br /&gt;
* Send a Recording to email.&lt;br /&gt;
* Limit space Users' space for Recordings.&lt;br /&gt;
* Record Calls without User knowledge.&lt;br /&gt;
* Let Users manage their Recordings (send to email/listen/download/delete).&lt;br /&gt;
* Convert recordings from WAV to MP3 format and store them on an external server, to ease the load on the main server.&lt;br /&gt;
&lt;br /&gt;
NOTE: Resellers is able to have the same functions as an administrator if '''Allow to use recording functionality''' option is checked by Admin in resellers settings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
&lt;br /&gt;
* Currently it is not possible to record Calls for a Device that is accessed from IVR. If a call goes like this: IVR -&amp;gt; Device, and the device has the option to record calls for this device, these calls will not be recorded. &lt;br /&gt;
&lt;br /&gt;
* Recordings will not be saved on the server if there will be left less then 10% of free space. Such recordings will be sent directly to the Email (if email is specified in GUI Interface) and will be completely removed from the server.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sound file format ===&lt;br /&gt;
&lt;br /&gt;
Recordings are saved into mp3 format. 1mb can save around 4min of recordings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Configuration=&lt;br /&gt;
&lt;br /&gt;
In order to use Recording, you have to set up which Users' Calls you want to record. &lt;br /&gt;
&lt;br /&gt;
Go to '''ADDONS –&amp;gt; Recordings –&amp;gt; Users''' and you will see this window:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recordings1.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here you can check the '''Forced record calls for this User''' field for the Users you want to record. By checking '''Allow to use recording functionality''' option you can authorize the User to use the Recordings Addon functionality.Click '''Update''' at the bottom for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
If you leave '''Server space (Mb)''' 0 - there will be no limitations in data usage (HDD will fill up after some time).&lt;br /&gt;
&lt;br /&gt;
If you want to view/listen/download/delete recorded Calls go to '''ADDONS –&amp;gt; Recordings'''. You will see something like this:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recordings2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''' Recordings are NOT available in Calls between 2 SIP Devices in MOR. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Record not answered calls ==&lt;br /&gt;
&lt;br /&gt;
In order to enable this functionality few changes a needed: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1) Edit /etc/asterisk/mor.conf &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 vi /etc/asterisk/mor.conf&lt;br /&gt;
&lt;br /&gt;
and set '''record_not_answered_calls =''' '''1''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This option record_not_answered_calls - save audio to the file while the channel is not answered (not bridged), default 0 (by default records only answered calls). &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Option Show Recordings with zero billsec should be enabled in GUI. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To enable it go to '''SETTINGS –&amp;gt; Setup –&amp;gt; Visual''' and check option '''Show recordings with zero billsec'''. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recordingams.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Now system records not answered calls for all users which are using recording functionality. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recordings are located in '''ADDONS –&amp;gt; Recordings.''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In recording list you will be able to see recordings without duration. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Such calls were not answered but recorded.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recordingams2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Advanced options== &lt;br /&gt;
&lt;br /&gt;
Manage settings for recordings upload to external server go to '''ADDONS –&amp;gt; Recordings –&amp;gt; Settings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:recordings_settings_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
you will reach settings page&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:recordings_addon_settings.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Use external Server - should system send recordings to external server?&lt;br /&gt;
* Recordings server - details such as IP/Port/Login where port is SSH default port 22 and Login is default root.&lt;br /&gt;
&lt;br /&gt;
'''P.S. SSH keys must be configured without password in order scp command could transfer the recordings to other server. It this functionality is not enabled - the recordings are stored in local server'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Administrator functionality ==&lt;br /&gt;
&lt;br /&gt;
'''ADDONS –&amp;gt; Recordings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recordings_Addons_Recordings_List.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here the System administrator can see all recordings. He can search Recordings  by:&lt;br /&gt;
&lt;br /&gt;
* Period.&lt;br /&gt;
* Source (CallerID).&lt;br /&gt;
* Destination (Dialed number).&lt;br /&gt;
* User.&lt;br /&gt;
* Device.&lt;br /&gt;
	&lt;br /&gt;
With each recording, it is possible to:&lt;br /&gt;
&lt;br /&gt;
* Check its details.&lt;br /&gt;
* Check Call details.&lt;br /&gt;
* Add comment to it.&lt;br /&gt;
* Listen to it.&lt;br /&gt;
* Download it.&lt;br /&gt;
* Delete it.&lt;br /&gt;
&lt;br /&gt;
Admin can decide:&lt;br /&gt;
&lt;br /&gt;
* Whether or not the user can use Recording Addon functionality (set to record calls, send recordings to email, etc).&lt;br /&gt;
* Which user calls should always be recorded (without user knowledge).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''SETTINGS –&amp;gt; Users –&amp;gt; Edit (on selected user)'''&lt;br /&gt;
&lt;br /&gt;
The Recordings section has the following options:&lt;br /&gt;
&lt;br /&gt;
* Allow to use recording functionality - can this user use the Recording addon functionality?&lt;br /&gt;
* Forced record calls for this User - record calls for this user (all devices) without user knowledge.&lt;br /&gt;
* Server space - how much HDD space to reserve for recordings of this user.&lt;br /&gt;
* Send deleted recordings to this email. If HDD space is used, the recording will be deleted and sent to this email. If this email is empty, the recording will be sent to the default user email.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Device –&amp;gt; Edit window'''&lt;br /&gt;
&lt;br /&gt;
The following options are available for Device:&lt;br /&gt;
&lt;br /&gt;
* '''Record calls for this Device''' - record calls for this Device (without user knowledge). If this option is enabled, recordings must be deleted manually.&lt;br /&gt;
* '''Show Recordings to the User for this Device''' - allows User to see such recordings&lt;br /&gt;
* '''Send Recording to Email''' - when recording is completed, send to it email.&lt;br /&gt;
* '''Recordings Email''' - send to this email address.&lt;br /&gt;
* '''Keep Recordings on Server after sent to Email''' - should the recording be left on the server after being sent to email?&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:device_recordings_settings.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recordings bulk management ==&lt;br /&gt;
&lt;br /&gt;
This feature allows an administrator to quickly delete Recordings for selected period or selected Device&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==== Who can use this functionality? ====&lt;br /&gt;
&lt;br /&gt;
* This feature is only available for MOR administrator&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==== How to use this functionality ====&lt;br /&gt;
Go to '''ADDONS –&amp;gt; Recordings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recordings_menu_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Click on [[image:icon_edit.png]] '''Bulk management''' link. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recordings_bulk_management.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you can check an option to delete by device or by date, select device/date and click '''Delete'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recordings_bulk_management_confirm.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Confirm that you really want to delete recordings of selected period/device.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= User settings =&lt;br /&gt;
&lt;br /&gt;
The Administrator must authorize the user to use the Recording Addon functionality before User can use its functions. This can be done by checking '''Allow to use recording functionality''' in the User Edit window.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''PERSONAL MENU –&amp;gt; Details'''&lt;br /&gt;
&lt;br /&gt;
* Server space - shows used/reserved HDD space for recordings.&lt;br /&gt;
* Email for deleted Recordings - to which email recordings should be sent if there is not enough space for them.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''PERSONAL MENU –&amp;gt; Details –&amp;gt; Devices –&amp;gt; Edit'''&lt;br /&gt;
&lt;br /&gt;
* Record calls for this Device - user can set to record calls for this device or not.&lt;br /&gt;
* Send Recording to Email - should recording be sent to email?&lt;br /&gt;
* Recordings Email - the email address email to which recordings should be sent.&lt;br /&gt;
* Keep Recordings on Server after sent to Email - should recordings be left on the server after being sent to email?&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''PERSONAL MENU –&amp;gt; Calls –&amp;gt; Recordings'''&lt;br /&gt;
&lt;br /&gt;
On this page, the User can manage his recordings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Guides = &lt;br /&gt;
&lt;br /&gt;
== Setup user so he could see his recorded calls ==&lt;br /&gt;
&lt;br /&gt;
1. As admin, go to '''User Edit''' settings [[Image:icon_edit.png]] and check '''Allow to use recording functionality'''. User will be able to use Recording addon functionality.&lt;br /&gt;
&lt;br /&gt;
2. Log in as this User and in '''PERSONAL MENU –&amp;gt; Details –&amp;gt; Devices''', click [[Image:icon_edit.png]] for Device and in the Recordings section check '''Record calls for this Device: YES.'''&lt;br /&gt;
&lt;br /&gt;
3. Now the user will be able to see his calls in '''PERSONAL MENU –&amp;gt; Call –&amp;gt; Recordings'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delete recordings after sending it via e-mail ==&lt;br /&gt;
&lt;br /&gt;
1. As admin, go to '''User Edit''' settings [[Image:icon_edit.png]] and check '''Allow to use recording functionality'''. User will be able to use Recording addon functionality. Do not check '''Forced record calls for this User''' because it this way recordings will '''NOT''' be deleted.&lt;br /&gt;
&lt;br /&gt;
2. Log in as this User and in '''PERSONAL MENU –&amp;gt; Personal Details –&amp;gt; Devices''', click [[Image:icon_edit.png]] for Device and in the Recordings section check '''Keep Recordings on Server after sent to Email: NO.'''&lt;br /&gt;
&lt;br /&gt;
3. Now recordings will be deleted immediately after they will be sent via e-mail.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR Addons]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Recordings_Addon&amp;diff=17336</id>
		<title>Recordings Addon</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Recordings_Addon&amp;diff=17336"/>
		<updated>2014-02-04T07:42:03Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Setup user so he could see his recorded calls */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
Recordings functionality can be used to record selected users' calls for Monitoring purpose.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Functionality ==&lt;br /&gt;
&lt;br /&gt;
Recording Addon provides this functionality:&lt;br /&gt;
&lt;br /&gt;
* Record User Calls.&lt;br /&gt;
* Send a Recording to email.&lt;br /&gt;
* Limit space Users' space for Recordings.&lt;br /&gt;
* Record Calls without User knowledge.&lt;br /&gt;
* Let Users manage their Recordings (send to email/listen/download/delete).&lt;br /&gt;
* Convert recordings from WAV to MP3 format and store them on an external server, to ease the load on the main server.&lt;br /&gt;
&lt;br /&gt;
NOTE: Resellers is able to have the same functions as an administrator if '''Allow to use recording functionality''' option is checked by Admin in resellers settings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
&lt;br /&gt;
* Currently it is not possible to record Calls for a Device that is accessed from IVR. If a call goes like this: IVR -&amp;gt; Device, and the device has the option to record calls for this device, these calls will not be recorded. &lt;br /&gt;
&lt;br /&gt;
* Recordings will not be saved on the server if there will be left less then 10% of free space. Such recordings will be sent directly to the Email (if email is specified in GUI Interface) and will be completely removed from the server.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sound file format ===&lt;br /&gt;
&lt;br /&gt;
Recordings are saved into mp3 format. 1mb can save around 4min of recordings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=Configuration=&lt;br /&gt;
&lt;br /&gt;
In order to use Recording, you have to set up which Users' Calls you want to record. &lt;br /&gt;
&lt;br /&gt;
Go to '''ADDONS –&amp;gt; Recordings –&amp;gt; Users''' and you will see this window:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recordings1.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here you can check the '''Forced record calls for this User''' field for the Users you want to record. By checking '''Allow to use recording functionality''' option you can authorize the User to use the Recordings Addon functionality.Click '''Update''' at the bottom for the changes to take effect.&lt;br /&gt;
&lt;br /&gt;
If you leave '''Server space (Mb)''' 0 - there will be no limitations in data usage (HDD will fill up after some time).&lt;br /&gt;
&lt;br /&gt;
If you want to view/listen/download/delete recorded Calls go to '''ADDONS –&amp;gt; Recordings'''. You will see something like this:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recordings2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''NOTE''' Recordings are NOT available in Calls between 2 SIP Devices in MOR. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Record not answered calls ==&lt;br /&gt;
&lt;br /&gt;
In order to enable this functionality few changes a needed: &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1) Edit /etc/asterisk/mor.conf &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 vi /etc/asterisk/mor.conf&lt;br /&gt;
&lt;br /&gt;
and set '''record_not_answered_calls =''' '''1''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This option record_not_answered_calls - save audio to the file while the channel is not answered (not bridged), default 0 (by default records only answered calls). &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Option Show Recordings with zero billsec should be enabled in GUI. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To enable it go to '''SETTINGS –&amp;gt; Setup –&amp;gt; Visual''' and check option '''Show recordings with zero billsec'''. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recordingams.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Now system records not answered calls for all users which are using recording functionality. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recordings are located in '''ADDONS –&amp;gt; Recordings.''' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In recording list you will be able to see recordings without duration. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Such calls were not answered but recorded.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:recordingams2.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==Advanced options== &lt;br /&gt;
&lt;br /&gt;
Manage settings for recordings upload to external server go to '''ADDONS –&amp;gt; Recordings –&amp;gt; Settings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:recordings_settings_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
you will reach settings page&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:recordings_addon_settings.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* Use external Server - should system send recordings to external server?&lt;br /&gt;
* Recordings server - details such as IP/Port/Login where port is SSH default port 22 and Login is default root.&lt;br /&gt;
&lt;br /&gt;
'''P.S. SSH keys must be configured without password in order scp command could transfer the recordings to other server. It this functionality is not enabled - the recordings are stored in local server'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Administrator functionality ==&lt;br /&gt;
&lt;br /&gt;
'''ADDONS –&amp;gt; Recordings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recordings_Addons_Recordings_List.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here the System administrator can see all recordings. He can search Recordings  by:&lt;br /&gt;
&lt;br /&gt;
* Period.&lt;br /&gt;
* Source (CallerID).&lt;br /&gt;
* Destination (Dialed number).&lt;br /&gt;
* User.&lt;br /&gt;
* Device.&lt;br /&gt;
	&lt;br /&gt;
With each recording, it is possible to:&lt;br /&gt;
&lt;br /&gt;
* Check its details.&lt;br /&gt;
* Check Call details.&lt;br /&gt;
* Add comment to it.&lt;br /&gt;
* Listen to it.&lt;br /&gt;
* Download it.&lt;br /&gt;
* Delete it.&lt;br /&gt;
&lt;br /&gt;
Admin can decide:&lt;br /&gt;
&lt;br /&gt;
* Whether or not the user can use Recording Addon functionality (set to record calls, send recordings to email, etc).&lt;br /&gt;
* Which user calls should always be recorded (without user knowledge).&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''SETTINGS –&amp;gt; Users –&amp;gt; Edit (on selected user)'''&lt;br /&gt;
&lt;br /&gt;
The Recordings section has the following options:&lt;br /&gt;
&lt;br /&gt;
* Allow to use recording functionality - can this user use the Recording addon functionality?&lt;br /&gt;
* Forced record calls for this User - record calls for this user (all devices) without user knowledge.&lt;br /&gt;
* Server space - how much HDD space to reserve for recordings of this user.&lt;br /&gt;
* Send deleted recordings to this email. If HDD space is used, the recording will be deleted and sent to this email. If this email is empty, the recording will be sent to the default user email.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Device –&amp;gt; Edit window'''&lt;br /&gt;
&lt;br /&gt;
The following options are available for Device:&lt;br /&gt;
&lt;br /&gt;
* '''Record calls for this Device''' - record calls for this Device (without user knowledge). If this option is enabled, recordings must be deleted manually.&lt;br /&gt;
* '''Show Recordings to the User for this Device''' - allows User to see such recordings&lt;br /&gt;
* '''Send Recording to Email''' - when recording is completed, send to it email.&lt;br /&gt;
* '''Recordings Email''' - send to this email address.&lt;br /&gt;
* '''Keep Recordings on Server after sent to Email''' - should the recording be left on the server after being sent to email?&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:device_recordings_settings.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recordings bulk management ==&lt;br /&gt;
&lt;br /&gt;
This feature allows an administrator to quickly delete Recordings for selected period or selected Device&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==== Who can use this functionality? ====&lt;br /&gt;
&lt;br /&gt;
* This feature is only available for MOR administrator&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==== How to use this functionality ====&lt;br /&gt;
Go to '''ADDONS –&amp;gt; Recordings'''&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recordings_menu_path.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Click on [[image:icon_edit.png]] '''Bulk management''' link. &lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recordings_bulk_management.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Here you can check an option to delete by device or by date, select device/date and click '''Delete'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Recordings_bulk_management_confirm.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Confirm that you really want to delete recordings of selected period/device.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= User settings =&lt;br /&gt;
&lt;br /&gt;
The Administrator must authorize the user to use the Recording Addon functionality before User can use its functions. This can be done by checking '''Allow to use recording functionality''' in the User Edit window.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''PERSONAL MENU –&amp;gt; Details'''&lt;br /&gt;
&lt;br /&gt;
* Server space - shows used/reserved HDD space for recordings.&lt;br /&gt;
* Email for deleted Recordings - to which email recordings should be sent if there is not enough space for them.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''PERSONAL MENU –&amp;gt; Details –&amp;gt; Devices –&amp;gt; Edit'''&lt;br /&gt;
&lt;br /&gt;
* Record calls for this Device - user can set to record calls for this device or not.&lt;br /&gt;
* Send Recording to Email - should recording be sent to email?&lt;br /&gt;
* Recordings Email - the email address email to which recordings should be sent.&lt;br /&gt;
* Keep Recordings on Server after sent to Email - should recordings be left on the server after being sent to email?&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''PERSONAL MENU –&amp;gt; Calls –&amp;gt; Recordings'''&lt;br /&gt;
&lt;br /&gt;
On this page, the User can manage his recordings.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
= Guides = &lt;br /&gt;
&lt;br /&gt;
== Setup user so he could see his recorded calls ==&lt;br /&gt;
&lt;br /&gt;
1. As admin, go to '''User Edit''' settings [[Image:icon_edit.png]] and check '''Allow to use recording functionality'''. User will be able to use Recording addon functionality.&lt;br /&gt;
&lt;br /&gt;
2. Log in as this User and in '''PERSONAL MENU –&amp;gt; Details –&amp;gt; Devices''', click [[Image:icon_edit.png]] for Device and in the Recordings section check '''Record calls for this Device: YES.'''&lt;br /&gt;
&lt;br /&gt;
3. Now the user will be able to see his calls in '''PERSONAL MENU –&amp;gt; Call –&amp;gt; Recordings'''.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Delete recordings after sending it via e-mail ==&lt;br /&gt;
&lt;br /&gt;
1. As admin, go to '''User Edit''' settings [[Image:icon_edit.png]] and check '''Allow to use recording functionality'''. User will be able to use Recording addon functionality.&lt;br /&gt;
&lt;br /&gt;
2. Log in as this User and in '''PERSONAL MENU –&amp;gt; Personal Details –&amp;gt; Devices''', click [[Image:icon_edit.png]] for Device and in the Recordings section check '''Keep Recordings on Server after sent to Email: NO.'''&lt;br /&gt;
&lt;br /&gt;
3. Now recordings will be deleted immediately after they will be sent via e-mail.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
* [[MOR Addons]]&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Heartbeat_configuration&amp;diff=17244</id>
		<title>Heartbeat configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Heartbeat_configuration&amp;diff=17244"/>
		<updated>2014-01-22T16:14:11Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''What is High availability?'''&lt;br /&gt;
&lt;br /&gt;
High availability is a system design protocol and associated implementation that ensures a certain absolute degree of operational continuity during a given measurement period. &lt;br /&gt;
&lt;br /&gt;
Lets say you have two servers 'A' and 'B' with MOR installed, MySQL is running replication between them. By default all trafic comming to server 'A' is monitored by server 'B', so when server 'A' fails, server 'B' stands in its position by given time. &lt;br /&gt;
&lt;br /&gt;
So allmost no data is lost, and your users will be happy with your services.&lt;br /&gt;
&lt;br /&gt;
[[File:Hearbeat_example.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''What is Heartbeat?'''&lt;br /&gt;
&lt;br /&gt;
Heartbeat is software which implements these monitoring and availability features for your servers. It must be carrefully installed, configured and tested on both servers to ensure correct producing of services.&lt;br /&gt;
&lt;br /&gt;
'''What do you need to know before starting'''&lt;br /&gt;
&lt;br /&gt;
Please review once more the provided above scheme. It represents a typical Linux Heartbeat configuration. Before starting you have to be aware of 4 main points:&lt;br /&gt;
&lt;br /&gt;
1. All public IP addresses have to be on same subnet.&amp;lt;br&amp;gt;&lt;br /&gt;
2. [http://en.wikipedia.org/wiki/Virtual_IP_address  Virtual IP] has to be free (not assigned to any device on the network) and the last octet of the address (in this case .4 is the last octet) has to be the highest in the configuration. Server A and B have to be on &amp;quot;lower&amp;quot; IP, in this case .2 and .3 (the last octet).&amp;lt;br&amp;gt;&lt;br /&gt;
3. Never use servers when they are off-line as it will ruin the MySQL replication.&amp;lt;br&amp;gt;&lt;br /&gt;
4. After heartbeat configuration has been made, do not change the addressing scheme or the host-names of the servers.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Installation'''&lt;br /&gt;
&lt;br /&gt;
Hearbeat 2.99 has been full tested on Centos 5.2 only, there is no guarantee that it will work on older versions or distros.&lt;br /&gt;
&lt;br /&gt;
Download mor install scripts from svn. in both servers.&lt;br /&gt;
&lt;br /&gt;
Run /usr/src/mor/sh_scripts/install_heartbeat.sh in both servers&lt;br /&gt;
&lt;br /&gt;
Script will:&lt;br /&gt;
&lt;br /&gt;
 * download special file, then yum automaticaly install correct heartbeat files for your system.&lt;br /&gt;
 * install pacemaker, its future only.&lt;br /&gt;
 * configure /etc/ha.d/authkeys so you don't need to change anything here&lt;br /&gt;
 * configure /etc/ha.d/ha.cf file, but you still need adjust it by hand (how? later on this page).&lt;br /&gt;
 * configure /etc/ha.d/haresources file, but you still need to change few bits there, also, later on this page.&lt;br /&gt;
 * add 2 lines to /etc/hosts, but just for testing purporses only, so you will have to change ips here.&lt;br /&gt;
&lt;br /&gt;
'''ATTENTION''': if you installed Heartbeat manually, please make sure that you have '''same version of Heartbeat on both servers'''. You will probably need same Centos version on both servers to do that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Configuration'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Before going further, you need to setup hostname of both servers. Make sure master will have node01 and slave node02. (uname -n) must return correct words.'''&lt;br /&gt;
&lt;br /&gt;
Make sure to remove all services which are related to Heartbeat from the runlevels:&lt;br /&gt;
&lt;br /&gt;
 chkconfig --list&lt;br /&gt;
&lt;br /&gt;
If you want to remove some service (for example asterisk):&lt;br /&gt;
&lt;br /&gt;
 chkconfig --del asterisk&lt;br /&gt;
&lt;br /&gt;
Edit /etc/sysconfig/network to change your hostname. Then reboot your machine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First configure master (node01):&lt;br /&gt;
&lt;br /&gt;
Open /etc/hosts and you will see something like this:&lt;br /&gt;
&lt;br /&gt;
 203.0.113.2 node01 #change to correct IP&lt;br /&gt;
 203.0.113.3 node02 #change to correct IP here aswell&lt;br /&gt;
&lt;br /&gt;
Change ip of node01 of master machine, which &amp;quot;accept all incoming traffic by default&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
And change ip to slave, witch will &amp;quot;accept all data, if master will die&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open /etc/ha.d/ha.cf and change:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deadtime higher or lower setting. Deadtime means how many seconds have to pass before take over job from master. &lt;br /&gt;
&lt;br /&gt;
Remember, this should be lower on on &amp;quot;lightly&amp;quot; loaded machines, and higher and &amp;quot;highly&amp;quot; loaded machines.&lt;br /&gt;
&lt;br /&gt;
Deadtime 10 is more than enough. (Default is 5)&lt;br /&gt;
&lt;br /&gt;
Make sure you add 2 network interfaces for heartbeat broadcasts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The bcast directive is used to configure which interfaces Heartbeat sends UDP broadcast traffic on.&lt;br /&gt;
&lt;br /&gt;
For example 'bcast eth0 eth1'.&lt;br /&gt;
&lt;br /&gt;
The udpport directive is used to configure which port is used for these broadcast communications if the &lt;br /&gt;
udpport directive is specified before the bcast directive, otherwise the default port will be used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now open /etc/ha.d/haresources (be sure to leave only the lines given below):&lt;br /&gt;
&lt;br /&gt;
 node01 203.0.113.4 asterisk # just for testing, remember this ip can't be used in your network!!!&lt;br /&gt;
&lt;br /&gt;
Or&lt;br /&gt;
&lt;br /&gt;
 node01 IPaddr::192.168.0.142/24/eth0:0 httpd # just for testing, remember this ip can't be used in your network!!! # if eth0:0 does not appear&lt;br /&gt;
&lt;br /&gt;
So, first of all:&lt;br /&gt;
&lt;br /&gt;
Assuming node01 is master and node02 is slave, by default all traffic is going to node01.&lt;br /&gt;
&lt;br /&gt;
You need to choose IP (for Virtual IP) from your network and never use it, otherwise this will lead to unexpected results.&lt;br /&gt;
&lt;br /&gt;
node01 203.0.113.4 asterisk, &amp;quot;if master is dead, slave (node02) will restart asterisk and start to accept traffic comming from 203.0.113.4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now copy all configuration to slave (node02).&lt;br /&gt;
&lt;br /&gt;
 shell@node01:/$ scp -r /etc/ha.d/ root@node02:/etc/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Start heartbeat on both servers by running /etc/init.d/heartbeat start. If everything will be ok, you will see something like this:&lt;br /&gt;
&lt;br /&gt;
 Starting High-Availability services:&lt;br /&gt;
 &lt;br /&gt;
 2008/12/18_18:13:22 INFO:  Resource is stopped&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
                                                           [  OK  ]&lt;br /&gt;
&lt;br /&gt;
Do not forget to remove Asterisk from system startup, because it needs to be started by Heartbeat:&lt;br /&gt;
 chkconfig asterisk off&lt;br /&gt;
on both servers.&lt;br /&gt;
&lt;br /&gt;
'''Testing'''&lt;br /&gt;
&lt;br /&gt;
Now run iptraf on both machines, from another machine start pinging your binded IP address (in this example we speak about 203.0.113.4).&lt;br /&gt;
&lt;br /&gt;
Check for masters iptraf window, you will see incoming ICMP data, slave have to be quiet.&lt;br /&gt;
&lt;br /&gt;
[[Image:heartbeat1.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now kill master (for example: ifconfig eth0 down or issue a reboot), after short period of time (on this example 5 seconds) on slave you will see incoming ICMP packets.&lt;br /&gt;
&lt;br /&gt;
To bring master to work again, first of all you have to configure network on master and start heartbeat. After 20~ seconds master have to start doing his job again.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now go to GUI and change your default asterisk server IP (Settings -&amp;gt; Servers), change from 127.0.0.1 to virtual IP address. If your GUI is unable connect to them, make sure both asterisk servers allow connections from your GUI server. (file: /etc/asterisk/manager.conf)&lt;br /&gt;
&lt;br /&gt;
= sip.conf = &lt;br /&gt;
&lt;br /&gt;
In file '''/etc/asterisk/sip.conf''' enter correct IP for value '''bindaddr''', correct IP = IP to which your devices are registering. E.g. Virtual IP.&lt;br /&gt;
&lt;br /&gt;
Do same changes for bindaddr in iax.conf, h323.conf and manager.conf&lt;br /&gt;
&lt;br /&gt;
[[How to restart Asterisk server|Restart Asterisk]]&lt;br /&gt;
&lt;br /&gt;
Make this on both servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= mor.conf = &lt;br /&gt;
&lt;br /&gt;
On slave server go to '''/etc/asterisk/mor.conf''' and set '''server_id = 2''' (default is 1)&lt;br /&gt;
&lt;br /&gt;
= Possible problems =&lt;br /&gt;
&lt;br /&gt;
Look at the picture:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Heartbeat_broadcast.jpg]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
In this example HeartBeat in bcast directive has only one interface configured on both servers: eth1&lt;br /&gt;
&lt;br /&gt;
This can lead to problems if the link eth1 &amp;lt;----&amp;gt; eth1 between the servers fails (broken cable, switch, NIC, etc)&lt;br /&gt;
&lt;br /&gt;
'''You must specify at least 2 interfaces in bcast directive'''&lt;br /&gt;
&lt;br /&gt;
The bcast directive is used to configure which interfaces Heartbeat sends UDP broadcast traffic on.&lt;br /&gt;
&lt;br /&gt;
An example of bcast directive:&lt;br /&gt;
 bcast eth0 eth1&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Virtual interface does not appear ==&lt;br /&gt;
&lt;br /&gt;
Check /var/log/heartbeat.log&lt;br /&gt;
&lt;br /&gt;
If you can see something like:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 ResourceManager(default)[6106]: 2012/12/07_11:33:51 info: Running /etc/ha.d/resource.d/IPaddr 123.123.123.123 start&lt;br /&gt;
 IPaddr(IPaddr_123.123.123.123)[6197]: 2012/12/07_11:33:51 ERROR: /usr/lib64/heartbeat/findif failed [rc=1].&lt;br /&gt;
 /usr/lib/ocf/resource.d//heartbeat/IPaddr(IPaddr_123.123.123.123)[6183]: 2012/12/07_11:33:51 ERROR:  Generic error&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
Please add subnet mask and interface to /etc/ha.d/haresources like this:&lt;br /&gt;
&lt;br /&gt;
 node01 123.123.123.123/27/em1 asterisk&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Heartbeat service does not start ==&lt;br /&gt;
&lt;br /&gt;
There is known bug with resource-agents-3.9.2-21.el6_4.8.x86_64 package.&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
&lt;br /&gt;
 rpm -el --nodeps resource-agents-3.9.2-21.el6_4.8.x86_64&lt;br /&gt;
 yum install -y resource-agents-3.9.2-21.el6_4.3.x86_64&lt;br /&gt;
&lt;br /&gt;
More details:&lt;br /&gt;
http://bugs.centos.org/view.php?id=6727&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
[[High availability (Heartbeat clustering)]]&lt;br /&gt;
&lt;br /&gt;
http://www.linux-ha.org/wiki/Haresources&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Digits_sound_files&amp;diff=17157</id>
		<title>Digits sound files</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Digits_sound_files&amp;diff=17157"/>
		<updated>2014-01-16T07:16:42Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Necessary files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Necessary files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;What it says&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 0 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Zero &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 10 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ten &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 11 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eleven &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 12 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twelve &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 13 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thirteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 14 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fourteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 15 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 16 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 17 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventeen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 18 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 19 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Nineteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 1 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; One &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 20 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twenty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 2 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Two &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 30 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Thirty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 3 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Three  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 40 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Forty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 4 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Four &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 50 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 5 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Five &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 60 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 6 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Six &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 70 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventy &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 7 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seven &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 80 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 8 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eight &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 90 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ninety &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 9 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Nine &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; a-m &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; A M  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; at &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  At &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; billion &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Billion  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-0 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sunday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-1 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Monday  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-2 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Tuesday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-3 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Wednesday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-4 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thursday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-5 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Friday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-6 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Saturday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; dollars &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Dollars &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-10 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Tenth  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-11 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eleventh &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-12 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twelfth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-13 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thirteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-14 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fourteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-15 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-16 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-17 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventeenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-18 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-19 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Nineteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-1 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; First &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-20&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twentieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-2 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Second &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-30 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thirtieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-3 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Third &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-40 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fortieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-4 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fourth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-50 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fiftieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-5 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-60 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixtieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-6 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-70 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-7 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventh &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-80 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eightieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-8&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-90 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ninetieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-9 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ninth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-billion &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Billionth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-hundred &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Hundredth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-million &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Millionth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-thousand &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thousandth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; hundred &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Hundred &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; million &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Million &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; minus &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Minus &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-0 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; January &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-10 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; November &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-11 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; December &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-1 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; February &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-2 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; March &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-3 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; April &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-4 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; May &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-5 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; June &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-6 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; July &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-7 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; August &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-8 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; September  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-9 &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; October  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; oclock &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  O'Clock &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; oh &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Oh &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; p-m &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  P M &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; pound &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Pound &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; star &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Star &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; thousand &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thousand &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; today &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Today &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; tomorrow &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Tomorrow &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; yesterday &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Yesterday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Digits_sound_files&amp;diff=17156</id>
		<title>Digits sound files</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Digits_sound_files&amp;diff=17156"/>
		<updated>2014-01-16T07:15:41Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Necessary files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Necessary files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;What it says&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 0.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Zero &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ten &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eleven &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 12.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twelve &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 13.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thirteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 14.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fourteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 15.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 16.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 17.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventeen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 18.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 19.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Nineteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; One &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 20.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twenty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Two &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 30.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Thirty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Three  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 40.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Forty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Four &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 50.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Five &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 60.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Six &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 70.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventy &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seven &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 80.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 8.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eight &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 90.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ninety &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Nine &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; a-m.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; A M  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; at.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  At &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; billion.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Billion  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-0.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sunday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Monday  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Tuesday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Wednesday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thursday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Friday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Saturday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; dollars.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Dollars &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Tenth  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eleventh &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-12.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twelfth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-13.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thirteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-14.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fourteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-15.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-16.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-17.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventeenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-18.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-19.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Nineteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; First &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-20.gsm&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twentieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Second &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-30.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thirtieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Third &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-40.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fortieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fourth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-50.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fiftieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-60.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixtieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-70.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventh &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-80.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eightieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-8.gsm&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-90.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ninetieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ninth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-billion.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Billionth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-hundred.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Hundredth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-million.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Millionth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-thousand.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thousandth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; hundred.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Hundred &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; million.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Million &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; minus.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Minus &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-0.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; January &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; November &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; December &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; February &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; March &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; April &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; May &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; June &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; July &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; August &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-8.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; September  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; October  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; oclock.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  O'Clock &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; oh.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Oh &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; p-m.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  P M &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; pound.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Pound &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; star.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Star &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; thousand.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thousand &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; today.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Today &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; tomorrow.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Tomorrow &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; yesterday.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Yesterday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Digits_sound_files&amp;diff=17155</id>
		<title>Digits sound files</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Digits_sound_files&amp;diff=17155"/>
		<updated>2014-01-16T07:14:08Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Necessary files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Necessary files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;What it says&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 0.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Zero &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ten &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eleven &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 12.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twelve &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 13.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thirteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 14.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fourteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 15.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 16.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 17.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventeen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 18.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 19.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Nineteen &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; One &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 20.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twenty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Two &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 30.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Thirty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Three  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 40.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Forty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Four &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 50.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Five &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 60.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Six &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 70.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventy &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seven &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 80.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighty &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 8.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eight &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 90.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ninety &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Nine &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; a-m.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; A M  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; at.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  At &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; billion.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Billion  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-0.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sunday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Monday  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Tuesday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Wednesday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thursday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Friday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Saturday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; dollars.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Dollars &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Tenth  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eleventh &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-12.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twelfth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-13.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thirteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-14.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fourteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-15.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fifteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-16.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-17.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventeenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-18.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-19.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Nineteenth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; First &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-20.gsm&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Twentieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Second &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-30.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thirtieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Third &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-40.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fortieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fourth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-50.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Fiftieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-5.gsm &amp;lt;/td&amp;gt; Fifth &amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-60.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixtieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Sixth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-70.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Seventh &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-80.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eightieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-8.gsm&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Eighth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-90.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ninetieth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Ninth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-billion.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Billionth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-hundred.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Hundredth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-million.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Millionth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-thousand.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thousandth &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; hundred.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Hundred &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; million.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Million &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; minus.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Minus &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-0.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; January &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; November &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; December &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; February &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; March &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; April &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; May &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; June &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; July &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; August &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-8.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; September  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; October  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; oclock.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  O'Clock &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; oh.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Oh &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; p-m.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  P M &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; pound.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Pound &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; star.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Star &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; thousand.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thousand &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; today.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Today &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; tomorrow.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Tomorrow &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; yesterday.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Yesterday &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Digits_sound_files&amp;diff=17154</id>
		<title>Digits sound files</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Digits_sound_files&amp;diff=17154"/>
		<updated>2014-01-16T06:04:33Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Necessary files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Necessary files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;What it says&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 0.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...and...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Authorization failed. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 12.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  The number is busy. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 13.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new number. Press two to redial same number. Press three to check your balance. Press four to use new card. Press five to increase your calling card balance by using another card. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 14.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card expired. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 15.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 16.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card is not sold yet.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 17.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 18.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Dialing previous number... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 19.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your card number:  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your card and pin number:  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 20.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Please enter your pin number: &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Goodbye. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 30.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Please enter your callerID number &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; You have entered nothing.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 40.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter the number you wish to call followed by the hash (#) key. If making an international call include the international code.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; The number is unreachable.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 50.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your PIN number.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter voucher number.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 60.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...cents.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...euros...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 70.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...euro...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pence. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 80.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pounds... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 8.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pound... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 90.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...hour... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...hours... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; a-m.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; You have...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; at.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Your balance was increased by... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; billion.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; minus...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-0.gsm  (says: sunday) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...minute  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-1.gsm  (says: monday) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...minutes  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-2.gsm  (says: tuesday) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new destination. Press two to redial same destination. Press three to check your balance.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...seconds. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...unlimited minutes.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...cents.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...dollars...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; dollars.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...dollar... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-10.gsm  (says: 10th) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Voucher not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thank you.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-12.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance was increased by...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-13.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...and...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-14.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Authorization failed. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-15.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-16.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  The number is busy. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-17.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new number. Press two to redial same number. Press three to check your balance. Press four to use new card. Press five to increase your calling card balance by using another card. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-18.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card expired. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-19.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-1.gsm  (says: 1st) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card is not sold yet.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-20.gsm&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Dialing previous number... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-30.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your card number:  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your card and pin number:  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-40.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Please enter your pin number: &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Goodbye. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-50.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Please enter your callerID number &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; You have entered nothing.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-60.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter the number you wish to call followed by the hash (#) key. If making an international call include the international code.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; The number is unreachable.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-70.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your PIN number.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter voucher number.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-80.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...cents.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-8.gsm&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...euros...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-90.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...euro...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pence. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-billion.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pounds... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-hundred.gsm  (says: 100th) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pound... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-million.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...hour... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-thousand.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...hours... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; hundred.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; You have...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; million.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Your balance was increased by... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; minus.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; minus...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-0.gsm  (says: January)  (says: sunday) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...minute  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...minutes  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new destination. Press two to redial same destination. Press three to check your balance.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...seconds. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...unlimited minutes.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...cents.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...dollars...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...dollar... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Voucher not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thank you.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-8.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance was increased by...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...and...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; oclock.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Authorization failed. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; oh.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; p-m.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  The number is busy. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; pound.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new number. Press two to redial same number. Press three to check your balance. Press four to use new card. Press five to increase your calling card balance by using another card. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; star.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card expired. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; thousand.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; today.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card is not sold yet.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; tomorrow.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; yesterday.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Dialing previous number... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Digits_sound_files&amp;diff=17153</id>
		<title>Digits sound files</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Digits_sound_files&amp;diff=17153"/>
		<updated>2014-01-15T17:59:49Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: Created page with '=== Necessary files ===  &amp;lt;table border=1&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;What it says&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 0.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...and...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Authoriza…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Necessary files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;What it says&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 0.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...and...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Authorization failed. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 12.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  The number is busy. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 13.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new number. Press two to redial same number. Press three to check your balance. Press four to use new card. Press five to increase your calling card balance by using another card. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 14.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card expired. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 15.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 16.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card is not sold yet.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 17.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 18.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Dialing previous number... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 19.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your card number:  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your card and pin number:  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 20.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Please enter your pin number: &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Goodbye. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 30.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Please enter your callerID number &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; You have entered nothing.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 40.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter the number you wish to call followed by the hash (#) key. If making an international call include the international code.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; The number is unreachable.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 50.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your PIN number.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter voucher number.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 60.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...cents.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...euros...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 70.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...euro...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pence. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 80.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pounds... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 8.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pound... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 90.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...hour... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; 9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...hours... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; a-m.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; You have...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; at.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Your balance was increased by... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; billion.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; minus...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-0.gsm  (says: sunday) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...minute  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-1.gsm  (says: monday) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...minutes  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-2.gsm  (says: tuesday) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new destination. Press two to redial same destination. Press three to check your balance.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...seconds. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...unlimited minutes.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...cents.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; day-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...dollars...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; dollars.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...dollar... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-10.gsm  (says: 10th) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Voucher not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thank you.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-12.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance was increased by...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-13.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...and...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-14.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Authorization failed. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-15.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-16.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  The number is busy. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-17.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new number. Press two to redial same number. Press three to check your balance. Press four to use new card. Press five to increase your calling card balance by using another card. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-18.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card expired. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-19.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-1.gsm  (says: 1st) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card is not sold yet.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-20.gsm&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Dialing previous number... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-30.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your card number:  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your card and pin number:  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-40.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Please enter your pin number: &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Goodbye. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-50.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Please enter your callerID number &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; You have entered nothing.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-60.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter the number you wish to call followed by the hash (#) key. If making an international call include the international code.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; The number is unreachable.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-70.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your PIN number.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter voucher number.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-80.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...cents.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-8.gsm&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...euros...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-90.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...euro...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-9.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pence. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-billion.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pounds... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-hundred.gsm  (says: 100th) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pound... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-million.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...hour... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; h-thousand.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...hours... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; hundred.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; You have...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; million.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Your balance was increased by... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; minus.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; minus...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-0.gsm  (says: January)  (says: sunday) &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...minute  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-10.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...minutes  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-11.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new destination. Press two to redial same destination. Press three to check your balance.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-1.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...seconds. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-2.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...unlimited minutes.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-3.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...cents.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-4.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...dollars...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-5.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...dollar... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-6.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Voucher not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-7.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thank you.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mon-8.gsm &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance was increased by...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=Sound_files&amp;diff=17152</id>
		<title>Sound files</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=Sound_files&amp;diff=17152"/>
		<updated>2014-01-15T17:42:58Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: /* Necessary files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Description=&lt;br /&gt;
&lt;br /&gt;
[[File:all_flags.png|right|100px]]Sound files used by MOR  are located in /var/lib/asterisk/sounds/mor.&lt;br /&gt;
&lt;br /&gt;
To see sound files go to '''SETTINGS''' -&amp;gt; '''Billing''' -&amp;gt; '''DIDs''' -&amp;gt; '''IVR''' -&amp;gt; '''Voices''' and click the ''Sound files'' link:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Ivr soundfiles.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Currently supported languages ==&lt;br /&gt;
&lt;br /&gt;
* English&lt;br /&gt;
* Spanish&lt;br /&gt;
* Russian&lt;br /&gt;
* French&lt;br /&gt;
* Brazilian-Portuguese&lt;br /&gt;
* Italian&lt;br /&gt;
* German&lt;br /&gt;
* Hebrew&lt;br /&gt;
&lt;br /&gt;
* Chinese (partly)&lt;br /&gt;
* Vietnamese (partly)&lt;br /&gt;
&lt;br /&gt;
Listen to the voices in: [[MOR IVR Samples]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Add another language==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Necessary files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table border=1&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;File name&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;What it says&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; and &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...and...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; auth_failed&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Authorization failed. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; balance_empty&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt;cc_busy&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  The number is busy. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_callingcard_choices&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new number. Press two to redial same number. Press three to check your balance. Press four to use new card. Press five to increase your calling card balance by using another card. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_card_expired&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card expired. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_card_is_empty&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Card is empty. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_card_is_not_sold_yet&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card is not sold yet.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_card_not_found&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Card not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_dialing_previous_number&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Dialing previous number... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_enter_card_number&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your card number:  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_enter_card_number_pin&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your card and pin number:  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_enter_pin&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Please enter your pin number: &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_goodbye&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Goodbye. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_please_enter_callerid_number&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Please enter your callerID number &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_you_have_entered_nothing&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; You have entered nothing.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_please_enter_number&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter the number you wish to call followed by the hash (#) key. If making an international call include the international code.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; cc_unreachable&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; The number is unreachable.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; enter_pin&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter your PIN number.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; enter_voucher_number&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Please enter voucher number.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; EUR_cents&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...cents.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; EUR_many&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...euros...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; EUR_one&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...euro...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; GBP_cents&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pence. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; GBP_many&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pounds... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; GBP_one&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...pound... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; hour&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...hour... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; hours&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...hours... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; you_have&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; You have...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; your_balance_was_increased_by&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  Your balance was increased by... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; minus&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; minus...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; minute&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...minute  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; minutes&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...minutes  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; mor_callingcard_choices&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Press one to enter new destination. Press two to redial same destination. Press three to check your balance.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; seconds&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...seconds. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; unlimited_minutes&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...unlimited minutes.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; USD_cents&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...cents.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; USD_many&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; ...dollars...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt;USD_one&amp;lt;/td&amp;gt; &amp;lt;td&amp;gt;  ...dollar... &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt;voucher_not_found &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Voucher not found.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt;thank_you &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Thank you.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt; &amp;lt;td&amp;gt; your_balance_was_increased_by &amp;lt;/td&amp;gt; &amp;lt;td&amp;gt; Your balance was increased by...  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
+ all digit files for your language.&lt;br /&gt;
&lt;br /&gt;
* [[Digits sound files]]&lt;br /&gt;
&lt;br /&gt;
Example files: http://www.kolmisoft.com/packets/mor9_sounds.tgz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Translation/recording ===&lt;br /&gt;
&lt;br /&gt;
* Translate and record a sound file to your language (example: French ('''fr''')).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Converting ===&lt;br /&gt;
&lt;br /&gt;
In order to have Asteriskplay files, they should be converted to Bit rate: 16-bit, Sample rate: 8000Hz, MONO.&lt;br /&gt;
&lt;br /&gt;
This can be done using the [[Convert WAV file to Asterisk playable format | sox command]]:&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/sox file1.wav -r 8000 -c 1 -s -w file2.wav resample -ql &lt;br /&gt;
&lt;br /&gt;
... and putting them into /var/lib/asterisk/sounds/mor/ivr_voices/'''fr'''.&lt;br /&gt;
&lt;br /&gt;
Also, the script /usr/src/mor/sh_scripts/convert2astwav.sh can be used to convert many files at once. Just execute it in the folder with .wav files.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
==== Errors ====&lt;br /&gt;
&lt;br /&gt;
These errors means that a sound file is not Asterisk compatible:&lt;br /&gt;
&lt;br /&gt;
 [Dec 22 03:00:46] WARNING[20516]: format_wav.c:148 check_header: '''Not in mono 2'''                                                              &lt;br /&gt;
 [Dec 22 03:00:46] WARNING[20516]: file.c:322 '''fn_wrapper: Unable to open format wav'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Digits ===&lt;br /&gt;
&lt;br /&gt;
Let's say you need digit sounds recorded in French ('''fr''').&lt;br /&gt;
&lt;br /&gt;
Put all digit recordings into /var/lib/asterisk/sounds/digits/'''fr'''.&lt;br /&gt;
&lt;br /&gt;
[[List of sound files for digits]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting language ==&lt;br /&gt;
&lt;br /&gt;
* In DID settings, set language = '''fr'''.&lt;br /&gt;
&lt;br /&gt;
If you want to set your default language for the whole system, not only for DIDs, then in sip.conf/iax2.conf/etc (they are in /etc/asterisk) set:&lt;br /&gt;
&lt;br /&gt;
 language = fr &lt;br /&gt;
&lt;br /&gt;
'''Where fr is JUST AN EXAMPLE, CHANGE fr TO THE APPROPRIATE LANGUAGE!!!'''&lt;br /&gt;
&lt;br /&gt;
Reload Asterisk.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Currency ==&lt;br /&gt;
&lt;br /&gt;
For example, let's take Georgian currency GEL ([http://en.wikipedia.org/wiki/Georgian_lari Georgian lari]).&lt;br /&gt;
&lt;br /&gt;
You will need these sound files:&lt;br /&gt;
&lt;br /&gt;
    * GEL_cents (meaning 1/100 of main currency, &amp;quot;cents&amp;quot; for USD/EUR, &amp;quot;tetri&amp;quot; for Georgian GEL)&lt;br /&gt;
    * GEL_many (meaning many of main currency, &amp;quot;dollars&amp;quot; for USD, &amp;quot;euros&amp;quot;  for EUR, &amp;quot;lari&amp;quot;? for Georgian GEL)&lt;br /&gt;
    * GEL_one (meaning 1 of main currency, &amp;quot;dollar&amp;quot; for USD, &amp;quot;euro&amp;quot; for EUR, &amp;quot;lari&amp;quot; for Georgian GEL)&lt;br /&gt;
&lt;br /&gt;
They should be placed into /var/lib/asterisk/sounds/mor/ivr_voices/X.&lt;br /&gt;
&lt;br /&gt;
Where X means your language.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove a default sound file from MOR logic ==&lt;br /&gt;
&lt;br /&gt;
Just set the appropriate sound file to contain silence.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Remove/Change sound files ==&lt;br /&gt;
&lt;br /&gt;
Files are stored in /var/lib/asterisk/sounds/mor/ivr_voices/.&lt;br /&gt;
&lt;br /&gt;
Change the necessary sound file if you want to.&lt;br /&gt;
&lt;br /&gt;
Make sure it is in Asterisk compatible format.&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
	<entry>
		<id>https://wiki.kolmisoft.com/index.php?title=I_want_to_hear_Tell_balance_and_Tell_time_voice_prompts&amp;diff=17080</id>
		<title>I want to hear Tell balance and Tell time voice prompts</title>
		<link rel="alternate" type="text/html" href="https://wiki.kolmisoft.com/index.php?title=I_want_to_hear_Tell_balance_and_Tell_time_voice_prompts&amp;diff=17080"/>
		<updated>2013-12-12T09:03:13Z</updated>

		<summary type="html">&lt;p&gt;Mantas svelnys: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need to enable '''Tell time''' and '''Tell balanc'''e options in user [[Device settings]], so that users would be able to hear these voice prompts.&lt;br /&gt;
&lt;br /&gt;
Media control[http://wiki.kolmisoft.com/index.php/Device_settings#Network_Related] parameter &amp;quot;can reinvite&amp;quot; should be set to no.&lt;/div&gt;</summary>
		<author><name>Mantas svelnys</name></author>
	</entry>
</feed>