One Unified Global Perspective
Communications with a Global Perspective
Home
Intro
Contact Us
Voice over IP
PBX Solutions
Services
Support
Glossary
Open Source
Blog
Forum

WebMail





2007 Aug 30 - Thu

Cisco Log Decoding

On the Cisco-voip mailing list, there was reference to a couple of sites that provide log decoders for Callmanger and IOS:

  • TripleCombo Tool: Triple Combo is a tool to aid people troubleshoot CallManager problems by providing a listed output of SCCP, MGCP, Q931 / H225, H245 messages found in CCM traces, CCAPI/VTSP, Q931 and MGCP debugs in IOS gateway traces and versatile filtering capabilities.
  • TranslatorX: TranslatorX allows you to quickly parse through Cisco CallManager trace files and search for Q.931, H.225, SCCP (Skinny), MGCP, or SIP messages.

They aren't necessarily TAC supported, but they may help to weed through and make sense of what would be otherwise painful troubleshooting.


2007 Aug 16 - Thu

Asterisk Cisco CallManager Voicemail Integration
Asterisk Cisco CallManager Voicemail Integration


2007 Aug 14 - Tue

Recording Calls in a Cisco Environment

In one of today's Cisco listserves, there were a few suggestions for Call Recording software:

  • NICE Contact Center & Enterprise Products
  • "run Asterisk and use it as your outbound/inbound gateway. Let it open a second connection to the actual destination, and record"
  • "base something on pcapsipdump"
  • Telrex
  • Edigin
  • Witness
  • Comvurgent: "It works ok, but you have to manually type in the phone number for each call"
  • CAllReplay
  • Oreka: Oreka is a modular and cross-platform system for recording and retrieval of audio streams. The project currently supports VoIP and sound device based capture. Recordings metadata can be stored in any mainstream database. Retrieval of captured sessions is web based.


2007 Jul 29 - Sun

Internet Based 911

For those of you setting up IP based telephone solutions and are needing to set up E911 connections, there are a number of ways to do this.

The typical way to do this is to ensure that analog or digital lines are available at each location being serviced. Then be sure to route all calls originating from those specific geographical areas are sent out the nearest POTS (Plain Old Telephone Service) line, ie, analog or digital line.

If this isn't possible, for one reason or another, there is an alternate way of doing this. There are internet based E911 services available. According to Robert Kulagows, you "setup something like a SIP trunk and route e911 calls to them. You'd tell them which DIDs are located in which city, and allow them to handle the 911 call and send it to the correct PSAP."

One provider who can do this is 9-1-1 Enable. According to their site, they are in the Pulver 100 and the Internet Telephony 2006 Product of the Year.


2007 Jun 06 - Wed

Writing Callmanager Call Detail Records to Excel Spreadsheet

In an earlier article, I described how to access the Cisco Callmanager CDR tables to obtain billing records through the use of the Sybase DBI drivers for Perl. The database needs to be placed into "mixed mode" for this type of thing to work.

I've created two perl modules to make use of this technique: cdr2file.pm and billing2file.pm.

cdr2file.pm takes as input three parameters: an extension, a starting date, and an ending date. It creates an Excel spreadsheet using a temporary file name, which allows multiple requests to be processed simultaneously. The spreadsheet contains four worksheets: a list of inbound calls, a list of local calls, a list of long distance calls, and a list of internationally placed calls. The selection is based upon four digit extensions and the North American Dialling plan. The duration of each call is included. Because both the 'Original Called' and the 'Final Called' fields are included, one can determine which calls ended up going to voicemail or transferred elsewhere.

The other module, billing2file.pm, takes as input a starting date and an ending date. For all outbound calls placed within that date range, a summary spreadsheet is created. The first worksheet contains a summary of call duration by user with the following fields: Extension Number, Name of the Phone, Total Duration in Seconds, Total Duration in Minutes. Each line contains a hyper link to a worksheet containing the actuall call details for that extension. On the detail worksheet for each user, the following details are provided: Date the call was placed, extension number originating the call, the original called number, the duration in seconds for the call, the phone identifier, and the phone description. This spreadsheet makes it convenient to produce monthly billing reports by user. For large companies, this may not be suitable as a spreadsheet may not be able to handle enough rows or worksheets (a limitation of Excel).

By creating suitable web pages, say through mod_perl or mason, members of the accounting department have direct, easy, live access to the Callmanager Call Detail Records in a ready to use format.


2007 Feb 08 - Thu

Cisco Callmanager Call Detail Records (CDR) with Perl

It is possible to obtain Cisco Callmanager Call Detail Records through Perl. However, there are a few prepatory steps to make it work.

Because Cisco recommends that Callmanager not be a member of a domain, it isn't possible to use flow through authentication to access the SQL Database server when on a host other than Callmanager. Cisco therefore suggests that SQL Authentication be changed to 'Mixed Mode'. This can be accomplished by starting sQL Enterprise Manager on the Callmanager Server containing the CDRs (there should only be one server in the cluster with CDR responsibilites), right click on the server name and select properties, select the security tab, and choose 'SQL Server and Windows' for authentication. Callmanager will need to be restarted.

To connect to the database tables, one could code the sa username and password into the queries, but that probably isn't a very good thing. Instead, I'd suggest creating a new login, call it cdr_reader, and assign it to the CDR database with public and db_owner roles.

Perl DBD drivers for Sybase can be used for connecting to the SQL 2000 database tables in Callmanager 3.3 and 4.X. For those who aren't using Debian, steps outlined at Linux Journal and FreeTDS: Tabular Data Stream.

For Debian users, obtaining the package is as simple as running 'apt-get install libdbd-sybase-perl' from unstable or testing. As of the time of this writing, I don't think Stable has the most recent and appropriate version.

I then modified the example from a Perl HowTo slightly to give it a try:

#!/usr/bin/perl

#-- open database
use DBI;
my $dbh = DBI->connect('DBI:Sybase:server=10.10.10.10','cdr_reader','password') or die $DBI::errstr;
$dbh->do("use CDR");

#-- sample query
my $rows = $dbh->selectrow_array("SELECT COUNT(*) FROM CallDetailRecord");
print "CDR has $rows records\n" if ( defined $rows );

That turned out to be quite straightforward. I'll publish another article with some perl queries and summaries I've used.


2006 Dec 05 - Tue

NTP for Callmanager

Since Cisco generally recommends that the Callmanager server not be a member of an Active Directory domain, is is unable to make use of the time distribution protocols normally available to member servers and computers. As background, I think Cisco's stance is understandable, and reflects the quantity of testing Cisco performs with each upgrade and service pack install. If a server is a member of a domain, it is entirely possible that registry entries, dlls, or applications coulds be modified through Group Policies that may affect the reliable functioning of the phone server.

As an alternative to Microsoft's time distribution protocol, the industry standard NTP (Network Time Protocol) can be used. The Callmanager installation automatically installs an NTP client, but does not turn it on.

To turn it on is quite simple. Obtain an address of an NTP server, either on your network or an external one. Using the one that drives the Active Directory domain controllors would be best. As a last resort, an address from pool.ntp.org could be used.

Edit the file C:\WINNT\system32\drivers\etc\ntp.conf and apply the ip address to the server line. Save the file. Bring up Microsoft's Services management application. Set the Network Time Protocol service to Automatic and start it up.

The Event Log will record startup and synchronization messages for your reference.

Be aware that with each Callmanager upgrade you perform, the service may be turned back to Manual and the ntp.conf file may be overwritten. You may want to make a backup of the configuration file so you can easily re-apply after your next upgrade.



Blog Content ©2009
Ray Burkholder
All Rights Reserved
ray@oneunified.net
(441) 505 7293
Available for Contract Work
Resume

RSS: Click to see the XML version of this web page.

twitter
View Ray 
Burkholder's profile on LinkedIn
technorati
Add to Technorati Favorites



September
Su Mo Tu We Th Fr Sa
      2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    


Main Links:
Monitoring Server
SSH Tools
QuantDeveloper Code

Special Links:
Frink

Blog Links:
Sergey Solyanik
Marc Andreessen
HotGigs
Micro Persuasion
... Reasonable ...
Chris Donnan
BeyondVC
lifehacker
Trader Mike
Ticker Sense
HeadRush
TraderFeed
Stock Bandit
The Daily WTF
Guy Kawaski
J. Brant Arseneau
Steve Pavlina
Matt Cutts
Kevin Scaldeferri
Joel On Software
Quant Recruiter
Blosxom User Group
Wesner Moise
Julian Dunn
Steve Yegge
Max Dama

2010
Months
Sep
Oct Nov Dec




Mason HQ

Disclaimer: This site may include market analysis. All ideas, opinions, and/or forecasts, expressed or implied herein, are for informational purposes only and should not be construed as a recommendation to invest, trade, and/or speculate in the markets. Any investments, trades, and/or speculations made in light of the ideas, opinions, and/or forecasts, expressed or implied herein, are committed at your own risk, financial or otherwise.