OCS 2007 R2和AsteriskNOW互联教程

AsteriskNOW 是一款优秀的开源软件,很多企业用它来做企业的IP PBX。很多同学在做UC实验的时候,可能会没有硬件网关做一些电话方面的测试。我在这里就利用AsteriskNOW来搭建一个IP PBX进行一些电话实验。关于更多Asterisk的东西,请大家自己Google一了。

本次虚拟机的搭建在Vmare workstation上,其它设置都没有什么特别的,就是需要虚拟机的网络配置为桥接,这样就和中介服务器等在同一个网段了。

 

 

image

 

image 
AsteriskNOW的安装界面,我们在这里需要选择5就OK了。

 

image 
检测到虚拟机的硬盘空间,选择YES进行下一步。

 

image 
点击Next使用全部硬盘空间。

 

image 
选择网卡配置。

image

 

image 
DNS服务器配置

image 
点击OK回到主界面,这个时候需要登录到系统,使用root和设置的密码进入系统。然后输入shutdown �Cr now 重新启动系统。

在进行配置之前一定要做PING测试。如果有问题则检查虚拟机配置。

image 
在本次实验中我们仅仅需要配置下面两个文件就OK了。

  • Sip.conf �C  Asterisk服务器的的主要设置(Trunk 和分机)
  • Extensions.conf �C dial plans配置

     

    为了连接到服务器,我才用了SecureCRT软件,这样连接起来就比较方面了。在用SecureCRT连接到Asterisk 服务器的时候,会探出一个密钥提示,点击接受并保存。

     

    image

    image
    在linux平台上利用vi编辑文件实在是相当麻烦,所以我们配置SFTP以便我们在Windows上编辑这些配置文件。远程目录填入:\etc\asterisk

    image
    为了从服务器上获得sip.conf 和extension.conf 两个文件。我们需要使用“连接SFTP”命令。

    image 
    然后使用get 命令把这两个命令从服务器上copy到本地。

    sftp> get sip.conf
    正在从 /etc/asterisk/sip.conf 下载 sip.conf
      100% 61KB     61KB/s 00:00:00 

    sftp> get extensions.conf
    正在从 /etc/asterisk/extensions.conf 下载 extensions.conf
      100% 30KB     30KB/s 00:00:00

     

    sip.conf文件的内容修改如下,记得备份一份原始文件。

     

    [general]
    context=default               
    udpbindaddr=0.0.0.0     
    bindport=5060
    bindaddr=0.0.0.0
    tcpenable=yes                  ;由于中介服务器只支持TCP连接,所以这里要启用对TCP的支持
    tcpbindaddr=0.0.0.0        

    [2001]                         ;本地的一部分机
    type=friend
    callerid=2001
    canreinvite=no
    dtmfmode=rfc2833
    mailbox=2001
    disallow=all
    allow=ulaw
    transport=udp
    secret=135246
    host=dynamic
    context=default

    [MED_Trunk]                   ; 新建一条到OCS 中介服务器的TRUNK
    type=friend
    port=5060
    host=192.168.1.11             ; 中介服务器的IP地址
    dtmfmode=rfc2833
    context=from-ocs
    qualify=yes
    transport=tcp,udp

    extension.conf文件的配置如下:

    [general]
    static=yes
    writeprotect=no

    [globals]

    [default]
    ;把1开的号码路由到OCS的中介服务器上
    exten=>_1XXX,1,Dial(SIP/MED_Trunk/${EXTEN},20)
    ;exten=>_1XXX,n,hangup()

    [MED_Trunk]
    把所有来自于ocs中介服务器的以2开头的号码送给Asterisk
    exten=>_+2XXX,1,Dial(SIP/2001,20)
    exten=>_+2XXX,n,hangup()

     

    然后利用put命令把文件上传到asteisknow服务器上。

    sftp> put sip.conf
    正在把 sip.conf 上传到 /etc/asterisk/sip.conf
      100% 641 字节    641 字节/s 00:00:00     

    sftp> put extensions.conf
    正在把 extensions.conf 上传到 /etc/asterisk/extensions.conf
      100% 421 字节    421 字节/s 00:00:00

     

    需要注意的是需要利用asterisk -vr进入asterisk后输入reload使配置生效。

     

    sip phone客户端 eyebeam 的配置如下,

    image 
    注册成功的话,就如下一样了。

    image 
    同时在服务器上可以可以通过 sip show peers 命令查看到电话的注册情况。

     

    image 
    中介服务器的配置就比较简单了,把PSTN网关的地址配置为asterisk服务器的地址就OK了。不过相应的电话号码规则也要做。我做的就比较简单了。

    image

     

    image

     

     

    -----------------------------------------------------------------------------------------

    到此配置完成,进入测试阶段。

     

     

    Asterisk 上的2001呼叫OCS上的1001,成功!

    image 
    Asterisk 上的提示

    image

     

    Office Communicator 用户1001呼叫2001,也成功!

    image 
    Asterisk 上的提示

    image 
    到这里的话,两个世界已经说说明联通了。套用电信术语来说就是两个局已经互通了。这里我们采用的是OCS维护一个号码局,Asterisk维护另外一个局,如果要让用户使用一个号码的话,就需要一个诸如RCC等功能,等以后有机会再写一些这方面的文章。

  • 你可能感兴趣的:(职场,教程,休闲,ocs,AsteriskNOW)