Skype For Asterisk Admin Manual
Skype For Asterisk Admin Manual
Administrator Manual
601-00017 Rev. B2
Digium, Inc.
445 Jan Davis Drive NW
Huntsville, AL 35806
United States
Main Number: 1.256.428.6000
Tech Support: 1.256.428.6161
U.S. Toll Free: 1.877.344.4861
Sales: 1.256.428.6262
www.asterisk.org
www.digium.com
www.asterisknow.org
Digium, Inc. has made every effort to ensure that the instructions contained in this document
are adequate and error free. The manufacturer will, if necessary, explain issues that may not
be covered by this documentation. The manufacturer’s liability for any errors in the
documents is limited to the correction of errors and the aforementioned advisory services.
This document has been prepared for use by professional and properly trained personnel,
and the customer assumes full responsibility when using it.
Adobe and Acrobat are registered trademarks, and Acrobat Reader is a trademark of Adobe
Systems Incorporated.
Asterisk, Digium, Switchvox, and AsteriskNOW are registered trademarks and Asterisk
Business Edition, AsteriskGUI, and Asterisk Appliance are trademarks of Digium, Inc.
Any other trademarks mentioned in the document are the property of their respective owners.
Chapter 1: Overview.................................................................................................................6
1.1 What is Asterisk®?..........................................................................................................9
1.2 Asterisk as a Phone Switch (PBX)..................................................................................9
1.3 Asterisk as a Gateway.....................................................................................................9
1.4 Asterisk as a Feature/Media Server................................................................................9
1.5 Asterisk in the Call Center.............................................................................................10
1.6 Asterisk in the Network..................................................................................................10
1.7 Asterisk Everywhere......................................................................................................10
Chapter 2: Installation............................................................................................................11
2.1 Installation Overview......................................................................................................12
2.2 Register Skype for Asterisk...........................................................................................13
2.2.1 Open Source Asterisk............................................................................................14
2.2.2 AsteriskNOW..........................................................................................................14
2.3 Install Skype for Asterisk...............................................................................................15
2.3.1 Open Source Asterisk............................................................................................15
2.3.2 AsteriskNOW..........................................................................................................16
2.4 Digium G.729 Software Codec Module.........................................................................17
2.5 Load Skype for Asterisk Modules..................................................................................18
2.6 Verify Installation...........................................................................................................20
2.7 Backup License File.......................................................................................................20
Chapter 3: Configuration........................................................................................................21
3.1 chan_skype.conf............................................................................................................22
3.2 Dial Technology.............................................................................................................26
3.2.1 Outgoing Calls........................................................................................................26
3.2.2 Incoming Calls........................................................................................................27
3.3 Functions.......................................................................................................................28
Chapter 4: Troubleshooting...................................................................................................45
4.1 Manager Events.............................................................................................................45
4.1.1 Skype Account Status Events................................................................................45
4.1.2 Skype Buddy Status Events...................................................................................46
4.1.3 Skype Chat Message Events.................................................................................47
4.2 Asterisk Command Line Interface (CLI)........................................................................48
4.2.1 skype login user <username>................................................................................48
4.2.2 skype logoff user <username>...............................................................................48
4.2.3 skype show buddies <username>..........................................................................48
4.2.4 skype set debug off [user] [<username>]...............................................................49
4.2.5 skype set debug on [user] [<username>]...............................................................49
4.2.6 skype show hostid..................................................................................................49
4.2.7 skype show licenses...............................................................................................49
4.2.8 skype show settings...............................................................................................49
4.2.9 skype show users...................................................................................................49
4.2.10 skype show user <username>.............................................................................49
4.2.11 skype set vedebug off <username>.....................................................................49
Digium's Skype for Asterisk™ (SfA) is an add-on channel driver for Asterisk based systems.
Adding Skype for Asterisk to any Asterisk server enables complete access to the Skype
community, including low cost PSTN access and free calling to over 440+ million Skype
users.
Skype for Asterisk integrates seamlessly with the Skype community. Skype for Asterisk
performance is superior to the proxy or gateway products available for connecting to the
Skype community. There is no secondary piece of hardware to manage as Skype for Asterisk
will run directly from an Asterisk-based PBX.
Key Features
• Make and receive multiple concurrent Skype calls from the same Skype account
• Handle incoming Skype calls using all Asterisk applications (voicemail, ACD, MeetMe
conferencing, etc.)
Key Benefits
◦ Free calling to 440+ million Skype users worldwide directly from your Asterisk
server
◦ Great rates for worldwide inbound calling DIDs via online numbers (SkypeIn)
◦ Great rates for worldwide outbound calling to landline and mobile phones
(SkypeOut). Please note that Skype for Business subscription prices do not apply.
• Add Skype to your call routing tables to optimize global calling costs
• Add a click to call button to your web site or e-mail so customers can quickly contact
you
• Perfect for the remote employee as the office is one click away with free calling
Skype for Asterisk provides two components: res_skypeforasterisk and chan_skype. The
res_skypeforasterisk Asterisk resource module contains the Skype engine, along with various
libraries and other components required to talk to the Skype engine and manage user
accounts, calls, presence, etc. This module is provided in a binary-only form. The chan_skype
Asterisk channel module is the Asterisk channel driver that provides calling services to and
from the Skype community, using the library services provided by res_skypeforasterisk.so.
Digium’s customers of Skype for Asterisk may purchase license keys coded for a specific
number of channels. Each licensed channel allows Skype for Asterisk to initiate a single
concurrent call to the Skype community, or to receive a single concurrent call from the Skype
community. As customers need to expand their calling capacity, they may purchase additional
license keys to register on their existing Asterisk system. The aggregate number of channels
across all registered license keys will be made available to Asterisk. If additional channels of
Skype capability are required, additional channels of Skype for Asterisk may be purchased
from http://www.digium.com.
Asterisk is the world’s leading open source telephony engine and tool kit. Offering flexibility
unheard of in the world of proprietary communications, Asterisk empowers developers and
integrators to create advanced communication solutions...for free. Asterisk is released as
open source under the GNU General Public License (GPL), and it is available for download
free of charge. Asterisk is the most popular open source telephony software available, with
the Asterisk Community being the top influencer in VoIP.
Asterisk can be configured as the core of an IP or hybrid PBX, switching calls, managing
routes, enabling features, and connecting callers with the outside world over IP, analog
(POTS), and digital (T1/E1/J1/BRI) connections.
Asterisk runs on a wide variety of operating systems including Linux, Mac OS X, OpenBSD,
FreeBSD, and Sun Solaris. It provides all of the features you would expect from a PBX
including many advanced features that are often associated with high end (and high cost)
proprietary PBXs. Asterisk's architecture is designed for maximum flexibility and supports
Voice over IP in many protocols, and can interoperate with almost all standards-based
telephony equipment using relatively inexpensive hardware.
It can also be built out as the heart of a media gateway, bridging the legacy PSTN to the
expanding world of IP telephony. Asterisk’s modular architecture allows it to convert between
a wide range of communications protocols and media codecs.
Need an IVR? Asterisk’s got you covered. How about a conference bridge? Yep. It’s in there.
What about an automated attendant? Asterisk does that too. How about a replacement for
your aging legacy voicemail system? Can do. Unified messaging? No problem. Need a
telephony interface for your web site? Okay.
Asterisk has been adopted by call centers around the world based on its flexibility. Call center
and contact center developers have built complete ACD systems based on Asterisk. Asterisk
has also added new life to existing call center solutions by adding remote IP agent
capabilities, advanced skills-based routing, predictive and bulk dialing, and more.
Internet Telephony Service Providers (ITSPs), Competitive Local Exchange Carriers (CLECs)
and even first-tier incumbents have discovered the power of open source communications
with Asterisk. Feature servers, hosted services clusters, voicemail systems, and pre-paid
calling solutions, all based on Asterisk have helped reduce costs and enabled flexibility.
Asterisk has become the basis for thousands of communications solutions. If you need to
communicate, Asterisk is your answer. For more information on Asterisk, visit
http://www.asterisk.org or http://www.digium.com.
This chapter will guide you through the necessary steps to install Digium's Skype for Asterisk.
Important Notes:
◦ Asterisk must be installed prior to installing the Skype for Asterisk package.
◦ Digium recommends a minimum version for the various offerings of Asterisk. The
recommendations are provided in the table shown below. Versions prior to those
recommended have not been tested.
Once you have your Skype for Asterisk license key, there are a few tasks to perform in order
to install Skype for Asterisk.
1. Generate a valid Skype for Asterisk license key using the register utility.
2. Download and install the Skype for Asterisk package that is built for your platform.
3. Install the Digium G.729 software codec that is built for your platform.
Note: Each Skype for Asterisk channel includes a channel license of G.729.
Note: Supported software builds are provided for 32-bit and 64-bit x86 platforms.
Choose the directory that closest matches your Asterisk version. Each of these
directories contains TAR files that include the Skype modules.
Registration of the Skype for Asterisk license key will be done using the Digium register utility
in the same way as with other modules like Cepstral, HPEC, and G.729. The registration
utility will prompt you for your Skype for Asterisk license key.
Important Notes:
◦ Internet access is required from your Asterisk server in order to register your Skype
for Asterisk key for licensed use. Outgoing network traffic on TCP port 443 (SSL)
must be allowed in order for the register utility to successfully communicate with
Digium's license server and complete the registration process. You must have at
least one Ethernet device in your Asterisk server in order for the registration
process to successfully complete.
◦ Multiple Skype for Asterisk keys may be registered on the same Asterisk server.
This will allow you to increase the total number of available Skype for Asterisk
channels on your Asterisk server. New Skype for Asterisk keys may be registered
to your Asterisk server using the same instructions provided above. There will be
an additional Skype for Asterisk license file generated in the
/var/lib/asterisk/licenses directory for each Skype for Asterisk key that is
successfully registered to your Asterisk server. It is extremely important that you
follow the instructions provided in section 2.7 whenever a new Skype for Asterisk
key is successfully registered to your Asterisk server.
◦ A Skype for Asterisk key must be re-registered if any of the Ethernet devices in
your Asterisk server are changed, added, or removed. The unique Skype for
Asterisk license file that is located in your /var/lib/asterisk/licenses directory is tied
to the MAC address of all the Ethernet devices installed in your system. A Skype for
Asterisk key can only be re-registered once without authorization from Digium.
Digium must be contacted by phone in order to request authorization to have your
Skype for Asterisk key incremented. Digium reserves the right to deny authorization
for having a Skype for Asterisk key incremented.
An example for 32-bit Linux using Open Source Asterisk is provided below. Be sure to run
these commands as the root user.
# cd /root
# wget http://downloads.digium.com/pub/register/x86-32/register
# chmod 500 /root/register
# /root/register
Follow the prompts provided by the registration utility and provide the information it requests
to activate your Skype for Asterisk license key.
2.2.2 AsteriskNOW
AsteriskNOW 1.5 systems have the ability to easily download and install the register utility. An
example is provided below. Be sure to run these commands as the root user.
Follow the prompts provided by the registration utility and provide the information it requests
to activate your Skype for Asterisk license key.
There are different versions of Skype for Asterisk that contain both source code and binary-
only components for various Asterisk releases; there is a single version for Asterisk 1.4.25
and above, and there are versions for Asterisk 1.6.x point releases (1.6.0, 1.6.1, etc.). The
RPM packaged versions of Skype for Asterisk for AsteriskNOW are binary only. Take note
that these modules are not loadable in prior releases of Asterisk, but will only work with the
specific version for which they are designed to be used. Please be sure that you download
the correct version of Skype for Asterisk for your Asterisk version.
There are frequently updated builds of Skype for Asterisk posted, and each build has a
version number. This version number is part of the filename. In this document, build number
1.1.0 is used as an example, but when you read this document the current build number may
be different (higher).
Extract, compile, and install the contents of the Skype for Asterisk package for Open Source
Asterisk. An example for 32-bit Linux using Open Source Asterisk branch 1.6.0 is provided
below. Be sure to run these commands as the root user.
# wget http://downloads.digium.com/pub/telephony/skypeforasterisk/\
asterisk-1.6.0/x86-32/skypeforasterisk-1.6.0_1.1.0-x86_32.tar.gz
# tar xzvf skypeforasterisk-1.6.0_1.1.0-x86_32.tar.gz
# cd skypeforasterisk-1.6.0_1.1.0-x86_32
# make
# make install
If the chan_skype.conf file had not been installed from a previous installation of Skype for
Asterisk, then the chan_skype.conf file will need to be installed by executing the following
command. Otherwise, skip this step.
# make samples
Note: Skype for Asterisk will not properly function if the chan_skype.conf file is not
installed.
Install the Skype for Asterisk RPM package for AsteriskNOW. An example for 32-bit Linux
using AsteriskNOW 1.5 is provided below. Be sure to run these commands as the root user.
If you are upgrading Skype for Asterisk from a previous version on AsteriskNOW, instead of
executing “yum install asterisk14-skypeforasterisk”, use the following command.
Note: The FreePBX GUI interface that is provided as part of AsteriskNOW 1.5 is not
capable of installing or configuring the Skype for Asterisk product. Skype for Asterisk's
product configuration must be managed by direct editing of its configuration file.
The Digium G.729 software codec module (codec_g729a.so) will need to be installed in
addition to Skype for Asterisk. Your Skype for Asterisk license key may be used to activate a
G.729 channel at no additional cost. This requires version 3.0.0 or later of the Digium G.729
software codec module. This allows Skype for Asterisk users to use the G.729 codec for their
Skype calls. This is commonly required for SkypeIn and SkypeOut calls. For more information
regarding the Digium G.729 software codec module, please read the G.729 README that is
available in the documentation section at http://www.digium.com/support.
The res_skypeforasterisk resource module and the chan_skype channel module must be
loaded in Asterisk in order to use the Skype for Asterisk channels. There are a few important
things that you should know before loading these modules.
The res_skypeforasterisk.so module contains a binary Skype engine called skyhost. Skype
for Asterisk communicates with skyhost to make and manage connections to the Skype
community. This engine automatically runs as a separate Linux process called
skypeforasterisk once chan_skype.so is loaded.
During Skype for Asterisk's initialization process, the engine is extracted into a temporary
directory, launched, and then removed. By default, it is extracted into the /tmp directory.
Some Linux distributions mount the /tmp directory with the noexec flag which does not allow
files to be executed. If your system is configured to mount the /tmp directory with the noexec
flag, the engine_directory configuration option in the chan_skype.conf file must be modified to
use a directory that will allow the Asterisk process write access and that will allow files to be
executed.
If Asterisk is already running, you may load the Skype for Asterisk modules from the Asterisk
CLI. An example is provided below.
If you already have chan_skype.so loaded and have registered a new license key to increase
the number of Skype for Asterisk channels, simply reload the module using the following
command.
Reloading this module will only be successful if no Skype calls are in progress. If there are
active Skype calls, you will either have to wait until they have completed to manually reload
the module, or schedule Asterisk to restart once there are no active calls by executing the
following command.
Verify that the number of Skype for Asterisk channels available to Asterisk matches the
number of Skype for Asterisk channels that you purchased. This can be verified by issuing
"skype show licenses" in the Asterisk CLI. Take into consideration any previous Skype for
Asterisk channels that you may have already had registered to your Asterisk server before
verifying the output. An example is provided below.
# asterisk -rvvv
Licenses Found:
File: S4A-ABCDEFGHIJKL.lic -- Key: S4A-ABCDEFGHIJKL -- Expires: 2039-
07-31 -- Host-ID:
ab:cd:12:34:ab:cd:12:34:ab:cd:12:34:ab:cd:12:34:ab:cd:12:34 --
Channels: 100 (OK)
It is extremely important that you backup all of the files located in the /var/lib/asterisk/licenses
directory. This directory contains the Host-ID specific license files for your system. These
license files are tied to the MAC address of all the Ethernet devices installed in your system.
Creating a backup of this directory will allow you to restore your Skype for Asterisk licenses in
case you need to reinstall your operating system.
Note: A Skype for Asterisk key must be re-registered if any of the Ethernet devices in
your Asterisk server are changed, added, or removed. The unique Skype for Asterisk
license file that is located in your /var/lib/asterisk/licenses directory is tied to the MAC
address of all the Ethernet devices installed in your system. A Skype for Asterisk key
can only be re-registered once without authorization from Digium. Digium must be
contacted by phone in order to request authorization to have your Skype for Asterisk
key incremented. Digium reserves the right to deny authorization for having a Skype
for Asterisk key incremented.
Digium's Skype for Asterisk has a variety of configuration options. This chapter provides an
explanation of the configuration options that are available.
Important Notes:
◦ Only accounts created from the Business Control Panel will be usable with Skype
for Asterisk. The Skype Business Control Panel is a web-based tool that is free to
setup and use. It is accessible from Skype's web site at
http://www.skype.com/business. All Skype For Asterisk users must be created by
clicking on Add Members, and then clicking the Create a business account button.
Inviting users by Skype name or e-mail address is not currently supported.
◦ The administrator account for the Business Control Panel is a regular Skype
account. Due to this fact, the administrator account will not be able to use Skype for
Asterisk.
◦ The current version of chan_skype.so does not provide passthrough G.729 support
like other Asterisk channel drivers. When a Skype call wants to use G.729, the
codec_g729a.so module must be loaded, and G.729 licensed channels must be
available. This will be improved in a future release of Skype for Asterisk. For this
release, it is suggested to configure your users to only allow G.711 ulaw and/or
alaw in the chan_skype.conf file unless you have G.729 licensed channels
available.
The chan_skype.conf file is mandatory and is placed in the /etc/asterisk directory during the
installation process. This file documents the configuration options available for the Skype for
Asterisk channel driver, including how to define users and log them into the Skype
community.
Directory that will be used to hold the Skype engine and its working
engine_directory general database. This directory must allow executable files to be present <directory> /tmp
and executed.
Username that will be used for outgoing calls and presence requests if
default_user general <username> none
no explicit username is specified.
bind_address general IP address to use for Skype engine <ip_address> 0.0.0.0 (any)
TCP port to use for Skype engine. This setting is only a suggestion to
bind_port general the Skype engine; if it cannot us the specified port, it will automatically <tcp_port> 0 (random)
fall back to using a random port.
Disable use of UDP in Skype engine. The Skype engine will normally
disable_udp general use UDP ports for media streams. In cases where UDP connections yes | no no
cannot or should not be used, this can be disabled.
context <username> The dialplan context that incoming calls should be directed to for this user. <dialplan_context> default
The extension in the target context that incoming calls should be directed to for
exten <username> <extension> <username>
this user.
disallow <username> The codecs that should be disallowed for calls to/from this user. <codec>, <codec>, … all
ulaw, alaw,
allow <username> The codecs that should be allowed for calls to/from this user. <codec>, <codec>, …
g729
Incoming | outgoing |
direction <username> Allowed call directions both
both
Incoming buddy list authorization requests. When this user receives a request to
authorize being added to another Skype user's buddy list, there are various ways
it can be handled: accept (authorize requested), accept.<password> (authorized
accept |
request if supplied password was sent by requester), deny (deny request), block
auth_policy <username> accept.<password> | accept
(deny request and block future requests from the requester), and ignore (ignore
deny | block | ignore
request; no response to requester). It is possible to provide multiple values for this
setting. They will be processed in the order they are listed; the first match will be
used to generate the response.
Buddy list presence updates. In some cases, Skype users may have an extremely
large number of Skype users on their buddy lists. By default, the channel driver
will retrieve presence state and updates for all of these users and pass it into
buddy_presence <username> Asterisk. For users with large buddy lists, this could generate a significant amount yes | no yes
of load in Asterisk processing presence updates. If there are specific users for
which you have no need for buddy presence state information, you can use this
option to disable the retrieval and update process.
Specifies a preference for which music on hold class this channel should listen to
when put on hold if the music class has not been set on the channel with
Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer channel putting
mohinterpret <username> <music_class> default
this channel on hold did not suggest a music class. If this option is set toe
“passthrough”, then the hold message will always be passed through as signalling
instead of generating hold music locally.
Specifies which music class to suggest to the peer channel when this channel
mohsuggest <username> <music_class> none
places the peer on hold.
The use of Skype for Asterisk channels is similar to other Asterisk channel drivers. The dial
plan technology type provided by Skype for Asterisk is simply referred to as Skype. The
following sections describe how to make outgoing calls and receive incoming calls using
Skype for Asterisk.
When calls are placed on the Skype community, they are placed to their destination by a
Skype user associated with the Asterisk server. Skype for Asterisk must select one of the
defined Skype users to be the originator of a call. For that purpose, the default_user option in
the chan_skype.conf file can be set to control which user is the default originator of a call.
Additionally, on a call-by-call basis, the originator of a call can be defined by prefixing the
destination Skype user or SkypeOut number with the name of the originator's Skype user.
The syntax for making an outgoing call using Skype for Asterisk is as follows:
Dial(Skype/[<originator>@]<destination>)
The destination is mandatory and can be defined as a Skype user or a SkypeOut number.
The originator is optional and can be defined as a Skype user associated with the Asterisk
server. Both of the examples provided below would result in the james_bond Skype user
placing the call to the destination.
The examples provided below show how to make an outgoing call by specifying only a
destination Skype user or SkypeOut number. In these cases, the user specified in the
default_user option in the chan_skype.conf file will be defined as the originator of the call.
Specified on a per-user basis, Skype for Asterisk can direct incoming calls to any desired dial
plan context. Optionally, incoming calls can be directed to a specific extension within a
context. The default configuration will use the name of the destination Skype user as the
target extension.
If the james_bond Skype user is configured with context=demo in the chan_skype.conf file,
then placing the following entries in the extensions.conf file will handle incoming calls for that
user.
[demo]
exten => james_bond,1,NoOp(Incoming Skype Call!)
exten => james_bond,n,Dial(SIP/shoe-phone)
Skype users can be mapped to numeric extensions by specifying the exten option for that
user in the chan_skype.conf file. If the james_bond Skype user is configured with
context=demo and exten=007 in the chan_skype.conf file, then placing the following entries in
the extensions.conf file will handle incoming calls for that user.
[demo]
exten => 007,1,NoOp(Incoming Skype Call!)
exten => 007,n,Dial(SIP/shoe-phone)
The CHANNEL and CALLERID dial plan functions may be used to retrieve Skype values from
a call that originates on a Skype channel. In addition, Skype for Asterisk provides a few native
dial plan functions that can be used to set and retrieve values on the Skype community
regardless of the type of channel that originated the call. The following sections describe
these functions.
Note: It is important to understand the meaning of the values in the type column of the
function description tables provided in this section. Function options with a type of RW
allow Read and Write access. Function options with a type of RO allow Read Only
access.
Depending on privacy policies, multiple user details may be available about a caller's Skype
user when connected to an Asterisk channel. These details can be retrieved by using the
CHANNEL function in the dial plan. This function's syntax is as follows:
CHANNEL(<property>)
The Skype-related options available to the CHANNEL dial plan function are listed in the table
below.
• skype_topic – This option will retrieve the call topic. The call topic is a user-provided
string that can identify the topic of the call. This commonly includes a URL with query
parameters that can be used to dial a Skype user with a particular topic set.
• skype_token – This option will set or retrieve the access call token. If specified, Skype
users who know the access call token can “call in” to the call.
The example provided below shows how to set the channel's language to the language that a
caller's Skype user prefers. The language setting is read by prompt playback, the voicemail
application, and many other Asterisk applications.
The CALLERID function may be used to retrieve details about a caller's Skype user when
connected to an Asterisk channel. These details can be retrieved by using the CALLERID
function in the dial plan. This function's syntax is as follows:
CALLERID(<item>)
The Skype-related options available to the CALLERID dial plan function are listed in the table
below.
The example provided below shows how to retrieve a caller's Skype account name for a
Skype-to-Skype call.
Since an outbound Skype call may originate from a non-Skype channel, the CHANNEL and
CALLERID dial plan functions cannot always be used to retrieve Skype call properties. The
SKYPE_CALL_PROPERTY function provides an interface to Skype in the Asterisk dial plan.
It can be used to set and retrieve call properties, and to retrieve caller properties. This
function's syntax is as follows:
SKYPE_CALL_PROPERTY(<property>)
The options available to the SKYPE_CALL_PROPERTY dial plan function are listed in the
table below.
• topic – This option will set or retrieve the call topic. The call topic is a user-provided
string that can identify the topic of the call. This commonly includes a URL with query
parameters that can be used to dial a Skype user with a particular topic set.
• token – This option will set or retrieve the access call token. If specified, Skype users
who know the access call token can “call in” to the call.
• about – This option will read the caller's about profile. Many Skype users include a
short description of themselves in their about profile.
The example provided below shows how to set the topic call property.
The example provided below shows how to retrieve the topic call property.
Since an outbound Skype call may originate from a non-Skype channel, the CHANNEL dial
plan function cannot always be used to retrieve Skype call properties. The
SKYPE_ACCOUNT_PROPERTY function provides an interface to Skype in the Asterisk dial
plan. Skype account properties are stored on the Skype community and include information
such as account availability, birthday, and geographical information. These settings can be
set and retrieved using the SKYPE_ACCOUNT_PROPERTY dial plan function. This
function's syntax is as follows:
SKYPE_ACCOUNT_PROPERTY(<account>,<property>)
The options available to the SKYPE_ACCOUNT_PROPERTY dial plan function are listed in
the table below.
• about – This option will set or retrieve the Skype user's about profile. Many Skype
users include a short description of themselves in their about profile.
• mood_text - Mood messages are simple little messages that tell your friends the mood
you are in, a witty comment, quote, a web link or any random piece of information
you'd like everyone to see.
The example provided below shows how to set the gender account property to male.
The example provided below shows how to retrieve the fullname account property.
Skype for Asterisk provides a way to retrieve the buddy list and status of all buddies for a
Skype user. This is accomplished by using the SKYPE_BUDDIES and
SKYPE_BUDDY_FETCH dial plan functions.
SKYPE_BUDDIES(<account>)
The SKYPE_BUDDY_FETCH function will retrieve the next buddy, including status, from the
buddy list id retrieved by the SKYPE_BUDDIES function. This information is returned as a
string in the format of '<buddy name>,<buddy status>' . This format is suitable for use with the
ARRAY dial plan function. The SKYPE_BUDDY_FETCH function's syntax is as follows:
SKYPE_BUDDY_FETCH(<id>)
The example provided below shows how to retrieve the status of all buddies that are on the
james_bond Skype user's buddy list.
Skype for Asterisk provides a way to send and receive chat messages with other Skype
users. This is accomplished by using the SKYPE_CHAT_RECEIVE function and the
SkypeChatSend application in the dial plan.
The SKYPE_CHAT_RECEIVE function will wait to receive a Skype chat message from a
user. The SKYPE_CHAT_RECEIVE function's syntax is as follows:
SKYPE_CHAT_RECEIVE(<account>,<from>,<timeout>)
Syntax Description:
The SKYPE_CHAT_RECEIVE function will receive a Skype chat message sent from “from”
and to “to”. If no matching message arrives before “timeout”, the return value will be empty.
The example provided below shows how to receive a Skype chat message.
The SkypeChatSend application will send a Skype chat message to a user. The
SkypeChatSend application's syntax is as follows:
SkypeChatSend(from,to,message)
Syntax Description:
The SkypeChatSend application will send the value of “message” as a Skype chat message
sent from “from” and to “to”.
The example provided below shows how to send a Skype chat message.
Note: Messages should be sent in plain text. Newlines are not permissible.
Unlike other Asterisk channel drivers, Skype for Asterisk does not manage devices at all. The
concept of device state as represented by other channel drivers do not apply to Skype users.
However, Skype for Asterisk does provide a mechanism for subscribing to and being notified
of changes in the presence state of Skype users. Most interactive Skype clients display the
presence state of Skype users using a graphical representation, and make their presence
state available to Asterisk to be used by dial plan hints. Skype for Asterisk provides a custom
device state provider called Skype that can be used with hints.
The example provided below shows how the james_bond Skype user can subscribe to the
presence state of the austin_powers Skype user.
It is important to note the use of ':' instead of '/' to separate the device state provider name
from the item being watched. Using '/' will make Asterisk treat the austin_powers Skype user
as a device and look for channels open to that Skype user. That would cause Asterisk to
always report the austin_powers Skype user as busy. Using ':' instead will cause Asterisk to
trust the Skype for Asterisk module to report back the state of the austin_powers Skype user
and to not infer what the state of that Skype user might be from other sources.
Similar to placing outgoing calls, presence state requests must originate from a Skype user
associated with the Asterisk server. The difference is that there is no default user setting. A
Skype user must always be prefixed to the Skype user whose state will be subscribed.
There is another important point to consider. The Skype community does not allow a user
(User A) to see another user's (User B) state unless User A has added User B to his or her
buddy list and User B has authorized that addition. In the example shown above, this means
that the james_bond Skype user would have to add the austin_powers Skype user to his
buddy list, and the austin_powers Skype user would need to authorize that addition.
Since Skype for Asterisk will often be configured to use Skype user accounts that are never
used with an interactive Skype client, the chan_skype.conf file has a configuration parameter
to make adding buddies easier. The buddy_autoadd option can be set to buddies, hints, or
'buddies,hints'. When setting this option to hints, only buddies that receive a presence
information request, such as from a dial plan hint, will be added to the buddy list. Setting this
option to buddies will automatically add all buddies that have been authorized to receive that
user's presence information to the buddy list. Lastly, setting this option to 'buddies,hints' will
cause both of these to occur.
The Skype for Asterisk modules allow various manager commands to be issued by manager
sessions that have the SYSTEM class manager permission. The manager commands listed
below are handled by the Skype for Asterisk modules and detailed in this section.
• Skype Buddies
• Skype Buddy
The SkypeAccountProperty manager command can be used to set account properties for a
Skype for Asterisk user. An example SkypeAccountProperty request and response are
provided below.
Action: SkypeAccountProperty
ActionID: abc123
User: james_bond
variable: fullname=James Bond
variable: availability=Skype Me
Response: Success
ActionID: abc123
Message: Properties set
The SkypeAddBuddy manager command can be used to add a buddy to a Skype for Asterisk
user's buddy list. An example SkypeAddBuddy request is provided below.
Action: SkypeAddBuddy
ActionID: abc123
User: james_bond
Buddy: austin_powers
The SkypeRemoveBuddy manager command can be used to remove a buddy from a Skype
for Asterisk user's buddy list. An example SkypeRemoveBuddy request is provided below.
Action: SkypeRemoveBuddy
ActionID: abc123
User: james_bond
Buddy: austin_powers
The SkypeBuddies manager command can be used to retrieve the buddy list of a Skype for
Asterisk user, including the full name and status of each buddy. An example SkypeBuddies
request and response are provided below.
Action: SkypeBuddies
User: james_bond
ActionID: abc123
Response: Success
ActionID: abc123
Message: Skype buddy status list will follow
Event: SkypeBuddyEntry
ActionID: abc123
Buddy: echo123
Status: Waiting for Authorization
Event: SkypeBuddyEntry
ActionID: abc123
Buddy: austin_powers
Fullname: Austin Powers
Status: Offline (Voicemail Enabled)
Event: SkypeBuddylistComplete
ListItems: 2
ActionID: abc123
The SkypeBuddy manager command can be used to retrieve information about a specific
buddy. An example SkypeBuddy request and response are provided below.
Action: SkypeBuddy
User: james_bond
Buddy: austin_powers
ActionID: abc123
Response: Success
The SkypeChatSend manager command can be used to send a Skype chat message to a
user. An example SkypeChatSend request and response are provided below.
Action: SkypeChatSend
User: james_bond
Skypename: austin_powers
Message: Sending test message from AMI to skype client
ActionID: 222
Event: SkypeChatMessage
Privilege: system,all
SequenceNumber: 11
File: chan_skype.c
Line: 864
Func: new_chat_message
To: austin_powers
From: james_bond
Message: U2VuZGluZyB0ZXN0IG1lc3NhZ2UgZnJvbSBBTUkgdG8gc2t5cGUgY2xpZW50
Note: Messages should be sent in plain text. Newlines are not permissible in AMI
messages. The response “Message” is base64 encoded.
This chapter provides various methods for obtaining the necessary information to
troubleshoot most problems relating to Digium's Skype for Asterisk. Multiple resources are
available to obtain more information about Asterisk and Digium products. These resources
are listed on page 57.
The Skype for Asterisk modules will send various types of manager events to manager
sessions that are capable of receiving SYSTEM class manager events. The manager events
listed below are sent by the Skype for Asterisk modules and detailed in this section.
One Skype account status event is always sent when a Skype for Asterisk user logs in or out
of the Skype community. An example Skype account status event is provided below.
Event: SkypeAccountStatus
Privilege: system,all
Username: james_bond
Status: Logged In
• Logged In
• Logged Out
Status changes for contacts in a Skype for Asterisk user's contact list will trigger a manager
event. Below is an example Skype buddy status message.
Event: SkypeBuddyStatus
Privilege: system,all
Buddy: Skype/james_bond@austin_powers
BuddyStatus: Offline
• Blocked
• Blocked Skypeout
• Skypeout
• Offline
• Online
• Away
• Not Available
• Do Not Disturb
• Skype Me
• Unknown
Any Skype Chat message received will generate an AMI event. An example Skype chat
message event is provided below.
Event: SkypeChatMessage
Privilege: system, all
Username: jbond
From: austin_powers
Message: U2t5cGUgRm9yIEFzdGVyaXNrIHJvY2tzIQ==
Note: The "Message" field is base64 encoded since embedded newlines are not
permissible in AMI messages.
This CLI operation logs in the specified user on the Skype community.
This CLI operation logs off the specified user on the Skype community.
This CLI operation displays a list of buddies for the specified Skype for Asterisk user.
This CLI operation disables global Skype debugging or user specific Skype debugging.
This CLI operation enables global Skype debugging or user specific Skype debugging.
This CLI operation displays the global Skype for Asterisk configuration.
This CLI operation displays a list of Skype for Asterisk users and their statuses.
This CLI operation displays the specified user's Skype for Asterisk configuration.
This CLI operation disables Voice Engine debugging for the specified Skype for Asterisk user.
This CLI operation enables Voice Engine debugging for the specified Skype for Asterisk user.
This CLI operation displays the version of the Skype for Asterisk modules that are loaded.
This section provides frequently asked questions and resolutions as identified by Digium
Technical Support and Engineering.
What branches of Open Source Asterisk are compatible with Skype for Asterisk?
Open Source Asterisk branches 1.4 (release 1.4.25 or newer), 1.6.0 (release 1.6.0.6 or
newer), 1.6.1 (release 1.6.1.5 or newer), and 1.6.2 (release 1.6.2.0 or newer) are compatible.
Does Skype for Asterisk provide the same capabilities when used with Open Source
Asterisk 1.4, 1.6.0, 1.6.1, and 1.6.2?
Yes.
Does issuing the reload command on the Asterisk CLI reload all of the Skype for
Asterisk settings?
No. There are some settings that will not be modified by issuing a reload command on the
The res_skypeforasterisk.so module contains a binary Skype engine called skyhost. Skype
for Asterisk communicates with skyhost to make and manage connections to the Skype
community. This engine automatically runs as a separate Linux process called
skypeforasterisk once chan_skype.so is loaded.
Why is there an XML database file for Skype being stored under Asterisk's spool
directory?
The Skype engine creates a small database of information for users that it logs in to the
Skype community. This database is stored in a sub-directory called skype under Asterisk's
spool directory. By default, Asterisk's spool directory is located at /var/spool/asterisk. If your
asterisk.conf specifies a different path for this directory using the astspooldir option, then
Skype for Asterisk will use that directory instead.
I receive a warning or error from SELinux regarding one of the Skype for Asterisk
modules when Asterisk starts. This prevents Skype for Asterisk from properly
functioning. How do I resolve this?
There are two resolutions to this issue. The first involves disabling SELinux using the steps
shown below.
1. Edit /etc/selinux/config.
2. Set SELINUX=disabled.
3. Reboot.
If the use of SELinux is mandated by you or another authority within your organization, use
the following command to give the res_skypeforasterisk.so module the proper execution
privileges:
Asterisk did not cleanly shut down. Now Skype for Asterisk does not properly function
when Asterisk starts. How do I resolve this?
If Asterisk is not shut down cleanly, the skypeforasterisk process may still be running on your
system. If that is the case, follow the steps shown below.
1. Execute 'ps ax' to determine the process ID (PID) of the skypeforasterisk process.
3. Restart Asterisk.
Each user making a call will use a channel. For calls from one user to another user managed
on the same Asterisk server, 2 concurrent calls will be used.
Yes.
Will Skype for Asterisk run on other open source distributions of Asterisk such as
TrixBox CE?
Yes. This will require manual configuration unless a 3rd-party GUI wrapper is created for
those systems.
Yes.
Yes. The Digium G.729 software codec module (codec_g729a.so) will need to be installed in
addition to Skype for Asterisk. Your Skype for Asterisk license key may be used to activate a
G.729 channel at no additional cost. This requires version 3.0.0 or later of the Digium G.729
software codec module. This allows Skype for Asterisk users to use the G.729 codec for their
Skype calls. This is commonly required for SkypeIn and SkypeOut calls. For more information
regarding the Digium G.729 software codec module, please read the G.729 README that is
available in the documentation section at http://www.digium.com/support.
The current version of chan_skype.so does not provide passthrough G.729 support like other
Asterisk channel drivers. When a Skype call wants to use G.729, the codec_g729a.so module
must be loaded, and G.729 licensed channels must be available. This will be improved in a
future release of Skype for Asterisk. For this release, it is suggested to configure your users to
only allow G.711 ulaw and/or alaw in the chan_skype.conf file unless you have G.729
licensed channels available.
The Skype for Asterisk product consists of two Asterisk loadable modules:
• res_skypeforasterisk.so - This module contains the Skype engine, along with various
libraries and other components required to talk to the Skype engine and manage user
accounts, calls, presence, etc. This module is provided in a binary-only form.
• chan_skype.so - This module is the Asterisk channel driver that provides calling
services to and from the Skype community, using the library services provided by
res_skypeforasterisk.so.
No. Only accounts created from the Business Control Panel will be usable with Skype for
Asterisk. The administrator account for the Business Control Panel is a regular Skype
account. Due to this fact, the administrator account will not be able to use Skype for Asterisk.
Can Skype for Asterisk and Skype For SIP coexist on the same Asterisk Server?
Yes.
Where can I find knowledge base articles for Skype for Asterisk?
Please visit the Skype for Asterisk category of the Digium Knowledge Base:
http://kb.digium.com/?CategoryID=273
Skype for Asterisk comes with installation support for the first 90 days from purchase. If you
need support, please contact Digium’s support team at http://www.digium.com/support. For
subscriptions covering Open Source Asterisk or Asterisk Business Edition, one incident can
be used to support Skype for Asterisk with a current subscription.
2. At the Asterisk CLI, type “skype set vedebug on user <username>” for the user that is
having the problem.
3. At the Asterisk CLI, type “core set verbose 6”. Verbosity can be 6 or higher.
There are several places to inquire for more information about Asterisk Digium products:
Digium is dedicated to supporting your Asterisk system by offering full technical support
through our Subscription Services Program. Through this program, you can be at ease
knowing that your business will always have access to the Asterisk experts. Pricing on
Subscription Services may be obtained from your nearest reseller or you may call Digium
Sales for referral to your nearest reseller at +1.256.428.6000 or send an e-mail to
[email protected].
asynchronous
Not synchronized; not timed to an outside clock source. Transmission is controlled by start
bits at the beginning and stop bits at the end of each character. Asynchronous
communications are often found in internet access and remote office applications.
attenuation
bandwidth
The capacity to carry traffic. Higher bandwidth indicates the ability to transfer more data in a
given time period.
bit
The smallest element of information in a digital system. A bit can be either a zero or a one.
broadband
channel
A generic term for an individual data stream. Service providers can use multiplexing
techniques to transmit multiple channels over a common medium.
Cat5
Category of Performance for wiring and cabling. Cat 5 cabling support applications up to 100
MHz.
Cat5E
Category of Performance for wiring and cabling. Category 5 Enhanced wiring supports signal
rates up to 100 MHz but adheres to stricter quality specifications.
A term for telephone companies established after the Telecommunications Act of 1996
deregulated the LECs. CLECs compete with ILECs to offer local service. See also LEC and
ILEC.
CO central office
The CO houses local switching equipment. All local access lines in a particular geographic
area terminate at this facility (usually owned and operated by an ILEC).
Terminal equipment that is connected to the telecommunications network and that resides
within the home or office of the customer. This includes telephones, modems, terminals,
routers, and television set-top boxes.
A voice grade channel of 64 Kbps. The worldwide standard speed for digitizing voice
conversation using PCM (Pulse Code Modulation).
1.544 Mbps in North America (T1) and Japan (J1) -up to 24 voice channels (DS0s), 2.048
Mbps in Europe (E1) - up to 32 voice channels (DS0s). DS1/T1/E1 lines are part of the PSTN.
T3 in North America and Japan, E3 in Europe. Up to 672 voice channels (DS0s). DS3/T3/E3
lines are not part of the PSTN
E1
The European equivalent of North American T1, transmits data at 2.048 Mbps, up to 32 voice
channels (DS0s).
E3
The European equivalent of North American T3, transmits data at 34.368 Mbps, up to 512
voice channels (DS0s). Equivalent to 16 E1 lines.
Ethernet
Ethernet is a family of frame-based computer networking technologies for local area networks
(LANs). It defines a number of wiring and signaling standards for the Physical Layer of the
OSI networking model, through means of network access at the Media Access Control (MAC)
/ Data Link Layer, and a common addressing format.
full duplex
G.711
G.723.1
G.729a
H.323
half duplex
The native VoIP protocol used by Asterisk. It is an IETF standard used to enable VoIP
connections between Asterisk servers, and between servers and clients that also use the IAX
protocol.
A free speech codec used for voice over IP. It is designed for narrow band speech with a
payload bitrate of 13.33 kbps (frame length = 30ms) and 15.2 kbps (frame length = 20 ms).
The LECs that were the original carriers in the market prior to the entry of competition and
therefore have the dominant position in the market.
interface
Linux
A robust, feature-packed open source operating system based on Unix that remains freely
available on the internet. It boasts dependability and offers a wide range of compatibility with
hardware and software. Asterisk is supported exclusively on Linux.
loopback
A state in which the transmit signal is reversed back as the receive signal, typically by a far
end network element.
A quasi-unique identifier assigned to most network adapters or network interface cards (NICs)
by the manufacturer for identification.
multiplexing
Transmitting multiple signals over a single line or channel. FDM (frequency division
multiplexing) and TDM (time division multiplexing) are the two most common methods. FDM
separates signals by dividing the data onto different carrier frequencies, and TDM separates
signals by interleaving bits one after the other.
MUX multiplexer
open source
Software distributed as source code under licenses guaranteeing anybody rights to freely use,
modify, and redistribute the code.
An abstract description for layered communications and computer network protocol design.
packet
A smaller version of a phone company’s large central switching office. Example: Asterisk.
A file format created by Adobe Systems Incorporated for document exchange. PDF is used
for representing two-dimensional documents in a manner independent of the application
software, hardware, and operating system.
The physical connection point between a network and a telephone network. A POP is usually
a network node serving as the equivalent of a CO to a network service provider or an
interexchange carrier.
Standard phone service over the public switched telephone network (PSTN). This service
provides analog bandwidth of less than 4 kHz.
Type of communications link that connects a single device to another single device, such as a
remote terminal to a host computer.
The public switched telephone network (PSTN) is the network of the world's public circuit-
switched telephone networks. Originally a network of fixed-line analog telephone systems, the
PSTN is now almost entirely digital, and now includes mobile as well as fixed telephones.
RJ11
A six-pin jack typically used for connecting telephones, modems, and fax machines in
residential and business settings to PBX or the local telephone CO.
An IETF standard for setting up sessions between one or more clients. It is currently the
leading signaling protocol for Voice over IP, gradually replacing H.323.
source code
T.38
T.4
T1
A dedicated digital carrier facility that transmits up to 24 voice channels (DS0s) and transmits
data at 1.544 Mbps. Commonly used to carry traffic to and from private business networks
and ISPs.
T3
A dedicated digital carrier facility that consists of 28 T1 lines and transmits data at 44.736
Mbps. Equivalent to 672 voice channels (DS0s).
A device that supports simultaneous transmission of multiple data streams into a single high-
speed data stream. TDM separates signals by interleaving bits one after the other.
telco
The standard termination on the two conductors of a telephone circuit; named after the
physical appearance of the contact areas on the jack plug.
twisted pair
Two copper wires commonly used for telephony and data communications. The wires are
wrapped loosely around each other to minimize radio frequency interference or interference
from other pairs in the same bundle.
V volts
V.17
V.21
V.27ter
V.29
Technology used for transmitting voice traffic over a data network using the Internet Protocol.
July 2009
1. This Digium End-User Purchase and License Agreement (the "Agreement") is a legal
agreement between Digium and its Affiliates (collectively referred to as "Digium") and the
licensee, purchaser and end user respectively (hereinafter, “you”, “You” or “your”) of the
Digium distribution media, software and related documentation (the "Software"), Digium
services (“Services”), and any Digium computer electronics (“Hardware”), entitlements
granted pursuant to a Subscription Agreement, and related manuals (collectively the
"Products"). Affiliates means an entity which is (a) directly or indirectly controlling Digium; or
(b) which is directly or indirectly owned or controlled by Digium. By downloading or installing
the Software or installing the Hardware, you agree to and accept the terms and conditions of
this Agreement. If you do not accept, or are not authorized to accept the terms and conditions
of this Agreement, then you should not install the Software or Hardware and should remove
any installed Software and Hardware from your computer.
2. GRANT OF LICENSE. Subject to the terms and conditions of this Agreement, Digium
grants you a non-exclusive, non-sublicenseable, non-transferable license to use the Software
for internal business purposes and not for resale, sub license, leasing, or (except for those
Products excluded in Section 2.1 of this Agreement) providing hosted services to third-parties.
“Software” shall include any upgrades, updates, bug fixes or modified versions (“Upgrades”)
or backup copies of the Software supplied to you by Digium or an authorized reseller,
provided you hold a valid license to the original Software and have paid any applicable fee for
Upgrades. Notwithstanding the foregoing, you acknowledge that certain components of the
Software may be covered by so-called “open source” software licenses (“Open Source
Components”). Digium will provide a list of Open Source Components for a particular version
of the Software upon your request. To the extent required by the licenses covering Open
Source Components, the terms of such licenses will apply in lieu of the terms of this
Agreement, and Digium hereby represents that only Open Source Components with licenses
that intend to grant permissions no less broad than the license granted in this Section 2 are
included in the Software. To the extent which the licenses applicable to Open Source
Components prohibit any of the restrictions in this Agreement with respect to such Open
Source Component, such restrictions will not apply . The Product Skype for Asterisk contains
third party software that is licensed for use by Skype Software S.a.r.l under the terms of the
Skype Business End User license at http://www.skype.com/go/business.eula for use with
Skype communications products that are provided by Skype Communications S.a.r.l under
The following Products are excluded from the hosted services restriction of Section 2 of this
Agreement. For purposes of clarification, You are free to use the Products in this Section 2.1
to provide hosted services to third parties.
3. RESERVATION OF RIGHTS. Except for the limited license rights expressly granted in this
Agreement, Digium reserves all rights in and to the Software and any modifications thereto,
including title, ownership, trademark, copyright, patent, trade secret and any other rights and
interests. You will own only the Hardware (exclusive of Software embedded in the Hardware)
and the physical media on which the Software and associated documentation are reproduced
and distributed. If you allow an existing Services or Subscription Agreement plan to lapse, you
may be required to pay retroactively annual fees for all Products from the date of the lapse in
order to reinstate such Services. Products that are provided or sold as demo or evaluation
units, or are marked with the legend “For Evaluation Only” or a similar notation, are not
authorized for commercial business use in production or deployment, but are made available
only for demonstration or evaluation purposes, and may not be resold or transferred to any
third party without prior written permission from Digium.
4. EMERGENCY CALLS. The Product Skype for Asterisk is excluded from this Section 4.
Skype for Asterisk does not support any emergency calls and You acknowledge that if You
are using Skype for Asterisk it is Your responsibility to purchase, separately from the Skype
software and Skype Products, traditional wireless or fixed line telephone services that offer
access to emergency services, as more explicitly referred to in the Skype Business End User
License Agreement and the Skype Business Terms of Service. You understand and
acknowledge that the Products may be used to implement, supplement, or replace telephone
systems and telecommunications services, and that in some cases, certain government
regulations may apply to their implementation or use; and compliance with such regulations is
your sole responsibility. You understand and acknowledge that users of the system on which
you install the Products may attempt to use that system to place emergency calls. You
acknowledge and agree that: the Products must be properly configured for your system or
application; that the nature of the Products and any networks they may operate upon allow
many possible configurations; that such configuration may be beyond the scope of the
documentation supplied with the Products; and that specialized experience and training may
5. LIMITATION OF LIABILITY.
To the maximum extent permitted by law, Digium is not liable under any contract, negligence,
strict liability or other legal or equitable theory for any loss of use of the Products,
inconvenience or indirect damages of any character, including but not limited to damages for
copyright or patent infringement, whether special, incidental or consequential (including, but
not limited to, loss of revenue or profit, work stoppage, computer failure or malfunction, failure
of connected equipment or programs, loss of information or data or loss of goodwill) resulting
from the use of the Products, relating to warranty service, or arising out of any breach of this
Agreement, even if Digium has been advised of the possibility of such damages. The sole
remedy for a breach of the foregoing limited warranty is repair, replacement or refund of the
defective or non-conforming Product(s). The maximum liability of Digium under this
Agreement is limited to the purchase price of the Product(s) which is the subject of the
dispute. For purposes of clarification, to the maximum extent allowed by applicable law
Digium is not liable in any amount for Excluded Product(s) as those Product(s) are provided
at no charge. The foregoing express written warranties and remedies are exclusive and in lieu
of any other warranties or remedies, express, implied or statutory.
6. WARRANTY.
The terms under which Digium's Products are warranted are defined in the Digium Standard
Warranty Policy, available on www.digium.com, the terms of which are included herein and
incorporated by this reference.
For purposes of clarification, certain Digium Products and Product families are not covered by
Digium’s Standard Warranty Policy (“Excluded Products”). FOR THE EXCLUDED
PRODUCTS, TO THE MAXIMUM EXTENT ALLOWED BY APPLICABLE LAW, NEITHER
DIGIUM, NOR ITS THIRD-PARTY LICENSORS OR SUPPLIERS, NOR ITS DIRECTORS,
OFFICERS, EMPLOYEES, OR AFFILIATES MAKE ANY REPRESENTATIONS OR
WARRANTIES OF ANY KIND TO ANY END USER, EITHER EXPRESS OR IMPLIED, WITH
RESPECT TO THE PRODUCTS, INCLUDING, BUT NOT LIMITED TO WARRANTIES OR
REPRESENTATIONS OF MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE,
OR NON-INFRINGEMENT, EXCEPT TO THE EXTENT OTHERWISE SPECIFICALLY
AGREED IN WRITING BY SUCH PERSON OR ENTITY. TO THE MAXIMUM EXTENT
ALLOWED BY APPLICABLE LAW, IN NO EVENT SHALL DIGIUM, ITS THIRD PARTY
LICENSORS OR SUPPLIERS, NOR ITS DIRECTORS, OFFICERS, EMPLOYEES,
AFFILLIATES OR LICENSORS BE LIABLE TO YOU FOR ANY DAMAGES OF ANY KIND,
INCLUDING INCIDENTAL, CONSEQUENTIAL, OR ECONOMIC DAMAGE OR INJURY TO
PROPERTY, LOST PROFITS OR LOST REVENUES, WEHTHER BASED ON CONTRACT,
TORT (INCLUDING NEGLIGENCE) OR OTHER THEORY AND REGARDLESS OF
WHETHER SUCH PERSON OR ENTITY SHALL BE ADVISED OR HAVE REASON TO
KNOW OF THE POSSIBLITY OF SUCH DAMAGES, EXEPT TO THE EXTENT
OTHERWISE AGREED IN WRITING BY SUCH PERSON OR ENTITY. The Excluded
Products are defined in the follow subsections. All terms and conditions of this Agreement,
apply to the Excluded Products as detailed in this Agreement.
The following Excluded Products are not covered by Digium’s Standard Warranty Policy and
Digium expressly disclaims any liability arising from use of such Excluded Products pursuant
to Section 6.1. :
7.1 You agree not to reverse engineer, decompile, or disassemble the Software, nor defeat,
bypass, remove or otherwise interfere with any licensing mechanism which may be provided
in or with the Software, except to the extent such restriction is expressly prohibited by
7.2 You will not (except with regard to fair use or nominative use) without Digium written
consent, use the name, trademarks, trade names or logos of Digium, or the name of any
product or service of Digium, in any manner. If Digium grants you a right to use the
aforementioned, you will do so only in strict compliance with Digium trademark policies.
8. TERMINATION. This Agreement shall terminate upon either destruction of the Products or
return of the Products by you to Digium. In the event of a breach of the scope of use
permitted by the grant in Section 2, or if you do not comply with other materials terms and
conditions of this Agreement, Digium shall have the right to immediately terminate this
Agreement, in which case you must promptly destroy or return all Products to Digium.
Notwithstanding the foregoing, the provisions of Sections 5, 6, 7, 8, 9, 10, 11, 12 and 13 shall
survive termination of this Agreement.
9. EXPORT RESTRICTION. You acknowledge that the Software, with the possible exception
of certain third-party components, is of United States origin. The export and re-export of the
Software is controlled by the United States Export Administration Regulations and such
Software may not be exported or re-exported to Cuba, Iran, Iraq, Libya, North Korea, Sudan,
Syria or any other country to which the United States embargoes goods. In addition, the
Software may not be distributed to persons on the Table of Denial Orders, the Entity List, or
the List of Specially Designated Nationals. By downloading or using a Digium Software
Product, you are certifying that you are not a national of Cuba, Iran, Iraq, Libya, North Korea,
Sudan, Syria or any other country to which the United States embargoes goods and that you
are not a person on the Table of Denial Orders, the Entity List or the List of Specially
Designated Nationals.
10. TRANSFER AND ASSIGNMENT. This Agreement and the rights and obligations under it
are not assignable by you without the prior written approval of Digium, voluntarily or by
operation of law. Any attempt by you to assign this Agreement without such approval shall be
void. This Agreement shall inure to the benefit of the successors and assigns of Digium.
Notwithstanding the foregoing, you may move the Software to different internal computers to
the extent consistent with the scope of license you have purchased to the Software.
11. U.S. GOVERNMENT USERS. The Software and documentation qualify as “commercial
items” as defined at 48 C.F.R. 2.101 and 48 C.F.R. 12.212. All Government users acquire the
Software and documentation with only those rights herein that apply to non-governmental
customers of Digium.
13. ENTIRE AGREEMENT. This Agreement constitutes the entire understanding between the
parties relating to the subject matter hereof and supersede all prior writings, negotiations or
understandings with respect thereto. The provisions of this Agreement shall take precedence
over any conflicting terms in any subsequent purchase order, documentation or collateral.
The parties agree that this Agreement may be executed electronically and that electronic
copies of this Agreement shall be binding upon the parties. If any provision of this EULA is
held to be void, invalid, unenforceable or illegal, the other provisions shall continue in full
force and effect.