Sunday, January 23, 2011

Asterisk Software Add-On

Echo Cancellation

For Asterisk users that connect to the PSTN, the most common type of echo is hybrid echo - the echo introduced by the impedance mismatch between 2-wire and 4-wire telephone circuits. The echo manifests as a distorted and delayed reflection of the users voice while in conversation with an external party through the PSTN.

Host-based Toll-Quality echo cancellation software is designed to operate under 32-bit and 64-bit Linux and provides echo cancellation for configurable tail lengths of 16ms (128 taps), 32ms (256 taps), 64ms (512 taps), and 128ms (1024 taps).

IVR Voice Prompt

The growing installed base of Asterisk® open source PBX/IVR software has created the need for custom IVR prompts which mesh with the existing prompts in Asterisk. This not only minimizes your need for recording additional prompts, but makes customization seamless to the user.

Tuesday, January 18, 2011

Configure Polycom IP Phone With Asterisk PBX

Introductory information on how to use Polycom® SoundPoint® IP phones and Polycom® SoundStation® IP conference phones with the Asterisk PBX.

This document assumes you have an installed and functioning Asterisk server.

In this document, the terms SoundPoint IP phone, SoundStation IP phone, and Asterisk/Asterisk server refer to the following:
SoundPoint IP phone—Polycom SoundPoint IP 301, 320, 330, 430, 450, 501, 550, 560, 601, 650, or 670 desktop phone SoundStation IP phone—Polycom SoundStation IP 4000, 6000, or 7000 conference phone. Asterisk or Asterisk server—a functioning Asterisk PBX installation.

Creating a Basic Configuration
The configuration file fragments in the following figure show the basic settings required to configure both Asterisk and the SoundPoint IP or SoundStation IP phones to successfully interoperate.
Note that these settings are minimal configurations and only show changes from default factory settings on the phone. If you are not sure of the current settings and their impact on the phone in your configuration, restore the phone to the factory default settings (see Removing Configuration Overrides).
To create a basic configuration:
1. For each phone to be connected, define the phone extension number in the Asterisk sip.conf file, as shown in the example below.

In the above example, the extension number 8055 is defined. This extension:

Is defined by the number inside square brackets [8055]

Has a SIP registration username of 8055 username

Has a SIP registration password of 8055 password

Uses the Asterisk mailbox number 8055 in the default context

Is an Asterisk type friend, meaning it is both a user and a peer

Is a dynamic host according to Asterisk

Sends DTMF tones as special RTP packets according to RFC2833

Exists in the Asterisk context Polycom

Allows RTP traffic to bypass the Asterisk server

Sends a caller ID with text as Polycom Demo and a number 8055


2. Define the dial plan in the Asterisk extensions.conf file for the context declared above, as shown in the example below.

[polycom]
exten =>8055,1,Dial (SIP/8055,25)
exten =>8055,2,Voicemail,u8055
exten =>8055,102,Voicemail,b8055

In the above example, the extension number 8055 was added to the dial plan.

When someone dials this extension from within the context :

Asterisk will first try to ring the extension 8055 using the SIP channel, waiting up to 25 seconds for the extension to answer.

If the extension is unanswered, Asterisk will direct it to mailbox 8055.

If the extension is busy, Asterisk will direct it to mailbox 8055.


3. Once the Asterisk configuration is complete, configure the SoundPoint IP or SoundStation IP phone. You can do this in one of three ways:


1. Via a centralized provisioning (or boot) server using configuration files. This method offers the most flexibility. This is the recommended method of configuring Polycom phones and the method that is used throughout this document.
2. Via the phone’s built-in web server using a web browser. Not all options are available using this method, but you can use this method to configure the phone to register with Asterisk.

3. Via the phone’s menu system (using the phone’s buttons). Not all options are available using this method, but you can use this method to configure the phone to register with Asterisk.

Linksys IP Phone Asterisk

First Sipura introduced the SPA-841 which was a decent IP phone but nothing to get excited about, it looked bad and did not have a high quality feel to it when you hit the buttons, felt the handset, etc. The phone was quite popular though with the Asterisk crowd, in large part due to its low price and I would assume the general popularity of Sipura SPA3000s within the Asterisk community.

After Linksys bought Sipura (Linksys itself is now owned by Cisco) they re branded the next generation of Sipura products, the SPA9XX series, as Linksys products. This series improves upon the original 841 in terms of features (Power over Ethernet on some models and a built in switch on some models are the main improvements) as well as build quality, the phones now feel like a high quality product.

The Linksys SPA921 is the cheapest of the Linksys SPA9XX series but offers the same quality as other models in the series, just not all of the same features. For instance the SPA922 is similar to the 921 but includes Power over Ethernet (which means if you do not already have PoE compatible equipment you must purchase either a PoE injector or a power cube for the phone) as well as a built in 10/100 Ethernet switch so that if you only have a single Ethernet drop to a desk you can plug that into the phone and the computer into the phone, versus having to purchase a separate switch and plugging both the phone and the computer into the switch and the switch into the single drop.

The one nice feature for a home office that the SPA922 does have that the SPA921 does not is a back light for the LCD. If you want a back lit phone for home use you could purchase the SPA922 but keep in mind the additional cost of having to purchase a power cube or a PoE injector. I find it very odd that Linksys would provide a back light on a PoE phone but not on a phone that plugs directly into the wall for electricity, usually it is the other way around.

All of the SPA series of products only work with Session Initiation Protocol (SIP). SIP is of course the dominant protocol out there for both IP phones and servers but also for Internet Telephone Service Providers (ITSPs). Personally I like to have my SIP devices all connect to Asterisk and then have Asterisk make IAX2 protocol connections out to my ITSP since not only does IAX2 support encryption (who knows how good it is, it was thrown in a few versions back but rarely used by anyone) but I also don't have to have as many ports open on my firewall.

Sunday, January 16, 2011

Asterisk 1.8.2-rc1 Now Available

The release of Asterisk 1.8.2-rc1 resolves several issues reported by the
community and would have not been possible without your participation.
Thank you!

The following is a sample of the issues resolved in this release:

* 'sip notify clear-mwi' needs terminating CRLF.
(Closes issue #18275. Reported, patched by klaus3000)
* Patch for deadlock from ordering issue between channel/queue locks in
app_queue (set_queue_variables).
(Closes issue #18031. Reported by rain. Patched by bbryant)
* Fix cache of device state changes for multiple servers.
(Closes issue #18284, #18280. Reported, tested by klaus3000. Patched, tested
by russellb)
* Resolve issue where channel redirect function (CLI or AMI) hangs up the call
instead of redirecting the call.
(Closes issue #18171. Reported by: SantaFox)
(Closes issue #18185. Reported by: kwemheuer)
(Closes issue #18211. Reported by: zahir_koradia)
(Closes issue #18230. Reported by: vmarrone)
(Closes issue #18299. Reported by: mbrevda)
(Closes issue #18322. Reported by: nerbos)
* Fix reloading of peer when a user is requested. Prevent peer reloading from
causing multiple MWI subscriptions to be created when using realtime.
(Closes issue #18342. Reported, patched by nivek.)
* Fix XMPP PubSub-based distributed device state. Initialize pubsubflags to 0
so res_jabber doesn't think there is already an XMPP connection sending
device state. Also clean up CLI commands a bit.
(Closes issue #18272. Reported by klaus3000. Patched by Marquis42)
* Don't crash after Set(CDR(userfield)=...) in ast_bridge_call. Instead of
setting peer->cdr = NULL, set it to not post.
(Closes issue #18415. Reported by macbrody. Patched, tested by jsolares)
* Fixes issue with outbound google voice calls not working. Thanks to az1234
and nevermind_quack for their input in helping debug the issue.
(Closes issue #18412. Reported by nevermind_quack. Patched by dvossel)

Asterisk SCF

Asterisk SCF is a framework that allows developers to create real-time communications applications that include voice, video and text and that meet the demands of a full range of uses, from embedded applications to enterprise and carrier solutions. Asterisk SCF is architected to provide the highest levels of availability, scalability, extensibility, fault-tolerance and performance.

Asterisk SCF will be delivered as a system of distributed components that can be deployed in clusters on a single system or on many systems, transparently. The Asterisk SCF platform will support, as a part of its basic architecture, the full range of real-time IP communications, including video, multi-channel wideband and ultra-wideband audio, chat, desktop sharing and other media types that may arise in the future.

Asterisk SCF is not a replacement for Asterisk, the world’s most widely used open source voice communications platform. Digium and the Asterisk community are committed to the continued development and support of Asterisk, the telecommunications software.

Wednesday, January 5, 2011

Cisco IP Phone Configuration with Asterisk

Getting the Cisco IP Phone 7970 G to work together with the software PBX Asterisk was something I had my hands on a couple of years back. Here’s how you can get them talking together.

You need a couple of things to get this working:

A functioning DHCP serverA functioning TFTP serverSIP Firmware from Cisco This is just a gzipped and tar’ed file.A functioning asterisk serverA Cisco IP Phone

According to a recent installation, the TFTP server must contain the following files

apps70.1-1-2-26.sbn
cnu70.3-1-2-26.sbn
cvm70sip.8-0-2-25.sbn
dsp70.1-1-2-26.sbn
jar70sip.8-0-2-25.sbn
SIP70.8-0-3S.loads
term70.default.loads
term71.default.loads
SEP.cnf.xml

The file you should pay the most attention to is the SEP.cnf.XML file, this is the configuration file. The configuration file is in XML format. You can find a sample configuration here that should work.


true
SIP




M/D/Y
Greenwich Standard Time


true



ccm-beta-5-1
CallManager 5.0 Beta Pub – 5.0.1.032

2000
5060
5061

2427
2428


ccm-beta-5-1





Disable
Disable
false

2000

2000

2000
IP ADDRESS TO SIP SERVER
5060

5060

5060
false

-1
Default
Default
120



USECALLMANAGER
5060
USECALLMANAGER
5060
USECALLMANAGER
5060
true


true
x-cisco-serviceuri-cfwdall
x-cisco-serviceuri-pickup
x-cisco-serviceuri-opickup
x-cisco-serviceuri-gpickup
x-cisco-serviceuri-meetme
x-cisco-serviceuri-abbrdial
false
2
true
true
2
2
0
true


6
10
180
3600
5
120
120
5
500
4000
70
true
None

1
false
true
false
false
none
101
3
avt
false
false
3

2
false
15000
10
true
16384
32766


9

USECALLMANAGER
5060
3302
3302

2

3

false
3

4
5
7b452e87-4496-4762-e11f-b26751a1884b

true
false
false
true



5060
184
0

SK50719900-3bee-4594-bc3f-6400e1a33bf0.xml



true
2

SIP70.8-0-3S

falsefalse01000001,707:3010:3001:001

1136931633-57191cee-5ffc-4342-b286-4246b4991890

English_United_States
1
en_US
1.0.0.0-1
iso-8859-1

United_States

United_States
64
1.0.0.0-1

1
0
http://ccm-beta-5-1:8080/ccmcip/authenticate.jsp
http://ccm-beta-5-1:8080/ccmcip/xmldirectory.jsp

http://ccm-beta-5-1:8080/ccmcip/GetTelecasterHelpText.jsp


http://10.86.5.102/CiscoServices/index.xml
96
0
96
4
0


3804
ccm-beta-5-1



false

2
2000
2000

true
true

dialplan.xml

On the Asterisk server, you will have a file named sip.conf and to have the Cisco IP Phone talking to Asterisk you need this

[999999999]
username=999999999
type=friend
secret=password
nat=no
host=dynamic
canreinvite=no
dtmfmode=rfc2833
context=incoming
qualify=yes
disallow=all
allow=ulaw

That should be it, good luck!

Tags: asterisk, cisco 7960, cisco 7970, cisco 7970G, cisco config, cisco ip phone, config files, configuration, ip phone

This entry was posted on Wednesday, May 20th, 2009 at 12:20 am and is filed under Cisco configuration, Tutorials. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Tuesday, January 4, 2011

First Look at the Cisco SPA500 Phones

How come I cannot find any information on these phones anywhere?

However, there is a line of Cisco 500 series phones: 521G, 521SG, 524G, 524SG (http://www.cisco.com/en/US/prod/collateral/voicesw/ps6788/vcallcon/ps7293/data_sheet_c78-466719_ps9730_Products_Data_Sheet.html). Along with them, SPA-525G is also mentioned (http://www.cisco.com/en/US/products/ps10067/index.html).

All Cisco 500 series phones support only SPCP (a modified version of SCCP) and work with only UC-500 system running Cisco Unified Communications Manager Express (CUCME). They do not work with Cisco Integrated Services Routers (ISRs) running CUCME or with Cisco Unified Communications Manager (CUCM). However, SPA-525G supports both SPCP and SIP, and as a SIP client, it works with any SIP based PBX, including CUCME running on any ISR. So, do SPA-501G, SPA-502G, SPA-504G, SPA-508G, and SPA-509G support both SPCP and SIP? Also, the USB port you have mentioned is used to connect any USB-based storage device from which the phone can stream media via a built-in MP3 player in the phone’s software.

The phones shown here will be officially announced by Cisco any day now.

Watch out if you get these phones! I’ve spent two months trying to straighten out the mess that they cause. It’s like the old addage says ‘you get what you pay for’. DSPs keep crashing in my UC. Cisco SE came in and didn’t know what was up…

Monday, January 3, 2011

Installing FreePBX 2.8 with Asterisk 1.8 on CentOS 5.5

FreePBX has become quite popular over the last few years. Unfortunately, the documentation has not quite caught up to the popularity. At the time of this writing, most of the documentation available was for older versions of CentOS, FreePBX and/or Asterix. Below I have outlined the steps required to get FreePBX 2.8 working with Asterisk 1.8 on CentOS 5.5.


If you are reading this as after having followed the steps in my previous article Installing CentOS 5.5 with Linux Integration Services 2.1 on Hyper-V R2 or if you have not selected the following package groups during your installation of CentOS, make sure you do so now by using the following commands.

You will need five different passwords.

PASSWORD1 – Your root password.
PASSWORD2 – Used for the asterisk database user.
PASSWORD3 – Used for the FreePBX administrator.
PASSWORD4 – Used for Flash Operator Panel.
PASSWORD5 – Used for the Asterisk Recording Interface.

yum groupinstall "DNS Name Server"yum groupinstall "Web Server"yum groupinstall "Mail Server"yum groupinstall "MySQL Database"yum groupinstall "Development Tools"

Once you are sure that the needed package groups are installed, you will want to install the prerequisites as follows.

yum install e2fsprogs-devel keyutils-libs-devel krb5-devel libogg libselinux-devel libsepol-devel libxml2-devel libtiff-develyum install gmp php-pear php-pear-DB php-gd php-mysql php-pdo kernel-devel ncurses-devel audiofile-devel libogg-develyum install openssl-devel mysql-devel zlib-devel perl-DateManip sendmail-cf sox

Make sure you also have wget installed.

yum install wget

Next you will setup named.

echo "options {" >> /var/named/chroot//etc/named.confecho " directory \"/var/named\";" >> /var/named/chroot//etc/named.confecho " dump-file \"/var/named/data/cache_dump.db\";" >> /var/named/chroot//etc/named.confecho " statistics-file \"/var/named/data/named_stats.txt\";" >> /var/named/chroot//etc/named.confecho "};" >> /var/named/chroot//etc/named.confecho "include \"/etc/rndc.key\";" >> /var/named/chroot//etc/named.confcd /var/named/chroot//etc/chmod 640 named.confchgrp named named.confln -s /var/named/chroot//etc/named.conf /etc/named.conf

You will want to adjust the security settings as per your requirements but for the simplicity of this article, we are going to turn off Security-Enhanced Linux and open the firewall fully.

echo "SELINUX=disabled" > /etc/selinux/configiptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPTiptables -Fiptables -X/etc/init.d/iptables save

LAME is required for Asterisk’s audio related functions. You will want to download LAME to a source directory, compile and then install it.

cd /usr/srcwget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz?ts=1292626574&use_mirror=cdnetworks-us-1tar zxvf lame-3.98.4.tar.gzcd lame-3.98.4./configuremakemake install

You can optionally remove the source once you have installed LAME.

cd ..rm -fr lame-3.98.4rm lame-3.98.4.tar.gz

Before continuing, insure that all packages are up to date and then reboot.

yum updatereboot

Get Asterisk 1.8 and extract it to its own source folder.

cd /usr/srcwget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.8-current.tar.gztar xvfz asterisk-1.8-current.tar.gzcd asterisk-1.8.0contrib/scripts/get_mp3_source.sh./configuremake menuconfig

The last command will launch the source configuration manager. The only portions you will want to install are app_mysql, app_saycountpl, cdr_mysql, format_mp3, res_config_mysql and EXTRAS-SOUNDS-EN-GSM (which can be found in the Extra Sound Packages sub-menu). Save your selections and exit. Now compile the source and install.

makemake install

You can optionally remove the source directory once you have installed Asterisk.

cd ..rm -fR asterisk-1.8.0rm asterisk-1.8-current.tar.gz

Get FreePBX 2.8 and extract it to its own source folder.

cd /usr/srcwget http://mirror.freepbx.org/freepbx-2.8.0.tar.gztar xvfz freepbx-2.8.0.tar.gzcd freepbx-2.8.0

Start MySQL, create the asterisk databases and run the initial SQL setup scripts.

/etc/init.d/mysqld startchkconfig mysqld onmysqladmin create asteriskmysqladmin create asteriskcdrdbmysql asterisk < SQL/newinstall.sqlmysql asteriskcdrdb < SQL/cdr_mysql_table.sql

Start the MySQL command line.

mysql

Define the user and password for each of the databases.

GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'PASSWORD2';GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'PASSWORD2';flush privileges;\q

Change the MySQL user to root.

mysqladmin -u root password 'PASSWORD1'

Create the Asterisk user and set folder permissions.

useradd -c "Asterisk PBX" -d /var/lib/asterisk asteriskchown -R asterisk:asterisk /var/run/asteriskchown -R asterisk:asterisk /var/log/asteriskchown -R asterisk:asterisk /var/lib/php/session/

Update the Apache configuration file.

vi /etc/httpd/conf/httpd.conf

Change User apache and Group apache to User asterisk and Group asterisk.

Change AllowOverride None to AllowOverride All.

Update ServerName to use your server’s FQDN.

Start Apache.

/etc/init.d/httpd startchkconfig httpd on

Start Asterisk.

./start_asterisk start

Configure FreePBX.

./install_amp --username=asteriskuser --password=PASSWORD2

The next series of prompts will give you default values within square brackets which you can accept by hitting enter. If you wish to change a value, simply type it and hit enter after.

[asteriskuser]

This is the database user you specified earlier.

[PASSWORD2]

This is the password for the database user.

[localhost]

Use the default value.

[admin]

The username for the FreePBX administrator.

[amp111]

The password for the FreePBX administrator. It is important to change this. (Use PASSWORD3 you prepared earlier.)

[/var/www/html]

Use the default value.

[xx.xx.xx.xx]

The public IP that will be used.

[passw0rd]

The Flash Operator Panel password. It is important to change this. (Use PASSWORD4 you prepared earlier.)

[extensions]

Use the default value.

[/var/lib/asterisk/bin]

Use the default value.

[/usr/local/sbin]

Use the default value.

Change the Asterisk Recording Interface password and turn on user authentication for the web interface by editing the amportal.conf file.

vi /etc/amportal.conf

Change the ARI_ADMIN_PASSWORD entry to update the ARI password.

ARI_ADMIN_PASSWORD=PASSWORD5

Change the AUTHTYPE entry to database to enable authentication.

AUTHTYPE=database

Optionally, you can turn off the FOP completely by changing the following settings.

FOPRUN=falseFOPDISABLE=true

Save and exit.

Add FreePBX to the boot process.

echo "/usr/local/sbin/amportal start" >> /etc/rc.local

You can ensure that the administrator user has the proper password in the database by navigating to the Administrators tab, choosing the admin user and clicking on the Update password link. Once your password has been updated, logout by clicking the link at the top right of the page.

Finally, reboot the server one last time.

reboot

Installing CentOS 5.5 with Linux Integration Services 2.1 on Hyper-V R2

Hyper-V R2 brings some powerful virtualization to the table for those of us who do not have either the skills or the desire to work with virtual machineware. Most fans of Hyper-V are also likely to be well versed in Windows and may often lack the knowledge to rummage through Linux. Although there are many resources available regarding Linux on Hyper-V, I felt that most assumed the reader had intimate knowledge with Linux, which is often not the case.

For Windows administrators new to Linux who wish to provide virtualized services to their end-users, my recommendation is to stick to CentOS 5.5. Being a close derivative of Red Hat Enterprise Linux (RHEL), the officially supported distribution by Microsoft, installation of the Integration Components is simplified and stability is matched to what is found when running RHEL.

You will need the CentOS 5.5 x64 installation DVD ISO (CentOS-5.5-x86_64-bin-DVD-1of2.iso) which can be found at http://isoredirect.centos.org/centos/5/isos/x86_64/.

You will also need the Linux Integration Services 2.1 ISO (LinuxIC v21.iso) available through the Microsoft Download Center at http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eee39325-898b-4522-9b4c-f4b5b9b64551.

To create the initial virtual machine, you will need to use the Legacy Network Adapter and limit yourself to a single CPU. You will also want to take time to decide how large of a VHD to allocate ahead of time as expanding a Linux partition can be a little complicated. Personally, I find 20GB to be sufficient for small, single purpose Linux virtual machines.

After booting from the CentOS ISO, you are presented with the choice to do a graphical or a text mode installation. To choose the text mode installation (as used here), simply type “linux text” at the boot: prompt and hit enter.

To navigate throughout the next portion of the text mode installation, use the Tab key to navigate between fields and the Space key to select options or hit buttons.

You will be asked if you would like to do a media test. You can safely skip this.

The initial welcome screen to the installation process.

Choose your language as appropriate.

And your keyboard.

You must then partition your VHD for Linux. As you will be starting off with a fresh VHD, you can simply choose “Use free space on selected drives and create default layout.” and continue with OK.

Be sure to hit No to continue as hitting Yes will simply bring you back to the previous screen.

As long as you have properly configured your virtual machine to use the Legacy Network Adapter, you will be presented with the opportunity to have the installation configure it for you.

Check the “Enable IPv4 support” option and hit OK to continue.

Switch to the “Manual address configuration” option and enter your IP address and netmask as appropriate.

Continue on by entering your default gateway (usually your router or your network’s default route). If you have internal DNS servers for your network, enter them here or alternatively, you can use OpenDNS.

The name of your virtual machine is defined here as the hostname.

Select your time zone and continue.

Be sure to choose a secure root password as the root user has complete access to the entire virtual machine and SSH is enabled on first boot.

For a bare minimum installation, uncheck all of the packages, check “Customize software selection” and hit OK.

Uncheck all package groups and continue. Anything you require can later be installed by yum anyway.

Installation will begin once you continue past this screen.

Once installation is complete, you will be required to reboot.

After rebooting, you will be ready to login. At this point, I recommend connecting via SSH in order to copy and paste commands.

The first thing that must be done is to update all the base packages and upgrade the kernel to the latest version. Simply run a “yum update”, then reboot.

yum updatereboot

You will need to install the required packages “kernel-devel”, “gcc” and “make” packages to compile and install the Linux Integration Components. Also, I suggest installing the VIM text editor.

yum install kernel-develyum install gccyum install makeyum install vim-enhanced.x86_64

Attach the Linux Integration Services ISO. Once attached, you will need to mount the cdrom. You must then copy and compile the source in a temporary folder. Finally, you will be able install the Linux Integration Components. “make” will compile the source, then “make install” will install the compiled drivers.

mkdir -p /mnt/cdrommount /dev/cdrom /mnt/cdromcp -rp /mnt/cdrom /opt/linux_icumount /mnt/cdromcd /opt/linux_icmakemake install

The time synchronisation component is not compatible with CentOS, therefore you will need to install “adjtimex”.

yum install adjtimex

You will need to shutdown the virtual machine in order to enable the Synthetic Network Adapter and increase the number of CPUs allocated. To do so, run the shutdown command.

shutdown -h -t 0 0

Change the settings in Hyper-V once the virtual machine has completely shutdown.

Start the virtual machine and log in. You will need to reconfigure the network adapter as “eth0? will have disapeared and a new adapter, “seth0?, will have taken its place.

The easiest way to do this is to edit the MAC address in the “eth0? backup file to match the MAC address of the Network Adapter as displayed in the virtual machine settings in Hyper-V, then copy the backup file as “seth0? and restart the network service.

vi /etc/sysconfig/network-scripts/ifcfg-eth0.bak(edit HWADDR)(save and exit)rm -f /etc/sysconfig/network-scripts/ifcfg-seth0mv /etc/sysconfig/network-scripts/ifcfg-eth0.bak /etc/sysconfig/network-scripts/ifcfg-seth0service network restart

If all went well, you will find yourself with a bare minimum install of CentOS 5.5 running the latest kernel and version 2.1 of the Linux Integration Services. Fully virtualized and synthetic. You can now enjoy the many benefits of Hyper-V Linux such as the ability to shutdown the virtual machine without the root password.

Sunday, January 2, 2011

Valcom PagePro VIP204 Paging Gateway Overview

The PagePro IP Model VIP-204  is a SIP based paging server designed for use with virtually all IP based telephone systems. The unit provides 8 zones, groups thereof and all call paging. Up to 4 simultaneous non conflicting pages.  This PagePro IP unit can drive up to 65,000 IP speakers or 65,000 analog speakers or provide the audio source for legacy paging systems. It can simultaneously drive any combination of these paging applications. The VIP-204 can form the foundation of most paging projects. The 8 zones can be accessed individually or in flexible groups.  Multiple VIP-204 devices can be grouped together for expandability.  Provides feedback elimination.


Valcom PagePro IP VIP-204 allows paging from any SIP compliant telephone to 8 SIP page destinations. The SIP page destinations can be any of the VIP-204’s four analog outputs, any combination of those outputs, or any
combination of page groups from other Valcom VIP units. The four analog outputs on the VIP-204 are line level –10dBm audio outputs. These outputs are designed to directly drive up to 150 Valcom self-amplified speakers.
The outputs are also suitable for connection to an auxiliary input on a utility amplifier of a legacy paging system.

Group Paging Features
The PagePro IP Model VIP-204 allows SIP based phone systems to page any number of Valcom IP speakers, Valcom Amplified Speakers and Valcom VIP series analog paging gateways. Valcom multicast group paging features robust grouping and priority controls. These controls make it easy to distribute low priority announcements yet allow high priority paging to override ongoing announcements. The PagePro IP Model VIP-204 provides 8 IP zones and 1 analog output capable of driving a mix of Valcom self amplified overhead paging speakers and horns. You can assign one SIP access phone number for the analog port. The VIP-204 provides 8 fully customizable SIP identities that can access any combination of IP zones and the analog port. Analog paging functions can be seamlessly combined IP paging functions allowing powerful combinations of analog and IP paging.Group Paging Priority Feature
Any page group or port can be assigned a priority. These priorities allow a logical scaled approach to group paging. An absolute priority can be assigned to allow for emergency override in any circumstance. Group paging priorities work locally or across ganged units in the same fashion allowing facility wide emergency paging. Red Phone functionality is easily achieved with either IP phone or analog handsets via a Valcom gateway.Feedback Elimination Feature
The PagePro IP Model VIP-204 provides programmable store and forward capability for all paging accesses. This features records up to 30 seconds of audio, and then replays the audio when the page call is terminated. The number of times the recorded audio is played back can be set from 1 to 5. Some paging applications require live announcements. For these applications the store and forward capability can be turned on/off per page zone.Wiring Supervision Features
The PagePro IP Model VIP-204 provides for supervision of field wiring. If a fault is detected in the wiring connecting the analog output to either speakers or amplifiers it can be reported to an external device or syslog facility.Audio Supervision Features
The PagePro IP Model VIP-204 provides internal monitoring of the audio path from the network connection to the analog output connector and can report failures to an external device or syslog facility.Legacy Applications
The PagePro IP Model VIP-204 provides 1 analog output that can easily be conditioned to drive any existing overhead paging system. Legacy paging features can be seamlessly combined allowing powerful combinations of legacy analog and IP paging.Easy To InstallLive or Recorded Messages65,000 Speakers, Expandable To 256 IP Paging ZonesEasily Connect Loudspeaker System To Existing Computer NetworksCompatible With Cisco, Nortel, Avaya, Iwatsu And Most IP Telephone SystemsSupports IP And Analog Amplified SpeakersSupports IP Talkback SpeakersSupports Legacy Paging SystemsSynchronized Clock CompatibilityPoE (802.3af) Or Local PowerSIP And MulticastNetwork SupervisionFeedback EliminatorNight RingDHCP

Valcom VIP172 IP Door Intercom Overview

The VIP-170 series of IP Handsfree Talkback intercom with longline extender and dial code operated relay are the perfect solution to implementing Door Phone or similar functions in with modern IP telephone systems. In a door answer application, a visitor pressing the “Call” button on the doorplate receives a confirmation tone or recorded message and the unit initiates a call to any SIP telephone, SIP address, PC softphone, Valcom intercom station or to a Valcom IP gateway. When the called party answers, a handsfree talkback communication is enabled. The called party may dial code to activate a relay in the IP DoorPhone to unlock the door. When the called party terminates the call, the session is terminated automatically. The called party may be anywhere, across the street or across the world.. When used in a Command application, any location will automatically call the Command location. The Command location can call any station directly. The Command location can call any groups or can do an all call page using a single optional Valcom multicast Gateway.


Valcom VIP-172L Product Features

Flush Mount PlateCall Button & LEDPOE (802.3af)Relay Contact for Door UnlockSIP DoorPhone w/ door/gate relayPoE (802.3af)Use with 3CX, trixbox, Asterisk, Cisco, Nortel, Avaya, and most modern IP Telephone systemsCall button calls any SIP address or any Valcom GatewayAutomatic Talkback VOX operation (no Push To Talk button needed)Includes long line extender – up to 300 metersEasy, RJ45 plug in, Cat 5 or 6, LAN /WAN 10/100Stainless Steel, Brass and Vandal proof (11 AWG Steel)For Security – Peer to Peer or Many to OneSIP or Multicast Softphone addressableDoor Ajar Notification FeatureAll Call 1000’s of units with Valcom GatewayLED Status Indicator

Saturday, January 1, 2011

Asterisk h Extension

The h extension is a great extension, and when a call is hung up by any of the parties, i.e. either by the caller or by the callee, asterisk dialplan looks for the h extension before hanging up the call. Same is true for a conference call, when a user exits, first asterisk looks for the h extension for the hung up leg of the call.


When you start writing some serious dialplans, you can’t get away by not knowing and using the h extension.


h refers to hangup. If you don’t have it defined in your dialplan, the call will still hang up, but with h extension you can do a lot more than just hanging up a call, e.g. the most important and most commonly use of h extension is to update the CDR before completing a hangup.


For an example, take a context name [my-calls] which is used to send and receive calls on an asterisk system for a local office with extension pattern 2XX.  Here the h extension will be used like this:

[my-calls]exten => _2XX,1,Verbose( - - - New call - - - )exten => _2XX,n,Dial(SIP/${EXTEN},60)exten => h,1,Verbose( - - - I am the h extension of the context [my-calls] - - - )exten => h,2,ResetCDR()exten => h,n,Hangup()

Personally I program only in AEL, and the above syntax is only for the sake of this blog entry, because most of the asterisk users still don’t know AEL. I can’t urge less to move to AEL, as it makes dialplan programming so much easier, simpler and cleaner.


The above in AEL will be as follows:

context my-calls { _2XX => { Verbose( - - - New call - - - ); Dial(SIP/${EXTEN},60); }; h => { Verbose( - - - I am the h extension of the context [my-calls] - - - ); ResetCDR(); Hangup(); };};

You can see that here the context [my-calls] has its own h extension, and as soon as a call in this context will hangup, or in technical terms a call will tear down, asterisk will display message on its screen ” – - – I am the h extension of the context [my-calls] – - – ” followed by updating the CDR record for this call, followed by hangup of the call.


You can also use the h extension in macros. The syntax for non-AEL syntax is the same as for the contexts, but for AEL, it is a little different and not very well documented. It took me a while to find out how to use it in a macro in AEL, and don’t want you to waste your time figuring it out, so here it is:

macro hangup-calls() {  Verbose( - - - This is how you hangup call in a macro when using AEL - - - ); catch h { ResetCDR(); Hangup(); };};

Basically you use the ‘catch’ statement, followed by the h block.


There are certain commands which you can’t use in the h extension. The ones I know from my experience include Wait, Playback, Backgroup, WaitExten. If you want to delay the hangup due to any reason, I have a trick for it in a separate blog, link to which you can see below.

Asterisk Open Source Billing Systems


A2Billing, combined with Asterisk is a physical Telecom Platform and Soft-Switch providing a wide range of telecoms services using both traditional telephone technology or VoIP. It contains a real time billing engine which rates and bills and invoices calls, and supports payment gateways.

This now gives any Telecom company a very good reason to consider the A2Billing Platform over the traditional offerings for TDM and VoIP Soft-Switches as well as wholesale billing.


Solutions


A2Billing can be used in a number of different roles, and our consultancy services can advise on the appropriate hardware and configuration of your Switch.


  * Calling Card service with either PIN or Caller ID recognition
  * Call-back service
  * VoIP Billing
  * VoIP termination for IP PBX systems
  * Wholesale VoIP Termination and Origination
  * Residential VoIP Termination and Origination.
  * Special Applications Platforms
  * Predictive Dialler and Sales Campaign Tool
  * Hosted PBX, IP Centrex and Multi-tenant systems.    
  * VoIP reseller white label solutions.    
  * and much more :)


There is online demo available at http://demo.asterisk2billing.org/a2b/. For more information about any of the features and benfits of any of our products, please contact us at sales@star2billing.com, or go to www.a2billing.net, and www.star2billing.com

AstBill is not only a 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. AstBill is Open Source and under constant development. Prepaid, Postpaid and Calling Cards supported.

Asterisell is a open source web application for
rating,
showing to customers,
and billing Asterisk VoIP calls.
EasyITSP an open source ITSP/Hosted PBX solution that sits on top of Digium's open source Asterisk PBX, has been released to the public. EasyITSP allows people with little experience to easily manage and run an ITSP and/or Hosted PBX services with its small footprint and its easy to use admin and customer portals. EasyITSP is quickly gaining ground in its market with constant development of new features. To learn more and view a demo, visit http://lemens-ts.com/easyitsp
Freeside is the open-source billing, ticketing and account administration package for Internet Service Providers that now includes support for VoIP CDR rating and billing. Freeside supports Asterisk and many other CDR formats.

Freeside Internet Services also offers installation, integration, configuration, migration, training, and customization services.


Flexible pricing and rating plans including anniversary billing, pro-rating, usage based billing and more. Plug-in system allows easy addition of new pricing plans. VoIP rating and billing, including DID inventory, rate plans, free minutes, caps, and 800# billing. Real-time credit card and electronic check processing with all major processing gateways. Email, fax, printed and online invoicing.
Complete, integrated trouble ticketing system included, based on Request Tracker from Best Practical Solutions Auto-responds to customer email, assigns a ticket number and allows your staff to track requests collaboratively Multiple queues, custom fields, templates, ticket associations, templates, customizable workflow, and more.
Online signup page with immediate credit card authorization and provisioning. Customer self-care including invoice viewing, one-time and recurring payments, adding and removing services, and password changes. Simple API available to write your own self-service pages or applications.
Unlimited resellers with branded invoices, individual pricing and payment gateways. Virtualized reseller access allows resellers access to only their own customers. Flexible, fine-grained access control
Features:
Provide call rating for Asterisk. Calling Cards Integrates with AMP (amp.coalescentsystems.ca) An "unlimited" amount of different price lists. Batch billing Realtime billing Rates are billed to 6 decimal places. Rates are highly configurable. Import rate lists in cvs format. Variable billing increments. Call setup charges. Resellers. Least Cost Routing Web interface provides: - Card balances. - Ability to configure routes. - Ability to configure most of ASTPP. - Setup Brands. - Many other features. Interface for customers to view their calls. GPLed Source Code Intregrated with OSCommerce!! CitrusDB is an open source customer care and billing solution that can be used in 
many different service industries, including internet service, consulting, webhosting, telecommunications, and voip.
customer details unlimited services create invoices credit cards batches support notes under GPL v2 open source license Asterisk Hotel Billing is a system to bill the calls of rooms in hotels. It's very easy to use. 
Supports more than 15000 phone destinations. You can create PDF with detailed list of the calls, at the
moment the customer leaves de room, then the system starts a new bill for the next customer.
The application is in Spanish.
Requirements:
Asterisk + SQL CDR (Mysql tested) Web server with PHP + PEAR DB SIP/IAX Room extensions (not Zap) Zap/SIP/IAX trunk lines Features of the Asterisk hotel management system include:
   * Rooms inventory management with bulk FreePBX extension import
   * Call management by prefix with per minute and fixed rates
   * Check-In and Check-Out with associated actions
   * Billing with search by dates and/or by rooms with call detail
   * Integrated with Hotel wake-up module with web interface
   * Removal of voicemails and wake-ups on room check-out

Requirements:

Tool to automatically assign calls to users of a shared line and spread their phone bill
works currently for German customers of the Deutsche Telekom (using "Rechnung Online"), other companies that provide online bills could easily be added automated billing and accounting comparison of alternative billing plans PHP-interface Tool to access and rate in real-time Call Details Records generated by SIP Express Router, MediaProxy, Asterisk and other RADIUS gateways. - by Adrian Georgescu. CDRTool provides real-time mediation including normalization and rating for Call Detail Records generated by SIP Proxies and VoIP gateways. Combined PSTN rating based on time/destination with NGN rating based on traffic/application provides the ideal billing platform.
astCDRview is an open source, licensed under GNU/GPL, lightweight, Web-based, multi-language Asterisk SQLite CDR viewer that supports multiple outgoing carriers, multiple incoming numbers, billing, an address book, and extensions
http://www.open-rate.com License: Dual Licensed GPL/Proprietary OpenRate is an open source, commercially supported, high performance batch and real time rating engine. For end users it is licensed under GNU/GPL, for systems integrators and resellers the proprietary license allows white-labelling or re-branding.
Can support virtually any rating scheme using a pipeline configuration of standard modules. Extendible and highly flexible.
SQLBill is a Radius billing engine for the GNU Gatekeeper (GnuGk). It supports Radius or can be used directly on top of Postresql. It is a reliably backend system, but lacks a pretty frontend.
VOIP Billing - A large list of providers including both open-source and commerical billing solutions Open Source VOIP Software - Open-source software for VoIP, not necessarily billing-related