Top

Deadline extension: ICNS 2009 + 1st Workshop LMPCNAP | April 21-25, 2009 – Valencia, Spain

October 31, 2008

Note that the deadline for ICNS 2009 + 1st Workshop LMPCNAP has been extended to November 10.

We would like to make ICNS 2009 a primary reference event.

Please consider to contribute to and/or forward to the appropriate groups the following opportunity to submit and publish original scientific results.

Please note that extended versions of highly ranked papers will be invited for journals submission.

Full contributions are expected by the submission deadline.

=========== ICNS 2009 + 1st Workshop LMPCNAP | Call for Papers ===========

CALL FOR PAPERS, TUTORIALS, PANELS

- ICNS 2009, The Fifth International Conference on Networking and Services April 21-25, 2009 - Valencia, Spain

General page: http://www.iaria.org/conferences2009/ICNS09.html
Call for Papers: http://www.iaria.org/conferences2009/CfPICNS09.html

- The first International Workshop on Learning Methodologies and Platforms used in the Cisco Networking Academy Program (CNAP), LMPCNAP 2009 will be held during ICNS 2009 in April 21-25, 2009 - Valencia, Spain

General page: http://www.iaria.org/conferences2009/LMPCNAP.html

Important deadlines:

Submission (full paper) November 10, 2008 Authors notification December 5, 2008 Registration December 20, 2008 Camera ready December 25, 2008

Submissions will be peer-reviewed, published by IEEE CS Press, posted in IEEE Digital Library, and indexed with the major indexes.

Extended versions of selected papers will be published in IARIA Journals: http://www.iariajournals.org

Please note the Poster Forum special submission with on progress and challenging ideas.

ICNS 2009 Area Tracks are the following (details in the CfP on site):

ENCOT: Emerging Network Communications and Technologies
COMAN: Network Control and Management
SERVI: Multi-technology service deployment and assurance
NGNUS: Next Generation Networks and Ubiquitous Services
MPQSI: Multi Provider QoS/SLA Internetworking
GRIDNS: Grid Networks and Services
EDNA: Emergency Services and Disaster Recovery of Networks and Applications
IPv6DFI: Deploying the Future Infrastructure
IPDy: Internet Packet Dynamics
GOBS: GRID over Optical Burst Switching Networks

=================================

- ICNS General Chair

Jaime Lloret Mauri, Polytechnic University of Valencia, Spain

- ICNS 2009 Industry Chairs

Kevin Y Ung, Boeing, USA
Leo Lehmann, OFCOM, Switzerland
Francisco Javier Sanchez, Administrador de Infraestructuras Ferroviarias (ADIF), Spain

- ICNS 2009 Technical Program Committee Chair

Giancarlo Fortino, Universit` della Calabria, Italy Salvador Sales, Polytechnic University of Valencia, Spain Feng Xia, Queensland University of Technology, Australia / Zhejiang University, China

- ICNS Advisory Chairs

Wojciech Burakowski, Warsaw University of Technology, Poland Vicente Casares, Polytechnic University of Valencia, Spain Petre Dini, Cisco Systems, Inc., USA / Concordia University, Canada Xiaohua Jia, City University of Hong Kong - Kowloon, Hong Kong Manuel Sierra-Pirez, Universidad Politicnica de Madrid, Spain

- LMPCNAP 2009 General Chair

Rafael Tomas, Mediterranean Cisco Academy Training Center (CATC), Spain

- LMPCNAP 2009 Technical Program Commitee chair

Prof. Tomeu Serra, Universitat de les Illes Balears, Spain

================================

Deadline extension: ICNS 2009 + 1st Workshop LMPCNAP | April 21-25, 2009 – Valencia, Spain

October 31, 2008

Note that the deadline for ICNS 2009 + 1st Workshop LMPCNAP has been extended to November 10.

We would like to make ICNS 2009 a primary reference event.

Please consider to contribute to and/or forward to the appropriate groups the following opportunity to submit and publish original scientific results.

Please note that extended versions of highly ranked papers will be invited for journals submission.

Full contributions are expected by the submission deadline.

=========== ICNS 2009 + 1st Workshop LMPCNAP | Call for Papers ===========

CALL FOR PAPERS, TUTORIALS, PANELS

- ICNS 2009, The Fifth International Conference on Networking and Services April 21-25, 2009 - Valencia, Spain

General page: http://www.iaria.org/conferences2009/ICNS09.html
Call for Papers: http://www.iaria.org/conferences2009/CfPICNS09.html

- The first International Workshop on Learning Methodologies and Platforms used in the Cisco Networking Academy Program (CNAP), LMPCNAP 2009 will be held during ICNS 2009 in April 21-25, 2009 - Valencia, Spain

General page: http://www.iaria.org/conferences2009/LMPCNAP.html

Important deadlines:

Submission (full paper) November 10, 2008 Authors notification December 5, 2008 Registration December 20, 2008 Camera ready December 25, 2008

Submissions will be peer-reviewed, published by IEEE CS Press, posted in IEEE Digital Library, and indexed with the major indexes.

Extended versions of selected papers will be published in IARIA Journals: http://www.iariajournals.org

Please note the Poster Forum special submission with on progress and challenging ideas.

ICNS 2009 Area Tracks are the following (details in the CfP on site):

ENCOT: Emerging Network Communications and Technologies
COMAN: Network Control and Management
SERVI: Multi-technology service deployment and assurance
NGNUS: Next Generation Networks and Ubiquitous Services
MPQSI: Multi Provider QoS/SLA Internetworking
GRIDNS: Grid Networks and Services
EDNA: Emergency Services and Disaster Recovery of Networks and Applications
IPv6DFI: Deploying the Future Infrastructure
IPDy: Internet Packet Dynamics
GOBS: GRID over Optical Burst Switching Networks

=================================

- ICNS General Chair

Jaime Lloret Mauri, Polytechnic University of Valencia, Spain

- ICNS 2009 Industry Chairs

Kevin Y Ung, Boeing, USA
Leo Lehmann, OFCOM, Switzerland
Francisco Javier Sanchez, Administrador de Infraestructuras Ferroviarias (ADIF), Spain

- ICNS 2009 Technical Program Committee Chair

Giancarlo Fortino, Universit` della Calabria, Italy Salvador Sales, Polytechnic University of Valencia, Spain Feng Xia, Queensland University of Technology, Australia / Zhejiang University, China

- ICNS Advisory Chairs

Wojciech Burakowski, Warsaw University of Technology, Poland Vicente Casares, Polytechnic University of Valencia, Spain Petre Dini, Cisco Systems, Inc., USA / Concordia University, Canada Xiaohua Jia, City University of Hong Kong - Kowloon, Hong Kong Manuel Sierra-Pirez, Universidad Politicnica de Madrid, Spain

- LMPCNAP 2009 General Chair

Rafael Tomas, Mediterranean Cisco Academy Training Center (CATC), Spain

- LMPCNAP 2009 Technical Program Commitee chair

Prof. Tomeu Serra, Universitat de les Illes Balears, Spain

================================

Howto Setup Emergency Queues with Separate Outbound PRI channel using FreePBX and Ring Groups.

October 31, 2008

One of our clients recently had a question about his system using FreePBX 2.5.1 and Asterisk 1.4 regarding using specific lines to reach staff.

He runs a support queue for his company. During the day he has a regular IVR with Call queues enabled to handle customer calls and direct them to the appropriate staff member to deal with customer inquiries etc. After hours the menu functions the same way, however there are less staff to answer the phones so mainly the emergency extension is the only one being monitored, for - well, emergencies!

Of course, the people monitoring for emergencies don't want to get a call on their blackberry asking what the company address is at 4 o'clock in the morning. So our client wanted the ability to set his system up so all calls to the emergency queue would be directed out a specific channel on his DID with a specific CallerID.

This enables his staff to set their cell phones to "ignore all calls except for those from this number". Of course they set "this number" to the one being used by the outbound PRI channel on the PBX.

Setup of is type of scenario is detailed below.

1. Login to your FreePBX Control Panel.

2. Go to the Trunks Menu and add a new ZAP trunk. Note this is different if you're using SIP or IAX. Here, we're using a T1 PRI.

3. When you create the new trunk, put in the following configuration variables.

Outbound Caller ID: "emer" <5555551212>
Never Override CallerID: <checked>
Maximum Channels: <set to max cellular phones used>
Disable Trunk: <unchecked>
Dial Rules: .
Outbound Dial Prefix: <blank>
Zap Identifier: g2

4. Your new trunk is now created in Asterisk.

5. Click on the Outbound Routes link item on the left of the FreePBX Control Panel.

6. Add a new Route and put in the following information:

Route Name: Emergency
Route Password: <blank>
PIN Set: None
Emergency Dialing: <unchecked>
Intra Company Route: <unchecked>
Music On Hold: Default
Dial Patters:

2133|NXXXXXX
2133|NXXXXXXXXX

Trunk Sequence: g2

Note the above and the "2133" used. This number can be anything you want, we just chose something we knew wouldn't be used in the next step of the configuration. This number will get stripped out before getting sent out the trunk so it's really not a big deal what you pick here. Just use something that won't be used anywhere.

7. Click on Submit changes in this menu to add your new route

8. Click on the Ring Groups Menu on the left side of FreePBX 2.5.1 Interface

9. Edit, or Create a new Ring Group for the Emergency Group and ensure that it has the following settings along with your own configuration customizations if you have made them (merge these in):

Ring Strategy: Ringall
Ring Time: 50 Seconds (Time appropriately for Cell Voicemail!)
Extension List:

21335555551212#
21335555551212#

Announcement: Change to your own if you want
Play MOH: Ring
CID Name Prefix: CompanyName
Confirm Calls: Checked
Remote Announce: Same as "Announcement"

Destination if no answer: Hangup (or whatever you need)

Note that the 2133 prefix's the cellular phone example numbers above. If you changed that earlier make sure to change it here when you're changing the mobile phone number.

10. Click on the submit button and you're done adding your ring group to the configuration for this portion.

11. Click the "Queues" button on the left side of the FreePBX Management Interface and either modify or create a new queue for your Emergency staff.

12. When creating the new Queue use similar information to the following:

Queue Number: A extension for queue
CID Name: EMR-
Wait Time: No
Alert Info: Blank
Static Agents:

1234,0

Note that 1234 in this section is the number of your Ring Group used for the Emergency Dialing feature for Outbound calls.

Set your Agent Timeout to something respectible.

Agent Timeout: 40 seconds

Keep scrolling down the settings and set the "fail over destination" to your Emergency Queue (to itself).

13. Now you should ssh to the FreePBX server and create a change in the zaptel/dahdi configuration.

14. Edit the file like this

# nano /etc/asterisk/zapata.conf

15. Change it to something like this matching your system. We originally were using all 23 channels for the main line. Now we've separated it out into two groups (g1 and g2). G2 is the Trunk you setup earlier.

So, we started with:

group = 1
context=ext-did
switchtype=national
signalling=pri_cpe
stripmsd=1
channel=1-23

We ended with:

group = 1
context=ext-did
switchtype=national
signalling=pri_cpe
stripmsd=1
channel=1-22

group = 2
context=ext-did
switchtype=national
signalling=pri_cpe
stripmsd=0
channel=23

16. Exit and save the zapata.conf file.

17. Now you are ready to add this to your IVR menu and start testing.

18. Go back to FreePBX and go to the IVR menu option on the left of the Administration Panel. Find your IVR menu tree and add a new menu option to it that will dial your Emergency Queue.

19. You're done. Give your menu a call, and hit the emergency queue!

If it doesn't work, try the instructions again. If it still doesn't work, leave us a comment and we'll try to give you hand. Have you done something similar with FreePBX and Asterisk? Tell us about it below, we'd love to hear what other cool things people are doing.

We hope you enjoyed this howto!

Installing and Configuring chan_mobile for Bluetooth Presence support in Asterisk 1.6

October 30, 2008

Following this tutorial on how to get Chan_Mobile working with Asterisk for Bluetooth support for our headsets and mobile phones we worked out how to get it working on Asterisk 1.6.

We figured we would share this information with our readers incase they were interested in Bluetooth for Asterisk and the capabilities it will open up to their system. Just think, the server will know when you're in the room or out of the office and other fancy things.

First you should make sure that your Bluetooth Dongle works with Asterisk, and that your Cellular Phone is known to work with Asterisk and Bluetooth. You can verify all this information over at the Voip-Info Chan_Mobile page.

Requirements:

  • Asterisk PBX
  • Bluetooth Support (Motherboard or Dongle)
  • Cellular Phone with Bluetooth support
  • Bluez Bluetooth Libraries and Development Headers

Tutorial:

So, first we have to install some pre-requisite software. We'll assume that you already have Linux installed, your kernel is compiled, Asterisk is installed and working, and that you have a basic familiarity with Linux commands. We've written this tutorial for Ubuntu, using FreePBX so instructions may change based on your OS or Asterisk Configuration GUI.

So, lets get down to business shall we.

First, install Bluez Utilities on your Server

# apt-get install bluez-utils bluez-hcidump

Now Configure Bluez to work with your server and dongle. We won't go into depth on this as it mostly "just works" but there are ample tutorials and documentation if your dongle is a little finiky on your system.

Now, open up the file hcid.conf in the Bluetooth configuration directory, and match the contents to the following.

# nano /etc/bluetooth/hcid.conf

Erase the contents, and replace it with this

# HCId options
options {
autoinit yes;
security auto;
pairing multi;
passkey "1234";
}

device {
name "Our PBX System";
class 0x3e0100;
iscan enable; pscan enable;
discovto 0;
lm accept;
lp rswitch,hold,sniff,park;
}

options {
autoinit yes;
security auto;
pairing multi;
pin_helper /etc/bluetooth/pin;
}

Note you can also experiment with making Asterisk a handsfree headset, but we won't go over this in this tutorial. The following lines can be added to your hcid.conf in replacement of the "Our PBX System" device mentioned above if you want to try this:

device {
name "Asterisk";
class 0x200404;
iscan enable;
pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
}

Now that our bluetooth is configured, we can go back to configuring Asterisk to work with Chan Mobile for Bluetooth Support. We'll assume you already have Asterisk 1.6 running on your machine for this to work. If not, compile it and instal it!

Now, Enter the directory with your Asterisk-Addons 1.6 source.

# cd /opt/asterisk/asterisk-addons-1.6.0/

Issue your configure line

# make distclean
# ./configure --with-bluetooth

Now, issue the configure menu tree

# make menuselect

Now, on the left hand side, hit the down arrow button until you get to the Channel Drivers section. On the right hand side, you should see "chan_mobile" with a little "*" next to it telling us it's enabled.

[*] chan_mobile

If you don't, pretty right on your arrow keys, and then press the enter key to select chan_mobile. Exit the configuration menu by pressing F12 to save your changes.

Now, build Asterisk-Addons 1.6 as you normally would

# make
# make install

This will place chan_mobile.so into /usr/lib/asterisk/modules so the next time you start Asterisk it will be available.

We're pretty much done the "difficult" stuff now, and just need to go on and start bluetooth on our system and then configure Asterisk to work with it.

So, start up bluetooth

# /etc/init.d/bluetooth start

Now, lets make sure that Bluetooth is running and sees our devices

# hcitool dev

This should output some information like this:

Devices:
hci0 00:50:B6:80:34:DD

Make a note of the "hardware" address in a text file or somewhere handy because we will need it later. The hardware address is the one that looks like a MAC address. In this case it's "00:50:B6:80:34:DD" note that your system will be different.

Now, lets edit Asterisk's mobile configuration file

# nano /etc/asterisk/mobile.conf

Add your Bluetooth Adapter to the file like this, using the Hardware ID from the hcitool command you ran above. There should already be an entry that looks similar to this (with an id=blue) just replace the hardware ID in this entry with yours.

[adapter]
id=blue
address=00:50:B6:80:34:DD
;forcemaster=yes
;alignmentdetection=yes

Now exit and save the file.

Before we forget, we should add bluetooth to the startup options of the server if it's not already there. Do so like this;

# update-rc.d bluetooth defaults

Now, in order for other devices to be able to see your server and vice-versa we have to make it discoverable. That's done with the following command.

# dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable

The fun begins right about now. Go and get your mobile phone. Turn bluetooth on on the phone. You should see your Asterisk PBX in the list of discoverable devices. Double click on it to add it to your device, and input the security key of 1234 when prompted.

Note that on our windows mobile 6.1 devices, after adding the Asterisk PBX to our bluetooth list, we also had to click on it and then hit refresh services list a few times until it showed us "Bluetooth Headset" as a list of supported options. We selected it on the screen, and closed the bluetooth configuration on our HTC Tytn II (Kaiser) test devices.

Now it's time to make your phone discoverable so the PBX can attach to it. Go back to your phone, and find the option to enable bluetooth discovery. Turn it on.

Now from the Asterisk Server Command Line we should be able to issue this command to search for our Bluetooth Mobile Phone.

# hcitool scan

It should show you a list of results like this

Scanning ...
00:16:BC:1F:E1:E8 Phone1
00:17:83:6F:BD:51 Phone2

In our example, we'll only be connecting to Phone2. One finicky thing we noticed is that if you want to connect more than one mobile phone at a time, you need a dongle to match. So, for example if you want to connect 5 bluetooth mobile phones, you would also need 5 bluetooth dongles, and 5 free USB ports (or a USB HUB) to get it all working. We've never tried with more than 2 bluetooth phones, so your mileage may vary.

If you don't see your phone, something is wrong - try the above steps again to see if it fixes it.

Now continue on by stopping Asterisk PBX, and reloading it to take advantage of our new chan_mobile module.

# /etc/init.d/asterisk stop

Now start Asterisk in debug mode so you can verify everything is working.

# asterisk -vvvvvvvvvvvvvgc

Now type this command on the Asterisk CLI to find your mobile devices

*CLI> mobile search

You should see something similar to the following

Address Name Usable Type Port
00:17:83:6F:BD:51 Phone2 Yes Phone 2
00:13:33:44:4d:23 Phone1 Yes Phone 5

The above is a listing of all Bluetooth devices available to your Asterisk PBX.

  • The Address Field is the Device Identifier Code (MAC Address)
  • The Name Field holds the name of the device (Phone1)
  • The Usable Field tells us if the phone is Usable by Asterisk or not (Yes/No)
  • The Type Field tells us if it's a Phone (FXO) or a Headset (FXS) device
  • The Port Field tells us which port the phone is using

Make a note of this information and continue on to the next step.

Now, exit Asterisk by typing "stop now" on the command line

*CLI> stop now

You'll be back at the CLI now.

In our example, we'll be using Phone2 to configure to work with Asterisk.

Go back and edit your mobile configuration file in /etc/asterisk to look similar to this

# nano /etc/asterisk/mobile.conf

Add something similar to the following below the adapter configuration you added earlier in the tutorial.

[TytnII]
address=00:17:83:6F:BD:51
port=2
context=from-pstn
adapter=blue
;group=1

If you are configuring a headset, the line would look something like this instead

[headset]
address=xx:xx:xx:xx:xx:xx ; the address of the headset
port=x ; the port number
type=headset ; tells asterisk it is a headset
adapter=blue ; adapter to use

Now you can start asterisk again. I would start it in debug mode so you can verify your phone is connected.

# asterisk -vvvvvvvvvvvvvvvgc

You should see messages similar to the following on the Asterisk Console letting you know your device has connected to Asterisk

-- Bluetooth Device TytnII has connected.
-- Bluetooth Device TytnII initialised and ready.

And if you issue the show devices command

*CLI> mobile show devices

You should see something like this

ID Address Group Adapter Connected State SMS
TytnII 00:17:83:6F:BD:51 0 blue Yes Free No

This means your phone is now connected to Asterisk. Depending on the context you put it in, if a call comes in to your cellular phone and you are within proximity of your Asterisk server it should route over to your one of your SIP extensions. Asterisk will automatically pair and unpair with your mobile phone as you come in and out of range respectively. Cool huh?

It is worth it to mention this warning from the original article as well: "Important: Watch what your cell phone is doing the first few times. Asterisk won’t make random calls but if chan_mobile fails to hang up for some reason and you get a huge bill from your telco, don’t blame me."

Hope you enjoyed this tutorial, let us know if you have any comments or other fun ideas to do with chan_mobile, bluetooth and Asterisk in the comments!

FARO Releases ‘Green’ PBX Appliance. Environmentalist Phreakers Rejoice!

October 30, 2008

It seems Green Technology is hitting us everywhere so why not in the PBX and VOIP sector as well? Well, the wait is over. Faro has released one of the first 'Green' appliances for telephony. Now, we know there are other devices with a small power footprint, but none have been marketed to be environmentally friendly pbx products. Let us know in the comments if you know of any others.

medium

 

This device comes with all the features you'd expect from a telephone system, wizard driven installs, 10/100 ethernet, fanless and diskless, up to 30 users with 25 concurrent call capability. Supports SIP and IAX trunks with SIP Phones and much more.

medium

It's been developed by an Italian firm called ZeroZero39 and also has some Italian Language documentation for the system available on their site.

medium2

The GUI looks very fancy (Their specs even mention 'web 2.0 ajax'). And it sure looks nice and tiny and easy to install and manage. Hey, if you guys at Faro/ZeroZero39 are reading this, I'd love to demo a unit for you and write a nice lengthy post - hint hint!

For more information, see Voip-Info or Contact faro at zerozero39 dot it

Enable SNMP on your Cisco Routers to watch SIP and other traffic

October 28, 2008

It’s pretty easy, just ssh (or telnet if you’re crazy) to your router and do this:

# en

# conf t

# snmp-server community YOUR.SNMP.COMMUNITY ro

# access-list 60 permit IP.OF.SNMP.DAEMON

# snmp-server host IP.OF.SNMP.DAEMON YOUR.SNMP.COMMUNITY

# snmp-server enable traps

Now your favourite graphing software should be able to collect all the data you need.

 

Asterisk SNMP with Cacti Howto upgraded for Asterisk 1.6 and Ubuntu!

October 28, 2008

Here's an update to our popular article Asterisk 1.4 with SNMP and Cacti using a remote box. This howto will be a little different in that it will be using Asterisk 1.6, the latest in the pipeline for Opensource PBX solutions from Digium. This process should be a little easier than it was last time, however will sacrifice a little bit of the "cool factor" (ie: security, etc) because it will be running local to Asterisk. Our test system won't be affected by this, but if you're running this on a live production server, you may want to combine information from the other howto for Asterisk 1.4 and remote Cacti monitoring instead of using this one.

REQUIREMENTS:

  • Asterisk Server with Apache Installed (we’ll call it ASTERISK-BOX)
  • Ubuntu or equivalent Linux dist installed
  • Some Time
  • Interest in nerdy graphs

So, lets get this party started right? First we'll need to be clear on a few things, this tutorial expects that you have a fully functional PBX running on your network already, with Apache, PHP and MySQL already installed. We happen to be using FreePBX on our Asterisk 1.6 system so this is already taken care of for us. If you use command line Asterisk, or another GUI for Asterisk then your mileage may vary, but probably only by one or two sideroads if you catch my meaning.

First, lets get some stuff installed on our Asterisk/Apache server.

# apt-get install snmp snmpd libsnmp-base libsnmp-dev

Now, we have to recompile Asterisk 1.6 to use snmp, easy enough.

# cd /opt/asterisk/asterisk-1.6.0/
# ./configure --with-ssl --with-netsnmp --with-cap
# make menuselect

Now make sure that the res_snmp module is enabled under the resource modules submenu by pressing space when it's selected if the "asterisk" character isn't visible that means it's disabled.

[*] res_snmp

A little aside here, I know I've mentioned this in the past but wow does the ncurses interface for Asterisk Configuration really blow me away. I always thought the Linux Kernel's was cool, but it doesn't even compare to what Digium and the Community has done for Asterisk PBX.

Okay, enough other crap, back to the task at hand.

Exit the configuration by pressing F12 to save and exit.

Now you're back at your prompt and ready to build your Asterisk Source. Do so like this:

# make
# make install

We'll have to enable res_snmp within asterisk now. If you haven't, copy over the default configuration file to the Asterisk configuration directory. If you've already configured res_snmp from 1.4 you should compare the files for differences to make sure they match up between the Asterisk 1.4 and 1.6 Changes.

Still in the Asterisk 1.6 Source directory run this command

# cp configs/res_snmp.conf.sample /etc/asterisk/res_snmp.conf

Now enable NET-SNMP with Asterisk

# nano /etc/asterisk/res_snmp.conf

Make sure it looks like this.

[general]
subagent = yes
enabled = yes

Now, we should configure some NET-SNMP Options

First we'll start with removing and backing up the original configuration file

# mv /etc/snmpd.conf /etc/snmpd.conf.orig

Now we'll create our new file

# nano /etc/snmpd.conf

Input the following, editing to suit your environment

rocommunity YOUR.COMMUNITY.NAME
master agentx
#agentXSocket tcp:10.0.3.20:705
agentXperms 0660 0550 nobody asterisk
com2sec local localhost YOUR.COMMUNITY.NAME
com2sec mynetwork0 10.0.1.0/24 YOUR.COMMUNITY.NAME
com2sec mynetwork1 10.0.2.0/24 YOUR.COMMUNITY.NAME
com2sec mynetwork2 10.0.3.0/24 YOUR.COMMUNITY.NAME
com2sec mynetwork3 10.0.4.0/24 YOUR.COMMUNITY.NAME
group MyROGroup any local
group MyROGroup any mynetwork0
group MyROGroup any mynetwork1
group MyROGroup any mynetwork2
group MyROGroup any mynetwork3
view all included .1
access MyROGroup "" any noauth 0 all none none

*Note in the above script the permissions, and the nobody, asterisk. This is because I am running asterisk as asterisk:asterisk, so this is where agentX needs to connect. The username doesn’t matter apparently, but the group does.

Now, we have to modify the snmp default command line in the initialization script for NET-SNMP

# nano /etc/default/snmpd

Change the lines that looks like this

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
TRAPDRUN=no
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'

To ones that looks like this

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1 -x /var/agentx/master'
TRAPDRUN=yes
TRAPDOPTS='-a -Lf /var/log/snmptrapd.log -p /var/run/snmptrapd.pid'

Exit the file now

Now we should stop asterisk and net-snmp (if they are running)

# /etc/init.d/asterisk stop
# /etc/init.d/snmpd stop

Now we should start both back up. I use screen so I can do all of this.

# screen
screen#asterisk -vvvvvvvvvvvvvvvvvvvvgc
<hit CTRL-A-D>

Now we can start SNMPD

# /etc/init.d/snmpd start

If we enter our screen session again, we should be back at the Asterisk CLI with this message:

# screen -r
*CLI> NET-SNMP version 5.3.1 AgentX subagent connected

You can now exit asterisk and close the GNU Screen session.

*CLI> stop now
# exit
[screen is terminating]
#

First stop SNMP again, and then start them both up normally.

# /etc/init.d/snmpd stop
# /etc/init.d/asterisk start
# /etc/init.d/snmpd start

Now the configuration for SNMP and Asterisk is pretty much complete, but we should ensure that snmpd is going to run on the next boot of the Ubuntu 8.0.4 Server.

# update-rc.d snmpd defaults

Okay, so we're pretty much done the setup now, lets just test it out. We should copy the Asterisk SNMP MIB's over to the local MIB directory so we can walk the tree.

# cp /opt/asterisk/asterisk-1.6.0/doc/asterisk-mib.txt /usr/share/snmp/mibs/
# cp /opt/asterisk/asterisk-1.6.0/doc/digium-mib.txt /usr/share/snmp/mibs/

Now lets get to testing.

# export MIBS=+ASTERISK-MIB
# snmpwalk -c YOUR.COMMUNITY.NAME -v 1 localhost asterisk

You should see a big long list like this but with a lot more information:

<snip>
ASTERISK-MIB::astChanTypeDesc.6 = STRING: Local Proxy Channel Driver
ASTERISK-MIB::astChanTypeDesc.7 = STRING: Standard Linux Telephony API Driver
ASTERISK-MIB::astChanTypeDesc.8 = STRING: Call Agent Proxy Channel
ASTERISK-MIB::astChanTypeDesc.9 = STRING: Objective Systems H323 Channel Driver
ASTERISK-MIB::astChanTypeDesc.10 = STRING: UNISTIM Channel Driver
ASTERISK-MIB::astChanTypeDesc.11 = STRING: Session Initiation Protocol (SIP)
ASTERISK-MIB::astChanTypeDeviceState.1 = INTEGER: true(1)
ASTERISK-MIB::astChanTypeDeviceState.2 = INTEGER: true(1)
ASTERISK-MIB::astChanTypeDeviceState.3 = INTEGER: false(2)
ASTERISK-MIB::astChanTypeDeviceState.4 = INTEGER: true(1)
ASTERISK-MIB::astChanTypeDeviceState.5 = INTEGER: true(1)
ASTERISK-MIB::astChanTypeDeviceState.6 = INTEGER: true(1)
ASTERISK-MIB::astChanTypeDeviceState.7 = INTEGER: false(2)
ASTERISK-MIB::astChanTypeDeviceState.8 = INTEGER: true(1)
ASTERISK-MIB::astChanTypeDeviceState.9 = INTEGER: false(2)
ASTERISK-MIB::astChanTypeDeviceState.10 = INTEGER: false(2)
ASTERISK-MIB::astChanTypeDeviceState.11 = INTEGER: true(1)
</snip>

If this all worked, then you're ready to move over to setting up Cacti because it's all working. If this isn't working, then go back and try this again to make sure you're not missing a step or something.

So, lets begin the Cacti Setup for Asterisk 1.6 and SNMP portion of this tutorial yes?

First install Cacti the "ubuntu" way, and configure it with their prompts (selecting Apache2, and entering your mysql passwords for the cacti installation). If you've already installed Cacti on this server then please check the Cacti docs for what you have to do.

# apt-get install cacti

Now create our polling script

# nano /usr/local/bin/snmp_poller.sh

Copy this into it, modifying paths if you need to

#!/bin/bash
# filename: snmp_poller.sh
# created this to make the polling process easier
# Can make updates to it and such to add functionality
MIBS=+ASTERISK-MIB
export MIBS
/usr/bin/php /usr/share/cacti/site/poller.php

Now make it executable

# chmod 755 /usr/local/bin/snmp_poller.sh

Now, edit your crontab file so we can enable the polling script we just created.

# crontab -e

Then add this line, which will run the script every 5 minutes

*/5 * * * * /usr/local/bin/snmp_poller.sh > /dev/null 2>&1

Now we'll have to chown the cacti configuration file because we're running Asterisk and Apache as "asterisk:asterisk" on our system. Please customize this dependant on your configuration.

# chown root:asterisk /etc/cacti/debian.php
# chown root:asterisk /var/lib/cacti/rra

Exit and save the file, and now we are done on the console and can go into Cacti’s web interface for the rest of this tutorial.

In a browser hit your cacti installation

http :// your.cacti.ip.box /

Install Cacti as you normally would by following the prompts.

Now we have to setup Cacti as per mark’s instructions, just like in the old article.

The first step is to add the server to the Cacti database. First, click Create devices on the front page. Click the Add link on the right side of the screen.

Clicking add reveals a new screen where you will input basic information about connecting to the server. Fill out the fields, making sure to set the community name to COMMUNITY_NAME (what you put in snmpd.conf) Also, make sure the template is set to None, unless you know for sure you want another set of services automatically setup to be monitored. After clicking create, you’ll come to a screen with the systems in cacti, click the one you just created. Select “SNMP ? Generic OID Template” from the drop down menu under “Associated Graph Templates” and click add. Add more services if you like, but this is the one we will use to connect to the Asterisk SNMP module.
Advertisment

Now that the server is setup, we need some graphs. Click the create graphs for this host link at the top. On this page, select the “SNMP ? Generic OID Template” by clicking the checkbox next to it. Select “SNMP ? Generic OID template” from the drop down menu and click “create”. Fill in the form with your basic information about the particular graph you’re looking at. The vertical label will basically be the number of current calls in use.

To elaborate on the above, here’s a sample of one of my entries into Cacti

After you create the device, and add the Generic OID Template do this.

Go to your device, create a new graph, generic OID template, and enter your values like the following example:

Title: |host_description| - Asterisk Channels In Use
Vertical Lable: Current Channels Used
Legend Color: Your Choice
Legend Text: Current Channels Used
Name: |host_description| - Asterisk Channels
Maximum Value: 100
Data Source: GUAGE
OID: .1.3.6.1.4.1.22736.1.5.1.0

Title: |host_description| - Asterisk Bridged Channels
Vertical Lable: Current Bridged Channels
Legend Color: Your Choice
Legend Text: Current Bridged Channels
Name: |host_description| - Asterisk Bridged Channels
Maximum Value: 100
Data Source: GUAGE
OID: .1.3.6.1.4.1.22736.1.5.5.1.0

Title: |host_description| - Asterisk Active Calls
Vertical Lable: Current Active Calls
Legend Color: Your Choice
Legend Text: Current Active Calls
Name: |host_description| - Asterisk Active Calls
Maximum Value: 100
Data Source: GUAGE
OID: .1.3.6.1.4.1.22736.1.2.5.0

Title: |host_description| - Asterisk Calls Processed
Vertical Lable: Current Calls Processed
Legend Color: Your Choice
Legend Text: Current Calls Processed
Name: |host_description| - Asterisk Calls Processed
Maximum Value: 100
Data Source: GUAGE
OID: .1.3.6.1.4.1.22736.1.2.6.0

Title: |host_description| - Asterisk SIP Channels
Vertical Lable: SIP Channels Used
Legend Color: Your Choice
Legend Text: SIP Channels Used
Name: |host_description| - Asterisk SIP Channels
Maximum Value: 100
Data Source: GUAGE
OID: .1.3.6.1.4.1.22736.1.5.4.1.7.13

Title: |host_description| - Asterisk IAX Channels
Vertical Lable: IAX Channels Used
Legend Color: Your Choice
Legend Text: IAX Channels Used
Name: |host_description| - Asterisk IAX Channels
Maximum Value: 100
Data Source: GUAGE
OID: .1.3.6.1.4.1.22736.1.5.4.1.7.6

Title: |host_description| - Asterisk DAHDI Channels
Vertical Lable: DAHDI Channels Used
Legend Color: Your Choice
Legend Text: DAHDI Channels Used
Name: |host_description| - Asterisk DAHDI Channels
Maximum Value: 100
Data Source: GUAGE
OID: .1.3.6.1.4.1.22736.1.5.4.1.7.3

Title: |host_description| - Asterisk Bluetooth Use
Vertical Lable: Bluetooth Channels Used
Legend Color: Your Choice
Legend Text: Bluetooth Channels Used
Name: |host_description| - Asterisk Bluetooth Channels
Maximum Value: 100
Data Source: GUAGE
OID: .1.3.6.1.4.1.22736.1.5.4.1.7.5

Since the writing of the last article on the subject of SNMP and Asterisk 1.4, the values have again changed for Asterisk 1.6. Below is a listing of them for your convienience. This is where things have changed since we wrote our article in 2007 and when Mark wrote his article in April 2006. Now we have new OID’s to deal with which I will provide a listing of below…

Channel.1 = Media Gateway Control Protocol (MGCP)
Channel.2 = Skinny Client Control Protocol (Skinny)
Channel.3 = DAHDI Telephony Driver
Channel.4 = Gtalk Channel Driver
Channel.5 = Bluetooth Mobile Device Channel Driver
Channel.6 = Inter Asterisk eXchange Driver (Ver 2)
Channel.7 = Jingle Channel Driver
Channel.8 = Local Proxy Channel Driver
Channel.9 = Standard Linux Telephony API Driver
Channel.10 = Call Agent Proxy Channel
Channel.11 = Objective Systems H323 Channel Driver
Channel.12 = UNISTIM Channel Driver
Channel.13 = Session Initiation Protocol (SIP)

And a couple others that may be of interest to us number of channels, and bridged channels respectively.

ASTERISK-MIB::astConfigCallsActive.0
ASTERISK-MIB::astConfigCallsProcessed.0
ASTERISK-MIB::astNumChannels.0
ASTERISK-MIB::astNumChanBridge.0

Here are the ones I’m using

Overall Channels:
ASTERISK-MIB::astNumChannels.0

Overall Bridged:
ASTERISK-MIB::astNumChanBridge.0

Active Calls:
ASTERISK-MIB::astConfigCallsActive.0

Calls Processed:
ASTERISK-MIB::astConfigCallsProcessed.0

Overall SIP:
ASTERISK-MIB::astChanTypeChannels.13

Overall IAX:
ASTERISK-MIB::astChanTypeChannels.6

Overall DAHDI:
ASTERISK-MIB::astChanTypeChannels.3

Bluetooth In use:
ASTERISK-MIB::astChanTypeChannels.5

Now we’ll need to convert these into numerical OID format so Cacti can access them. This is very straight forward and done like this:

Here are the commands used to translate between numerical and alphabetic:

To convert from Alphabetic just do this for example:

# snmpwalk -On -c YOUR.COMMUNITY.NAME -v 2c YOUR.ASTERISK.IP.ADDY ASTERISK <MIB>

A real world example yields this:

# snmpwalk -On -c YOUR.COMMUNITY.NAME -v 2c localhost ASTERISK-MIB::astNumChannels.0
.1.3.6.1.4.1.22736.1.5.1.0

# snmpwalk -On -c YOUR.COMMUNITY.NAME -v 2c localhost ASTERISK-MIB::astNumChanBridge.0
.1.3.6.1.4.1.22736.1.5.5.1.0

# snmpwalk -On -c YOUR.COMMUNITY.NAME -v 2c localhost ASTERISK-MIB::astConfigCallsActive.0
.1.3.6.1.4.1.22736.1.2.5.0

# snmpwalk -On -c YOUR.COMMUNITY.NAME -v 2c localhost ASTERISK-MIB::astConfigCallsProcessed.0
.1.3.6.1.4.1.22736.1.2.6.0

# snmpwalk -On -c YOUR.COMMUNITY.NAME -v 2c localhost ASTERISK-MIB::astChanTypeChannels.13
.1.3.6.1.4.1.22736.1.5.4.1.7.13

# snmpwalk -On -c YOUR.COMMUNITY.NAME -v 2c localhost ASTERISK-MIB::astChanTypeChannels.6
.1.3.6.1.4.1.22736.1.5.4.1.7.6

# snmpwalk -On -c YOUR.COMMUNITY.NAME -v 2c localhost ASTERISK-MIB::astChanTypeChannels.3
.1.3.6.1.4.1.22736.1.5.4.1.7.3

# snmpwalk -On -c YOUR.COMMUNITY.NAME -v 2c localhost ASTERISK-MIB::astChanTypeChannels.5
.1.3.6.1.4.1.22736.1.5.4.1.7.5

Here are the commands used to translate between numerical and alphabetic:

To convert from Alphabetic just do this for example:

# snmpwalk -On -c YOUR.COMMUNITY.NAME -v 2c YOUR.ASTERISK.IP.ADDY ASTERISK-MIB::astChanTypeChannels.9

and it will spit out the numerical version of the OID, to see the alpha one just do this instead

# snmpwalk -c YOUR.COMMUNITY.NAME -v 2c YOUR.ASTERISK.IP.ADDY .1.3.6.1.4.1.22736.1.5.4.1.7.9

And now after we have that all sorted out and you have what you want to graph all figured out.

Now you’re ready to let the poller do it’s work. Make some calls, or stress test your Asterisk system using our SIPP howto and watch the graphs come to life. Here’s some samples right after we created our graphs.

Vp_allchan

Vp_bridged

Let me know how you make out and if you have any issues. We're still trying to figure out how we can go about getting constant information instead of polled every 5 minutes, let us know if you have any tips!

Next Page »

Bottom