文档库 最新最全的文档下载
当前位置:文档库 › Asterisk服务器之间的互联

Asterisk服务器之间的互联

Asterisk服务器之间的互联
Asterisk服务器之间的互联

Asterisk服务器之间的互联

3台Asterisk servers的互联

以下使用serverA与serverB、serverC代替三台服务器

serverA ip地址为192.168.0.99

ServerB ip地址为192.168.0.98

serverC ip地址为192.168.0.97

serverA修改/etc/asterisk/sip.conf文件

添加

[9901];添加用户serverA上的9901,9902,9903,9904,9905用户type=friend

username=9901

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes;可以让内网转发穿透NAT

[9902]

type=friend

username=9902

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[9903]

type=friend

username=9903

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[9904]

type=friend

username=9904

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[9905]

type=friend

username=9905

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[98SIP];添加用户firend类型sl,作为server B登陆使用的用户type=friend

username=asterisk

secret=;密码为空

host=192.168.0.98;绑定serverB的IP地址

context=default

[97SIP];添加用户firend类型sl,作为server B登陆使用的用户type=friend

username=asterisk

secret=;密码为空

host=192.168.0.97;绑定serverB的IP地址

context=default

修改extention.conf文件

exten=>_99XX,1,Dial(SIP/${EXTEN},15,20);ServerA内部用户通话控制

exten=>_99XX,2,Hangup

exten=>_98XX,1,Dial(SIP/98SIP/${EXTEN},30,r);与serverB上的号码为98XX的用户通话话,使用SIP协议联系

exten=>_98XX,2,Congestion

exten=>_97XX,1,Dial(SIP/97SIP/${EXTEN},30,r);与serverC上的号码为97XX的用户通话话,使用SIP协议联系

exten=>_97XX,2,Congestion

在ServerB上进行相对应的设置

若ServerB以SIP协议提供服务则,修改

/etc/asterisk/sip.conf

添加

[9801];添加用户serverB上的9801,9802,9803,9804,9805用户type=friend

username=9801

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes;可以让内网转发穿透NAT

[9802]

type=friend

username=9802

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[9803]

type=friend

username=9803

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[9804]

type=friend

username=9804

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[9805]

type=friend

username=9805

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[99SIP]

type=friend

username=asterisk

secret=

host=192.168.0.99;绑定serverA的IP地址

context=default

[97SIP]

type=friend

username=asterisk

secret=

host=192.168.0.97;绑定serverC的IP地址

context=default

在ServerC上进行相对应的设置

若ServerC以SIP协议提供服务则,修改

/etc/asterisk/sip.conf

添加

[9701];添加用户serverC上的9701,9702,9703,9704,9705用户type=friend

username=9701

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes;可以让内网转发穿透NAT

[9702]

type=friend

username=9702

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[9703]

type=friend

username=9703

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[9704]

type=friend

username=9704

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[9705]

type=friend

username=9705

host=dynamic

context=default2

canreinvite=yes

dtmfmode=rfc2833

nat=yes

[99SIP]

type=friend

username=asterisk

secret=

host=192.168.0.99;绑定serverA的IP地址

context=default

[98SIP]

type=friend

username=asterisk

secret=

host=192.168.0.98;绑定serverB的IP地址

context=default

修改extention.conf文件

exten=>_97XX,1,Dial(SIP/${EXTEN},15,20);serverC内部97XX用户通话exten=>_97XX,2,Hangup

exten=>_99XX,1,Dial(SIP/99SIP/${EXTEN},30,r);与serverA的用户99XX通话exten=>_99XX,2,Congestion

exten=>_98XX,1,Dial(SIP/97SIP/${EXTEN},30,r);与serverB的用户98XX通话exten=>_98XX,2,Congestion

若ServerB以H323协议提供服务

//安装过程请参考saintfish的文档:)

修改/etc/asterisk/h323.conf

[9801];添加serverB上使用H323协议的用户9801 type=friend

username=9801

host=dynamic

;host=XXX.XXX.XXX;绑定用户9801的IP地址

context=default

disallow=all

allow=ulaw

[9802];添加serverB上使用H323协议的用户9802 type=friend

username=9802

host=dynamic

;host=XXX.XXX.XXX;绑定用户9802的IP地址

context=default

disallow=all

allow=ulaw

[9803];添加serverB上使用H323协议的用户9803 type=friend

username=9803

host=dynamic

;host=XXX.XXX.XXX;绑定用户9803的IP地址

context=default

disallow=all

allow=ulaw

修改/etc/asterisk/sip.conf

添加用户99SIP,用作serverB向serverA联结的模块

[99SIP]

type=friend

host=192.168.0.99;绑定serverA的IP地址

user=asterisk

secret=

添加用户99SIP,用作serverB向serverC联结的模块

[97SIP]

type=friend

host=192.168.0.97;绑定serverC的IP地址

user=asterisk

secret=

在23行修改:

加上disallow=all注释

去掉allow=all注释

修改/etc/asterisk/extension.conf

在[default]节添加:

exten=>_98XX,1,Dial(H323/${EXTEN});ServerB内部20XX用户通话,协议H323 exten=>_98XX,3,Hangup

exten=>_99XX,1,Dial(SIP/99SIP/${EXTEN},30,r);向ServerA的99XX用户打电话

exten=>_99XX,2,Congestion

exten=>_97XX,1,Dial(SIP/97SIP/${EXTEN},30,r);向ServerC的97XX用户打电话

exten=>_97XX,2,Congestion

通过以上配置,已经实现了serverA与serverB、serverC的用户之间的通话

server之间的联系是通过SIP协议

server和用户之间可以实现不同的协议,serverA用SIP协议,serverB用H323协议

可以实现asterisk服务器组网的基本要求

Asterisk安装指南

Asterisk安装指南 2010-03-20 10:49 1、选择操作系统 据说Asterisk对大多Linux支持的都比较好,内核版本2.6.9-55.EL安装起来很顺利,2.4的麻烦一些。注意安装系统的时候选择上开发环境的包。2、在/usr/src目录中下载Asterisk相关安装包并解压 #cd /usr/src https://www.wendangku.net/doc/343684488.html,/pub/libpri/releases/libpri-1.4.10.tar.gz https://www.wendangku.net/doc/343684488.html,/pub/zaptel/releases/zaptel-1.4.12.1.tar.gz(dahdi asterisk1.6以后就不用这个,用https://www.wendangku.net/doc/343684488.html,/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.6.1+2.6.1.tar.gz) https://www.wendangku.net/doc/343684488.html,/pub/asterisk/releases/asterisk-1.6.2.tar.gz https://www.wendangku.net/doc/343684488.html,/pub/asterisk/releases/asterisk-addons-1.6.2.0.tar.gz https://www.wendangku.net/doc/343684488.html,/pub/asterisk/releases/asterisk-sounds-1.2.1.tar.gz # tar -xvzf *.tar.gz 3.安装libpri # cd libpri-1.4.9 # make # make install 4.安装zaptel # cd .. # cd zaptel-1.4.12.1 # make # make install # make config 5.安装asterisk # cd .. # cd asterisk-1.4.24.1 # ./configure # make # make install

Asterisk配置文件列表以及常用指令

配置文件说明列表:

常规指令 Authenticate:鉴别用户 VMAuthenticate:根据“voicem ail.conf”鉴别用户 Curl:接受外接URLs的修复。支持POSTing DUNDiLookup:用DUNDi查寻号码 SendDTMF:发送独裁的DTMF数据 SendImage:发送图像档案 SendText:发送给客户正文消息 SendURL:发送给客户USL以显示 System:执行系统命令 Transfer:将访客转移到另一个扩展名 TrySystem:0回复执行系统命令 Wait:稍等 WaitExten稍等: WaitForRing:等待呼叫申请 WaitMusicOnHold:等待,在线音乐 Billing ForkCDR:将CDR分成两个独立的实体 NoCDR:确保 asterisk没有把CRD保存为特定的呼叫 ResetCDR:重新安装CDR数据 SetAccount:设置帐簿号码 SetAMAflags:开通AMA标志开户的渠道 SetCDRUserField:建立CDR用户领域 AppendCDRUserField:给CDR用户附加数据 Call m anagement (hangup, answer, dial, etc) Answer:如果呼叫回复一个信道 Busy:显示忙的情形等待挂断 ChanIsAvail:如果信道可以利用即核查 Congestion:显示拥塞等待挂断 Dial:设置一个指令连接当前的信道 DISA:直接访问内在系统 Hangup: 无条件挂断 Ringing显示呼叫 Caller presentation (ID, Name etc) CallingPres:更改呼叫者的身份介绍 LookupBlacklist: 从黑名单数据库上查询访客的身份姓名和号码LookupCIDName: 从当地的数据库查询访客的身份和姓名PrivacyManager:如果没有CallerID过来,要求输入电话号码SetCallerID: 建立CallerID,发生矛盾服从CallerID SetCallerPres:建立访客资料的独立信道 SetCIDNam e:建立呼叫者身份姓名,发生矛盾服从CallerID SetCIDNum: 只建立访客的身份号码(没有姓名),发生矛盾服从CallerID SoftHangup: 请求挂断转到另一个信道

Asterisk常用调试命令

Asterisk基本配置 Asterisk译为星号(*)在很多应用中被用做通配符,Astrisk做为PBX系统的完美名称,原因之一是Asterisk可以连接数目庞大的接口类型,包括: 1模拟接接口,如你的电话线或模拟电话. 2数字线路,如T-1和E-1线路 3Voip协议,如SIP和IAX 目前正式版本是IAX2,但是IAX1的所有格式都已经停掉.所以当说到IAX都是特拽IAX2 使用接口配置文件 1.Zaptel.conf:硬件接口基层配置,我们将建立一个FX0和一个FXS通道. 2.zapata.conf:硬件配置Asterisk的接口. 3.extension.conf:拨号方案文件. 4.sip.conf:配置SIP协议的文件 5.iax.conf:配置呼入和呼出IAX通道的文件 ******编辑完zaptel.conf文件,需要使用/sbin/ztcfg -vv装载配置到硬件(不须要详细输出可以省略-vv);修改信令方法需要重启.在编辑sip.conf和iax.conf文档后,分别需要装载chan_iax2.so和 chan_sip.so Asterisk译为星号(*)在很多应用中被用做通配符,Astrisk做为PBX系统的完美名称,原因之一是Asterisk可以连接数目庞大的接口类型,包括: 1模拟接接口,如你的电话线或模拟电话. 2数字线路,如T-1和E-1线路 3Voip协议,如SIP和IAX 目前正式版本是IAX2,但是IAX1的所有格式都已经停掉.所以当说到IAX都是特拽IAX2 使用接口配置文件 1.Zaptel.conf:硬件接口基层配置,我们将建立一个FX0和一个FXS通道. 2.zapata.conf:硬件配置Asterisk的接口. 3.extension.conf:拨号方案文件. 4.sip.conf:配置SIP协议的文件 5.iax.conf:配置呼入和呼出IAX通道的文件 ******编辑完zaptel.conf文件,需要使用/sbin/ztcfg -vv装载配置到硬件(不须要详细输出可以省略-vv);修改信令方法需要重启.在编辑sip.conf和iax.conf文档后,分别需要装载chan_iax2.so和 chan_sip.so******

asterCRM安装配置手册

asterCC安装配置手册 一.安装环境 1.安装程序:astercc-0.14-beta-rc1.zip 2.操作系统:CentOS Linux or Redhat Linux with mysql 3.硬件要求:X86 CPU 1GHz 1GB RAM 20GB HardDisk Ethernet Adaptor 二.安流流程 1.安装CentOS Linux or Redhat Linux 2.下载安装程序: https://www.wendangku.net/doc/343684488.html,/news/astercc-and-astercc-box-released-014-beta-rc1 3.ssh登录后台,解压程序包 [root@sc38 ~]# unzip astercc-0.14-beta-rc1.zip 4.进入astercc-0.14-beta-rc1,更改可执行权限并执行install.sh脚本,根据提示进行安装 [root@sc38 astercc-0.14-beta-rc1]# chmod 755 install.sh [root@sc38 astercc-0.14-beta-rc1]# ./install.sh Please enter database information database host(default localhost): 设置数据库地址,默认为localhost database port(default 3306): 设置数据库连接端口,默认为:3306 database name(default astercc): 设置数据库名,默认为astercc database user name(default root): 设置数据库连接用户,默认为root database user password(default null):eLaStIx.2oo7 设置数据库连接密码,如果本机已安装Elastix,则密码为eLaStIx.2oo7 database bin path(default /usr/bin): 设置mysql的程序路径,默认指定/usr/bin Please enter the Asterisk infomation:

Asterisk的SIP type和身份认证

Asterisk的SIP type和身份认证 在Asterisk中对某个peer的类型分为3种:peer, user和friend 看看voip-info对这三种类型的解释 ?peer: A SIP entity to which Asterisk sends calls (a SIP provider for example). If you want a user (extension) to have multiple phones, define an extension that calls two SIP peers. The peer authenticates at registration. ?user: A SIP entity which places calls through Asterisk (A phone which can place calls only). Users authenticate to reach services with their context. ?friend: An entity which is both a user and a peer. This make sense for most desk handsets and other devices. Asterisk will create two objects, one peer and one user, with the same name. where it can be found (IP address/host name) and that it is reachable from now on. 简单的说,在这篇文档里, type=peer定义对方是一个服务提供者, 它允许你的Asterisk通过这里定义的服务商打电话; 而user则定义对方是你的一个客户端, 允许对方通过你的Asterisk打电话. friend就是两者兼有. 但是实际情况是什么? 试试这样的定义: [1001] username=1001 secret=xxxxx host=dynamic port=5060 type=peer context=from-extensions 然后用一个SIP客户端来尝试注册到你的Asterisk上, what happened? 你会发现客户端也能注册上! 其实type的真正意义在于Asterisk怎么去处理发往外部和来自外部的请求. type=peer 如果type是peer,有两层含义. 1. 可以将对方作为一个SIP Service Provider, 允许你的Asterisk通过对方进行呼出. 2. 如果对方在逻辑上是一个客户端, asterisk将根据传入的Invite请求来对对方进行身份验证, 但需要注意的是这里的验证不是通过username和secret, 而是通过对方的address和port. 这里分两种情况: * 对方的address和port没有匹配到你在sip.conf中对任何一个peer的设置, 如果你的Asterisk 允许匿名呼入(allowguest=yes), 那么, 该呼入将被传到在sip.conf的general配置中的context 上. 如果不允许匿名呼入, 直接拒绝该呼入. * 对方的address和port匹配到了任何一个sip.conf种的peer设置, 那么改呼入将被传到该peer 指定的context上.

asterisk+freepbx+astercrm的安装----lamp rpm安装

Linux下安装呼叫中心服务器(ASTERISK+FreePBX) 一、环境要求: 操作系统:centos 5.0以上(以最小化形式安装) Linux内核版本:2.6.22 Asterisk版本:asterisk V.1.6.2.18 FreePBX版本:FreePBX:2.9.0 以rpm方式安装好的LAMP环境 以root身份登录 二、所需软件包 https://www.wendangku.net/doc/343684488.html,/pub/telephony/asterisk/asterisk-1.6.2.1 8.tar.gz https://www.wendangku.net/doc/343684488.html,/freepbx-2.9.0.tar.gz 三、安装步骤 1、Lamp的安装 下载所有软件包到/usr/local/src路径 配置yum源,安装相关软件 yum –y update yum install –y httpd http-devel mysql mysql-devel mysql-server php php-devel php-mysql yum install php5 php5-cli php5-mysql php-pear libapache2-mod-php5 php5-curl php5-gd php-db yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml

yum install e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-devel gmp php-pear php-pear-DB php-gd php-mysql php-pdo kernel-devel ncurses-devel audiofile-devel libogg-devel openssl-devel mysql-devel zlib-devel perl-DateManip sendmail-cf sox yum install gcc gcc-c++ wget bison mysql-devel mysql-server php php-mysql php-pear php-pear-DB php-mbstring nano tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel php-gd audiofile-devel gtk2-devel subversion kernel-devel yum install festival festival-dev yum install ncurses-base ncurses-bin ncurses-term libncurses5 libncursesw5 libncurses5-dev libncursesw5-dev yum install zlib1g zlib1g-dev yum install bison bison-doc yum install install libxml2 libxml2-dev yum install libtiff4 libtiff4-dev yum install libasound2 libgsm1 libltdl3 libpq4 libspeex1 libsqlite0 libtonezone1 libaudiofile0 libaudiofile-dev yum install libnet-telnet-perl mime-construct libipc-signal-perl libmime-types-perl libproc-waitstat-perl mkdir /var/lib/mysql chown –R mysql:mysql /var/lib/mysql /etc/init.d/httpd start chkconfig –level 35 httpd on mysql_install_db chown –R mysql.mysql /var/lib/mysql

Asterisk安装和测试

Asterisk安装 (红色字体部分为需要键入或修改的部分)

下载准备 系统环境:Linux CentOS 5.0,安装开发工具以及开发库。 Asterisk 源代码包asterisk-1.6.1.20.tar.gz,版本:1.6.1.20。 SIP软电话使用eyebeam 版本:1.5.8。 1.切换用户(需要输入管理员密码),执行 su root 2.进入源码包存放文件夹 [root@asterisk-test1 ~]#cd /usr/local/src 3.下载 [root@asterisk-test1 ~]#wget https://www.wendangku.net/doc/343684488.html,/pub/telephony/asterisk/releases/asterisk1.6.1.20. tar.gz 编译安装Asterisk 1.解压源代码包 [root@asterisk-test1 ~]# tar -zxvf asterisk-1.6.1.20.tar.gz 2.进入包目录 [root@asterisk-test1 ~]# cd asterisk-1.6.1.20 3.环境检测和预配置 [root@asterisk-test1 asterisk-1.4.5]# ./configure(其实这样直接进行configure并非十分规范。应当先使用“./configure –help”命令来 查看一些可用的选项和参数,然后根据实际情况才进行定制操作。)当环境预检测和预配置工作 做完时,最后会显示以上反馈信息。并且建立好Makefile。 注意:系统如果缺少安装必须的包,此步骤可能会出现configure: error错误,解决方案见后文可能遇到的问题 configure: creating ./config.status config.status: creating build_tools/menuselect-deps config.status: creating makeopts config.status: creating channels/h323/Makefile config.status: creating include/asterisk/autoconfig.h .$$$$$$$$$$$$$$$=..

Tekla常用设置(简)解读

1、当一张Xsteel的图纸转化为CAD的图纸时,被文字或尺寸标注遮挡处的线条时常会断开,问:怎样才能让两条线不断开? 要在绘制图纸中或转化到DXF / DWG 中显示连续线(例如穿过文本或图 纸标记画直线),可将以下变量设置为off: ? XS_USE_LINECLIP_IN_EXPORT (对于DXF / DWG 输出)。 ? XS_USE_LINECLIP (对于绘制的图纸)。 2.修改多边形形状时,系统默认的多边形的第一条边是无法调整的;要通过增加顶点移动来调整多边形的形状。 3、不要使用剪切来减短部件。由于在导出信息到 NC 文件时剪切并不总能影响部件长度,这会导致工厂错误。采用移动部件控柄或使用细部 > 接合来代替。 不要使用接合来延长部件。这会导致与连接和细部相关的错误。采用移动部件控柄来代替。 4、如何在报表中将连续的文字独立的列: A、在报表中的文本域中添加文本<,>; B、同时在输出文件时将报表的名称的后缀改为<*.csv>格式. C、打开时采用EXCEL打开即可. 5、定义轴线标签边框 要定义轴线标签边框大小,请使用工具>高级选项>图纸属性中的XS_DRAWING_GRID_LABEL_FRAME_FIXED_WIDTH变量。默认值为零,表明轴线标签边框的宽基于轴线标签的宽。要增加或减少边框的宽,请以毫米为单位输入需要的值。 XS_DRAWING_GRID_LABEL_FRAME_FIXED_WIDTH 6、滚轮鼠标 要设置滚动(不按住)滚轮时的缩放比例,使用变量 XS_ZOOM_STEP_RATIO_IN_MOUSEWHEEL_MODE。 要设置滚动并按住滚轮时的缩放比例,使用变量 XS_ZOOM_STEP_RATION_IN_SCROLL_MODE。 7、如何修改13.0系统默认的字体样式和标注样式 xs13.0的字体样式系统默认是Comic Sans MS 标注样式是Bookman Old Style 我太喜欢这些字体,我想把他们全部修改为宋体,虽然出图后也可以把他们修改为自己想要的那种字体,但感觉不是很方便,请问可以在系统下修改吗?我想一出图不经修改就可以是我想要的那种字体: 1.在这里也可以改,后面的为输出CAD转换的字体,*1.0的为修改字宽. // Examples: (remove the comment marks // to make the lines effective) // Arial Narrow = ARIALN.TTF * 1.0 // ISOCPEUR = ISOCP.SHX * 1.0 // ISOCTEUR = ISOCT.SHX * 1.0 2.在BAT文件中可以修改模型轴线的字体 rem *** Fonts --------------------------------------------------- set XS_DEFAULT_FONT=Arial Black set XS_DEFAULT_FONT_SIZE=10 set XS_TEXT_FONT=Arial Narrow rem set XS_VIEW_TITLE_FONT=Arial Narrow 8、将图形文件从XSTEEL转到CAD中的时候,图面上的字体有的时候会有位

asterisk配置小结

asterisk配置简单解说 软件版本 asterisk 1.2.7.1 gix101e sip 130 中文 一:通话设置部分 1:软件安装 debian系统下面可以使用如下命令安装,如果是其他发行版可以自己编译安装或者使用相应的包安装。 vax:/home/ailantian# apt-get install asterisk 2:帐户设置 sip的帐户设置 vax:/home/ailantian# cd /etc/asterisk/ vax:/etc/asterisk# ls adsi.conf codecs.conf logger.conf res_odbc.conf adtranvofr.conf dnsmgr.conf manager.conf rpt.conf agents.conf dundi.conf meetme.conf rtp.conf alarmreceiver.conf enum.conf mgcp.conf sip.conf alsa.conf extconfig.conf misdn.conf sip_notify.conf asterisk.adsi extensions.ael modem.conf skinny.conf asterisk.conf extensions.conf modules.conf telcordia-1.adsi cdr.conf features.conf musiconhold.conf voicemail.conf cdr_custom.conf festival.conf osp.conf vpb.conf cdr_manager.conf h323.conf oss.conf zapata.conf cdr_odbc.conf iax.conf phone.conf cdr_pgsql.conf iaxprov.conf privacy.conf cdr_tds.conf indications.conf queues.conf 这个目录下面的sip.conf bindaddr=192.168.100.144;这个填自己的ip地址。 allow=all;允许所有的解码类型。 添加下面的字段。下面的是帐户信息。 [777] type=friend username=777 secret=777 host=dynamic ; This device registers with us [888] type=friend username=888 secret= host=dynamic ; This device registers with us [333] type=friend username=333 secret= host=dynamic 然后还需要修改的文件是extensions.conf 然后才能够互通,否则可能会收到404,或者407错误。

asterisk目录及配置说明

asterisk 目录及配置说明 Asterisk 目录及配置文件 /etc/asterisk Asterisk 主目录,包含其它关于Asterisk 的配置文件; *zaptel.conf 这个配置文件放在/etc, 因为其它软件也可以使用Zaptel 这个硬件及其驱动, 所以不是放在/etc/asterisk 里. /usr/lib/asterisk/modules 这个目录包含所有可以加载Asterisk 模块(应用程序编辑器格式和有用通道), 在Asterisk 启运时会加载这些模块(可以编辑modules.conf). /var/lib/asterisk 比较重要的是astdb 文件与agi-bin 目录; astdb 包含Asterisk 当地数据库信息. sounds/ 所有声音提示的文件在里面,包括Asterisk 原代码中的sounds.txt 文件 mohmp3/ 如果配置了音乐保持,应用程序会在这个目录下查找mp3(用CBR从文件中去除身份标签). keys/ 使用公钥和私钥系统认证与一个由RSA 数字签名形成的一对等连接.公钥和私钥的扩展名分别为.pub 和.key firmware/ 这个目录含了很多Asterisk相兼容的设备固件,它只有iax/这个子目录,其 中有Digium的lAXy的二进制固件镜像. images/ 只有在较多的支持并且利用图解式的图像设备被发布,这个目录将会与相应的目录有更大的关联. /var/lib/asterisk/agi-bin agi-bin 包含所有脚本,可以通过许多已经建立的Asterisk 连接.系统的接口,在这里可以写自己的脚本来控制拨打流程。 ================配置文件================ /etc/asterisk/asterisk.conf 主要配置文件, 修改这个配置文件要用modprobe 装载Linux AGl 应用程序与 /etc/zaptel.conf 硬件接口的基本层

asterisk_freepbx安装指导书

Centos_asterisk_freepbx安装指导书 作者:曹焜 目录 Centos_asterisk_freepbx安装指导书 (1) 一、Centos系统安装: (3) 1. Centos 的安装首界面我们选择命令安装模式,输入"linux text"+"回车",直接 “回车”可到界面的安装模式: (3) 2. 检查光盘是否完整,我们选择跳过此检查,那样很费时间: (4) 3. Centos的安装进入欢迎界面。 (4) 4. 选择语言,建议选择English,能省掉不必要地麻烦,我第一次装选择chinese simplified但是后面会出现语言包安装问题,经过查资料,centos5.7版本确实有问题,后来还是选English,系统的英文总体不难,这个不必纠结。 (5) 5. 选择默认US 键位 (6) 6. 初始化进入选项安装 (6) 7. 提示是否格式化,我们选择图中那项 (7) 8. 接下来,不必太深入研究,都选择OK 或yes (7) 9. 选择时区:上海 (12) 10. 设置root密码: (12) 11. 这里要注意下,选择我们需要安装的软件工具包,我们选择自定义那个选项, 然后OK (12) 12. 勾选自己需要的工具包,如web服务,mysql== (13) 13. 系统提示准备安装 (14) 14. 安装过程中 (15) 二、Asterisk的安装 (16) 1.检查系统内核版本 (16) 2.检查是否已经安装kernel-devel和kernel-headers (17) 3. 检查是否已经安装以下的辅助软件包 (17)

4. 如果没有安装则用yum安装 (17) 5. 下载libpri, zaptel, asterisk软件包 (18) 6. 解压缩软件包 (18) 7.安装libpri (18) 8.安装zaptel (19) 9.安装asterisk (19) 10.安装asterisk-addons (20) 11.安装asterisk-sounds (20) 三、FreePbx安装 (21) 1. 查看系统中是否缺少以下服务,缺少将用“yum install 服务名”来安装 (21) 2. 禁用Selinux (21) 3. 安装需要的扩展包 (21) 4.安装lame (22) 5. 准备工作: (22) 6. 安装FreePBX (23)

asterisk常用命令

asterisk常用命令 Asterisk基本配置 Asterisk译为星号(*)在很多应用中被用做通配符,Astrisk做为PBX系统的完美名称,原因之一是Asterisk可以连接数目庞大的接口类型,包括: 1模拟接接口,如你的电话线或模拟电话. 2数字线路,如T-1和E-1线路 3V oip协议,如SIP和IAX 目前正式版本是IAX2,但是IAX1的所有格式都已经停掉.所以当说到IAX都是特拽IAX2 使用接口配置文件 1.Zaptel.conf:硬件接口基层配置,我们将建立一个FX0和一个FXS通道. 2.zapata.conf:硬件配置Asterisk的接口. 3.extension.conf:拨号方案文件. 4.sip.conf:配置SIP协议的文件 5.iax.conf:配置呼入和呼出IAX通道的文件 ******编辑完zaptel.conf文件,需要使用/sbin/ztcfg -vv装载配置到硬件(不须要详细输出可以省略-vv);修改信令方法需要重启.在编辑sip.conf和iax.conf文档后,分别需要装载chan_iax2.so和chan_sip.so Asterisk译为星号(*)在很多应用中被用做通配符,Astrisk做为PBX系统的完美名称,原因之一是Asterisk可以连接数目庞大的接口类型,包括: 1模拟接接口,如你的电话线或模拟电话. 2数字线路,如T-1和E-1线路 3V oip协议,如SIP和IAX 目前正式版本是IAX2,但是IAX1的所有格式都已经停掉.所以当说到IAX都是特拽IAX2 使用接口配置文件 1.Zaptel.conf:硬件接口基层配置,我们将建立一个FX0和一个FXS通道. 2.zapata.conf:硬件配置Asterisk的接口. 3.extension.conf:拨号方案文件. 4.sip.conf:配置SIP协议的文件 5.iax.conf:配置呼入和呼出IAX通道的文件 ******编辑完zaptel.conf文件,需要使用/sbin/ztcfg -vv装载配置到硬件(不须要详细输出可以省略-vv);修改信令方法需要重启.在编辑sip.conf和iax.conf文档后,分别需要装载chan_iax2.so和chan_sip.so******

Asterisk

第32章VoIP服务器——Asterisk 可以自己用软件实现电话交换机?是的,这就是本章我们要讨论的话题。如何在Linux下实现免费的电话交换机功能。 32.1用Linux实现免费电话大餐 在架设自己的电话系统之前,我们先看看传统的电话网络是如何工作的。传统的电话网络,叫做Public Switched Telephone Network,公共交换电话网络,简称PSTN,是一种全球联网的语音通信电路交换网络,通过中继和交换设备进行通讯。不难看出,我们现在使用的IP计算机网络和PSTN颇有几分相似之处,在PSTN中呼叫一个电话号码相当于通过IP网络到达一个IP地址,在骨干PSTN网络中,也和IP协议一样使用复用机制来传递数据。 对于私有电话系统来说,也和IP计算机网络有着类似的原理。公司的电话交换机直接对外(相当于IP网络中的公网地址),外部人员只能访问到电话交换机总机,由总机控制应该将这个连接转到哪个分机上(类似于IP中的NAT),内部的分机不是合法的电话号码(192.168.x.x?),只有通过公司的电话交换机才能与外界正常通讯。 在这里,公司的电话交换机,也就是通常所说的程控交换机,也叫PBX,Private Branch(telephone) eXchange的缩写,意思是私有/专有电话交换系统,传统的PBX使用PSTN网络连接并提供语音通话服务。 随着技术的发展,出现了基于IP网络的语音传输业务,即V oice over IP,简称V oIP,人们可以通过计算机网络(通常是指Internet或Intranet)进行语音通话,而后,又出现了基于IP网络的PBX,简称IPPBX,IPPBX不需要专用的网络,可以通过Internet和V oIP实现类似于传统电话系统的功能,而且,使用IPPBX进行通信,对内没有任何费用,只有网络建设成本,对外只需要支付接入到

Asterisk核心框架

Asterisk内核框架 Asterisk是一个开源的pbx系统,在公开的资料中,很难找到asterisk 内核系统的详细描述。因此,很有必要写一篇内核框架的描述文档,作为内部培训文档,相互学习提高。 本文主要从三个层面来描述asterisk内核,即asterisk内核模块、内核启动过程、基本呼叫流程。 一、asterisk内核模块 Asterisk由内部核心和外围动态可加载模块组成。内部核心由以下六个部分组成:PBX交换核心模块(PBX Switching Core)、调度和I/O管理模块(Scheduler and I/O Manager)、应用调用模块(Application Launcher)、编解码转换模块(Codec Translator)、动态模块加载器模块(Dynamic Module Loader)和CDR生成模块(CDR Core)。 外围动态可加载模块包括以App_开始的Applications、以Func_开始的Functions、以Res_开始的Resources、以Chan_开始的channels、以Codec_开始的codec编解码模块等。 1.内核模块 1) PBX交换核心模块(PBX Switching Core): l pbx.c pbx.c是asterisk的核心模块,每路呼叫都需要经过它调度。pbx实现了builtin applications,也就是内置的应用,比如最常见的Answer,Hangup, Background,Wait等等。 struct ast_app是一个关键数据结构,它定义了注册builtin applications的结构。 load_pbx函数用来注册builtin applications和一些命令行CLI命令(每个模块都有些CLI命令)。该函数在系统启动时被调用。 pbx_exec是 Answer/BackGround/Busy/Goto/GotoIf/Hangup/Set等builtin applications的执行入口函数,它被pbx_extension_helper调用。ast_pbx_start函数是每路呼叫的起点。 2) 调度和I/O管理模块(Scheduler and I/O Manager): l Channel.c: Channel.c/channel.h定义了channel操作的结构体和接口函数。struct ast_channel_tech结构体是所有channel都要用到的关键结构体,它定义channel操作的一系列回调函数指针,如call、 hangup、answer等。每个channel模块都会定义ast_channel_tech的实体,

asterisk入门资料

Asterisk入门资料

目录 1. 概述 (3) 2. 什么是asterisk?开源电话平 (3) 3. 为什么使用Asterisk? (3) 4. 专利技术有什么错? (3) 5. 我们要Asterisk做什么? (4) 6. Asterisk支持什么技术? (4) 7. 比较好的Asterisk参考书? (4) 8. 相关: (4) 9. 组件: (4) 10. 有用的网页: (5) 11. 重要链接: (5) 12. 重要信息: (5) 13. 外部交换借口/通道接口 (6) 14. 拨号计划: (6) 14.1. 上下文(context) : (6) 14.2. 分机以如下格式定义: (7) 14.3. Applications: (7) 14.4. 特别分机: (8) 14.5. 这个拨号计划会: (8) 14.6. 为拨号计划添加逻辑: (8) 15. 载入Ubuntu: (9) 16. 求助: (9) 17. 本章的任务: (10) 18. 备注: (20)

1.概述 subscriber:加入某个group,从而遵从某一个call restricion subscriber group:可以使用1种call restriction。 call restriction:将numbering plan中各项取出,各自组成成不同的呼叫限制方案numbering plan:通用,是一个整体的计划,里面包括长途,本地,等各种形式的方案————————————————————- 以上,用于拨入号码的预处理,实际上是一种过滤,下面才是真正的呼叫处理。————————————————————– route:一种策略,根据号码匹配的模式,选择走哪个trunk。 trunk:实际上做通一个链路,供route选择。 analog的,一个POTS就是一条analog trunk analog的数量由设备定, ip trunk没有限制数量,并且一个ip trunk连到对方IPPBX后,对方的subscriber 数量是不确定的,由那个IP PBX决定。 Asterisk,开始吧 ————————————————————– 2.什么是asterisk?开源电话平 Asterisk 通过了电话的开源平台。基本上就是一个软件的PBX。 最初是Digium 公司的Mark Spencer 编写的,这个公司就是他创立的,专门生产并销售Asterisk使用的硬件。Asterisk 简直就是一场电话的革命。 3.为什么使用Asterisk? 现在电信行业的混乱,因为各种专利技术应用在各种层次的网络上,导致很大的混乱。Asterisk 就是答案——给电信行业普遍的混乱环境带来秩序的革命。 4.专利技术有什么错? 没错,如果专利技术独立工作的话。就像你有剃须刀和剃须膏没错一样!但是让各种技术互相操作,专利技术就会除了要价过高、客户不满,以及缓慢的开发速度等问题之外的刻板和局限。

英语中的标点符号的用法

英语中的标点符号的用法 句号的用法 句号在英语中的使用频率仅次于逗号,通常用来表示一个句子的结束。常见的用法如下: 1) 用于陈述句,以表示一个句子的结束,也可用于语气温和的祈使句或客气的问句之后。 2)用于某些缩略词之后。 3) 用作小数点 逗号的用法 分隔句首状语 常用于分隔用作独立成分状语等的下列词语。 分隔日期、数学、地点。 分隔人名与职称头衔或倒置的姓名。 分隔呼语 用于信件的称呼和浩特语之后或结束敬语之后。 分号的用法 分号是名副其实的分隔号,它不能用于完结一个句子,它通常用于并列的分句之间。一般来说,分号的作用介于句号与逗号之间,用分号隔开的两部分之间的关系,比用句号分开的紧密,但不及用逗号分开的紧密。分号一般有以下的用法:1) 用于并列分句之间,以分隔(通常)没有连词连接的主要从句,这些从句被认为是关系密切而属于一个句子。 2) 用于for example, for instance, namely, that is(to say), in fact, i.e., e.g. 等词语引出的分句之前。 冒号的用法 冒号是一个补充、连贯的符号,被用来引起读者注意下文。冒号多用于正式而庄重的问题中,具体用法如下: 1) 列出表示列举、解释、或说明性的词语。 2) 引出较长的正式引语或大段引语。 3) 用于信件或演说词中的称呼语之后(英国用法中多用逗号)。 4) 用于时与分之间(英国用法中多用句号)、比率数之间、《圣经》的章与节之间。 5) 分隔书名的标题与副标题。 问号的用法 问号,就是用在问句之后的符号,多用于对话中,书面表达中相对较少。问号的一般用法如下: 1) 用于疑问句或语气婉转的祈使句之后。

asterisk中sip.conf配置文件详解

l 安装完asterisk 配置sip.conf文件 [8001] type=friend username=8001 accountcode=8001 secret=8001 context=from-exten-sip ;followed advance settings host=dynamic nat=yes qualify=2000 canreinvite=no callgroup=0, pickupgroup=0, setvar= call-limit=1 说明:(1)type:sip的类型。格式:type =user|peer|friend 。 peer用于认证呼出呼叫,如果想要一个用户(extension)中有多个电话,定义可以呼叫两个SIP peer 的extension。user用于认证呼入呼叫,用户通过上下文鉴定到达服务器。friend 用于认证呼入呼出,相当于(peer+user)。 (2)username :格式:username =。如果Asterisk接受来自远程SIP的SIP INVITE请求的客户端,这字段指定验证的用户名。 (3)accountcode:格式:accountcode =。此字段,是用来填充“accountcode“领域的CDR(呼叫详细记录)。 (4)secret:用于认证的密码。如果Asterisk是作为一个SIP代理服务器,那么这个SIP 客户端必须使用此密码登录(一个共享密码)。如果Asterisk是一个SIP客户端作为一个

远程SIP的SIP INVITE的服务器要求身份验证,那么这个字段是用来验证该Asterisk的SIP协议提请发送到远程SIP服务器。 (5)context:格式:context = 定义了指令的地点,用于控制电话的权限,以及如何处理此号码的呼入呼叫。如果类型为用户,上下文定义呼入呼叫使用。如果类型为节点,上下文定义呼出呼叫使用。如果类型为friend通过SIP实体定义呼入和呼出所使用的上下文。 (6)host:格式:host =dynamic|hostname|IPAddr。host参数指定了用户的主机名或SIP端点IP地址。配置host=dynamic将要求号码注册,可以让Asterisk知道如何找到电话。 (7)nat:格式:nat =yes|no。这个变量改变了Asterisk的防火墙后面客户端的行为。配置nat=yes,强迫Asterisk忽略号码的联系信息,使用收到的包的地址信息。 (8)qualify:格式:qualify =yes|no|milliseconds。检查客户端是否可到达,我们可以监视Asterisk服务器和电话之间的延时,使用qualify=yes,确认远端设备是否可达。qualify=yes可以用于监视任何远端设备,包括其它的Asterisk服务器。默认情况是Asterisk认为时延在2,000 ms (2 seconds)以内的设备可达。你可以配置Asterisk判断对端是否可达的时间,通过将yes替换为毫秒。 (9)canreinvite:格式:canreinvite =update|yes|no|nonat。在SIP协议,邀请用于发起呼叫,重定向媒体。在初始邀请后相同对话中发起的任何邀请都被视作重邀请(reinvite)。配置canreinvite=no让Asterisk媒体通道经过自己,而不允许RTP信息直接在端点之间传送。Asterisk在以下的任何情况下都不会发起重邀请:如果客户端的任何一方配置为canreinvite=no;如果客户端不能协商编码,Asterisk需要执行语音编码转换;如果客户端的任何一方配置为nat=yes;如果Asterisk在呼叫中需要监听双音多频(DTMF)音(用于呼叫前转或者其他功能)。配置canreinvite=yes“允许RTP媒体直接” 。canreinvite = nonat“允许reinvite当本地,否认reinvite当NAT” 。配置canreinvite=update“使用UPDATE,而不是邀请” 。配置canreinvite = nonat“更新时使用的地方,否认当NAT”。 (10)callgroup:格式:callgroup =num1,num2-num3。定义了此分机的电话组。(11)pickupgroup:同组可以接电话,按*8应用。 (12)setvar:格式:setvar = variable=value。通道变量被设置为从该节点/用户的所有通话 (13)call-limit :格式call-limit = number 。同时呼叫的数量 2. 此外除了自动生成的配置还有其他的配置 (1)allow:格式:allow =。按优先级的顺序允许编解码器。 (2)disallow :格式:disallow =all。不允许这个peer或用户定义的所有编解码器。

相关文档