Locked up SIP extension on your Asterisk server? Me too. Here’s how I released it.

I have struggled with this issue for a while on a large deployment (6 servers hosting ~175 extensions). An extension would complete a call, and the SIP channel on the extension side would fail to release when the call terminated, resulting in the extension appearing to be busy to the server. All calls go straight to voicemail. Calls can be initiated just fine, but I could not find a resolution for releasing the channel short of restarting the server, which is obviously not the desired method of resolution. This issues is addressed in the Asterisk ticket here: https://issues.asterisk.org/jira/browse/ASTERISK-19455, but no short-term resolution to the immediate problem of the channel that won’t die.

SO… Today when this issue happened, I stuck with it longer that I had in the past, experimenting with trying to stop the channel. Here’s how I was able to release the extension without a complete reboot of the server. Continue reading

Logan County E911 Dispatch Room

In 2007, the Logan County Emergency Services Telephone Board secured a grant to upgrade and relocate a thirty plus year old communications room. I was fortunate to be a part of the team that designed and implemented the new communications room and equipment. In particular, the role I played, and continue to play, is the Information Technology glue that ties everything together in the room. We are all very proud of what we have accomplished, and Logan Dispatch is known state wide for creating a room that is a quiet, efficient and pleasant space in which to do a very difficult job.

A few important pieces that we put together to make this environment possible, were the room itself, including the redesign of the space, excluding any computers from actually being in the room itself, and combining the 4 (5 on position 3) computers in such a way that one keyboard and mouse control them all seamlessly with no switching or swapping of input devices.

Position 3 in Logan Dispatch. Note the single keyboard and mouse.

More information with details of how we achieved all this to come soon.

Windows Server 2008 Time Syncronization

In struggling with time synchronization under Windows 2008 R2, I came across an issue that had me stumped for a bit.  I have a client with Windows 2008 R2 Standard running in a virtual machine in Hyper-v.  I have configured it to sync time from pool.ntp.org using the w32tm as instructed here, here and here.

The Hyper-v host is getting it’s time reference from the PDC that it is hosting as well.  When the client complained that the time was off by something like 8 minutes, I began checking into the issue.  When running

w32tm /stripchart /computer: target /samples: n /dataonly

I was getting back sporadic 0x800705b4 errors mixed in with the reports that my server was 378.023845629 (or so) seconds off.  I didn’t see reference to that anywhere I Googled.  for it to error every time?  Sure.  Mixed in the same results with successful connections?  Not one.  I checked the firewall settings anyway.  Also, forcing sync had no effect. The clock was still off by three hundred and seventy whatever seconds.

Finally I found my problem.  In integration services, time sync to the host is one of the options.  So I was syncing my host to my PCD which was trying to sync pool.ntp.org, but being overridden by the integration services and syncing to the host.

Moral?  Virtual machine settings –> Management –> Integration Services –> Time Synchronization?  Uncheck it.

Passive network taps and Gigbit Ethernet

It seemed like a good idea at the time.

Talking to Aastra tech support about a deployment issue with the 6757i, they requested a wireshark capture of the phone as it booted.  Simple, right? I’ve used wireshark a lot through the years, and luckily for me, most of my use in the past has involved a linux router that I could run it on directly.  I didn’t have to worry much about switches and taps.  Not that I haven’t done that, too, just not for a while.  Namely not before Gigabit Ethernet hit the scene.

There are articles by the ton about building a passive network tap, and I’ve even done it before, though it was about 8 or 10 years ago.  Here are a few that I referenced:

So I dove in and built the tap, but no luck at all getting it going.  I couldn’t see a thing.  Then I discovered a comment on one of the (many) sites I was checking to try to learn more about why I wasn’t seeing anything on the taps.  The comment basically said that Gigbit Ethernet is using both transmit and receive pairs in both directions simultaneously.  There’s a DSP involved that subtracts the data you are sending (also any injected crosstalk) from the data you are receiving.  So Gigabit Ethernet has much more going on than I realized.  Also – no Gigbit passive taps.  All Gigbit links will need an active tap or, as I had the advantage of using before, a bridged connection to use for the snooping.
So…  I cheated.  I knocked the port speed down to 100M long enough for the passive tap to show me what I needed.

Aastra 6757i automated deployment

In the interest of making the endpoint deployment easier, we are working toward this model:

  1. Unbox, assemble and install the phone.
  2. Phone’s first boot gets its IP from the data network VLAN, and gets config from TFTP assigning it to the appropriate voice VLAN and rebooting.
  3. Phone now boots into voice VLAN and gets IP and config server from the voice space.  The TFTP config here kicks off the Aastra process that requests the extension and password and configures the phone.
Boom!  Done.  Sounds nice, eh?  Here’s where we’re up a tree.  I have the PBX-In-A-Flash server configured with an IP in both the data and voice VLANs, TFTP responding in both VLAN spaces, and the initial process works as you’d expect: Boot happens, grabs IP, grabs config, reboots, gets voice IP and does a firmware check, sees the new firmware in the voice TFTP space, installs new firmware, reboots, and then…..
Um…  yeah. Then it continually reboots once it gets to the 50% checking for firmware point in the boot process.  So you may see a “passive network tap” writeup from me soon documenting what has already become somewhat of a circus trying to get what seemed like a simple wireshark capture.  <sigh>
[UPDATE] Okay, here’s what I screwed up:  I did not realize that the config COMPLETELY OVERWRITES any previous config.  In other words, on initial boot I was telling the phone to go to the voice VLAN and reboot, and since I was assuming it was already configured for the voice VLAN, I was not adding those lines to the voice VLAN config file.  So it would get the VLAN config from the data side and reboot, get the initial voice VLAN config and reboot…   and find itself back in the data VLAN getting the voice VLAN assignment, etc. etc.  Endless reboot, designed by yours truly.  All I had to do all along was add the voice VLAN config to the final config on the voice side.

Passwords and other modern annoyances

Passwords can be a real pain.

We computer geeks really do understand that. It just comes down to the fact that we’re not operating locally anymore, we’re operating globally. Maybe you live in a great community, and you feel safe and comfortable enough in your community to sleep at night in an unlocked house. That’s great. For you, passwords probably seem like a lot of bother for nothing. The problem is that all of our virtual, online “doors” exist in dark corners where anyone in the world within reach of a computer can rattle the doorknob. And they do. You might be shocked how often. It’s hundreds of times. Not hundreds of times in a year, or even a month, but in a day. Sometimes even in the course of a few minutes. Continue reading

Enterprise VoIP Telephone System

Deploying a multi-building, multi-campus VoIP telephone system using Asterisk.

Our university campus is working from a phones system older than most of the students attending here.  There is little functionality (at least accessible to the end users) beyond the ability to answer calls and get voicemail at the phone.  We’re moving toward a system that will allow us to take advantage of the technology available to us to both increase the utility of our campus telephony, and also greatly reduce the monthly expenditure on traditional PSTN connectivity.  I intend to document most of the journey here in the hopes that it will prove useful to someone else with an equally challenging environment and set of goals. Continue reading