现在的位置: 首页 > 综合 > 正文

Asterisk 11的Web RTC功能

2013年08月26日 ⁄ 综合 ⁄ 共 2543字 ⁄ 字号 评论关闭

WEBRTC简介


WEBRTC是一个开源项目,其宗旨是让WEB浏览器通过简单的JavaScript具备实时通信(Real-Time Communications (RTC) )的能力。WEBRTC目前支持JS和HTML5,项目由Google、Mozilla和Opera支持。

其官方网址是:http://www.webrtc.org/


 

  WebRTC主要是让Web开发者能够基浏览器Chrome\FireFox\...)轻易快捷开发出丰富的实时多媒体应用,而无需下载安装任何插件,Web开发者也无需关注多媒体的数字信号处理过程,WebRTC提供了实时通信的核心技术,包括音视频的采集、编解码、网络传输显示等功能,并且还支持跨平台:windowslinuxmacandroid

       

Asterisk 11 的WEBRTC支持

 

详见社区链接:

       https://wiki.asterisk.org/wiki/display/AST/Asterisk+WebRTC+Support

 

 

 

安装libsrtp

因为WEBRTC要求用SRTP,而asterisk的SRTP模块依赖于libsrtp包,所以要先安装它。

   #wgethttp://sourceforge.net/projects/srtp/files/srtp/1.4.4/srtp-1.4.4.tgz/download

# tar vzxf srtp-1.4.4.tgz 

# cd srtp

# ./configure

# make

# make install

安装Asterisk11

 

# wgethttp://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz

# tar vzxf asterisk-11-current.tar.gz 

#cd asterisk-11.2.1/

#./configure 

#  make

# make install 

检查res_srtp
模块和
 res_http_websocket 是否选中,如果没有,添加上这两个模块,保存退出(按x保存退出)。

     

asterisk配置

配置SIPUSER:

[1000]
deny=0.0.0.0/0.0.0.0
secret=s1ptest1234
dtmfmode=rfc2833
canreinvite=no
context=from-internel
host=dynamic
trustrpid=yes
sendrpid=no
type=friend
nat=no
port=5060
qualify=no
qualifyfreq=60
transport=udp
encryption=no
callgroup=
pickupgroup=
dial=SIP/1000
mailbox=1000@default
permit=0.0.0.0/0.0.0.0
callerid=device <1000>
callcounter=yes
faxdetect=no
cc_monitor_policy=generic
transport = ws,wss                     ;必须选择为wsweb
socket
,其实就是http)和wss(对应为https
encryption=yes                           ;必须使用SRTP
nat=yes,force_rport                     ;打开NAT
avpf=yes                                      ;WEBRTC时使用

 

  配置res_http_websocket,修改/etc/asterisk/http.conf(在文件的最末尾添加如下内容)

[general]

;

; Whether HTTP/HTTPS interface is enabled or not. Default
is no.

; This also affects manager/rawman/mxml access (see manager.conf)

;

enabled=yes  ;;

; Address to bind to, both for HTTP and HTTPS. You MUST specify

; a bindaddr in order for the HTTP server to run. There is no

; default value.

;

bindaddr=0.0.0.0  ;

 配置dialplan,修改/etc/asterisk/extension.conf

[from-internel]
exten =>_XXXX,1,Answer()
exten =>_XXXX,n,Dial(sip/${EXTEN},120)
exten =>_XXXX,n,Hangup()

 

 reload
asterisk

 

    JsSIP安装配置

    JsSIP -
提供了一个兼容WebRTC的JS SIP库,在github上有一个用这个库的demo,我们可以到 
这里 下载,并直接使用它。直接把它下载到您的HTTP服务器根目录下(比如我的httpd服务根目录/var/www/html)。

cd /var/www/html

wget https://github.com/versatica/jssip-demos/archive/master.zip


注:现在这个项目似乎不再托管或者已经迁移,为了方便大家,上传了一份到我的资源空间里:http://download.csdn.net/detail/yetyongjin/5440685。没找到原链接的同学可以到这里下载。




unzip master

打开chrome,输入web站点路径如下:

http://192.168.122.139/jssip-demos-master/tryit/index.html

 

出现web客户端登陆界面,并输入sip账号信息,如下:

 

输入完成后,在任意一个输入框里敲回车,则开始向asterisk建立websocket并发送sip注册消息。

     

 

操作界面如下:

 

 

 

 

         

抱歉!评论已关闭.