Skip to content

Connecting phones and calling

Frank Woeckener edited this page Nov 17, 2014 · 6 revisions

A typical inbound call flow looks like this:

  • A Customer calls into the IVR menu and chooses a language and topic/skill.
  • The scheduler looks for agents, who are online and match the customer's choice.
  • The next agent is connected to that customer, who's been waiting the longest.
  • Customers, who can't be served timely, can optionally leave a voice message.

Depending on the flavor of your installation (Vagrant VM or production host), you have multiple options to connect phones and do inbound/outbound calls.

If you configured an external SIP trunk in a production environment, it will be used to queue inbound calls and place outbound calls. Generally, the admin account (default extension: 999) should be used to do test calls to the IVR menu. You can do that by dialing the number 00 with a SIP phone connected to the Voice stack.

Creating new agent accounts

Login to the web interface with the admin credentials, that you used for the initial setup. The URL would be https://voice01.wimdu.com if you followed the VM setup.

Go to the Agent List tab and click on Add an Agent. Fill in the form at least with the agent's name, email and password. Also, choose the Agent role from the selection. If you leave out the SIP details, the server will use the next free extension and a random password. Agents can change every setting but role and email address later on.

voice-01

Connecting SIP phones for agents

The Voice platform currently supports one(1) SIP phone per agent. Registering more than one device will yield unexpected results. We know the soft-phones Blink (lite/pro) and Counterpath Bria/X-Lite and the hard-phone Grandstream GXV3140 to work well, but most other solutions should do just fine.

This image shows a configuration for Blink Pro used with the VM setup:

voice-02

Use these details for your account:

  • the agent extension as login name, e.g. 999 or 101,
  • the SIP secret as password, you can reset it with your agent form,
  • the hostname or external IP address of your setup as SIP proxy,
  • the display name — should be the agent's full name,
  • In production, activate TLS (port 5061) for session encryption.

In the example, we had to use the literal IP address 33.33.33.100. Blink failed to resolve the host voice01.wimdu.com via DNS, because we just added that to our /etc/hosts file.

Be aware that the platform will lock IP addresses with repeated failed login attempts for a while. This has practically no effect for the desktop role (default for VM setups) but will block you effectively in production environments. You can add your static external IP to a whitelist to avoid that.

Do the first test calls

Apart from the default admin account you need at least one active agent to conduct a call cycle. Login with that agent and set her/his availability to ready. Also, activate some of the languages and skills (see picture below).

Now, with the admin's SIP phone, call 00. You'll be connected to the IVR menu. Choose a combination, that your agent supports. After some seconds, your agent's phone will start ringing. When you take up the call, you'll see the customer record for the admin user in the web front-end.

voice-04

If you don't have two distinct soft-phones at hand, you can use the browser based phone for your agent. Handling both call legs with just one SIP application usually doesn't work out very well.

Connections with external SIP trunks/Skype

tbd.

Connections with the inbuilt WebRTC phone

To test the browser based WebRTC phone, request a trial license for the Flashphoner WebCallServer. You'll get a code in this format via email: 11111111-2222-3333-4444-555555555555 — use that in the activation script:

> vagrant ssh
$ cd /usr/local/FlashphonerWebCallServer/bin
$ ./activation.sh
$ svr flashphoner

The svr command restarts the flashphoner service. Now, as an agent, turn the switch
Use the web-phone in Dashboard/My Settings on (see picture below). Give the browser microphone access for the Voice application. Incoming calls will bring up a dialog, that allows you to take up the phone.

voice-03

Remember to de-register any other soft-phone for this agent before you activate the browser setting (see note above).

This solution is very handy for testing and development, because it frees you from having multiple SIP phones at hand. However, we found that coupling the call connection to the current browser instance is not very convenient for production use.

Which audio codecs are supported?

tbd.

Notes on TLS/sRTP encryption

tbd.