[RMV]VOIP:Scrub Asterisk Docs
closes odoo/documentation#7443
X-original-commit: 055e332ef3
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
This commit is contained in:
parent
439c4521ad
commit
e5586b3180
@ -7,6 +7,5 @@ VoIP (Voice over Internet Protocol)
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
|
||||||
voip/asterisk
|
|
||||||
voip/onsip
|
voip/onsip
|
||||||
voip/axivox
|
voip/axivox
|
||||||
|
@ -1,238 +0,0 @@
|
|||||||
============================================
|
|
||||||
Configure your VoIP Asterisk server for Odoo
|
|
||||||
============================================
|
|
||||||
|
|
||||||
Installing Asterisk server
|
|
||||||
==========================
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
------------
|
|
||||||
|
|
||||||
Before installing Asterisk you need to install the following dependencies:
|
|
||||||
|
|
||||||
- wget
|
|
||||||
- gcc
|
|
||||||
- g++
|
|
||||||
- ncurses-devel
|
|
||||||
- libxml2-devel
|
|
||||||
- sqlite-devel
|
|
||||||
- libsrtp-devel
|
|
||||||
- libuuid-devel
|
|
||||||
- openssl-devel
|
|
||||||
- pkg-config
|
|
||||||
|
|
||||||
In order to install libsrtp, follow the instructions below:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
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 && make install
|
|
||||||
|
|
||||||
You also need to install PJSIP, you can download the source `here
|
|
||||||
<http://www.pjsip.org/download.htm>`_. Once the source directory is extracted:
|
|
||||||
|
|
||||||
- **Change to the pjproject source directory:**
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
# cd pjproject
|
|
||||||
|
|
||||||
- **run:**
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
# ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS='-O2 -DNDEBUG'
|
|
||||||
|
|
||||||
- **Build and install pjproject:**
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
# make dep
|
|
||||||
# make
|
|
||||||
# make install
|
|
||||||
|
|
||||||
- **Update shared library links:**
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
# ldconfig
|
|
||||||
|
|
||||||
- **Verify that pjproject is installed:**
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
# ldconfig -p | grep pj
|
|
||||||
|
|
||||||
- **The result should be:**
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
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
|
|
||||||
--------
|
|
||||||
|
|
||||||
- In order to install Asterisk 13.7.0, you can download the source directly `there
|
|
||||||
<http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-13.7.0.tar.gz>`_.
|
|
||||||
|
|
||||||
- Extract Asterisk:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
tar zxvf asterisk*
|
|
||||||
|
|
||||||
- Enter the Asterisk directory:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
cd ./asterisk*
|
|
||||||
|
|
||||||
- Run the Asterisk configure script:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
./configure --with-pjproject --with-ssl --with-srtp
|
|
||||||
|
|
||||||
- Run the Asterisk menuselect tool:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
make menuselect
|
|
||||||
|
|
||||||
- In the menuselect, go to the resources option and ensure that res_srtp is enabled. If there are
|
|
||||||
3 x’s next to res_srtp, there is a problem with the srtp library and you must reinstall it. Save
|
|
||||||
the configuration (press x). You should also see stars in front of the res_pjsip lines.
|
|
||||||
|
|
||||||
- Compile and install Asterisk:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
make && make install
|
|
||||||
|
|
||||||
- If you need the sample configs you can run 'make samples' to install the sample configs. If you
|
|
||||||
need to install the Asterisk startup script you can run 'make config'.
|
|
||||||
|
|
||||||
DTLS Certificates
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
- After you need to setup the DTLS certificates.
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
mkdir /etc/asterisk/keys
|
|
||||||
|
|
||||||
- Enter the Asterisk scripts directory:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
cd /asterisk*/contrib/scripts
|
|
||||||
|
|
||||||
- Create the DTLS certificates (replace pbx.mycompany.com with your ip address or dns name, replace
|
|
||||||
My Super Company with your company name):
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
./ast_tls_cert -C pbx.mycompany.com -O "My Super Company" -d /etc/asterisk/keys
|
|
||||||
|
|
||||||
Configure Asterisk server
|
|
||||||
=========================
|
|
||||||
|
|
||||||
For WebRTC, a lot of the settings that are needed MUST be in the peer settings. The global settings
|
|
||||||
do not flow down into the peer settings very well. By default, Asterisk config files are located in
|
|
||||||
/etc/asterisk/. Start by editing http.conf and make sure that the following lines are uncommented:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
;http.conf
|
|
||||||
[general]
|
|
||||||
enabled=yes
|
|
||||||
bindaddr=127.0.0.1 ; Replace this with your IP address
|
|
||||||
bindport=8088 ; Replace this with the port you want to listen on
|
|
||||||
|
|
||||||
Next, edit sip.conf. The WebRTC peer requires encryption, avpf, and icesupport to be enabled. In
|
|
||||||
most cases, directmedia should be disabled. Also under the WebRTC client, the transport needs to be
|
|
||||||
listed as ‘ws’ to allow websocket connections. All of these config lines should be under the peer
|
|
||||||
itself; setting these config lines globally might not work:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
;sip.conf
|
|
||||||
[general]
|
|
||||||
realm=127.0.0.1 ; Replace this with your IP address
|
|
||||||
udpbindaddr=127.0.0.1 ; Replace this with your IP address
|
|
||||||
transport=udp
|
|
||||||
|
|
||||||
[1060] ; This will be WebRTC client
|
|
||||||
type=friend
|
|
||||||
username=1060 ; The Auth user for SIP.js
|
|
||||||
host=dynamic ; Allows any host to register
|
|
||||||
secret=password ; The SIP Password for SIP.js
|
|
||||||
encryption=yes ; Tell Asterisk to use encryption for this peer
|
|
||||||
avpf=yes ; Tell Asterisk to use AVPF for this peer
|
|
||||||
icesupport=yes ; Tell Asterisk to use ICE for this peer
|
|
||||||
context=default ; Tell Asterisk which context to use when this peer is dialing
|
|
||||||
directmedia=no ; Asterisk will relay media for this peer
|
|
||||||
transport=udp,ws ; Asterisk will allow this peer to register on UDP or WebSockets
|
|
||||||
force_avp=yes ; Force Asterisk to use avp. Introduced in Asterisk 11.11
|
|
||||||
dtlsenable=yes ; Tell Asterisk to enable DTLS for this peer
|
|
||||||
dtlsverify=no ; Tell Asterisk to not verify your DTLS certs
|
|
||||||
dtlscertfile=/etc/asterisk/keys/asterisk.pem ; Tell Asterisk where your DTLS cert file is
|
|
||||||
dtlsprivatekey=/etc/asterisk/keys/asterisk.pem ; Tell Asterisk where your DTLS private key is
|
|
||||||
dtlssetup=actpass ; Tell Asterisk to use actpass SDP parameter when setting up DTLS
|
|
||||||
|
|
||||||
In the sip.conf and rtp.conf files you also need to add or uncomment the lines:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
icesupport = true
|
|
||||||
stunaddr = stun.l.google.com:19302
|
|
||||||
|
|
||||||
Lastly, set up extensions.conf:
|
|
||||||
|
|
||||||
.. code-block:: console
|
|
||||||
|
|
||||||
;extensions.conf
|
|
||||||
[default]
|
|
||||||
exten => 1060,1,Dial(SIP/1060) ; Dialing 1060 will call the SIP client registered to 1060
|
|
||||||
|
|
||||||
Configure Odoo VOIP
|
|
||||||
===================
|
|
||||||
|
|
||||||
In Odoo, the configuration should be done in the user's preferences.
|
|
||||||
|
|
||||||
|
|
||||||
.. image:: asterisk/voip_config01.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
- The SIP Login/Browser's Extension is the number you configured previously in the sip.conf file (in
|
|
||||||
our example: 1060).
|
|
||||||
|
|
||||||
- The SIP Password is the secret you chose in the sip.conf file.
|
|
||||||
|
|
||||||
- The extension of your office's phone is not a required field but it is used if you want to
|
|
||||||
transfer your call from Odoo to an external phone also configured in the sip.conf file.
|
|
||||||
|
|
||||||
|
|
||||||
The configuration should also be done in the General Settings under the "Integrations" section.
|
|
||||||
|
|
||||||
.. image:: onsip/onsip02.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
- The PBX Server IP should be the same as the IP you define in the http.conf file.
|
|
||||||
|
|
||||||
- The WebSocket should be: ws://localhost:XXXX/ws where "localhost" needs to be the same as the IP
|
|
||||||
defined previously and "XXXX" needs to be the port defined in the http.conf file.
|
|
Binary file not shown.
Before Width: | Height: | Size: 64 KiB |
@ -6,8 +6,7 @@ Introduction
|
|||||||
============
|
============
|
||||||
|
|
||||||
Odoo VoIP can be set up to work together with `Axivox <https://www.axivox.com/>`_. In that case, an
|
Odoo VoIP can be set up to work together with `Axivox <https://www.axivox.com/>`_. In that case, an
|
||||||
:doc:`Asterisk server <asterisk>` is not necessary as the infrastructure is hosted and managed by
|
Asterisk server is not necessary as the infrastructure, as it is hosted and managed by Axivox.
|
||||||
Axivox.
|
|
||||||
|
|
||||||
To use this service, `contact Axivox <https://www.axivox.com/contact/>`_ to open an account. Before
|
To use this service, `contact Axivox <https://www.axivox.com/contact/>`_ to open an account. Before
|
||||||
doing so, verify that Axivox covers your area and the areas you wish to call.
|
doing so, verify that Axivox covers your area and the areas you wish to call.
|
||||||
|
Loading…
Reference in New Issue
Block a user