为Odoo配置VOIP Asterisk服务器

在安装Asterisk之前,您需要安装以下依赖项:

  • get
  • 海湾合作委员会
  • g ++
  • ncurses-devel
  • libxml2-devel
  • sqlite开发
  • libsrtp开发
  • libuuid-开发
  • openssl-开发
  • pkg-config

为了安装libsrtp,请遵循以下指示:

cd / usr / local / src / 
wget http://srtp.sourceforge.net/srtp-1.4.2.tgz 
tar zxvf srtp-1.4.2.tgz 
cd / usr / local / src / srtp 
./configure CFLAGS =- fPIC --prefix = / usr / local / lib 
make &&进行安装

您还需要安装PJSIP,可以在此处下载源代码提取源目录后:

  • 转到pjproject源目录:
 CD pjproject
  • 跑:
 . / configure --prefix = / usr-启用共享--disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS = '-O2 -DNDEBUG'
  • 编译安装pjproject:
化妆DEP
 化妆
 make install的
  • 更新共享库链接:
 LDCONFIG
  • 验证是否已安装pjproject:
 ldconfig命令-p | grep pj
  • 结果应为:
libpjsua.so(libc6,x86-64)=> /usr/lib/libpjsua.so 
libpjsip.so(libc6,x86-64)=> /usr/lib/libpjsip.so 
libpjsip-ua.so(libc6,x86- 64)=> /usr/lib/libpjsip-ua.so 
libpjsip-simple.so(libc6,x86-64)=> /usr/lib/libpjsip-simple.so 
libpjnath.so(libc6,x86-64)=> /usr/lib/libpjnath.so 
libpjmedia.so(libc6,x86-64)=> /usr/lib/libpjmedia.so 
libpjmedia-videodev.so(libc6,x86-64)=> / usr / lib / libpjmedia-videodev .so 
libpjmedia-codec.so(libc6,x86-64)=> /usr/lib/libpjmedia-codec.so 
libpjmedia-audiodev.so(libc6,x86-64)=> /usr/lib/libpjmedia-audiodev.so 
libpjlib-util.so(libc6,x86-64)=> /usr/lib/libpjlib-util.so 
libpj.so(libc6,x86-64)=> /usr/lib/libpj.so
  • 为了安装Asterisk 13.7.0,您可以直接在此处下载源代码
  • 提取星号:
tar zxvf星号*
  • 输入星号目录
cd ./星号*
  • 运行星号配置脚本:
./configure --with-pjproject --with-ssl --with-srtp
  • 运行星号菜单选择工具:
进行菜单选择
  • 在菜单选择中,转到资源选项,并确保启用了res_srtp。如果res_srtp旁边有3个x,则srtp库存在问题,您必须重新安装它。保存配置(按x)。您还应该在res_pjsip行前面看到星星。
  • 编译并安装星号:
进行&&进行安装
  • 如果您需要样本配置,则可以运行“制作样本”来安装样本配置。如果需要安装Asterisk启动脚本,则可以运行“ make config”。
  • 之后需要设置DTLS证书。
mkdir / etc /星号/键
  • 输入星号脚本目录:
cd /星号* / contrib / scripts
  • 创建DTLS证书(用您的IP地址或DNS名称替换pbx.mycompany.com,用您的公司名称替换​​My Super Company):
./ast_tls_cert -C pbx.mycompany.com -O“我的超级公司” -d / etc / asterisk / keys

对于WebRTC,许多必需的设置必须位于对等设置中。全局设置不会很好地流入对等设置。默认情况下,Asterisk配置文件位于/ etc / asterisk /中。首先编辑http.conf,并确保未注释以下行:

; http.conf 
[general] 
enabled = yes 
bindaddr = 127.0.0.1; 用您的IP地址
bindport = 8088替换它替换为您要监听的端口

接下来,编辑sip.conf。WebRTC对等方需要启用加密,avpf和icesupport。在大多数情况下,应该禁用directmedia。同样在WebRTC客户端下,需要将传输列为“ ws”以允许进行websocket连接。所有这些配置行都应位于对等方自身之下;全局设置这些配置行可能不起作用:

; sip.conf 
[general] 
realm = 127.0.0.1; 用您的IP地址
udpbindaddr = 127.0.0.1
替换它将其替换为您的IP地址transport = udp

[1060];这将是WebRTC客户端
类型=朋友
用户名= 1060;SIP.js的Auth用户
host = dynamic; 允许任何主机注册
secret = password;SIP.js
加密
的SIP密码= yes;告诉Asterisk为此对等
使用加密avpf = yes; 告诉Asterisk为此对等
使用AVPF icesupport = yes; 告诉Asterisk在此对等上下文中
使用ICE = default;告诉Asterisk,当此对等方拨打directmedia = no
时,使用哪个上下文星号将为该对等传输
中继媒体= udp,ws; 星号将允许该对等方在UDP或WebSockets上注册force_avp = yes;强制星号使用AVP。在星号11.11中
引入dtlsenable = yes; 告诉Asterisk为该对等端启用DTLS
dtlsverify = no; 告诉Asterisk不要验证您的DTLS证书
dtlscertfile = / etc / asterisk / keys / asterisk.pem; 告诉Asterisk您的DTLS证书文件在
哪里dtlsprivatekey = / etc / asterisk / keys / asterisk.pem; 告诉Asterisk您的DTLS私钥在哪里
dtlssetup = actpass; 告诉Asterisk设置DTLS时使用actpass SDP参数

在sip.conf和rtp.conf文件中,您还需要添加或取消注释以下行:

icesupport = true 
stunaddr = stun.l.google.com:19302

最后,建立extensions.conf文件:

; extensions.conf 
[默认] 
exten => 1060,1,Dial(SIP / 1060); 拨打1060将呼叫注册到1060的SIP客户端

在Odoo中,应根据用户的偏好进行配置。

  • SIP登录/浏览器的扩展名是您先前在sip.conf文件中配置的号码(在我们的示例中为1060)。
  • SIP密码是您在sip.conf文件中选择的密码。
  • 办公室电话的电话分机不是必填字段,但如果您要将呼叫从Odoo转移到也在sip.conf文件中配置的外部电话,则使用此分机。

还应该在“集成”部分下的“常规设置”中完成配置。

  • PBX服务器IP应该与您在http.conf文件中定义的IP相同。
  • WebSocket应该为:ws:// localhost:XXXX / ws,其中“ localhost”必须与先前定义的IP相同,“ XXXX”必须是http.conf文件中定义的端口。
视图
0 总浏览
0 成员的观点
0 公众浏览
动作
0 喜爱
0 不喜欢
0 注释
分享到社交网络
分享链接
通过邮件分享

登录 分享这个 webpage 通过电子邮件。

评分
0 0