davidrickard.net

Random stuff, randomly updated.

Archive for the ‘Unified Comms’ Category

‘BT’ fail

Wednesday, April 21st, 2010

I was sitting at my desk at work this morning, doing something probably very important when the phone rang. I answered it, and a nice lady began by telling me she was calling from British Telecom, and was updating customer information. She asked if it was OK to do this. I replied that we’d been trying for ages to get all our customer info updated (we have various company names, and errors in invoices and bills – trivial stuff, but it’s messy). She then started asking really basic questions, like company name, and address. I didn’t answer anything, and asked her to prove she was looking at our account. She reeled off some really basic facts you could find off the website (including the URL of the University website). I wasn’t convinced she may have been from BT, so asked her to confirm an account number or something, but she waffled on about asking about line useage, and products we wanted. I told her I wasn’t interested and hung up.

The thing about the call which intrigued me the most was that BT are notoriously bad at acting on changes of information. Indeed, somebody from BT told me that a lot of their billing hangs off company names and addresses, so changing it causes all sorts of headaches for the billing department – hence why they don’t!

I can’t help but feel my friend on the phone was cold calling from some random agency, basically looking to find info about us and what we do and needed, which they’d then cold call us about and try to sell to us. Maybe I was being over-cautious, and she was legit. I don’t know, and don’t care. Frankly BT, there’s much better ways of doing this!

Windows 7 x64 VT camera II drivers – They do exist (ish)

Monday, March 1st, 2010

If like me, you have a 64-bit Windows box, but a Cisco VT II camera, you’ll have found Cisco in their infinite wisdom have decided to not bother writing drivers. However, there is a way around it:

Windows 7 x64 VT camera II drivers – Cisco Support Community

OK, so it’s horribly hacky, but it DOES work. My camera is working quite happily now!

Totally faxed up

Friday, January 29th, 2010

The CallManager system I look after recently developed an odd issue. Faxes had been working quite happily for some time, but suddenly they were failing left, right and centre. Not only that, we had quite a few credit card machines running over VoIP which were failing to take payments. All ran via Cisco ATA 186 analogue gateways.

I ran various tests and found that faxes between ATAs internally were perfectly fine. As soon as they went through the gateways, they failed miserably. I ran through some of Cisco’s help guides but was drawing complete blanks. I’d ran the prserv tool to see what the ATAs were up to whilst making calls. I’d see ‘resync’ go whizzing by with a load of other seemingly random numbers. The word ‘resync’ suggested to me that the ATA was hiccuping on something, and doing something to the audio stream.

Analogue modems expect a constant stream of data. It might get fuzzy, or drop out, but it will always come along in a specific order, at a certain time. It’s predictable. Resyncing something mid-stream isn’t a good idea to a modem. In all cases when I saw the word ‘resync’ the fax would end up corrupted or dropped entirely, depending on when it happened during the call.

I did a little digging on the Cisco TAC case collection, and found what I was looking for. It was something I fiddled with some time ago.

ISDN circuits rely on a clock. Generally speaking, the clock is the telco end. We have four ISDN links on our gateways – two out to the PSTN, and two QSIG links to the old PBX. We had some odd issues with echo, and one thing we tried was forcing clock sync on the E1 controllers.

E1 and T1 controllers can exhibit something known as ‘slipped seconds’. This is basically where the clocks at both ends get slightly out of sync with eachother. In some instances it can cause echo, so we’d nailed up the QSIG links to use the clock at the legacy PBX end. However, it seems with the 2-port WICs, this causes BOTH ports to sync to that clock.

Up to this point it hadn’t been the issue. There was the odd dropped fax, but nothing overly bad. A week or so ago (the week I was off, natch), the faxes all pretty much failed simultaneously. Voice calls remained perfectly fine, which made it all the more perplexing. Luckily I found the info I needed in the TAC collection.

The issue will manifest itself as slipped seconds. On the router, I did the following:

router#sh controller e1 0/0/0
E1 0/0/0 is up.
  Applique type is Channelized E1 - balanced
  No alarms detected.
  alarm-trigger is not set
  Version info Firmware: 20060707, FPGA: 13, spm_count = 0
  Framing is CRC4, Line Code is HDB3, Clock Source is Line.
  CRC Threshold is 320. Reported from firmware  is 320.
  Data in current interval (618 seconds elapsed):
     0 Line Code Violations, 0 Path Code Violations
     181 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
     181 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
  Data in Interval 1:
     0 Line Code Violations, 0 Path Code Violations
     262 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
     262 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs

There we see some ‘slip secs’.

The ‘fix’ is quite simple. I switched to the interface, and then issued the commands:

network-clock-participate wic 0
network-clock-select 1 E1 0/0/0

The first line selects the WIC you wish to use, then the second selects the clock source (interface) you wish to use. Once I’d done that, the faxes magically all worked again.

http://www.cisco.com/cisco/web/support/index.html – TAC case collection requires a CCO login.

Cisco TSP – Wave goodbye

Tuesday, August 25th, 2009

I’ve been wrestling with the Cisco Telephony Service Provider (TSP) today. We’re doing an install of ARC console, and having set everything else up, it wouldn’t start. I traced back and found that the issue lay in the TSP module itself. ARC tell you to try a utility called TAPI Soft Phone. Every time I ran it I got a vague error about not being able to connect.

I found the TSP was actually dropping logs into C:\Temp. I found these lines:

CiscoTSP001.tsp|   CSelsiusTSPWaveList::GetAvailWave() *ERROR* No wave available|<LVL::Error><MASK::0001>
CiscoTSP001.tsp|   CSelsiusTSPDevice::OpenDevice() [ARC-SrvQueue3] *ERROR* GetAvailWave() returned WAVELIST_NOT_ASSIGNED|<LVL::Error><MASK::0001>

I was aware there was a Wave driver in there, but it supposedly gets installed when the TSP installed.

Right?

Well, it would seem not. Whether it’s meant to or not, I don’t know. I could find plenty of reference to reinstalling it, but not a lot of mention of how to install it in the first place (or reinstall it for that matter). A bit more digging, and I found this Cisco document which tells you how to install.

It mentions Windows 2000, but it’s roughly the same for 2003, which I’m using. I selected Add New Device, Game and Audio controllers, and just pointed it at the driver.

One thing that struck me is that Windows claims the driver is unsigned. I’m wondering if the TSP installer is trying to shoe-horn the unsigned driver in, failing, and just silently giving up. Like I say, that’s assuming it actually does it in the first place.

Anyway it now works. A simple thing, but it took me a while to find the root cause and fix it.

CallManager in VMware

Friday, December 12th, 2008

It’s always nice when you have a mission critical system like – oh I don’t know, say a phone system – to have a development environment to play with and not worry about if you break it catastrophically. It seems Cisco’s favoured method for you to achieve this would be to buy an entirely separate Cisco CallManager (CCM) setup, but that’s a rather costly proposition.

Instead there’s a far simpler solution, and that’s to install CCM into a VMware Virtual machine, and play about with it in there. In theory if you have a spare router capable of doing voice, you could also use that with it too (I’ve yet to try that though).

I’ve performed this installation with VMWare Workstation 6.5 on a dual core Intel Core 2 Duo E6750 with 4Gb RAM under Windows Vista, and had two servers running concurrently quite happily, so it’s actually quite a workable solution on modern hardware. Here’s the process:

  1. In VMWare Workstation create a new custom virtual machine.
  2. Set the hardware compatibility to Workstation 6.5.
  3. Select to install the operating system later.
  4. Select the operating system as Linux, and Red Hat Enterprise Linux 3.
    sshot-4
  5. Chose a location for your VM to live in.
  6. Select a single processor.
  7. Set the RAM to AT LEAST 1024Mb.
  8. Select a network connection type to use. If it’s going onto an isolated lab network and connect to other devices, you’re probably fine to use bridged, otherwise use Host Only.
  9. Use the LSI Logic controller.
  10. Create a new SCSI virtual disk, and set it to 40Gb. You don’t need to allocate all space straight away (i.e. make a growable disk). Select a name for the disk to save as.
  11. Finish the configuration but don’t power on the virtual machine.
  12. Put your CCM installer DVD into your DVD drive, and power on the virtual machine.
  13. Install CCM as normal.

When it starts the first time you’ll see a screen like the following:

sshot-14

Fair enough. It is for development and labs, not production anyway.

The thing to be aware of here is the 1Gb of RAM, and setting the hard disk to anything less than 40Gb. When CCM installs it makes multiple copies of the data, and expects to find space to basically install itself twice (into the active and inactive partitions). If it doesn’t have enough room, it’ll fail with a rather vague error.

It’s also possible to change the MAC address of the virtual server. VMWare workstation and VMware Player will both allow arbitrary MAC addresses to be set (providing they’re legal – you can’t have ZZ:YY:XX:WW:VV:UU for example). ESXi won’t allow this, however.

With the virtual machine powered off, use a text editor to open the .VMX file in the virtual server’s directory, and look for the following lines:

ethernet0.generatedAddress = "00:0c:29:00:00:00"
ethernet0.generatedAddressOffset = "0"
ethernet0.addressType = "generated"

You won’t necessarily find them together, but they’ll be in there. Deleted the ethernet0.generatedAddressOffset line, and change the other two to look like the following:

ethernet0.Address = "00:00:00:00:00:00"
ethernet0.addressType = "static"

You’ll also need to move the ethernet0.Address line up above the uuid.location line. With that done, you can power on your VM, and the MAC should be changed. Probably best to do this before you install it.

Now you have a development environment. As I said at the beginning, I managed to create two VMs, one with a publisher, the other with a subscriber node, and it all worked quite happily from what I could see. I intend testing it in VirtualBox as well, but I have a feeling it actively looks for particular hardware (basically the Cisco Media servers) or VMware, and just fails to install on anything else. Otherwise, this method represents a good method for having a play with CCM without breaking your live system.

Serial Communicator

Friday, November 28th, 2008

I had a vague need to audit the Cisco IP phones, so had a look for a tool to do it. And I found one, the rather appropriately named ‘Serial Grabber‘.

It basically walks your network subnets with your phones in, opening the little HTTP server on each phone (so you’ll need that enabled). It then basically screen-scrapes each one to gain info about what the phone is up to. You can then export the results for your own uses.

It looks good, and it’s a freebie. Apparently the developers parted ways from each other and the code was released as a freebie. Rare you find something related to ‘free’ and ‘Cisco’.

Download Link

Bulk Update – not everything though

Monday, September 1st, 2008

Oh Cisco, bless your cotton socks.

I added a load of phones to CallManager today, and used the Bulk Administration Tool (BAT) for the first time. The phones imported happily, but I realised I’d managed to miss out some fields, like the caller line text; the phones will display the caller’s number and their name, assuming I set it. The BAT hadn’t added those fields (or rather, I hadn’t), so they weren’t present.

Continue Reading…