WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC Agent Console
-
Upload
adriano-carvalho -
Category
Documents
-
view
458 -
download
3
Transcript of WebRTC Agent Console
-
WebRTC Agent Console Manual
Rev 1.1
1
WebRTC Agent Console
Manual
-
WebRTC Agent Console Manual
Rev 1.1
2
Introduction.
Thank you for installing the addon WebRTC Agent Console. This addon enable another Agent console
for the Elastixs Call Center Module, but this console has an embedded telephone and instant messaging service based on the WebRTC API SIPML5.
Background.
These set of RPMs install the Doubangos media gateway Webrtc2sip and edit/add the agent console to provide a phone based on the Doubangos WebRTC API SIPML5.
Notes.
You need to login in the Agent Console with the mode Callback Login, because the API is a javascript code. If you reload the page the connection between the API and the sip server will be lost.
Since the support of the WebRTC API is very limited you need to wor5k only with Google Chrome
browser.
Dependencies Table.
Package Dependency Description
elastix-agent_console_webrtc-0.1-
1.noarch
webrtc2sip, elastix-callcenter Provides the embedded phone based
on the sipml5 api.
webrtc2sip-2.5.1r114-DMv1-
Elastix.i386.rpm
Screen, doubango framework Provides the media gateway
webrtc2sip mandatory to convert
websocket to sip signaling.
doubango-2.0r985-DMv1.i386.rpm Libtool, ffmpeg, openssl, libvpx, libsrtp Provides the framework for the media
gateway webrtc2sip.
ffmpeg-1.2-DMv1.i386.rpm Libvpx, x264, yasm, libvpx Provides the conversion tool for the
framework.
x264-snapshot20130810.2245-
DMv1.i386.rpm
Provides the x264 codec to the
framework.
libvpx-1.2.0-DMv1.i386.rpm Provides the VP8 codec to the
framework.
yasm-1.2.0-DMv1.i386.rpm Needed to compile FFMPEG.
libsrtp-1.4.5-DMv1.i386.rpm Provides the secure layer to the
framework.
libtool-2.4.2-DMv1.i386.rpm Provides the tool for compiling the
framework.
-
WebRTC Agent Console Manual
Rev 1.1
3
Installation.
In order to install the addon go to the Elastixs Market Place and download it, from console run the next command:
yum install y elastix-agent_console_webrtc-0.1-1.noarch
Chat service configuration.
All chat messages use the SIP signaling, and is the Asterisk who handle, process and deliver each text
message. You need the Asterisk 11.5.0 version in order to handle the text messages if you have an
earlier/old version of asterisk the chat service will not work.
To enable the text messages handler in the PBX follow the next steps:
1. Enable the "UNEMBEDDED PBX" access. Go to the menu SECURITYAdvanced and en-able the access.
2. Go to the menu PBXUnembedded PBX and login using the credentials of the last step. 3. Go to the menu "tools" 4. Go to the submenu "Asterisk Sip Settings"
-
WebRTC Agent Console Manual
Rev 1.1
4
5. Add the field: accept_outofcall_message = yes 6. Press the button Add Fields. 7. Add the field: outofcall_message_context = sipsms
8. Save and Reload.
-
WebRTC Agent Console Manual
Rev 1.1
5
Working with the console.
When the installation of the addon finishes you need to configure the call center module to work in
CallBack Login Mode as described in the official manual(http://www.elastix.org/index.php/en/product-information/manuals-books.html#iccelxen).
Now in the Call Center menu will appear a new submenu called: WebRTC Agent Console:
-
WebRTC Agent Console Manual
Rev 1.1
6
When you are logged in, you will see this new agent console(remember login with the Callback login mode):
The place of the webphone.
Place of the chat window.
-
WebRTC Agent Console Manual
Rev 1.1
7
Phone Elements.
Text field for dial. Here you will see all pressed digits before and during the call session.
The label with the connection status. Here you will see the current status of the connection
with the asterisk server.
Dialpad. Used for sending digits before or during the call session.
Call button. On outgoing calls is used to send the call to the sip server. On incoming calls the
text will change to Answer and is used to answer the call.
Hangup button. On active call session is used to terminate the call. On incoming call the text
will change to Reject and is used to decline the incoming call.
The call status label. Here you will see the progress of the current call.
-
WebRTC Agent Console Manual
Rev 1.1
8
Chat Window.
The SIP list contact. Here you will see all the created peers on the PBX menu, it is important to
note that many of those peers maybe arent using the webrtc console, so sending messages will be useless. When you change between peers on the list the chat window will be erased.
Sent messages. All sent messages will look as in the image preceded by the symbol >.
Received messages. All received messages will look as in the image preceded by the hour and
the peers number.
Text field to write the message.
Send button. You can use the button to send the messages or just press the key ENTER.
-
WebRTC Agent Console Manual
Rev 1.1
9
Allow the media in the browser.
On the first call, doesnt matter if it is outgoing or incoming call you need to allow the use of the media hardware in the browser. This is mandatory; if you deny the access you cant receive or make calls with the webrtc console.
When you receive or make a call you will see a popup under the URL field asking for your permission,
click the Permit/Allow button in order to make or receive the call:
Outgoing call Incoming Call
-
WebRTC Agent Console Manual
Rev 1.1
10
Gateway WebRTC2SIP.
This addon use the media Gateway webrtc2sip to connect the web browser with the asterisk server.
The gateway ran during the installation process and its added to the startup of the system. The gateway
runs behind a screen session, and you can access the session by running the command:
screen r wrtc
To leave the screen session without stopping the gateway use this key combination: CTRL+A+D.
Stopping the Gateway.
To stop the gateway you need to access to the session with the command:
screen r wrtc
Then type: quit+ENTER.
When you stop the gateway no one can use the webrtc agent console.
Starting the Gateway.
If you stopped the gateway for debugging or anything else and then you need to start again the gateway
run this command:
screen -dmS wrtc /usr/local/sbin/webrtc2sip --config=/usr/local/sbin/config.xml
-
WebRTC Agent Console Manual
Rev 1.1
11
Configuring the Gateway.
The gateway comes with a default configuration, but you can edit some parameters like the DNS or the
supported codecs.
The configuration file config.xml is located at /usr/local/sbin. To change the DNS parameters use your
preferred text editor and change the IP address between the text:
10.0.1.1 8.8.8.8
To change the codec list edit the next line
pcma;pcmu;gsm;
All changes requires a gateway restart, if you want to more help about configuring the gateway please
visit this URL: http://webrtc2sip.org/technical-guide-1.0.pdf
-
WebRTC Agent Console Manual
Rev 1.1
12
FAQS
1. Do I need internet access, even if I am on a local network?
Yes, you need internet Access in order to use the ICE servers. The ICE server set the IP address
to use in the SDP transaction.
2. I am on a local network, but the SDP show and use my Public IP and that result in no audio at all. What can I do?
For some reason the ICE server set the Public IP to use in the SDP and this result in no audio in
the conversation, to fix this you need to edit the follow file:
/var/www/html/modules/agent_console_webrtc/themes/default/js/ml5.js
Uncomment the ICE server line and replace with this line:
ice_servers: [{url:stun:null}],
With that the SDP will use always the local IP.
3. An incoming call arrives, I answer, but there is a delay in the audio. What can I do? This happen when the ICE servers arent finished to set the IP address, in a local network the workaround is the solution of the question 2. For a public network there is no solution yet.
4. The gateway supports the G729 codec? No, for now the gateway only support the codecs G711, GSM and some video codecs.
5. All the standard functions of the call center module are available? Yes, the behavior of the webrtc console must be the same as the normal console.
6. I can receive call but when I made an outgoing call the call never reach the asterisk server. What can I do?
This can happen when the gateway cant resolve the hostname asterisk, to fix that open the file /etc/hosts and add in the localhost section the word asterisk.
-
WebRTC Agent Console Manual
Rev 1.1
13