2012 Dec 07 - Fri
BGP Default-Information Originate
A brief note on the rules for originating a default route into BGP (copied from a posting
made by Mohammed Mahmoud):
- default-information originate + redistribute static (or any dynamic routing protocol having the default route - you may filter only the default route)
- network command but must make sure the default route is present in the routing table
- issuing the neighbor default-originate command. This method does not require the presence of the 0.0.0.0/0 network in the routing table of the advertising router
Additional notes: The configuration of the default-information originate command in
BGP is similar to the configuration of the network (BGP) command.
The default-information originate command, however, requires explicit
redistribution of the route 0.0.0.0. The network command requires only
that the route 0.0.0.0 is present in the Interior Gateway Protocol (IGP)
routing table. For this reason, the network command is preferred.
2009 May 03 - Sun
Routing Within An ISP
Many ISP's I've seen have had two routing protocols implemented: BGP to talk to the
'internet' with the external /24 and shorter prefixes, and an internal routing protocol such
as EIGRP or OSPF to handle the internal /24 and longer prefixes. The internal protocol
would be running on all ISP devices and would handle all infrastructure devices and customer
links. For a multi-homed ISP, BGP would need to be running on all internal devices that
form internal paths from one external link to another. This provides an ability to choose
an appropriate exit point for any traffic generated from within an ISP destined for the
external network. Some ISP's 'cheat' by generating default routes to the nearest
exit and having BGP reside only on edge devices. Some optimum paths will be missed using
this simplified arrangement, particularily if an ISP is connected to non-transit neighbors.
Current best practices make expanded use of BGP. BGP, known as IBGP, is used
extensively within the ISP to carry customer prefixes. The internal routing protocol such
as OSPF or EIGRP is used simply for carrying infrastructure routes such as loopback
addresses and link addresses.
With this arrangement, it is then easy to make use of MP-BGP (Multi-Protocol BGP) to
handle the various requirements for carrying MPLS links.
One presentation at RIPE shows some basics of
BGP Best Practices.
2008 Nov 24 - Mon
TTCP: Test TCP
A quick and simple tool for link bandwidth testing (aka Throughput Testing) is included in many flavours of
Although it is hidden and officially unsupported, it is documented and functional.
By running 'ttcp' from the command line in privileged mode on two different routers, one
can test links between the routers.
Cisco documents the tool with
Document 10340, Using Test TCP (TTCP) to Test Throughput.
A couple of other non-Cisco tools are available and maintain compatibility in order to
perform link testing between most combinations of routers, Unix, Linux, and Windows
Netcordia has a
Java based client, while Unix and Windows based client can be found at
ttcp. The source compiled on
Linux with no problem.
The Story of the TTCP Program, Mike Muuss
discusses some of the history of ttcp. It seems that he is the original author of the venerable ping program. In
the same article, Mike illustrates a clever file transfer capability of ttcp, if effect being a UNIX "pipe"
between two machines across a network. On the destination machine:
ttcp -r | tar xvpf -
and on the source machine:
tar cf - directory | ttcp -t dest_machine
and on possible intermediate machines:
ttcp -r | ttcp -t next_machine
A discussion of additional variants of ttcp can be found at
ttcp/nttcp/nuttcp/iperf versions. It looks
as though the version used by Cisco is a renamed nttcp. A version called
nuttcp will echo traffic back.
iperf uses the same concept but uses a
different name and includes different functionality for network perforamance analysis. I'm not sure if it is
compatible with ttcp.
When using iperf, the -P option will run multiple tcp tests simultaneously.
A document called Guide to Bulk Data Transfer over a WAN describes the use
of iperf to determine data transfer rates under various scenarios.
Linux.com has an article called
Benchmarking network performance with Network Pipemeter, LMbench, and nuttcp
by Ben Martin.
2007 Oct 20 - Sat
Quality of Service Options on GRE Tunnel Interfaces
Note to self, according to Cisco's document 10106,
Quality of Service Options on GRE Tunnel Interfaces: when applying queuing to a tunnel
interface, shaping must also be applied. The top level policy of a recommended hierarchical policy
should be a shaping command, while the lower-level policies configure the queueing mechanisms.
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
- 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"
- Comvurgent: "It works ok, but you have to manually type in the phone
number for each call"
- 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
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 25 - Mon
Cisco Device Health
In Cisco's book, Top Down Network Design, one useful show command is 'show buffers'.
Some useful SNMP statistics include:
- BusyPer. CPU busy percentage in the last 5-second period.
- AvgBusy1. 1-minute exponentially decayed moving average of the CPU busy percentage.
- AvgBusy5. 5-minute exponentially decayed moving average of the CPU busy percentage.
- LocIfInputQueueDrops. The number of packets dropped because the input queue was full.
- LocIfOutputQueueDrops. The number of packets dropped because the output queue was full.
- LocIfInIgnored. The number of input packets ignored by the interface.
- BufferElMiss. The number of buffer element misses. (You can also check misses for small, medium, big, large, and huge buffer pools.)
- BufferFail. The number of buffer allocation failures.
I've been doing most of my snmp statistics gathering on 5 minutes intervals. On some
interfaces, it may be of value to step that up to 1 minute intervals. Of course, if my
total collection time is over 1 minute, I may have problems with that.
From the same book, is this interesting statistic about why Window's file transfers over
WAN links can go only 'so fast'. SMB acts like a ping-pong protocol. It can only send up
to 32KB before requiring an acknowledgement. So if the delay is 50 ms end to end, and
ignoring client and server delays, a client can receive at most 32 KB every 100
milliseconds, or 320 KB per second. This means that the maximum throughput is 2.56 Mbps, at
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
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 May 18 - Fri
Using a USRobotics Modem for Out of Band Management (OOB)
In configuring an older 33.6Kbps US Robotics modem for accepting auto-dial-up calls into
a router, here are a few items to know:
- Use 'at&f1&b1&w0&w1y0' to force the modem to speak at 9600 to the router
- use 'ati5' to confirm new communications rate setting
- I seem to recall that all dip switch settings are in the up position but for 2, 4, 8,
which are down
2007 May 07 - Mon
Security Enhancements for Remote Access at Microsoft
Here is a link to a paper that has a bunch of useful stuff in it regarding Microsoft VPN's, IAS (Internet
Authentication Server), security scripting, and Windows 2003 based Remote Access Infrastructure:
Security Enhancements for
Remote Access at Microsoft: Technical White Paper