Enable UTF8 Input in Elastix

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


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