...
 
Commits (181)
......@@ -6,4 +6,5 @@ build/*
.project
.pydevproject
.settings/
envs
.cache
......@@ -3,15 +3,10 @@
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXBUILD = ./envs/bin/sphinx-build
PAPER =
BUILDDIR = build
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
......@@ -19,6 +14,24 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) sou
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
ifeq ($(shell which virtualenv >/dev/null 2>&1; echo $$?), 1)
$(error The 'virtualenv' command was not found. Run 'pip install virtualenv' before this script)
endif
envs/bin/sphinx-build:
python2.7 -mvirtualenv --system-site-packages envs
envs/bin/python envs/bin/pip install -U --cache-dir .cache/pip -I Pygments==2.2.0 "setuptools<41" docutils==0.13.1 mock==1.0.1 pillow==2.6.1 "alabaster>=0.7,<0.8,!=0.7.5" commonmark==0.5.4 recommonmark==0.4.0 sphinx==1.7.4 "sphinx-rtd-theme<0.3" "readthedocs-sphinx-ext<0.6"
envs/bin/python envs/bin/pip install --exists-action=w --cache-dir .cache/pip -rrequirements.txt
.PHONY: virtualenv
virtualenv: envs/bin/sphinx-build
.PHONY: virtualenv-clean
virtualenv-clean:
rm -rf envs
.PHONY: help
help:
@echo "Please use \`make <target>' where <target> is one of"
......@@ -52,44 +65,44 @@ clean:
rm -rf $(BUILDDIR)/*
.PHONY: html
html:
html: virtualenv
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
.PHONY: dirhtml
dirhtml:
dirhtml: virtualenv
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
.PHONY: singlehtml
singlehtml:
singlehtml: virtualenv
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
.PHONY: pickle
pickle:
pickle: virtualenv
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
.PHONY: json
json:
json: virtualenv
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
.PHONY: htmlhelp
htmlhelp:
htmlhelp: virtualenv
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
.PHONY: qthelp
qthelp:
qthelp: virtualenv
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
......@@ -99,7 +112,7 @@ qthelp:
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/XiVOSolutions.qhc"
.PHONY: applehelp
applehelp:
applehelp: virtualenv
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
@echo
@echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
......@@ -108,7 +121,7 @@ applehelp:
"bundle."
.PHONY: devhelp
devhelp:
devhelp: virtualenv
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
......@@ -118,7 +131,7 @@ devhelp:
@echo "# devhelp"
.PHONY: epub
epub:
epub: virtualenv
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
......@@ -132,33 +145,33 @@ latex:
"(use \`make latexpdf' here to do that automatically)."
.PHONY: latexpdf
latexpdf:
latexpdf: virtualenv
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
.PHONY: latexpdfja
latexpdfja:
latexpdfja: virtualenv
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
.PHONY: text
text:
text: virtualenv
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
.PHONY: man
man:
man: virtualenv
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
.PHONY: texinfo
texinfo:
texinfo: virtualenv
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
......@@ -166,7 +179,7 @@ texinfo:
"(use \`make info' here to do that automatically)."
.PHONY: info
info:
info: virtualenv
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
......@@ -179,38 +192,38 @@ gettext:
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
.PHONY: changes
changes:
changes: virtualenv
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
.PHONY: linkcheck
linkcheck:
linkcheck: virtualenv
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
.PHONY: doctest
doctest:
doctest: virtualenv
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
.PHONY: coverage
coverage:
coverage: virtualenv
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
@echo "Testing of coverage in the sources finished, look at the " \
"results in $(BUILDDIR)/coverage/python.txt."
.PHONY: xml
xml:
xml: virtualenv
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
.PHONY: pseudoxml
pseudoxml:
pseudoxml: virtualenv
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
git+https://gitlab.com/xivo.solutions/sphinx-git.git@tagtitles
gitpython
......@@ -31,7 +31,7 @@
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-56722061-5', 'auto');
ga('create', '', 'auto');
ga('send', 'pageview');
</script>
......
......@@ -43,7 +43,7 @@ import os
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['sphinx.ext.todo', 'sphinx_git', 'sphinx.ext.graphviz']
extensions = ['sphinx.ext.todo', 'sphinx.ext.graphviz']
graphviz_output_format = 'svg'
# Add any paths that contain templates here, relative to this directory.
......
This diff is collapsed.
......@@ -14,4 +14,7 @@ the :menuselection:`Configuration --> Management --> General` page.
Live reload configuration permit to reload its configuration on command received from WEBI
(this option is enabled by default).
\ No newline at end of file
(this option is enabled by default).
If you deactivate Live reload, apart from commands to xivo-ctid service, no config update command will be sent to udpate the services configuration.
You must then reload the configuration accordingly.
......@@ -83,6 +83,9 @@ On both XiVO, activate some codecs, :menuselection:`Services
Enabled codecs: at least GSM (audio)
.. warning::
Without customizing the codecs, problems with sound quality or one-way sound may occur.
At that point, the Asterisk command ``sip show registry`` on XiVO B should print
a line showing that XiVO A is registered, meaning your trunk is established.
......
......@@ -12,6 +12,10 @@ General Configuration
The global voicemail configuration is located under :menuselection:`Services --> IPBX --> General Settings --> Voicemails`.
Option "Get transfered to an operator" in tab :menuselection:`General` leads to a playback of message
"press 0 to reach an operator" after having left a message and pressing ``#``.
As this feature is not implemented in XiVO, it should be unchecked.
The option will be removed in XiVO Aldebaran.
Adding voicemails
=================
......
......@@ -62,7 +62,11 @@ Then, open asterisk HTTP server to accept outside websocket connections:
bindaddr=0.0.0.0
* Restart XiVO PBX services::
By default, asterisk HTTP server has a limit of 100 websocket connections. You can change this limit in the :file:`/etc/asterisk/http.conf` file::
sessionlimit=200
Restart XiVO PBX services to apply the new settings::
xivo-service restart
......
......@@ -18,7 +18,7 @@ Query
.. code-block:: http
GET /provd/cfg_mgr
GET /provd/cfg_mgr HTTP/1.1
Example request
......@@ -64,7 +64,7 @@ Query
.. code-block:: http
GET /provd/cfg_mgr/configs
GET /provd/cfg_mgr/configs HTTP/1.1
Query Parameters
......@@ -147,7 +147,7 @@ Query
.. code-block:: http
POST /provd/cfg_mgr/configs
POST /provd/cfg_mgr/configs HTTP/1.1
Example request
......@@ -203,7 +203,7 @@ Query
.. code-block:: http
GET /provd/cfg_mgr/configs/<config_id>
GET /provd/cfg_mgr/configs/<config_id> HTTP/1.1
Example request
......@@ -254,7 +254,7 @@ Query
.. code-block:: http
GET /provd/cfg_mgr/configs/<config_id>/raw
GET /provd/cfg_mgr/configs/<config_id>/raw HTTP/1.1
Example request
......@@ -305,7 +305,7 @@ Query
.. code-block:: http
PUT /provd/cfg_mgr/configs/<config_id>
PUT /provd/cfg_mgr/configs/<config_id> HTTP/1.1
Example request
......@@ -355,7 +355,7 @@ Query
.. code-block:: http
DELETE /provd/cfg_mgr/configs/<config_id>
DELETE /provd/cfg_mgr/configs/<config_id> HTTP/1.1
Example request
......@@ -363,7 +363,7 @@ Example request
.. code-block:: http
DELETE /provd/cfg_mgr/configs/77839d0f05c84662864b0ae5c27b33e4
DELETE /provd/cfg_mgr/configs/77839d0f05c84662864b0ae5c27b33e4 HTTP/1.1
Host: xivoserver
......@@ -388,7 +388,7 @@ Query
.. code-block:: http
POST /provd/cfg_mgr/autocreate
POST /provd/cfg_mgr/autocreate HTTP/1.1
Example request
......
......@@ -20,7 +20,7 @@ Query
.. code-block:: http
GET /provd/dev_mgr
GET /provd/dev_mgr HTTP/1.1
Example request
......@@ -73,7 +73,7 @@ Query
.. code-block:: http
GET /provd/dev_mgr/devices
GET /provd/dev_mgr/devices HTTP/1.1
.. _provd-api-list-devices-parameters:
......@@ -143,7 +143,7 @@ Query
.. code-block:: http
POST /provd/dev_mgr/devices
POST /provd/dev_mgr/devices HTTP/1.1
Example request
......@@ -186,7 +186,7 @@ Query
.. code-block:: http
GET /provd/dev_mgr/devices/<device_id>
GET /provd/dev_mgr/devices/<device_id> HTTP/1.1
Example request
......@@ -233,7 +233,7 @@ Query
.. code-block:: http
PUT /provd/dev_mgr/devices/<device_id>
PUT /provd/dev_mgr/devices/<device_id> HTTP/1.1
Example request
......@@ -279,7 +279,7 @@ Query
.. code-block:: http
DELETE /provd/dev_mgr/devices/<device_id>
DELETE /provd/dev_mgr/devices/<device_id> HTTP/1.1
Example request
......@@ -309,7 +309,7 @@ Query
.. code-block:: http
POST /provd/dev_mgr/synchronize
POST /provd/dev_mgr/synchronize HTTP/1.1
Example request
......@@ -347,7 +347,7 @@ Query
.. code-block:: http
POST /provd/dev_mgr/reconfigure
POST /provd/dev_mgr/reconfigure HTTP/1.1
Errors
......@@ -392,7 +392,7 @@ Query
.. code-block:: http
POST /provd/dev_mgr/dhcpinfo
POST /provd/dev_mgr/dhcpinfo HTTP/1.1
Example request
......
......@@ -23,7 +23,7 @@ Query
.. code-block:: http
GET <uri>
GET <uri> HTTP/1.1
Example request
......@@ -77,7 +77,7 @@ Query
.. code-block:: http
DELETE <uri>
DELETE <uri> HTTP/1.1
Example request
......@@ -110,7 +110,7 @@ Query
.. code-block:: http
GET <uri>
GET <uri> HTTP/1.1
Example request
......@@ -213,7 +213,7 @@ Query
.. code-block:: http
GET <uri>
GET <uri> HTTP/1.1
Example request
......@@ -251,7 +251,7 @@ Query
.. code-block:: http
PUT <uri>
PUT <uri> HTTP/1.1
Example request
......@@ -295,7 +295,7 @@ Query
.. code-block:: http
GET <uri>
GET <uri> HTTP/1.1
Example request
......@@ -358,7 +358,7 @@ Query
.. code-block:: http
POST <uri>
POST <uri> HTTP/1.1
Example request
......@@ -397,7 +397,7 @@ Query
.. code-block:: http
POST <uri>
POST <uri> HTTP/1.1
Example request
......@@ -433,7 +433,7 @@ Query
.. code-block:: http
POST <uri>
POST <uri> HTTP/1.1
Example request
......@@ -472,7 +472,7 @@ Query
.. code-block:: http
POST <uri>
POST <uri> HTTP/1.1
Example request
......@@ -509,7 +509,7 @@ Query
.. code-block:: http
GET <uri>
GET <uri> HTTP/1.1
Example request
......@@ -598,7 +598,7 @@ Query
.. code-block:: http
GET <uri>
GET <uri> HTTP/1.1
Example request
......
......@@ -20,7 +20,7 @@ Query
.. code-block:: http
GET /provd/pg_mgr
GET /provd/pg_mgr HTTP/1.1
Example request
......@@ -74,7 +74,7 @@ Query
.. code-block:: http
GET /provd/pg_mgr/plugins
GET /provd/pg_mgr/plugins HTTP/1.1
Example request
......@@ -132,7 +132,7 @@ Query
.. code-block:: http
GET /provd/pg_mgr/plugins/<plugin_id>
GET /provd/pg_mgr/plugins/<plugin_id> HTTP/1.1
Example request
......@@ -177,7 +177,7 @@ Query
.. code-block:: http
GET /provd/pg_mgr/plugins/<plugin_id>/info
GET /provd/pg_mgr/plugins/<plugin_id>/info HTTP/1.1
Example request
......@@ -255,7 +255,7 @@ Query
.. code-block:: http
POST /provd/pg_mgr/reload
POST /provd/pg_mgr/reload HTTP/1.1
Example request
......
......@@ -22,7 +22,7 @@ Query
.. code-block:: http
GET /provd
GET /provd HTTP/1.1
Example request
......
......@@ -12,14 +12,14 @@ Query
::
GET /status_check
GET /status-check
Example request
---------------
::
GET /status_check HTTP/1.1
GET /status-check HTTP/1.1
Host: xivoserver
Content-Type: application/json
......
......@@ -32,10 +32,9 @@ A lot of those features are modular and may be enabled for each user by choosing
Getting the XiVO client
=======================
Binaries of the XiVO Client are available on our mirror. (`latest version`_) (`all versions`_)
Binaries of the XiVO Client are available on our mirror. (`all versions`_)
.. _all versions: http://mirror.xivo.solutions/iso/archives
.. _latest version: http://mirror.xivo.solutions/iso/xivo-current
.. warning::
......
......@@ -198,52 +198,6 @@ KX-HT136 |n| |u| |n|
.. note:: This phone is for testing for the moment
Patton
------
The following analog VoIP gateways are supported:
+--------------------------------------------+--------+--------+--------+--------+--------+--------+--------+
| | SN4112 | SN4114 | SN4116 | SN4118 | SN4316 | SN4324 | SN4332 |
+============================================+========+========+========+========+========+========+========+
| Provisioning | Y | Y | Y | Y | Y | Y | Y |
+--------------------------------------------+--------+--------+--------+--------+--------+--------+--------+
| H-A | Y | Y | Y | Y | Y | Y | Y |
+--------------------------------------------+--------+--------+--------+--------+--------+--------+--------+
XiVO only supports configuring the FXS ports of these gateways. It does not support configuring the
FXO ports. If you have a gateway on which you would like to configure the FXO ports, you'll need to
write the FXO ports configuration manually by creating a :ref:`custom template
<provd-custom-templates>` for your gateway.
It's only possible to enter a provisioning code on the first FXS port of a gateway. For example, if
you have a gateway with 8 FXS ports, the first port can be configured by dialing a provisioning code
from it, but ports 2 to 7 can only be configured via the XiVO web interface. Also, if you dial the
:ref:`"reset to autoprov" extension <reset-to-autoprov-device>` from any port, the configuration of
all the ports will be reset, not just the port on which the extension was dialed. These limitations
might go away in the future.
These gateways are configured with a few regional parameters (France by default). These parameters
are easy to change by writing a :ref:`custom template <provd-custom-templates>`.
Telnet access and web access are enabled by default. You should change the default password by
setting an administrator password via a XiVO "template device".
By downloading and installing the Patton firmwares, you agree to the `Patton Electronics Company
conditions <http://www.patton.com/legal/eula.asp>`_.
To provision a gateway that was previously configured manually, use the following commands
on your gateway (configure mode), replacing XIVO_IP by the IP address of your XiVO server::
profile provisioning PF_PROVISIONING_CONFIG
destination configuration
location 1 http://XIVO_IP:8667/$(system.mac).cfg
activation reload graceful
exit
provisioning execute PF_PROVISIONING_CONFIG
Polycom
-------
......@@ -325,7 +279,6 @@ Model Tested [1]_ Fkeys [2]_ XiVO HA [3]_ Plugin
======== =========== ========== ============ ================
CP860 |n| 0 |u| xivo-yealink-v72
T23P |n| 3 |u| xivo-yealink-v80
T23G |y| 3 |y| xivo-yealink-v80
T27P |y| 21 |y| xivo-yealink-v80
T29G |n| 27 |u| xivo-yealink-v80
T49G |y| 29 |y| xivo-yealink-v80
......
......@@ -76,37 +76,168 @@ Function keys work using the extensions in :menuselection:`Services --> Extensio
to enable the function keys you want to use. Also, the enable transfer option in the user
configuration services tab must be enabled to use transfer function keys.
.. _devices_releasenotes:
Plugins release notes
=====================
xivo-aastra-3.3.1-SP4-HF9
-------------------------
.. note:: Replaces xivo-aastra-3.3.1-SP4 plugin
:v1.8: Download links for firmwares update for Aastra/Mitel phones.
:v1.7: Firmware update for Aastra/Mitel phones.
Particularly these new firmwares support forwarding of Multiple Spanning Tree Protocol (MSTP) messages from the LAN port to the PC port.
This ensures issues regarding network loops are not created.
xivo-aastra-4.3.0
-----------------
.. note:: Replaces xivo-aastra-4.1.0 plugin
:v1.8: Download links for firmwares update for Aastra/Mitel phones.
:v1.7: Firmware update for Aastra/Mitel phones.
Particularly these new firmwares support forwarding of Multiple Spanning Tree Protocol (MSTP) messages from the LAN port to the PC port.
This ensures issues regarding network loops are not created.
xivo-cisco-spa8000-6.1.11
-------------------------
:v1.1: Fix download of firmware with procedure :ref:`Cisco SPA8000 download firmware <cisco-spa8000-fw-download>`.
xivo-patton-6.10
----------------
:v1.1: Plugin added which provision FXS patton gateways (SN411X and SN43XX)
xivo-patton-SN4120-6.10
-----------------------
:v1.2: Fix plugin installation (install rule for SN4120 firmware was wrong)
:v1.1: Plugin added which provision BRI patton gateway (SN4120)
xivo-polycom-4.0.11
-------------------
.. note:: Replaces xivo-polycom-4.0.9 plugin: *this plugin is required* for Polycom devices with MAC address in the range 64167F (instead of 0004F2)
:v2.2: fix URL for Updater file download
:v2.1: DND feature disabled
:v1.9: integrate XiVOCC required template configuration
xivo-polycom-5.4.3
------------------
:v2.1: DND feature disabled
:v1.8: integrate XiVOCC required template configuration
xivo-snom-8.7.5.35
------------------
:v2.3: Change provisioning of :ref:`login_pause_funckeys` keys to support Wrapup indication.
:v2.2: Add support to SIP Auto-Answer Header (needed for CTI Transfer in Polaris)
:v2.1: DND feature disabled
:v1.9: update to use the new language pack
:v1.8: correction for provisioning if there is no DST
xivo-snom-8.9.3.40
xivo-snom-8.9.3.60
------------------
.. note:: Replaces xivo-snom-8.9.3.40 plugin
:v2.5: Change parameter to fix Switchboard answer
:v2.4: Change provisioning of :ref:`login_pause_funckeys` keys to support Wrapup indication.
:v2.3: Add support for D712 and upgrade firmware for 7XX serie.
:v2.2: Add support to SIP Auto-Answer Header (needed for CTI Transfer in Polaris)
:v2.1: DND feature disabled
:v1.8: correction for provisioning if there is no DST
xivo-yealink-v80
xivo-yealink-v70
----------------
:v1.31: integrate XiVOCC required template configuration
:v1.30: unprovisionned keys will now display a blank BLF keys (instead of Line keys previously).
:v1.29: this version includes a behavior change for T46 and T48 phones : after 10min they go to power saving mode (which lits off the screen and buttons).
:v2.1.2: Replace broken firmware link
:v2.1: DND feature disabled
xivo-polycom-4.0.9
------------------
xivo-yealink-v72
----------------
:v1.9: integrate XiVOCC required template configuration
:v2.1: DND feature disabled
xivo-polycom-5.4.3
------------------
xivo-yealink-v73
----------------
:v1.8: integrate XiVOCC required template configuration
:v2.1: DND feature disabled
xivo-yealink-v81
----------------
.. note:: Replaces xivo-yealink-v80 plugin
:v2.5.0: add XiVO logo for T46G/S and T48G/S
:v2.4.3: fix firmware downloading
:v2.4.2: add provisioning of T27G in firmware v81
:v2.4.1: add provisioning of W52P in firmware v81
:v2.3: switch to default Yealink french translation to fix duplicate label for T48X
.. note:: It leads to several small differences in the labels, for example:
* *Attente* is changed to *Mtr Att*
* *Journal* is changed to *Historique*
* *Annuaire* is changed to *Répertoires*
:v2.2: add support to expansion module EXP40 for T46/T48 **S**
:v2.1: new version of Yealink plugin with support for T4XS family and T23G
.. warning::
To install firmware for T4XS family, the 'unrar' executable must be
present on the host system. If it is not, you'll have a runtime error while
trying to install any firmware.
Starting from Five.08 and 2017.08 unrar-free and unar will be installed as
a dependency of xivo-fetchfw package.
Otherwise you need to install them manually :
.. code-block:: bash
apt-get update
apt-get install unrar-free unar
Some older versions of unrar-free fail to decompress the firmware package.
In that case you will need to `enable non-free packages <https://wiki.debian.org/SourcesList#Example_sources.list>`_
in debian and install unrar-nonfree :
.. code-block:: bash
apt-get update
apt-get install unrar
xivo-yealink-v84
----------------
.. note:: Replaces xivo-yealink-v81 plugin for Yealink T4XS models (and others, see plugin info)
:v1.2: fix answering of second call from UC Assistant or CC Agent
:v1.1: first version of the plugin for fw v84
.. note:: What's new from v81 plugin:
* Small differences for some french labels, for example:
* *Mtr Att* is changed to *Attente*
* *Historique* is changed to *Récents*
* *Répertoires* is changed to *Annuaire*
* New *Station name* with first line display name and number
* XiVO logo for T46S and T48S
* Admin default password was changed
This diff is collapsed.
......@@ -25,12 +25,12 @@ Prerequisites
The HA in XiVO only works with telephony devices (i.e. phones) that support
the notion of a primary and backup telephony server.
* Phones must be able to reach the master and the slave (take special care if master and slave are
not in the same subnet)
* Phones must be able to reach the master and the slave
* Master and Slave nodes must be in the same subnet
* If firewalling, the master must be allowed to join the slave on ports 22 and 5432
* If firewalling, the slave must be allowed to join the master with an ICMP ping
* Trunk registration timeout (``expiry``) should be less than 300 seconds (5 minutes)
* The slave must have no provisioning plugins installed.
* The slave must have **no** provisioning plugins installed.
The HA solution is guaranteed to work correctly with :ref:`the following devices <devices>`.
......@@ -113,7 +113,8 @@ Disable node
Default status of :abbr:`High Availability (HA)` is disabled:
.. note:: You can reset at any time by choosing a server mode (disabled)
.. warning:: You should not disable an HA node in production as it will break the configuration
and restart some services.
.. figure:: images/ha_dashboard_disabled.png
......@@ -158,8 +159,8 @@ Replication can be started manually by running the replication scripts on the ma
The replication does not copy the full XiVO configuration of the master. Notably, these
are excluded:
* All the network configuration (i.e. everything under the
:menuselection:`Configuration --> Network` section)
* All the network configuration **except DHCP configuration** (i.e. everything under the
:menuselection:`Configuration --> Network --> {Interfaces, Resolver, Mail}` sections)
* All the support configuration (i.e. everything under the
:menuselection:`Configuration --> Support` section)
* Call logs
......@@ -194,18 +195,22 @@ Internals
4 scripts are used to manage services and data replication.
* xivo-master-slave-db-replication <slave_ip> is used on the master to replicate the master's
* ``xivo-master-slave-db-replication <slave_ip>`` is used on the master to replicate the master's
data on the slave server. It runs on the master.
* xivo-manage-slave-services {start,stop} is used on the slave to start, stop monit and asterisk.
* ``xivo-manage-slave-services {start,stop}`` is used on the slave to start, stop monit and asterisk.
The services won't be restarted after an upgrade or restart.
* xivo-check-master-status <master_ip> is used to check the status of the master and enable or
* ``xivo-check-master-status <master_ip>`` is used to check the status of the master and enable or
disable services accordingly.
* xivo-sync is used to sync directories from master to slave.
* ``xivo-sync`` is used to sync directories from master to slave.
Limitations
===========
Architecture:
* Since DHCP parameters are replicated, Master and Slave node MUST be on the same VoIP network.
When the master node is down, some features are not available and some behave a bit
differently. This includes:
......
......@@ -19,7 +19,9 @@ hardware.
Installing from the ISO image
=============================
* Download the ISO image. (`latest version`_) (`all versions`_)
.. note:: Our ISO image does not support UEFI system
* Download the ISO image. (`all versions`_)
* Boot from the ISO image, select ``Install`` and follow the instructions. You must select a locale
with charset UTF-8.
* At the end of the installation, you can continue by running the :ref:`configuration
......@@ -31,7 +33,6 @@ Otherwise GPG key of XiVO repository will not be installed and must be added man
wget http://mirror.xivo.solutions/xivo_current.key -O - | apt-key add -
.. _all versions: http://mirror.xivo.solutions/iso/archives
.. _latest version: http://mirror.xivo.solutions/iso/xivo-current
Installing from a minimal Debian installation
......@@ -63,10 +64,14 @@ it executable::
wget http://mirror.xivo.solutions/xivo_install.sh
chmod +x xivo_install.sh
And run it::
If the script is run without a modifier, it installs the latest LTS version::
./xivo_install.sh
To install XiVO *Five*, run::
./xivo_install.sh -a 2017.03-latest
At the end of the installation, you can continue by running the :ref:`configuration
wizard. <configuration_wizard>`
......
......@@ -77,3 +77,9 @@ Here is a typical example for Europe (the main goal in this example is to select
G.729A
H.264
Voicemail
=========
In :menuselection:`General Settings --> Voicemails --> General` uncheck parameter :guilabel:`Get transfered to an operator`
because this option is not implemented in XiVO PBX.
......@@ -172,6 +172,8 @@ Limitations
architecture -- ``i386`` or ``amd64`` -- may differ)
* You must restore a backup on a machine with the **same hostname and IP address**
* Be aware that this procedure applies **only to XiVO >= 14.08** (see :ref:`upgrade_note_14.08`).
* XiVO CC configuration files are not backed up. Follow :ref:`Manual XiVO PBX configuration <xivo_pbx_configuration>`
to restore them.
Before Restoring the System
......@@ -186,6 +188,10 @@ Stop monit and all the xivo services::
xivo-service stop
If you want to restore XiVO < 2017.06 that was configured for XiVO CC, you must create PostgreSQL user `stats` before
restoring the database. See :ref:`Creating user stats <creating_user_stats>`.
Restoring System Files
======================
......
......@@ -55,7 +55,7 @@ Here's an example of the configuration file:
monit_conf_dir = /etc/monit/conf.d
[request_handlers]
synchronous = true
synchronous = false
[bus]
username = guest
......@@ -76,7 +76,7 @@ synchronous
When this option is false, xivo-sysconfd reply to the request immediately.
Setting this option to false will speed up some operation (for example, editing a user from the
By default, this option is set to false to speed up some operations (for example, editing a user from the
web interface or from xivo-confd), but this means that there will be a small delay (up to a few
seconds in the worst case) between the time you create your user and the time you can dial
successfully its extension.
......@@ -123,7 +123,14 @@ to be excluded from recording on outgoing calls. These numbers will be checked b
.. note:: check is made against XIVO_SRCNUM dialplan variable.
.. _recording_purge_expiration:
Recording file purge
====================
Recording files are automatically deleted after the configured time (set during installation, see :ref:`ccinstallation`). However you can mark recording to be deleted before the configured expiration time by attaching a specific data to the call you want to disguard recording for.
The attached data key to set is ``xivo_recording_expiration`` and the value should be a datetime formatted as ``yyyy-MM-dd HH:mm:ss``
.. _recording_gw_configuration:
Gateway recording configuration
......
......@@ -14,9 +14,4 @@ XivoCC installation generates self-signed SSL/TLS into nginx server running as p
* :ref:`web-assistant` shows warning about unsecure page and exception must be confirmed by user.
* :ref:`desktop-assistant` must be started with ``--ignore-certificate-errors`` parameter, which degrades security.
To avoid this, SSL/TLS certificate signed by authority recognized by Chrome in PEM format is required.
Installation steps:
* in directory ``/etc/docker/nginx/ssl`` replace content of files ``xivoxc.crt``, ``xivoxc.csr`` and ``xivoxc.key`` while keeping filenames unchanged
* restart nginx container by command ``xivocc-dcomp restart nginx``.
To avoid this, SSL/TLS certificate signed by authority recognized by Chrome in PEM format is required, see :ref:`nginx-trusted-certificate`.
......@@ -33,10 +33,12 @@ Call can be controlled through button inside the Agent interface where you can
- Answer
- hangup
- Hold / Unhold : The color of the button indicates the possible action (grey: no action, green: put on hold, red: unhold)
- Attended transfer
- Complete transfer
- Cancel transfer
- Conference
- Attended transfer :ref:`* <phone_integration_limitations>`
- Complete transfer :ref:`* <phone_integration_limitations>`
- Cancel transfer :ref:`* <phone_integration_limitations>`
- Conference :ref:`* <phone_integration_limitations>`
\*) See :ref:`Known limitations <phone_integration_limitations>`
.. figure:: agent-call-control.png
:scale: 90%
......@@ -72,15 +74,20 @@ and trigger the following screen:
To launch the call, the agent must click on one of the available phone numbers.
Once the callback is launched, the status can be changed and a comment can be added.
If you set 'Callback' as status, the callback can be rescheduled at a later time and another period:
If you set *Callback* as status, the callback can be rescheduled at a later time and another period:
.. figure:: agent-callback-reschedule.png
:scale: 90%
Other available statuses are closing definitely the callback:
- *Answered* if caller accepted the call
- *NoAnswer* if caller were unreachable
- *Fax* if callback has been resolved thanks to a Fax message
Clicking on the calendar icon next to the "New due date" field, will popup a calendar to select another callback date.
Every hour a desktop notification is shown to display pending callbacks that are about to expire. Please note that the display may vary depending on operating system and browser.
.. figure:: agent-callback-notification.png
:scale: 80%
......@@ -98,9 +98,11 @@ Phone integration
The *Web Assistant* can integrate with the phone to :
* Call / Hangup
* Put on hold,
* Do direct or indirect transfers
* Make a conference
* Put on hold
* Do direct or indirect transfers :ref:`* <phone_integration_limitations>`
* Make a conference :ref:`* <phone_integration_limitations>`
\*) See :ref:`Known limitations <phone_integration_limitations>`
As these features are closely linked to the phone to work, you must check :ref:`phone_integration_support` and follow the :ref:`phone_integration_installation` page.
......
......@@ -10,9 +10,10 @@ In most cases you **SHOULD NOT** follow this page, and install the XiVO CC compo
.. note:: We leave this page here :
- as a reference,
- and when one must install only a subset of the XiVO CC components (since it is not currently possible
- to document how to install only a subset of the XiVO CC components (since it is not currently possible
via the `xivocc-installer` package).
- to help with reconfiguring XiVO for XiVO CC after it has been :ref:`restored from backup <restore>`
- as a reference
Prerequisites
......@@ -39,6 +40,8 @@ We will make the following assumptions :
.. check-list: installation#check-list
.. _xivo_pbx_configuration:
XiVO PBX configuration
======================
......@@ -57,6 +60,8 @@ Add this line to :file:`/etc/postgresql/9.4/main/pg_hba.conf`:
host asterisk all 192.168.0.2/32 md5
.. _creating_user_stats:
Create a user `stats` with read permissions :
.. code-block:: bash
......@@ -83,6 +88,7 @@ AMI configuration
permit=X.X.X.X/255.255.255.255
read = system,call,log,verbose,command,agent,user,dtmf,originate,dialplan
write = system,call,log,verbose,command,agent,user,dtmf,originate,dialplan
writetimeout = 10000
* And reload the AMI :
......@@ -116,7 +122,7 @@ Customizations in the web interface
-----------------------------------
* Create a user *xuc* in :menuselection:`Services -> IPBX -> Users` with the following parameters:
- CTI login : xuc
- CTI password : 0000
- profil supervisor
......@@ -186,7 +192,7 @@ Containers installation
.. code-block:: bash
wget https://gitlab.com/xivoxc/packaging/raw/master/install/install-docker-xivocc.sh
wget https://gitlab.com/xivo.solutions/packaging/raw/master/install/install-docker-xivocc.sh
bash install-docker-xivocc.sh
During the installation, you will be asked for :
......@@ -196,6 +202,9 @@ During the installation, you will be asked for :
- the number of weeks to keep for the recording files
- the external IP of the machine (i.e. the adress used afterwards for http URLs)
The number of weeks to keep statistics **must be higher** than the number of weeks to keep recordings.
Recording purging is based on the statistic data, so the statistic data must not be removed before purging recordings.
Create the following alias in your .bashrc file:
.. code-block:: bash
......@@ -214,25 +223,25 @@ Check also that the **XIVO_CTI_VERSION** is correct for the xuc container.
xivo_replic :
image: xivoxc/xivo-db-replication:2016.03.latest
xivo_stats :
image: xivoxc/xivo-full-stats:2016.03.latest
pack_reporting:
image: xivoxc/pack-reporting:2016.03.latest
config_mgt:
image: xivoxc/config-mgt:2016.03.latest
recording_server:
image: xivoxc/recording-server:2016.03.latest
xuc:
image: xivoxc/xuc:2016.03.latest
environment:
- XIVO_CTI_VERSION=2.1
xucmgt:
image: xivoxc/xucmgt:2016.03.latest
......
......@@ -12,17 +12,17 @@ Note: The voip vlan network have to be accessible by the xivocc xuc server
Supported phones
================
+-----------------+---------------------------------------------------------------------------+
| Manufacturer | Function |
| +--------+--------+------+------------+-------------------+-----------------+
| | Answer | Hangup | Hold | Conference | Attended Transfer | Direct Transfer |
+=================+========+========+======+============+===================+=================+
| Snom 7XX | OK | OK | OK | OK | OK | OK |
+-----------------+--------+--------+------+------------+-------------------+-----------------+
| Polycom VVX | OK | OK | OK | NO | OK | OK |
+-----------------+--------+--------+------+------------+-------------------+-----------------+
| Yealink T4X | OK | OK | OK | NO | OK | OK |
+-----------------+--------+--------+------+------------+-------------------+-----------------+
+--------------------------+---------------------------------------------------------------------------+
| Manufacturer | Function |
| +--------+--------+------+------------+-------------------+-----------------+
| | Answer | Hangup | Hold | Conference | Attended Transfer | Direct Transfer |
+==========================+========+========+======+============+===================+=================+
| Snom 7XX | OK | OK | OK | OK | OK | OK |
+--------------------------+--------+--------+------+------------+-------------------+-----------------+
| Polycom VVX | OK | OK | OK | NO | OK | OK |
+--------------------------+--------+--------+------+------------+-------------------+-----------------+
| Yealink T4XG, T4XP, T4XS | OK | OK | OK | NO | OK | OK |
+--------------------------+--------+--------+------+------------+-------------------+-----------------+
* NO - Not available
......@@ -88,3 +88,28 @@ Update Device Configuration
.. _provisioning : http://documentation.xivo.fr/en/stable/administration/provisioning/adv_configuration.html
.. _phone_integration_limitations:
Known limitations
=================
Phone integration with Agent and Web / Desktop Assistant has these limitations:
Transfer with Snom
------------------
- Transfer button in Agent / Assistant must be pressed twice to complete the transfer
- If the second call was initiated from Agent / Assistant and the called user rejected the call, the first call will stay
hold until it is manually resumed
Transfer with Yealink / Polycom
-------------------------------
- If the second call was initiated from the phone, the transfer must be also completed from the phone. It can't be completed from Agent / Assistant.
- If the second call was initiated from Agent / Assistant, the transfer should be completed from there. It is also possible
to complete it by hanging up the phone but not by using the transfer key.
Conference with Yealink / Polycom
---------------------------------
- Conference can't be created from Agent or Web / Desktop Assistant
......@@ -49,6 +49,7 @@ The service will receive a POST request with a payload as ``application/json``,
},
"callee":"1000",
"caller":"1001",
"callDataCallId": "1471858488.233",
"queue":{
"id":2,
"name":"trucks",
......@@ -66,7 +67,8 @@ The service will receive a POST request with a payload as ``application/json``,
- ``user`` contains the connected user information
- ``callee`` contains the number called
- ``queue`` queue properties
- ``userData`` call data presented by Xivo
- ``userData`` call data presented by Xivo
- ``callDataCallId`` the caller call id
The Web service must answer with an ``application/json`` content. For example::
......
......@@ -176,6 +176,28 @@ This api allows to attach data to a given call
curl -XPOST -H "Content-Type: application/json" -H "Accept: application/json" -H 'X-Auth-Token: u@pf#41[gYHJm<]9N[a0iWDQQ7`e9k'
http://192.168.29.101:9400/call_data/761054/attached_data -d '[{"key":"color", "value": "green"}]'
Attach call data by unique id
-----------------------------
This api allows to attach data to a given call using the call unique id
**Description:**
:URL: ``/call_data/<call-id>/attached_data_by_uniqueId``
:Method: ``POST``
:Url parameters:
:call-id: The id of the call, not to be confused by the call-data id or unique id.
:Request Body: An array of key value
----
**Example**::
curl -XPOST -H "Content-Type: application/json" -H "Accept: application/json" -H 'X-Auth-Token: u@pf#41[gYHJm<]9N[a0iWDQQ7`e9k'
http://192.168.29.101:9400/call_data/1471858488.233/attached_data -d '[{"key":"color", "value": "green"}]'
History
=======
......
......@@ -971,6 +971,7 @@ Data is not propagated in the reporting database.
Note that *USR\_* prefix is added to the key, if the key does not start with it. Only attached data beginning with *USR\_* are sent back to the client API.
.. warning:: When transfering a call, these variables are attached to the new channel however to prevent propagation on all trunk channels, your trunk name must contain 'trunk' so they can be distinguished from sip devices.
.. _Cti.dial:
......@@ -1307,7 +1308,7 @@ There are for groups of events:
* outgoing.
List of associated events is defined in the `xc_webrtc.General`, `xc_webrtc.Registration`, `xc_webrtc.Incoming`, `xc_webrtc.Outgoing`.
See the xc_webrtc.js on https://gitlab.com/xivoxc/xucserver/blob/master/app/assets/javascripts/xc_webrtc.js.
See the xc_webrtc.js on https://gitlab.com/xivo.solutions/xucserver/blob/master/app/assets/javascripts/xc_webrtc.js.
The error state events contains a description in the reason field. Call establishment event contains `caller` or `callee` detail.
Use the sample page to see some examples.
......