Categories
Products Sangoma Software

Zulu UC – The Ultimate Desktop and Softphone integration for your Business

Zulu UC Desktop and softphone integration unifies the most popular business communication tools & applications enhancing user productivity and mobility. Designed specifically for FreePBX and PBXact phone systems, Zulu enables features such as:

  • Zulu Softphone enabling users to make/receive phone calls from their desktop or mobile stations, including Chat for team collaboration.
  • Faxing directly from the Zulu widget & softphone.
  • Click-to-call to make calls directly from your web browser and /or email client.
  • Call Pop for CRM and help desk integration.

Get Your Free Zulu 2 User FreePBX License, FreePBX Zulu UC 2 User Package is Free of Charge. Each User Package comes with 2 users good for 12 months.

Features


Click to Call

With Click-to-Call integration, users can instantly call any phone number that is seen on their web browser or MS Outlook client which a click!. Simply click on the phone number and Zulu will initiate an outbound call via the softphone client or your desk phone, whichever is with you at the time. Great for mobile users who come and go from their workstation.

Click-to-Call also recognizes extensions and phone number prefixes, so you never have to worry about having to modify the phone number or extension you wish to click to dial.

Call Pop

Ideal for CRM and Help Desk Integration, Call Pop will automatically open your desktop web browser on an inbound call with all the information of the caller. This feature helps users expedite phone calls and provide the caller with the best customer service experience.

* For additional CRM integration check out our CRM Link Module

Presence

Improve communication between staff members by allowing them to see each other’s presence via the Zulu Softphone. This feature can save your employees time by reaching out to members who they know are available to take their request.

Users can set their presence using a variety of pre-set statuses or create their own. And because Presence is server side, a user’s presence will be updated across all communication endpoints automatically too.

Zulu Softphone

At the Center of the Zulu is the all new softphone enabling users to take their office with them and never miss a call.

  • Make and receive phone calls using Desktop
  • Send and receive FAX*
  • Control Presence status which will update your status on all your devices
  • Flexible Calling Options- generate a phone call from either the client on your desktop or your desk phone. Great for mobile users who come and go from their workstation.

Faxing requires the Fax Pro Module

Chat

The Zulu UC Softphone features integrated Chat functionality so that staff members can communicate with each other more effectively. Features like 1-to-1 messaging, group chat, file transfer and auto-archiving will improve employee collaboration and improve business results. Finally, one tool to do it all!

*Compatibility
Operating System: Zulu UC is compatible with Windows, Mac and Linux operating Systems. Browsers: Click-to-call and Screen POP work with Firefox and Chrome (Safari coming soon).

Categories
Knowledge Base Sangoma

Building FreePBX CallCenters

Leo D’Alessandro, Product Marketing Manager at Sangoma, and Frederic Dickey, VP of Product Management at Sangoma, will in this webinar explain how to build an efficient contact center cost-effectively with Sangoma’s FreePBX / PBXact UC.

In this webinar, you’ll learn how the many ways FreePBX / PBXact UC can solve your contact center requirements:

• How calls are best routed using call queues
• Maximizing Agent Productivity and Customer Satisfaction with automated Queue Callbacks
• Integration with desktop and CRM
• Monitoring live call metrics
• Reporting tools to analyze overall performance

WEBINAR: Building Your Contact Center with FreePBX / PBXact UC from Sangoma on Vimeo.

Categories
FreePBX Knowledge Base

Post call emailing of Call Recordings in Freepbx

In freepbx there is a feature that is quite well hidden but actually does a very useful job.

In The “Advanced Settings” page if you enable both “Post Call Recording Script” As the name suggests this is a script that run after a recorded call has ended. We created a script called postrecord.sh and in the text field on the menu we have put as below. This emails both inbound and outbound calls.

For calls to and from an extension we can pull the email address from the voicemail.conf and send the email to that address.

Its also set to delete the wav file away after a defined number of days.

/usr/local/sbin/postrecord.sh ^{TIMESTR} ^{FROMEXTEN} ^{CALLFILENAME} ^{UNIQUEID} ^{ARG3}

The Script below will first convert the recording then email it to you or your customer.

A couple of prerequisites are required, these are sox and lame. sox is probably already installed, lame maybe not.

Installing Lame is simple for centos as below.

wget http://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz tar -zxvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make
make install

The script is fairly simple as below. the main variables are passed to it but we build the directory structure on the fly and file extension is fixed as wav. you can set the file_age variable to delete the wav file messages over that many days old.

  • Be careful if cutting and pasting this scripty as wordpress may have wrapped some lines
#!/bin/bash
#This script emails the recorded call right after the call is hung up. Below are    the variables passed through asterisk
# $1 - Time String
# $2 - Source
# $3 - File
# $4 - unique id
# $5 - Destination
# $dt - Date and Time
/bin/nice /bin/sleep 3
dy=$(date '+%Y')
dm=$(date '+%m')
dd=$(date '+%d')
file_age=35

dtpath=/var/spool/asterisk/monitor/$dy/$dm/$dd/
/bin/nice /usr/local/bin/lame -b 16 -m m -q 9-resample $dtpath$3.wav  $dtpath$3.mp3
/bin/nice /bin/chown  asterisk:asterisk $dtpath$3.mp3
dt=$(date '+%m/%d/%Y %r');
id=$(mysql -uUser -pPassword -s -N -e "SELECT descr from asterisk.queues_config where extension = $5");

email=recordings@yourdomain.com

file=$dtpath$3

if [ "$id" = "" ]; then
     direction=callers 
            id=$(mysql -uUser -pPassword -s -N -e "SELECT name from asterisk.users where extension = $2");

  IN=$(/bin/grep "$2 =>" /etc/asterisk/voicemail.conf)
              echo $IN
               set -- "$IN"
               IFS=","; declare -a Array=($*)
               email=${Array[2]}

            else

            direction=customers    
            fi

echo -e "You have a new call recording to listen to\n\n
 The call date and time was: $dat \n\n 
 The call was from: $2 \n\n The call was to: $5 \n\n
 The $direction name was: $id \n\n
 And the unique call id was: $4 \n\n
 Please see the attached file \n\n" | mail -a $file.mp3 -s "New Recording at $dt" $email 

/bin/nice /usr/bin/find /var/spool/asterisk/monitor/  -type f -mtime +"$file_age" |grep wav | \
while read I; do
              /bin/rm  "$I"
done
Categories
Case Studies Knowledge Base QueueMetrics Support

QueueMetrics

We have recently installed and customised a Queuemetrics solution for a customer. Their key reason for choosing Queuemetrics was the ability to use dynamic agents without the need of major Elastix reprogramming and a clear and simple interface.

It was also decided that users needed to be able to log into the system from their handsets as well as from a web interface, as the customer is hoping to roll out an agent portal in the future.

To enable Hotdesk the  following setting has to be set similar to below

# The value is interval time (in seconds) used by the analyzer to look back searching HOTDESK verbs in the queue log
default.hotdesking=86400

This meant some additional dialplans to allow logging in & out and pausing.

These are similar to the dialplans that the web portals use except that they have prompts and they also have to store the extension and agent id in the asterisk database.

;added dialplan for queuemetrics
; Add Member - 422
; User is asked for their loging agent id
exten => _422XXXX,1,Answer
exten => _422XXXX,2,Read(AGENTID,agent-login,4,,1,6)
exten => _422XXXX,3,Gotoif($["${AGENTID}" = ""]?end)
exten => _422XXXX,4,GotoIf($[${LEN(${AGENTID})} != 4]?2)
exten => _422XXXX,5,set(DB(qmagent/${CALLERID(num)})=${AGENTID})
exten => _422XXXX,6,Macro(queuelog,${EPOCH},${UNIQUEID},NONE,Agent/${AGENTID},HOTDESK,SIP/${CALLERID(num)})
exten => _422XXXX,7,AddQueueMember(${EXTEN:3:4},SIP/${CALLERID(num)})
exten => _422XXXX,8,SayDigits(${AGENTID})
exten => _422XXXX,9,Playback(agent-loginok)
exten => _422XXXX,10(end),Hangup
; Remove Member - 423
exten => _423XXXX,1,Answer
exten => _423XXXX,2,set(DEL_AGENT=${DB_DELETE(qmagent/${CALLERID(num)})})
exten => _423XXXX,3,RemoveQueueMember(${EXTEN:3:4},SIP/${CALLERID(num)})
exten => _423XXXX,4,Playback(agent-loggedoff)
exten => _423XXXX,5,Hangup
; extension 32: agent pause with hotdesking (with pause code)
exten => _32XX,1,Answer
exten => _32XX,2,set(AGENTCODE=${DB(qmagent/${CALLERID(num)})})
exten => _32XX,3,NoOp( "QM: Pausing Agent/${AGENTCODE} at extension SIP/${CALLERID(num)} with pause reason '${EXTEN:2:2}' made by '${QM_LOGIN}' " )
exten => _32XX,4,PauseQueueMember(,SIP/${CALLERID(num)})
exten => _32XX,5,System( echo "${EPOCH}|${UNIQUEID}|NONE|Agent/${AGENTCODE}|PAUSEREASON|${EXTEN:2:2}" >> /var/log/asterisk/queue_log )
exten => _32XX,6,Playback(dictate/paused)
exten => _32XX,7,Hangup
; extension 33: agent unpause with hotdesking
exten => 33,1,Answer
exten => 33,2,NoOp( "QM: Unpausing Agent/${AGENTCODE} at extension SIP/${CALLERID(num)} made by '${QM_LOGIN}' " )
exten => 33,3,UnpauseQueueMember(,SIP/${CALLERID(num)})
exten => 33,4,Playback(dictate/pause)
exten => 33,5,Playback(removed)
exten => 33,6,Hangup

These need to be added to your extensions_custom.conf file in a context that’s included in the from-internal  context.

Also a change has to be made to the dialplans in the extensions_queuemetrics.conf to store and delete the database entry as well.

The system has proved to deliver what was expected and will shortly be expanded to track outbound calls and the addition of custom wallboards similar to what we recently produced for another customer.

If you would like to talk about adding QueueMetrics to your Asterisk system or are looking for a complete phone system and queuemetrics platform please contact us.

Categories
IPPBXs Products Services

Multi User Hosted PBX

Use the Internet to make calls – it’s simple, cost effective, and perfect for small businesses and call centres.

Voice over Internet telephony reduces telephony bills; connects mobile, remote and office workers; and gives a consolidated impression of your business – same number no matter where employees are located.

From 2 to 10 people wanting to stay in touch, Our feature-rich packages can offer a local or International number from which to operate – or you can bring your old number with you (number porting). There are also a wide range of add-ons that offer inclusive minutes. We can go through setting it up for you or you can do it yourself. To signup follow this link or call us on 01225580025

  • Multi User VoIP £8.00 per month
  • 4000 UK landline minutes £ 20.00 per month Lower amounts available
  • 4000 UK & International landline minutes £25.00 per month
  • 500 UK mobile minutes £30.00 per month

*Prices exclude VAT.

Key features

An online customer control panel allows you to manage your own account, and you can expand the system when ever you need to. All you need to get started is broadband, a router, and an adapter or a VoIP phone.

  • Make immediate savings: Free internal calls. Competitively priced calls and inclusive landline and mobile minutes package add-ons.
  • Quick and easy to set up: No difficult installations.
  • Excellent call quality: With no compromising on functionality.
  • Never be out of touch: Call forwarding available.
  • Keep your old number: Seamless transition with ‘number porting’.
  • Global presence: International numbers available.
  • Stay in control: Online customer administration, call logs and invoicing.
  • Voicemail and voicemail notification
  • Call forwarding to any number including mobiles
  • Online contacts directory, call logs and invoicing
  • Customised CLI (caller line identity)
  • Time of day routing

 

Features

  • Set up £4.99
  • Monthly £8.00
  • Included phone number UK and International*
  • Concurrent calls per number 2
  • Internal extensions 10
  • Call packages FREE VoIP-to-VoIP
  • 999 Emergency Services access YES
  • Minimum contract length 12 months
  • Voicemail YES
  • Voicemail notification SMS or Email
  • Call forwarding YES
  • Codecs supported G729a, G711u, G711a
  • Online call logs and invoicing YES
  • Online contact directory YES
  • Customised CLI (caller line ID) YES
  • Time of day routing YES
  • Audio call conferencing YES
  • IVR/Auto-attendant YES
  • Music on hold YES
  • Hunt call groups YES
  • 4000 UK landline minutes add-on £20.00 per month
  • 4000 UK & Int. min. add-on £25.00 per month
  • 500 UK Mobile minutes add-on £30.00 per month
  • Additional Number^^ £3.00 per month
  • Personal Number** £10 setup, £10 per month

* Surcharges apply for International numbering.

^ Subject to fair use check at 4000 minutes per month.

^^ Can only point at a Gradwell VoIP number on the same account, they can act as a mainline phone number however they must take an existing route. Please note that they cannot be used to increase concurrent calls.

** Can only point directly at an extension number. You cannot direct these numbers towards hunt groups, call queues or any other type of functionality. Does not provide an additional line.

All phone services (inc Unlimited packages) are subject to Terms and Conditions and standard call charges. All prices exclude VAT. Range of hardware and accessories available.

 

Categories
Asterisk Support Elastix Support Knowledge Base Technical

Running a Macro on answer for Asterisk queues.

asteriskThe Asterisk Queue application has an option that will run a macro on answer, This can be very useful when integrating with CRM such as Capsule or call centre applications.

This option isnt included in freepbx, Though this can be hand coded it isn’t best to do this when using Elastix, AsteriskNoW or any other freepbx based system.

To add this option We have written a couple of patched versions of the relevant freepbx pages that can be downloaded here , You will also need to add a extra field to the mysql database as follows

  1. Log in to mysql:   mysql -u root -p
  2. Enter password
  3. mysql> use asterisk
  4. mysql> ALTER TABLE `queues_config` ADD `qmacro` VARCHAR( 255 ) NULL;
  5. mysql> describe queues_config;

You should now have something like this:- | qmacro | varchar(255) | YES | | NULL | | as the last line of the table.

Now download the tar file and unpack it. then copy the two files to the /var/www/html/admin/modules/queues directory.

On loading the queue page in freepbx you will now have the “Queue macro on answer” box

queuemacro

In this box you put the macro name you wish to run when a member answers a call.

For example:-

[macro-logit]
exten => s,1,Noop( capsule crm intergration ${crminfo} ${CALLERID(all)})
exten => s,n,Set(foo=${CURL(http://127.0.0.1/directory/capsual.php?strCallid=${crminfo})})
exten => s,n,Noop(${foo})
exten => s,n,Hangup()

This a simple dialplan that runs a php script to log calls to the capsule crm

capsual.php

<?php
$today = date(“F j, Y, g:i a”);
$duedate1 = date(“Y-m-d”);
$duedate2 = date(“H:i:s”);
$Token = ‘YOUR CAPSUAL API CODE’;
$number = $_GET[‘strCallid’];
$datetime = $today;
$duedate = “$duedate1″.”T”.”$duedate2″.”Z”;
echo $duedate;
$myxml=”<?xml version=”1.0″ encoding=”UTF-8″?>n
<task>n
<description>Call recieved from $number at $datetime. Please update and assign this task if required</description>n
<dueDateTime>$duedate</dueDateTime>n
<category>incoming call</category>n
</task>”;
// The URL to connect with (note the /api/ that’s needed and note it’s person rather than party)
// SEE: http://capsulecrm.com/help/page/api_gettingstarted/
$capsulepage = “https://youraccount.capsulecrm.com/api/task”;
echo $capsulepage;
echo $number;
// Initialise the session and return a cURL handle to pass to other cURL functions.
$ch = curl_init($capsulepage);
// set appropriate options NB these are the minimum necessary to achieve a post with a useful response
// …can and should add more in a real application such as
// timeout CURLOPT_CONNECTTIMEOUT
// and useragent CURLOPT_USERAGENT
$options = array(CURLOPT_USERPWD => “$Token:x”,
CURLOPT_HTTPHEADER => array(‘Content-Type: application/xml’),
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $myxml
);
curl_setopt_array($ch, $options);
// Do the POST and collect the response for future printing etc then close the session
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);
echo $responseInfo;
echo $response;
?>

Have fun

 

Categories
Handsets

Digium Handsets

The Only Phones Built Specifically For Asterisk

  • asteriskEasy provisioning from Asterisk or AsteriskNOW
  • Integrated with Asterisk voicemail, directory, parking, call recordings, call queues and more
  • Build custom phone apps with a simple JavaScript API

Digium’s family of IP Phones are the first on the market built specifically for use with Asterisk and Asterisk-based systems. All models include HD audio and plug-and-play deployment at a price that fits any budget. With multiple line appearances, context-aware soft keys, and advanced applications that integrate directly with Asterisk features, the Digium phones offer a better user experience than any other phone on the market.

Asterisk Phone Features

Smart Software

Access to information is the key to productivity in today’s business environment. The integrated applications that come standard with all Digium phones put critical information at your fingertips. With voicemail, call log, contacts, phone status, user presence, parking, call recording and call queue interface, the Digium phones provide simple, intuitive access to a wealth of information, saving valuable time.

 Simplified Provisioning

Standards-based IP phones have a reputation for being difficult to install and configure. Most systems require changes to network configurations or additional components to facilitate deployment. Digium phones support plug-and-play provisioning. Simply plug in the phone and it will automatically discover Asterisk systems on the network. Select the user you want to assign to the phone and the proper configuration is instantly loaded. For larger deployments you can pre-assign phones by tying a MAC address to an Asterisk user. It’s that simple.

Custom Applications

Most desktop phones come with a fixed feature-set that is determined exclusively by the manufacturer. Digium phones are different. All models include the Digium app engine, an innovative feature that makes it remarkably simple to build and deploy custom apps. All of the productivity apps that ship with a Digium Phone are written with the JavaScript API that is used by the app engine. A BETA version of the phone firmware with app development tools is available at phones.digium.com, along with documentation for developing your custom apps.

Getting Started With Digium Phones

Get AsteriskDigium phones will work with any version of Asterisk. However, we’ve added some compelling features that are only available today in Asterisk 11 or in special branches of Asterisk 1.8 (seeCertified Asterisk) and Asterisk 10 (the -digiumphones branch). To take advantage of simple provisioning, integrated applications and the app engine, you will need to use one of these versions

Call or email for sales enquiries 

Categories
Elastix Support Knowledge Base

Setting up extensions in Elastix

Elastix Asterisk IPPXThis is a short video on the setting up of extensions on the Elastix Asterisk based IPPX.

 

Categories
Blog Case Studies Knowledge Base

Simple CRM integration.

CRM’s have changed a lot since the days of ACT and Goldmine costing many thousands of pounds, for example a 3 user licence for Goldmine is $2700 and $430 a year, compare that to a SaaS solution, for example Capsule is $12 a month you can see why users are flocking to reasonably prices web solutions.
Capsule being web based is accessible anywhere you want on PC, Tablet or smartphone, it also integrates with other services such as LinkedIn, Twitter or if you wanted Facebook. It integrates with other SaaS products such as Kashflow and Mailchimp to name but a few allowing accounting direct mailing and contacts to all be linked.

capsule-logo-on-blackSo why did we suddenly show interest in these again. Well we were contacted by business who used another CRM package and wished to migrate to Capsule but wanted to be able to call direct from the application. This feature is not available at the moment with Capsule, But we have previously used a Firefox plugin called greasemonkey that can rewrite pages and convert numbers it recognises into clickable links. On investigation there is a similar product for Chrome called Tampermonkey and they are compatible scriptwise. With minor changes to our CyJax dialer script we got this working on elastix as well as a modified version for users of Gradwell‘s hosted VoIP solution. With this script now installed Capsule allows simple click dialing of contacts from the database.

On Asterisk we have automated the updating of the contacts history notes with details of the Call, The notes are linked to the Case or opportunity that you were working on if you dialled out from case notes. Also we can track incoming calls** so that they show up in Capsule, at the moment they show up as a task as you cannot create a History note with out an owner but this hopefully will change if the Capsule API is extended . This means no more trying to remember when you called someone its all there.

We have recently extended this to now log callback requests from callers who dont want to wait in a queue. This additional feature is important as it lets people keep track of the callback requests dialing them, assigning them to a contact and adding further detail.

** To Track incoming calls required changes to the freepbx module in Elastix so that a macro is called on answer, Details on setting this support and patching Elastix is available  here

The scripts are available for free download at userscripts.org you will see that these are only scripts for your browser, If you want the server script for your ippbx please contact us to discuss this.

 

Categories
Knowledge Base Technical

Installing Webdav on Centos with untrusted ssl certificates

Webdav (Web-based Distributed Authoring and Versioning) is a set of methods based on the Hypertext Transfer Protocol (HTTP) that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers.This can be useful to allow backing up of data between servers. In Linux there is a command line client called cadaver that in theory allows you to script its use.

This isnt as staight forward as it could have been and we spent half a day and a lot of Googling to get to the bottom of common problems, Such as auto loging in, Untrusted ssl certificates and scripting.

So here is a simple run down on what you have to do to script with webdav and cadaver

Install cadaver

yum install cadaver

once installed you will need to install the certificate for the untrusted ssl site

for example
wget http://website/untrusted.server.com.cer
now convert this to a .pem file
openssl x509 -inform der -in untrusted.server.com.cer -out untrusted.server.com.pem

now add this to your cert.pem file.

in centos this seems to be in the  /usr/share/ssl/ directory
cat untrusted.server.com.pem >> /usr/share/ssl/cert.pem

you now need to edit the ./netrc file with the server and logon details
vi ~/.netrc

machine untrusted.server.com
login   user
password        secret

save the file.

now when you connect you wont be promted for accepting the certificate or a username and password

cadaver -et  https://untrusted.server.com
dav:/>

Ok now we want to script the actions.
This is as simple as creating a script file.

for example

vi ~/.cadavscript
ls
pwd
quit

will give the following output

cadaver -et  https://untrusted.server.com/ < ~/.cadavscript
dav:/> Listing collection `/’: succeeded.
test.txt                              35  Aug 19 15:04
dav:/> Current collection is `https://untrusted.server.com/’.
dav:/> Connection to `untrusted.server.com’ closed.

So create a script to do what you want and your done