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.
|