Thursday, September 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.

By enabling support of utf8, we can keep Chinese characters in the inbound route.

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

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)
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")

Now, you can create an Inbound Route with a Chinese CID prefix.  If the inbound route is hit by an incoming call, the CID prefix would be sent as part of the caller name to the route destination.  If your destination phone is capable of displaying Chinese characters, you will see the CID prefix string associated with the DID number.

Input Chinese characters in Inbound Route
IP phone shows Chinese CID prefix


Wednesday, October 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
Subject:This is a sample subject
This is a sample mnessage body

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