Categories
Blog FreePBX Knowledge Base

Running Subroutines on answer for Queues

Some years ago we wrote a post on running macros on queue answer here. this was very useful for integration with backends, At the time we raised a feature request to get it added to Freepbx, But this never happened.

Now the variable QGOSUB is in the dialplan for freepbx queues, But still there is no way of setting this in a default freepbx installation and it requires a snip-it of custom dialplan that is called from freepbx by a ‘custom destination’ . For example at its simplest the dialplan to set it could be :-

[qmacro-set]
exten => .,1,Noop(ians test) 
exten => .,n,Set(_QGOSUB=ians_routine) 
exten => .,n,Goto(app-daynight,1,1)  

and this sets the variable for all channels in this call, and when the Queue command is run in the default freepbx dialplan

Queue(9471,${QOPTIONS},,${QAANNOUNCE},${QMAXWAIT},${QAGI},,${QGOSUB},${QRULE},${QPOSITION})  

This allows simple or more complicated routines to be run. For example sending an email on answer which was a request we had that caused us to revisit this.

[ians_routine]
exten = s,1,Set(origtime=${EPOCH})
exten = s,n,Noop(${CHANNEL})
exten = s,n,Set(Agent11=${CUT(CHANNEL,@,1)})
exten = s,n,Set(Agent12=${CUT(Agent11,/,2)})
exten = s,n,Noop(${Agent11} , ${Agent12} )
exten = s,n,Set(fulltime=${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)})
exten = s,n,system(echo "There has been a call , Callers Details: ${CALLERID(number)} ,  ${CRM_SOURCE} , Date and Time: ${fulltime} ,  Agent: ${Agent12} ,Timestamp: ${origtime} , Queue Number: ${QUEUENUM} " | mail -s "failed recall at ${fulltime}" email@address.com)
same = n,Return()

If you think that you would like to be able to set this variable in the freepbx gui give it a vote https://issues.freepbx.org/browse/FREEPBX-22274

Categories
Applications FreePBX Handsets Software

Zulu UC, The ultimate communication and collaboration tool for FreePBX

Zulu UC is the ultimate communication and collaboration tool, enhancing work place productivity for on-site and remote workers.
With Zulu UC, you define your work place environment, enabling workstations, laptops and mobile devices with unified communication features, keeping you closely connected with all your colleague, where ever they are located.
Studies have shown that a large percentage of work place productivity happens when staff is out of the office, away from their desk. Zulu UC is there to make sure that you capture your creativity when it happens, wherever you are located.

Mobility
Zulu allows you to make and receive calls through your office extension as if you were sitting at your desk, reducing costs and allowing you to maintain your personal phone number.
Call Pop
Ideal for CRM and help desk integration, Call Pop automatically opens your desktop web browser on an inbound call with all the information of the caller, helping you provide better customer service.
Presence & Status
Change your status to let your colleagues know your availability. Your status update across all your endpoint devices too, letting users know whether you can take a phone call.
Click-to-Call
Click-to-Call allows users to instantly call any phone number that is seen on their web browser. Simply click on the phone number, and Zulu will initiate an outbound call via the desktop client or your desk phone.
Team Chat
Fully-featured one-to-one and group chat enables users to communicate without having to start a phone call. Zulu’s intuitive chat interface allows users to break off into phone call, fax, SMS, or transfer files. 
File Sharing
Collaborate more effectively by instantly sharing files with colleagues within the same interaction screen using the Zulu Desktop Client.

Zulu Desktop

Collaborate with colleagues and customers directly from your computer

Click-to-Call from your browser and other popular desktop applications

SMS and FAX (Requires Sangoma SIPStation service)
File sharing

Screen Pop for web-based help desks

Make/receive phone calls using your extension

Chat with colleagues using direct and group messaging

Phone System Contact list integration for Dial-by-Name

Presence control (Available, Chat, Away, DND, Not Available)

Unattended Transfer

Zulu Desktop can be Downloaded here

Most importantly its Secure

Zulu UC is designed with security in mind to protect you and your business from VoIP threats and toll fraud. 

It uses Transport Layer Security (TLS) to ensure end-to-end security from whichever device you are using Zulu. 

And User Setup has been Made Simple

Get setup with the Zulu Desktop Client in seconds. 

Simply download and install the Desktop or Mobile app then login with the user credentials. Or use the QR Code feature from within the end user UCP panel of PBXact or FreePBX.

View Installation Guide

For licence and installation information please email or call, Also subject to availability 2 user 1 year licences are available to trial the software for free

For you mobile phone see Sangoma Connect , A mobile softphone with all the features of deskphone.

Categories
Asterisk Support Covid-19 FreePBX Knowledge Base Remote Working

Disabling Router SIP ALG

With many companies asking their employees to work from home, a common problem when trying to use a sip phone on a home network is the SIP ‘helper’ or ALG, Here is some advice on how to disable it on the more common routers that you may encounter.

SIP ALG (Application Layer Gateway) modifies VoIP traffic with the aim of solving NAT and firewall related problems. SIP ALG does this by inspecting SIP packets and modifying SIP Header and SDP data.

Unfortunately, SIP ALG was poorly implemented in a lot of cases, which has lead to it causing more issues than it corrects and due to this, we believe that, in general, it is best disabled.

Note – Many routers will re-enable SIP ALG after being powered off and on, or sometimes after a firmware update, therefore if it has been disabled in the past, and you know that the router was recently updated and powered off and on again, then it is always a good idea to log in to the router and double check the setting.

Virgin SuperHub: SIP ALG cannot be disabled in the settings of SuperHubs. Please click here for advice troubleshooting issues with SuperHubs. 

BT: SIP ALG cannot be disabled in the settings of BT HomeHubs, but can be disable with BT Business Hub versions 3 and higher:

Disabling a BT Business Hub 5’s SIP ALG

Fritz!Box: SIP ALG can’t be disabled.

DrayTek routers: Log in to your DrayTek via Telnet using an SSH client such as Putty: http://www.putty.org/

Check if SIP ALG is Enabled or Disabled:

To check if SIP ALG is Enabled or Disabled enter this command: sys sip_alg ?

If SIP ALG is disabled a ” 0 ” result will be returned.  If SIP ALG is enabled the result will be ” 1 “.

Disabling SIP ALG:

To Disable SIP ALG enter the following:

sys sip_alg 0
sys commit
sys reboot

The router will restart and save your changes.

Click here for additional general information about DrayTek Firewall setup. 

TP-Link routers: How to Disable SIP ALG on TP-Link ADSL modem router

Linksys: Check for a ‘SIP ALG’ option, in the ‘Administration’ tab under ‘Advanced’. 

May also need to disable SPI Firewall. 

Microtik: Disable ‘SIP Helper‘. 

Netgear: Look for a ‘SIP ALG’ checkbox in the ‘WAN’ settings.

Port Scan and DoS Protection should also be disabled.

Disable STUN in VoIP phone’s settings. 

D-Link: In your router’s ‘Advanced’ settings –> ‘Application Level Gateway (ALG) Configuration’ uncheck the ‘SIP’ option. 

Huawei: Many routers support SIP ALG (usually found in the ‘Security’ menu). 

SonicWALL Firewall: Under the VoIP tab, the option ‘Enable Consistent NAT’ should be enabled and ‘Enable SIP Transformations’ unchecked.  

Thomson: How to Disable SIP ALG on a Thomson Router HERE

Test with STUN disabled in your VoIP phone’s settings.

Adtran Netvanta: Disable SIP ALG under ‘Firewall/ACLs’ –> ‘ALG Settings’.

For Technicolor TG588V routers see this document for step by step details

Even if there isn’t a SIP ALG option in your router’s settings, it may still be implemented. TelNet commands must be used to disable SIP ALG with TechnicolorThomsonSpeedTouch, some Draytek and some ZyXEL routers. 

Categories
Asterisk Support FreePBX Knowledge Base Support Technical

Backing up files in FreePBX 15

The first time you come to restore your FREEpbx 15 system you may find that not everything that you expected is there !

The new backup module backs up on a module by module base and not like before where is was DBs and Files.

Linked here is a repository that has the files to create a module that can be edited to backup directories.

https://bitbucket.org/cybercottage/filebackup

The file you need to edit is Backup.php

<?php

namespace FreePBX\modules\Filebackup;
use FreePBX\modules\Backup as Base;

class Backup extends Base\BackupBase
{
    public function runBackup($id, $transaction)
    {
        $this->addDirectories([
            '/etc/asterisk','/tftpboot',
        ]);
        $files = glob("/etc/asterisk/*conf");
        foreach ($files as $file) {
            $path = pathinfo($file, PATHINFO_DIRNAME);
            $this->addFile(basename($file), $path, '', "conf");
    }
    $files = glob("/tftpboot/*xml");
        foreach ($files as $file) {
            $path = pathinfo($file, PATHINFO_DIRNAME);
            $this->addFile(basename($file), $path, '', "conf");
        }
        return $this;
    }
}

As you see we are backing up /etc/asterisk and /tftpboot , But only *.conf files in /etc/asterisk and only *.xml files in /tftpboot

Details on the new backup system are here https://wiki.freepbx.org/display/FOP/Implementing+Backup

Thanks to James Finstrom for the original version of this, This version is not to replace his work but only to give an example of working with Multiple directories

The downloaded zip file needs to be added as a Local module via Module Admin and enabled, It will obviously give a signing error but this can be disabled in Advanced settings or ignored ;-)

Enjoy but don’t blame me if it doesn’t work. Ive tested it on my systems and all seems good by your experience may be different

Categories
FreePBX Knowledge Base

FreePBX EPM Whoopsing

We have seen on some installations of FreePBX with EPM that when you upload a photo it Whoops when trying to rebulid the config.

The clue to whats happening is that it cant call function imagecreatefromjpeg or imagecreatefrompng depending on your file format

The most common cause of this is php-gd isnt installed. To Check this is simple, create a simple PHP file in the web root called phpcheck.php add the following to it:

phpcheck.php

<?php
if (extension_loaded('gd') && function_exists('gd_info')) {
    echo "PHP GD library is installed on your web server";
}
else {
    echo "PHP GD library is NOT installed on your web server";
}
?>
<?php phpinfo(); ?>

Now browse in your favourite browser to this and it will show at the top if gd is installed or not.

If its not and php was installed via yum then :

yum search php-gd
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.clouvider.net
 * extras: mirrors.clouvider.net
 * updates: mirror.sov.uk.goscomb.net
=============================================================== N/S Matched: php-gd ================================================================
php-gd.x86_64 : A module for PHP applications for using the gd graphics library

Will show if its avalible. (your version of PHP may mean this is different for you) then to install yum install php-gd and restart the httpd service

You should now be able to go to phpcheck.php again and it should show as installed. if it does you are good to go installing screen images for phones

Categories
Asterisk Support FreePBX Knowledge Base Support Technical

Resetting root password on FreePBX 14 and other Centos 7 servers

Boot your system and wait until the GRUB menu appears. On some systems you may need to press the “Escape” key to access the GRUB menu. FreePBX should show this for a few seconds on Boot

Highlight your Operating System and then press “e” to edit. You have to be quick here simpler to just press e when the menu appears and you will see similar to below.

Find the line beginning with linux. In this example the line begins linux16.

Manually delete the entries quiet and rhgb from the line. then append the following statement to the end of the line init=/bin/sh Don’t worry if your command is spread across more than one line. A continuation character “\ will be inserted automatically.

Now reboot your system now using the options specified by pressing the keys Ctrl +X

Once the system has re-booted, you will be presented with a shell prompt without having to enter any user name or password.

At this command prompt you will need to enter the following commands:

Remount the “/” root filesystem in Read/Write mode: mount -o remount,rw /

Issue the passwd command to reset the root account password: passwd

Then enter the new password as prompted twice

Then remount the “/” root filesystem in Read Only mode: mount -o remount,ro /

You can now restart the system and login with your new password.

Categories
Asterisk Support Blog Design FreePBX Knowledge Base Software

G.729 Goes Royalty Free

G.729 – IMPORTANT INFORMATION

As of January 1, 2017 the patent terms of most Licensed Patents under the G.729 Consortium have expired.

With regard to the unexpired Licensed Copyrights and Licensed Patents of the G.729 Consortium Patent License Agreement, the Licensors of the G.729 Consortium, namely Orange SA, Nippon Telegraph and Telephone Corporation and Université de Sherbrooke (“Licensors”) have agreed to license the same under the existing terms on a royalty-free basis starting January 1, 2017.

For current Licensees of the G.729 Consortium Patent License Agreement, no reports and no payments will be due for Licensed Products Sold or otherwise distributed as of January 1, 2017.

For other companies selling G.729 compliant products and that are not current Licensees of the G.729 Consortium, there is no need to execute a G.729 Consortium Patent License Agreement since Licensors have agreed to license the unexpired Licensed Copyrights and Licensed Patents of the G.729 Consortium Patent License Agreement under the existing terms on a royalty-free basis starting January 1, 2017.

As soon as we hear how this is going to affect Digium Asterisk we will update here.

 

Categories
Blog Design FreePBX Knowledge Base

Voice recognition and Asterisk.

This is primarily about Googles new Cloud Speech API and Asterisk recordings.

Having worked on many Voice rec systems including Mitels attendant system, Oranges Wildfire virtual assistance and Lumenvox’s add on for Digium’s Asterisk system one thing none could do was transcribe speech such as voicemails and this is what people want. There was a startup in the UK called Spinvox  but as anyone knows this wasn’t all it seems and when I questioned them while working on a project they clammed up and withdrew our testing account and the rest is history as they say.

So now we are many years on and Google have their second API for this service. The first API was a little flaky to say the least and came up with some amusing translations. The cloud version is much better and does a good job with most voice and also can be localised.

So what have we done. Well we have mixed together some existing code we use and created a “mini voicemail” that records your message converts it to text saves it as a voicemail and emails the resultant Text and recording to you.  In the process we did find a few “gotchas” with the API for example a pause of more than a couple of seconds will result in the translation stopping there, also a big one is that the translation takes as long as the recording is, and the API has a 60 second limit. Both of these can be overcome by limiting the record time in Asterisk to 60 seconds and using sox to remove silence of more than a second.

exten => s,n,Record(catline/${UNIQUEID}.wav,3,60,kaq)
/usr/bin/sox /var/lib/asterisk/sounds/catline/${origdir}.wav ${PATH}${origmailbox}/INBOX/${FILENAME}.flac  lowpass -2 2500 silence -l 1 0.1 1% -1 0.8 1% 

As you can see from these snippits of code above we have used variables where possible to that it can be incorporated easily with existing asterisk systems using GUIs such as Freepbx, We use the voicemail greetings that the user recorded and also use the email address thats linked with their mailbox for simplicity of management.

Now having Voicemails as text is nice but where it comes into its own is with structured mailboxes or simply put questionnaires where the caller is asked a number of predefined questions and these are recorded as one single voicemail. We already do this for some customers but they still have to have some one transcribe teh voicemail to text to input it. The quality of the Google translation means that soon they will be able to just copy the text over. Other applications are only limited by your imagination, Such as automated voice menus for Takeaways or Taxi firms.

To be Continued…HERE

Categories
FreePBX Software

FreeHMS , A Web based call management package for small Hotels and Serviced offices

FreeHMS is a web based call management package for small Hotels, Guest Houses and managed offices. It is designed to work with FreePBX and Asterisk.

It allows owners to bill guests or users for the phone usage allowing guests to make calls, setup wakeup calls and access voicemail. Rooms are initially blocked from calling other rooms but can call Admin extensions with out being checked in. When a room is checked in they can make trunk calls and set up wakeup calls. When checking out any wakeup calls are removed and the voicemail is defaulted and all Voicemail messages are deleted.

Setting up the system is simple for Installer with minimal changes to the dialplan which are included in the custom configuration file. The system can be set to any language as all text is from a single configuration file which also includes currency and tax rate for billing. Users are created in FreePBX user admin so are easily changed and added.

Call rates are set using the rates page only available to the Admin users

Administration is simple and password controlled using the ‘User Managment’ module of Freepbx so changes to rates and rooms can only be carried out by the admin users, Reception users can log guests in and out, Create Bills and mark rooms for cleaning as well as set or cancel wakeup calls, The Housekeeping login only allows setting of rooms clean or not*. If a room is not marked as clean then that room cannot be checked in.

The software is fully web based and can be used on PC, Mac, Tablet or even smartphone.

iphonehms

The software is OSS and can be customised to suit most customers.

Features Include:

Checkin /Checkout

Billing : Rates are set by the admin user only, Bill can printed with relevant sales tax added.

Cleaning : Rooms are marked unclean on checkout and can only be checked in when marked as clean by reception or the cleaning staff. A cleaning list can be printed off for stall without a tablet or smartphone.

The software is here to download  and as its released as OSS you can modify and extend it as you wish

For more details and pricing for complete system please email info@cyber-cottage.co.uk or call us.

If you just want the software its free to download,  Limited email support will be available, All we ask is if you add a feature or make a change let us have it so everyone can benefit from it.

Finally if there is a feature you want let us know how we can work with you to make it come about.

Categories
Applications FreePBX Products

Zulu UC by Sangoma

Zulu UC is a unified communications desktop program that interfaces with FreePBX and PBXact. It provides call notifications, SMS, faxing capabilities and much more! Supported applications include Microsoft Outlook, Mozilla Firefox and Google Chrome.

User connections are available in 20-seat packages, so get yours today by visiting the Store tab in your FreePBX Portal!

Browser Plug-ins

Zulu UC is currently supported for Mozilla Firefox and Google Chrome on Windows machines. Make sure to install the Zulu Firefox Plugin or the Zulu Chrome Plugin before you start using Zulu UC in your browser. Support for Mac OSX is coming soon.

DataSheet can be downloaded here