Search

9/24/2015

Tips of using Elastix in your business center

Elastix is a feature-rich PBX system built on top of Asterisk.  It simplifies many administrative tasks via providing a GUI, making it a good choice for IT/administrator to adopt the open-source platform.

What is more, Elastix has a useful feature for business center.  The inbound route allows us to specify a DID-based text that would be shown on the front-desk IP phone.  It could be the company name of a business center's tenant and the front-desk staff could greet the caller accordingly.

By default, Elastix disallows input of UTF-8 characters in this text.  We can enable it with a few modifications and the front-desk staff could then see Chinese company name.

First of all, we have to change the charset of  the table asterisk.incoming to utf8.  This table keeps the information of the inbound route.

Secondly, we can use a quick way to disable the charset restriction in the php page that handles inbound route input.

1. /var/www/html/modules/pbxadmin/js/libfreepbx.javascripts.js
… (Line 1 to 129)
function isLetter(c)
{return true;}
//{return(((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z"))||(c==" ")||(c=="&")||(c=="'")||(c=="(")||(c==")")||(c=="-")||(c=="/"))}
function isURLChar(c)
{return(((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z"))||(c==":")||(c==",")||(c==".")||(c=="%")||(c=="#")||(c=="-")||(c=="/")||(c=="?")||(c=="&")||(c=="="))}
function isCallerIDChar(c)
{return true;}
//{return(((c>="a")&&(c<="z"))||((c>="A")&&(c<="Z"))||((c>="0")&&(c<="9"))||(c==":")||(c=="_")||(c=="-")||(c=="<")||(c==">")||(c=="(")||(c==")")||(c==" ")||(c=="\"")||(c=="&")||(c=="@")||(c==".")||(c=="+"))}

2. /var/www/html/admin/components.class.php
find and replace the code from htmlentities($currentvalue) to htmlentities($currentvalue, ENT_COMPAT | ENT_HTML401, "utf-8")
    

10/29/2014

User nc to send smtp message in centos

nc is a handy tool in unix to test network connection and we can use it
to write script to send smtp message as well. It is useful when we
implement some kind of server monitoring scripts and want to send out
alarm messages.

In the example below, we use 'nc' to connect smtp-server at port 25 to
send out contents in email-msg.txt

#nc smtp-server 25 < email-msg.txt

The email-msg.txt contains the below commands to form the smtp dialogue.

#cat email-msg.txt
HELO my-server
MAIL FROM:<sender@domain1.com>
RCPT TO:<receiver@domain2.com>
DATA
Subject:This is a sample subject
This is a sample mnessage body
.
QUIT

Note the last line of the message body is a line starting with '.'.

Another point to note is that if we create the email-msg.txt in unix
environment, we probably need to ensure each line ends by CRLF rather
than just a line feed.

To do so, we can simply use the unix2dos command:

#unix2dos email-msg.txt