WebRTC Agent Console

download WebRTC Agent Console

of 13

Transcript of WebRTC Agent Console

  • WebRTC Agent Console Manual

    Rev 1.1

    By [email protected]

    1

    WebRTC Agent Console

    Manual

  • WebRTC Agent Console Manual

    Rev 1.1

    By [email protected]

    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

    By [email protected]

    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

    By [email protected]

    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

    By [email protected]

    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

    By [email protected]

    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

    By [email protected]

    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

    By [email protected]

    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

    By [email protected]

    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

    By [email protected]

    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

    By [email protected]

    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

    By [email protected]

    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

    By [email protected]

    13