Showing posts with label Elastix. Show all posts
Showing posts with label Elastix. Show all posts

Tuesday, August 22, 2017

35 Great free Asterisk applications

Hi, I was looking round on the Internet and saw there was no definitive list of free applications available for use with Asterisk, so I thought I'd compile a list for you all. If there's anything that you know of that is actively maintained but not in the list below, let me know (bear in mind I'm not including distros or Asterisk packagings in this list).

Hopefully there are a few programs in the list that even the most seasoned Asterisk professionals have not seen before.

Flash Operator Panel

Flash Operator Panel is a switchboard type application for the Asterisk PBX. It runs on a web browser with the flash plugin. It is able to display information about your PBX activity in real time. The layout is configurable (button sizes and colors, icons, etc). You can have more than 100 buttons active per screen. On the Live Demo there are 28 buttons defined. It also supports contexts: you can have one server running and many different client displays (for hosted PBX, different departments, etc). It can integrate with CRM software, by poping up a web page (and passing the CLID) when a specified button is ringing.

PHP AGI

AGI (Asterisk Gateway Interface) is a way of running programs or scripts which are external to Asterisk. PHP AGI is a library for PHP which simplifies writing AGI scripts.

Web Meetme

Web-MeetMe is a suite of PHP pages to allow for scheduling and managing conferences on an Asterisk PBX.

Oreka

Oreka is a modular and cross-platform system for recording and retrieval of audio streams. The project currently supports VoIP and sound device based capture. Recordings metadata can be stored in any mainstream database. Retrieval of captured sessions is web based.

FreePBX
FreePBX is a full-featured PBX web application. If you've looked into Asterisk, you know that it doesn't come with any "built in" programming. You can't plug a phone into it and make it work without editing configuration files, writing dialplans, and various messing about.

FreePBX simplifies this by giving you pre-programmed functionality accessible by a user-friendly web interfaces that allows you to have a fully functional PBX pretty much straight away with no programming required.

FreePBX also comes as a distro

Areski CDR Stats

Asterisk-Stat is a visualisation layer for Asterisk CDR statistics which are pulled from a database. It provides graphs as well as allowing you to get more information on individual calls.





sipsak

sipsak is a small command line tool for developers and administrators of Session Initiation Protocol (SIP) applications. It can be used for some simple tests on SIP applications and devices.

Asterisk PhoneBook

A common shared phone book directory based on CMS/LAMP and build for Asterisk PBX, store name and number into MySQL which will be used by each workstation browser, also by telephones with embedded XML-browser feature.

Asterisk Desktop Assistant

Asterisk Desktop Assistant is a desktop call management application for Windows PCs.  Asterisk Desktop Assistant (ADA) is Digium?s first step towards offering a comprehensive Computer Telephony Integration (CTI) suite.  It makes dialing and handling phone calls simpler and faster by adding click-to-call functionality into popular desktop applications.  It also adds call notifications directly to the Windows desktop.

A2Billing

A2Billing combined with Asterisk now gives any Telecom company a very good reason to consider the A2Billing Soft-Switch over the traditional offerings for TDM and VoIP Soft-Switches as well as wholesale and IP PBX billing, particularly when you consider the cost of A2Billing ? FREE!

AstBill

AstBill is not only a free web-based, user friendly billing interface for Asterisk and VOIP. It is also a Asterisk configuration and GUI management tool and a standardized implementation of Asterisk using REALTIME and static configuration as you please.

OSLEC

Oslec is an open source high performance line echo canceller. When used with Asterisk it works well on lines where the built-in Zaptel echo canceller fails. No tweaks like rxgain/txgain or fxotrain are required. Oslec is supplied as GPL licensed C source code and is free as in speech.

Oslec partially complies with the G168 standard and runs in real time on x86 and Blackfin platforms. Patches exist to allow any Zaptel or DAHDI compatible hardware to use Oslec. It has been successfully tested on hardware ranging from single port X100P FXO cards to dual E1 systems.

AppKonference

AppKonference is a high-performance Asterisk voice/video conferencing module. It's basically a drop in replacement for meetme - although does things a little differently and doesn't require a timing source.

OutCall

OutCALL was designed as a commercial appplication allowing Asterisk users integration with Microsoft Outlook with placing and receiving phone calls.

After over 1000 downloads as a free application, Bicom Systems Ltd. has decided to offer OutCALL in open source format in order to further stimulate development of Asterisk and related open source projects.

VMukti

VMukti is leading Asterisk/ Yate enabled p2p Video IP Communications Suite for Web / PSTN. These serverless broadband ready platform enable OS community to save 90% on capital & operating costs over proprietary software for conferencing & Call Center.

Note from editor: I've personally never managed to get this working - drop me a line if you do get it all set up and going.

Asterisk-CRM

asterCRM is a call center software for asterisk based VoIP system, also it has some CRM functions. It provides useful features such as pop-up, predictive dialer, click to call, extension status .... astercrm could work with all asterisk based system.

AsterCC

astercc is a realtime billing solution for asterisk, could work with all kinds of asterisk based system and no need do any change to your original system. astercc could be used for hosted callshop solution, pbx billing solution.

IAXModem

IAXmodem is a software modem written in C that uses an IAX channel (commonly provided by an Asterisk PBX system) instead of a traditional phone line and uses a DSP library instead of DSP hardware chipsets.

Asterisk PBX Integration Zimlet

Asterisk PBX Integration Zimlet is an Extension for Zimbra Collaboration Suite. The Zimlet does Interface with the Asterisk Manager Interface to integrate with Asterisk PBX. The main focus is dial-on-click for Phone numbers inside Contacts and Emails.

AsterFax - Asterisk Email to Fax Gateway

AsterFax provides an Email to Fax gateway for Asterisk. AsterFax lets you send an email by Fax. Enter the phone no. in the 'To' address, compose your email message and click send. You can also fax a MS-Word document or other attachment.

Asterisk Monitor

Asterisk Monitor is a HTML interface that acts a operator pannel for asterisk to display user/peer status and calls. This uses a reverse AJAX, PHP and Python to originate, transfer and hangup calls, manage queues and meetme rooms.

OpenBTS
The OpenBTS Project is an effort to construct an open-source GSM basestation using the USRP and the Asterisk VoIP PBX. Our goal is to enable a new type of hybrid GSM/VoIP cellular network for greenfield deployments in the developing world.

Asterisk .NET

The Asterisk .NET library consists of a set of C# classes that allow you to easily build applications that interact with an Asterisk PBX Server (1.0/1.2/1.4 version). Both FastAGI and Manager API supported. .NET/Mono compatible.

AGX's Asterisk Extra AddOns

Maintained version of old asterisk applications ported to 1.4 that for copyright reasons cannot be included into official Digium's releases and that for some reason the author is not keeping up-to-date. The project also require Zaptel instead of DAHDI.

AstTAPI

AstTapi, an opensource Asterisk Tapi driver for windows. This allows users of TAPI compliant applications such as Outlook and Act to dial contacts directly from the application using an Asterisk PBX Server.

Asterisk-Java

A java interface for Asterisk - allows you to write software in Java which will work with Asterisk.

IAXClient

A lightweight cross platform IP telephony client using the IAX protocol, designed for use with the Asterisk open source PBX.

Asterisk Desktop Manager

A desktop application for managing Asterisk including screen pops etc - looks quite nice but haven't tried it.

Asterisk JTAPI

Asterisk-JTAPI is a JTAPI implementation for the Asterisk software PBX system. JTAPI is a provider independent programming interface for Java to build applications for computer telephony or to add support for it. JTAPI covers a wide range of usage scenarios starting from controlling a single telephone to a whole PBX system for example in call-centers.

Asterisk-JTAPI builds on top of two other projects: Asterisk-Java, which provides a Java interface to the Asterisk manager API, and, GJTAPI, which provides a general framework for JTAPI interfaces.

Astmail

Web interface to Asterisk voicemail written in php. Includes some AJAX components such as LDAP-suggest, and user-lookup. Includes screens for forward by email and sms configuration.

Druid
Druid is an open source unified communications platform, built around technology such as Asterisk, IMAP, XMPP. Druid gives your organization access to the best available IP communications platform that bringing together voicemail, VOIP, mobile phone, faxes and instant messaging.

ViciDial

VICIDIAL is a set of programs that are designed to interact with the Asterisk Open-Source PBX Phone system to act as a complete inbound/outbound call center suite.

The agent interface is an interactive set of web pages that work through a web browser to give real-time information and functionality with nothing more than an internet browser on the client computer.

Asterisk Queue/CDR Log Analyzer

The Asterisk Queue (and CDR) Log Analyzer is a set of PHP scripts which allow selecting, listing and graphing of records from the Asterisk Queue and CDR logs via a WEB interface.

For easier access to select specific log records, the Queue and CDR logs need to be in a MySQL database. Asterisk itself records (specified in a conf file) CDR data into a MySQL database table. A Python utility program called loadq.py is provided with this package which can be used to load queue log records (as they are created) into a MySQL database table.

Asterisk WEB/PHP Event Monitor

The Asterisk Event Monitor WEB/PHP Interface was created to view the current state of Asterisk and all Asterisk Events via a WEB interface. It does not poll Asterisk for these events, instead it collects them in a MySql database via an Asterisk Manager API python script. AJAX (Javascript) is used to display the events from the database almost as they occur. All code is released under the GNU GPL license.


Crystal Recording Interface

CRI (Crystal Clear Recording Interface) provides an intelligence web interface to track is recordings and his voice mail

Features :

Access your voicemail recordings.
Setup your voice mail box
View summary of your incoming outgoing calls
Search calls and recordings by day and time.
Call monitor recordings.

Xivo

XiVO is a full PBX solution based on Asterisk with a user-friendly web interface, provisioning tools for many types of phones, CTI daemon and CTI client for Windows, Linux and MacOS. All solutions are released under GPLv3. Currently only released in French, but easy to translate in other languages, XiVO provides administrators with a simple to configure phone system.

You can find a demo on https://demo.xivo.fr with login root and password proformatique so you can try it out for yourself.

On the first page you have a dashboard for monitoring all processes and you can choose PBX on the menu to administer your PBX. It's not based on Freepbx or other existing software, it's a full development from scratch.

Wednesday, July 19, 2017

Default passwords Elastix

GIT – Một số default passwords Elastix sau khi các bạn cài Elastix
Interface : Username / Password
Web Elastix : admin / palosanto ( admin / admin)
Tool freePBX : admin / admin
Tool FOP : admin / eLaStIx.2oo7
Tool A2Billing : admin / mypassword
MySQL : root / eLaStIx.2oo7
SugarCRM : admin / password
Avantfax : admin / password
asterisk admin / elastix456
vTiger admin / admin
Openfire : admin / ( password của bạn )
ARI : admin / password
Reset Elastix Password
Sử dụng command line :
Password reset : palosanto

sqlite3 /var/www/db/acl.db “update acl_user set md5_password=’7a5210c173ea40c03205a5de7dcd4cb0′ where id=1″
Password reset : gocit
/usr/bin/sqlite3 /var/www/db/acl.db “UPDATE acl_user SET md5_password = ‘`echo -n gocit|md5sum|cut -d ‘ ‘ -f 1`’ WHERE name = ‘admin’”

Wednesday, April 26, 2017

ODBC Adaptive CDR is not working

  1. nano /etc/asterisk/cdr_adaptive_odbc.conf
    [adaptive_connection]
    connection=asteriskcdrdb
    table=cdr
    alias start => calldate
  2. Modified the /etc/odbc.ini to reflect
    [MySQL-asteriskcdrdb]
    Description=MySQL connection to 'asterisk' database
    driver=MySQL
    server=localhost
    database=asteriskcdrdb
    username=freepbx (user name and password from /etc/freepbx.conf)
    password=fpbx
    Port=3306
    Socket=/var/lib/mysql/mysql.sock
    option=3
  3. module reload res_odbc.so
  4. module reload cdr_adaptive_odbc.so
  5. restart Asterisk
You can run below commands to confirm CDR, MySQL and ODBC connections:
cdr show status
module show cdr
module show mysql
odbc show

Troubleshooting ODBC Module in Asterisk

Introduction

This article is to introduce troubleshooting steps for ODBC malfunction for Asterisk.

Description

We are resolving following error for ODBC Connection.
$ echo "select 1" | isql -v asterisk-connector
[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib64/libmyodbc5.so' : file not found
[ISQL]ERROR: Could not SQLConnect

Methodology

Step # 1

Create a separate directory odbc/ in /usr/lib or /usr/lib64/ (as available):
$ mkdir /usr/lib64/odbc/

Step # 2

Download and Install latest MySQL Connector for ODBC with suitable for your OS:
$ wget http://mysql.mirrors.crysys.hit.bme.hu/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.6-linux-el6-x86-64bit.tar.gz
$ tar -zxvf mysql-connector-odbc-5.3.4-linux-el6-x86-64bit.tar.gz
$ cd mysql-connector-odbc-5.3.4-linux-el6-x86-64bit
$ ls lib/
libmyodbc5a.so  libmyodbc5S.so  libmyodbc5w.so
$ cp lib/* /usr/lib64/odbc/

Step # 3

Create or Edit file /etc/odbcinst.ini to add following contents:
[MySQL]
Description = ODBC Driver for MySQL
Driver = /usr/lib64/odbc/libmyodbc5w.so
Setup = /usr/lib64/odbc/libmyodbc5S.so
FileUsage = 1

Step # 4

Create or Edit file /etc/odbc.ini with following contents:
[asterisk-connector]
Description           = MySQL connection to 'asterisk' database
Driver                = MySQL
Database              = <database>
Server                = localhost
User                  = <user>
Password              = <password>
Port                  = 3306
Socket                = /var/lib/mysql/mysql.sock

Step # 5

Add following contents in /etc/asterisk/res_odbc.conf:
[asterisk]
enabled => yes
dsn => asterisk-connector
username => <user>
password => <password>
pooling => no
pre-connect => yes

Step # 6

Add your desired function in /etc/asterisk/func_odbc.conf file:
[FULLNAME]
dsn=asterisk
readsql=SELECT fullname FROM users WHERE extension=${ARG1}

Step # 7

Reload func_odbc.so module or restart asterisk:

Step # 8

Verifying OBDC Connection:

Terminal

To check odbc Connection in terimal
$ echo "select 1" | isql -v asterisk-connector
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select 1
+---------------------+
| 1                   |
+---------------------+
| 1                   |
+---------------------+
SQLRowCount returns 1
1 rows fetched

Asterisk CLI

To check ODBC Connection in Asterisk CLI:
CLI> odbc show
 
ODBC DSN Settings
-----------------
 
  Name:   asterisk
  DSN:    asterisk-connector
    Last connection attempt: 1970-01-01 05:00:00
  Pooled: No
  Connected: Yes
 
CLI> odbc read ODBC_FULLNAME "XXXX" exec
fullname               ABC
Returned 1 row.  Query executed on handle 0 [asterisk]
Share this on

Monday, April 10, 2017

Install Elastix from USB Step by Step

Elastix is one of the best Open Source Unified Communications Servers available today, it is very easy to install but the installer is designed to be run from CDROM and we can make the installation in several devices that don´t have an optical drive.  This document will guide you to modify the installer so you can install entirely from an USB Flash drive.

Warning: The Server Security is a very important and serious aspect in a VoIP server, this guide will not cover that but there is plenty of information on that topic in the Internet. If you are looking for a professional installation contact me and I'll be glad to help you for a very reasonable price.

This guide was created using a PC with an unpartitioned hard disk, if your hard disk is already partitioned, formatted or has data you need to keep, you may need to adjust the settings for your configuration.  You may also lose the data in the disk. I assume no responsibility for data loss or hardware damage, if you decide to follow this guide, you do so at your own risk.

What you need:

Computer with hard drive
2GB or larger USB
Elastix ISO
UNetbootin (to create the bootable USB)

Let's start ...

1. Go to the Elastix Web Site and download the ISO, the stable version right now is 2.4.0, but this guide should work with the beta and alpha versions too (I hope). 


2. Then get UNetbootin to make the USB bootable.

http://unetbootin.sourceforge.net/

3. Format the USB in FAT32.

4. Open UNetbootin,
        1. Select ImageDisc
        2. Click on the ... button and select the elastix iso you downloaded earlier
        3. Select your usb drive
        4 Click OK




UNetbootin will make the USB bootable and will extract the ISO files to the USB.



When UNetbootin finishes extracting just click on Exit, we don't need to reboot.

5. Now let's copy the Elastix ISO to the USB, even though UNetbootin extracted the ISO in the USB we also need the ISO in the USB.  When Anaconda (the linux installer) installs from hard drive it looks for the ISO.

6. We need to modify two files in the USB

Here we need to understand how Linux identifies the different drives we have in the computer, usually the first hard drive is SDA, the second is SDB and so on.  So if you are going to install Elastix to the first hard drive (and the only one) that would be SDA.  For Linux the USB will be another hard drive so it will identify it as SDB if there are no other hard drives in the PC.  If you have 2 hard drives, then the USB would be SDC.

Now that we understand the Linux hard drive naming, let's open the first file we need to modify:

I recommend you to use Notepad++ to modify the files, sometimes windows notepad does not handle Linux files very good. You can get it here: http://notepad-plus-plus.org/ 

Open the file syslinux.cfg with Notepad++, the file is in the root of the USB.

Look for this line, in my file is line 9, but it may change:

append initrd=/ubninit ks=cdrom:/ks_default.cfg ramdisk_size=8192

and change it to:

append initrd=/ubninit ks=hd:sdb1:/ks_default.cfg ramdisk_size=8192

The original line instructs the Linux installer to look for the configuration file in the CDROM, we changed that to make it look for the file in a hard drive (SDB1), the 1 at the end is the partition, sdb1 is the second hard drive's first partition. If you have more than one hard drive you would have to modify the line. As we only have one hard drive (sda) the usb is the second hard drive (sdb),  if you have 2 hard drives then the USB would be the third hard drive (sdc).

That is all for the first file, save it and close it.

Now let's look for the file ks_default.cfg in the USB root and open it with Notepad++

Look for this lines:

#Use CDROM installation media
cdrom


and change it to:

#Use CDROM installation media
#
cdrom


we comment the cdrom line because we are not going to install from cdrom.

Now append this line after the CDROM section

ignoredisk --drives=sdb

This line tells the Linux Installer to ignore the USB as a target for installation, we won't install to the USB we are going to install to the hard drive.

Now look for this line, is right below:

#System bootloader configuration
bootloader --location=mbr 


and change it to:

#System bootloader configuration
bootloader --location=mbr --driveorder=sda,sdb


This change is very important, it tells the Linux installer that the computer boots first from sda (the hard drive), so it installs the bootloader there. If you miss this change, the linux installer will install the bootloader in the USB, so you would only be able to boot Elastix if the USB is connected.

That's it for the second file, save it and close it.

7. We are ready to start the installation.  Plug in the USB drive in the computer and turn it on. As we only have one unpartitioned hard drive, the PC should boot directly from the USB.  If it doesn't, load the computer boot menu and select the USB to boot.

8. You should see the screen below, just hit Enter to continue.



9. Select your installation language and hit enter to continue. 




10. Select the keyboard layout and hit enter to continue.

11. In the next screen select Hard Drive and enter to continue.



12. Now, if you are using the same configuration as me (one unpartitioned hard drive), you should get only one choice here /dev/sdb1 (arrow 1) which is the USB, if your hard drive already have partitions or you have more than one hard drive you will probably get a list here.  You should select the USB, usually it is the last one in the list.

If you copied the Elastix ISO to the USB root just leave the directory blank (arrow 2), if you copied it to a directory, specify it there and the click OK to continue.




13. If your hard disk was unpartitioned you will get a warning that the installer will overwrite all the data, just select yes to continue.



14. Now in the partition type screen, select the first option and make sure the hard drive in which you plan to install Elastix is selected, then select OK to continue.




15. You are going to see another warning about losing all your data in the hard drive, this is the last on, so make sure the data in the hard drive (if any) can be deleted. select Yes to continue.




16. If you want to modify the installer suggested disk layout you can do so in this screen, usually we would not need to change it, so click no to continue.




17.  In the 4 following screens, configure the NIC parameters according to your current network, select YES to continue.





The data in the previous screens is just an example, fill the data with your own network info.


18. Select a Hostname, and fill it in this screen.




19. Now select you current time zone, leave the option "System clock uses UTC" unchecked as some versions of FreePbx don't handle UTC very well.




20.  Select a strong root password and write it down or memorize it, it is not easy to recover it if you lose it.




21. The installer will now format the hard drive and copy all the files needed, this step could take 10 minutes or more depending on the hardware you have.




22.  After the file copy is complete, the computer will reboot, make sure you have the hard drive as the first boot device in the bios.  Elastix should boot from the hard drive and you should see a screen like this.




23. In the first boot Elastix will ask for 2 passwords, first Mysql password, as a regular user, this password is not used very often, but if you are going to need access to the databases to make special applications you will need it, so better write it down.




Then the admin password, this is a very important password, it is the one you will use to enter to the web interface to configure your server, make sure it is a complex password and to write it down.




24. And that's it,  you now have Elastix installed without the need of a CDROM drive !!!.



I hope this guide is useful for you.

Thanks for reading, and leave comments !!!.

Henry.

Instalando Elastix 4 no CentOS 7 64 bits

Este tutorial tem como objetivo fazer a instalação do Elastix 4 no CentOS 7 64 bits
O ambiente utilizado na produção deste tutorial é apresentado a seguir:
  • CentOS 7.2 x86_64 release 1511
  • Elastix 4.0 RC3 versão 64 bits
A instalação do CentOS 7 utilizada para validar esse tutorial foi a Minimal-1511. A ISO dessa versão pode ser baixada através desse link.
Todos os comandos executados nesse tutorial foram executados com o usuário root.

Preparar o sistema operacional para a instalação do Elastix

Antes de iniciar a instalação, precisamos instalar os seguintes pacotes:
  1. # yum install epel-release -y

  2. # yum install wget vim -y
Em seguida, verificamos se existem pacotes a serem atualizados com o comando:
  1. # yum update -y
Reinicie o servidor para subir o kernel atualizado.
  1. # reboot

Fazer o download do Elastix

  1. # cd /tmp

  2. # wget https://sourceforge.net/projects/elastix/files/Elastix%20PBX%20Appliance%20Software/4.0.0/Elastix-4.0.74-Stable-x86_64-bin-10Feb2016.iso/download -O Elastix-4.0-x86_64.iso
Reparem que o arquivo que baixamos é uma ISO. Geralmente, a instalação do Elastix é realizada dando um boot no servidor inicializando através de uma ISO (queimada em um DVD ou inserida em um pendrive).
Como este tutorial está abordando a instalação do Elastix em um sistema já instalado, precisamos montar a ISO em nosso sistema para ter acesso aos arquivos de instalação do Elastix.

Montar a ISO

  1. # mkdir /mnt/iso

  2. # mount -o loop /tmp/Elastix-4.0-x86_64.iso /mnt/iso

Criar repositório local com a ISO montada

  1. # cat > /etc/yum.repos.d/elastix-local.repo <<EOF
  2. [elastix]
  3. name=Repositorio local Elastix
  4. baseurl=file:///mnt/iso/
  5. gpgcheck=0
  6. enabled=1
  7. EOF

Instalar e configurar PHP

  1. # yum install php -y
Definir timezone no PHP antes da instalação do Elastix.
  1. # vim /etc/php.ini
Descomentar a linha date.timezone.
  1. ;date.timezone
E adicionar o local conforme exemplo abaixo:
  1. date.timezone = 'Asia/Ho_Chi_Minh'

 Instalar o Elastix

  1. # yum install asterisk -y

  2. # yum install elastix -y

Desabilitar o SELinux

  1. # sed -i 's/enforcing/disabled/' /etc/selinux/config
Reinicie o servidor.
  1. # reboot
After Reboot Run Command to set mysql and Admin Password.
  1. # elastix-admin-passwords --change

Durante a inicialização, será solicitado a senha do usuário root para o MySQL:
boot
Repetir a senha do usuário root:
boot-1
A próxima etapa solicita a senha para o usuário admin do Elastix:
boot-2
Repetir a senha do usuário admin.
boot-3

Acessar interface web

Abra o seu navegador e digite o IP do servidor.
login
Após o login, a tela inicial do Elastix será exibida.
tela_inicial
Acesse no menu lateral System > Preferences > Language e selecione Português (Brasil).
linguagem
Clique em Save.
O sistema estará pronto para receber a configuração do seu ambiente.

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Powerade Coupons