Elastix官网:http://www.elastix.org

Elastix 中 文版安装设置手册:http://wenku.baidu.com /link?url=lx2FqurHFBticYa1ydNWStLhVvf9yfcBzzD2XHEuCjrpxNdaSr4W4Ht3KHIr9kgxbW4vyaQFwdgYFFowk5g7wk5HOVGXE30M1ujs-_07FUK


Elastix安装,以Elastix2.4_64为例


按 ENTER 回车键

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_02

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_03

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_04

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_05

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_06

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_07

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_08

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_登录密码_09

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_10

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_11


Eth0设置IP

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_12

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_13


设置网关、DNS

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_14

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_15


如 果Bios系统时钟是当地时间,则不选择System clock uses UTC,若是安装在ESXi虚拟上,ESXi服务器BIOS使用 UTC时间,时间不正确的请参照 http://hi.baidu.com/hanxiao2100/item /1dc58298fa1c2cbf82d295e3

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_16


设置系统root密码

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_17

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_18


设置Mysql root帐号密码

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_19

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_20


设置Elastix管理后台 http://Elastix_IP 管理员admin登录密码

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_21

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_22


elastix的web端口修改

第一步,修改”#listen 12.34.56.78:80”后的80为800
       修改”listen 80”后的80为800

第二步:修改”rewriteengine on”后的on改为off

重启apache    service httpd restart


分机之间通话

Elaxtix安装完后,添加分机号,分机号之间便可以通话。

登录Elastix管理后台 http://ElastixService_IP


添加分机号

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_23


填写User Extension(用户分机号)、Display Name(显示名称)、Outbound CID(外呼时显示的号码)、secret(密码),最后点击 submib提交即成功创建一个分机号

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_24

按以上方法,多建几个分机号。

软件电话:

eyeBeam(可设置多个SIP帐号) http://www.kuaipan.cn/file/id_11924074754214766.htm

X-Lite3.0 http://www.kuaipan.cn/file/id_11924074754214765.htm

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_25


Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_登录密码_26

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_27


中继设置

添加中继,输入中继名称,帐号、密码、hostIP电话服务商会提供


Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_28


呼出中继设置:

type=peer

host=192.168.1.121

port=5060

fromdomain=192.168.1.121

context=from-trunk

dtmfmode=rfc2833

insecure=port

disallow=all

allow=all

nat=yes

canreinvite=no


呼入中继设置:

type=peer

host=192.168.1.121

port=5060

fromdomain=192.168.1.121

context=from-trunk

dtmfmode=rfc2833

insecure=port

disallow=all

allow=alaw

nat=yes

canreinvite=no


Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_29



呼出设置


Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_30



呼入设置

填写Description(描述)、DID Number(呼入对应的电话号码)、Set Destination(设置目标),目标是可以设置为分机号、IVR、时间条件等,先设置一个简单的呼入,直接转到分机号1001

可设置多个呼入

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_31

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_登录密码_32



IVR互动式主意应答设置

这 里示例一个复杂点的:工作时间欢迎语(周1到周5每天的8:30-12:00,13:00-18:00),按0人工服务、按1产品介绍、按2下订单、探3 售后服务、按4报修,当按键进入相应服务超时无人接听时按0继续等待,按1返回欢迎语,非法按键时返回欢迎语,无人应答时返回欢迎语,其他时间则非工作欢 迎语,工作欢迎语与非工作欢迎语在根据时间条件自动切换


1、添加系统铃声

注意上传的语音文件必须为PCM编码16位,在8000赫兹,the file must be PCM Encoded 16 Bits, at 8000Hz

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_33


2、添加Ring Groups振铃组,如下,添加600-604,4组振铃组,并选择相应无应答时的IVR


Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_34

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_35


3、添加IVR

Digital Receptionist

Instructions

Digital ReceptionistInstructionsYou use the Digital Receptionist to make IVR's, Interactive Voice Response systems.
When creating a menu option, apart from the standard options of 0-9,* and #, you can also use 'i' and 't' destinations. 'i' is used when the caller pushes an invalid button, and 't' is used when there is no response. If those options aren't supplied, the default 't' is to replay the menu three times and then hang up, and the default 'i' is to say 'Invalid option, please try again' and replay the menu. After three invalid attempts, the line is hung up.

Announcement为播放的语音

添加振铃组IVR

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_36

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_37

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_38


Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_39

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_40


设置工作时欢迎IVR,并选择相应的Announcement。

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_41


设置非工作欢迎IVR

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_42


设置假日IVR

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_43


4、设置时间组

设置Time Groups时间组(一个时间组可设置多个时间段)

工作时间组

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_44


假日时间组 Dayoff-GZ,2013-10-01~2013-10-07国庆节休假

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_45


上班调整时间组 WorkAdjustment-GZ,如2013国庆节上班时间调整,2013-09-28~2013-09-29原本为周末的调整为上班了

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_46


5、设置时间条件(时间条件可嵌套)

设置一个时间条件 gzwork,Time Group时间组选择work上班时间组,Destination if time matches时间匹配应用工作欢迎IVR,Destination if time does not matche选择非工作欢迎IVR

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_47


设 置WorkAdjustment-GZ时间条件,Time Group时间组选择WorkAdjustment-GZ,Destination if time matches时间匹配选择工作欢迎IVR,Destination if time does not match如果时间不匹配应用时间条件gzwork

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_48


设 置时间条件TC-GZ:Time Group时间组选择WorkAdjustment-GZ,Destination if time matches时间匹配选择工作欢迎IVR,Destination if time does not match如果时间不匹配应用时间条件gzwork

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_忘记密码_49


6、呼入路由+时间条件设置

设置DID Number、Set Destination,Destination选择Time Time Conditions的TC-GZ

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_50


以后有什么假日或者放假需要调整上班时间的,提前修改时间组Dayoff-GZ的时间段即可,记得提交并应用配置更改,

Apply Configuration Changes Here



附:

一、给非Administrator用户组分配所有分机号

如新增Reports用户组,该组用户只能查看Reports模块的CDR Report、Missed Calls、PBX模块的Monitoring录音

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_51

默认情况下其他非Administrator组用户查看Reports模块的CDR Report会报错There is no extension number associated with the current user. Please contact the administrator to assign it an extension

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_52

解决该问题需要修改网站代码


cp /var/www/html/modules/cdrreport/index.php /var/www/html/modules/cdrreport/index.php_bak

vi /var/www/html/modules/cdrreport/index.php

1、注释71行到78行的内容

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_当地时间_53

    if(is_null($exten) || $exten == ""){

        if(!$isAdministrator){

            $smarty->assign('mb_message', "<b>"._tr("contact_admin")."</b>");

            return "";

        }

        else

            $smarty->assign('mb_message', "<b>"._tr("no_extension")."</b>");

    }


2、注释242到244三行

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_54

    if(!isset($sExtension) || $sExtension == ""  && !$isAdministrator)

        $total = 0;

    else

主要做的修改如下:

[root@CTIserv cdrreport]# diff index.php index.php_bak

71c71

<     /*if(is_null($exten) || $exten == ""){

---

>     if(is_null($exten) || $exten == ""){

78c78

<     }*/

---

>     }

242,244c242,244

<     //if(!isset($sExtension) || $sExtension == ""  && !$isAdministrator)

<       //$total = 0;

<     //else

---

>     if(!isset($sExtension) || $sExtension == ""  && !$isAdministrator)

>       $total = 0;

>     else


如果PBX模块的Monitoring录音分配所有分机号

把79-87行内容注释

Elastix2.4安装、中继、 呼出、呼入、IVR等设置、忘记密码、端口映射_服务器_55

    if($extension=="" || is_null($extension)){

        if($esAdministrador)

            $smarty->assign("mb_message", "<b>"._tr("no_extension")."</b>");

        else{

            $smarty->assign("mb_message", "<b>"._tr("contact_admin")."</b>");

            return "";

        }

    }


主要做的修改如下:

[root@CTIserv monitoring]# diff index.php index.php_bak

79c79

<     /*if($extension=="" || is_null($extension)){

---

>     if($extension=="" || is_null($extension)){

87c87

< */

---

>


二、Elastix忘记WEB登录密码


elastix忘记WEB登录密码怎么办

你一定遇到过忘记elastix WEB GUI的情况。好吧,如果你重来不会忘记。那最好。如果遇到了,就往下看吧。

其实很简单,只要用root登录你的elastix。(Linux方式进入elastix.)

输入

sqlite3 /var/www/db/acl.db "UPDATE acl_user SET md5_password = '`echo -n 12341234|md5sum|cut -d ' ' -f 1`' WHERE name = 'admin'"


http://www.ielastix.com/password-change/


Elastix忘记登陆密码解决方法

老 有一些网友、客户问一些关于安装完elastix后,忘记了登陆密码,这真是个大大的悲剧啊。由于它们对elastix不太了解,所以碰到这样的问题,要 某就去论坛上发帖求助,要某就向销售投诉,抱怨,如果没法解决就只能重装系统了。我个人也给好多客户解决过这样的问题,有的甚至连操作系统root密码都 忘记了,唉!我个人还是建议,安装ealstix的时候,如果你不熟悉,还是仔细看看上面的英文指示,一步一步慢慢来,把密码记清楚。         上次有一个客户遇到了这样的问题,结果跑我们公司的客服那里寻求解答,这种纯技术的事情,她们销售怎懂呢?后来客服把这个事情给我说了,还说那个客户叽叽 歪歪的批评了她一顿。我想还是抽点时间自己写一篇教程吧,正好这段时间要做一个公司的ppt教程,有一部分涉及到这个知识点,所以干脆完整的写一遍吧,如 有不对之处,还望大家批评指正。我不想讲解系统安装完成后,忘记root密码的情况,这个网上一大堆,无非是在grub的menu中加上single ,进单用户模式,然后改密码,请网上自己搜资料解决。


今天主要讲解elastix的2种密码:系统管理登陆密码、后台freepbx管理登陆

1.必备知识:

Linux 基本操作 、SQL语句、了解常见加密算法MD5和SHA1、嵌入式数据库SQLite

2.我的工作环境

Elastix 2.0 ,假设我自己也忘记了所有密码,但是我能够进操作系统和mysql数据库 补充:这次我的环境是Elastix2.0,而不是Elastix1.6,后者保存密码的方式是”明文”,直接用简单的sql语句就可以修改密码,前者保 存密码的字段是加过密的,这就是版本升级后的一个安全更新吧!


3. 系统管理登陆密码


我碰到过好多初学者,好不容易装完elastix,结果看到这个界面而被排斥在门外,或者在这里浪费了很多时间。下面我们开始修改密码。

首先要知道在elastix中,系统管理密码是存放在/var/www/db/acl.db 文件中的,而且这个数据库文件是sqlite的,如下:

[root@elastix2-voip88-bangian db]# pwd

/var/www/db

[root@elastix2-voip88-bangian db]# ls

acl.db     address_book.db  control_panel_design.db  endpoint.db  FTP.db                menu.db  samples.db   trunk.db

addons.db  calendar.db      email.db                 fax.db       hardware_detector.db  rate.db  settings.db

[root@elastix2-voip88-bangian db]#

知道这点还不行,我们还要知道如何操作sqlite数据库,如果不会CLI的Client,就用GUI的sqlite客户端吧,下面我们用命令行的Client操作:

[root@elastix2-voip88-bangian db]# sqlite3 acl.db

SQLite version 3.3.6

Enter ".help" for instructions

sqlite> .tables

acl_action              acl_membership          acl_user               acl_group               acl_profile_properties  acl_user_permission    acl_group_permission    acl_resource            acl_user_profile       sqlite>

sqlite> .schema acl_user

CREATE TABLE acl_user (id INTEGER PRIMARY KEY, name varchar(50), description varchar(180), md5_password varchar(50), extension varchar(20));

sqlite> select * from acl_user

...> ;

1|admin||5b842885be8780c70f7f67ca11421031|

sqlite>

sqlite>

我 们的密码其实就存放在acl_user表中的md5_password字段中,显然,密码使用md5函数加密的,这里要补充一个基本知识:MD5和 SHA1加密都是不可逆的,而且MD5加密后的字符串是32个16进制的字符串,也就是128位;而SHA1是40个(160位),显然后者更安全。下面 我们用update语句改密码:

sqlite> update acl_user set md5_password=md5('123456');

SQL error: no such function: md5

sqlite>

悲剧,sqlite3中没有md5函数,但是我们的mysql中有啊,于是再开一终端,连上mysql数据库,如下:

[root@elastix2-voip88-bangian ~]# mysql -uroot -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 38

Server version: 5.0.77 Source distribution


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


mysql>

mysql> select MD5('123456');

+----------------------------------+

| MD5('123456')                    |

+----------------------------------+

| e10adc3949ba59abbe56e057f20f883e |

+----------------------------------+

1 row in set (0.09 sec)


mysql>

mysql>

于是得到了 ‘123456’加密后的字符串,于是我们切换另一终端,继续在sqlite里面改密码,如下:

sqlite>

sqlite> update acl_user set md5_password='e10adc3949ba59abbe56e057f20f883e';      sqlite>

sqlite> select * from acl_user;

1|admin||e10adc3949ba59abbe56e057f20f883e|

sqlite>

修改成功!


4. 后台freepbx管理登陆

1.        freepbx登陆的url是在IP后面加上admin/,如下:


Freepbx我不想讲太多,修改密码原理同上面几乎一样,大家一看就明白,我只把重要的地方标记出来。只要明白:freepbx的登陆密码是存放在asterisk数据库中的ampusers表中的,而且采用SHA1方式加密。操作如下:

mysql> use asterisk

Database changed

mysql>

mysql> show tables like 'ampuse%';

+------------------------------+

| Tables_in_asterisk (ampuse%) |

+------------------------------+

| ampusers                     |

+------------------------------+

1 row in set (0.00 sec)


mysql>

mysql> desc ampusers;

+----------------+-------------+------+-----+---------+-------+

| Field          | Type        | Null | Key | Default | Extra |

+----------------+-------------+------+-----+---------+-------+

| username       | varchar(20) | NO   | PRI |         |       |

| password_sha1  | varchar(40) | NO   |     | NULL    |       |

| extension_low  | varchar(20) | NO   |     |         |       |

| extension_high | varchar(20) | NO   |     |         |       |

| deptname       | varchar(20) | NO   |     |         |       |

| sections       | blob        | NO   |     | NULL    |       |

+----------------+-------------+------+-----+---------+-------+

6 rows in set (0.00 sec)


mysql> select sha1('123456');

+------------------------------------------+

| sha1('123456')                           |

+------------------------------------------+

| 7c4a8d09ca3762af61e59520943dc26494f8941b |

+------------------------------------------+

1 row in set (0.00 sec)


mysql>

mysql> update ampusers set

password_sha1='7c4a8d09ca3762af61e59520943dc26494f8941b';

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0


mysql>

执行上面的操作,我们已经将freepbx中所有管理账号的密码改成“123456”了。 现在我们可以用新密码登陆进去了


端口映射

Elastix有许多端口,在配置防火墙时需要打开端口:
1 HTTPS端口: TCP/UDP 443
2 SIP端口:TCP/UDP 5060
3 RTP端口: UDP 10000 - 20000
4 FOP端口: UDP 4445
5 IAX2 TCP/UDP 4569