Tuesday, April 9, 2013

System Logs

We've all become familiar with the Matrix metaphor of the green text. The world of system code and log files is the long time home to command line gurus since the days of punch-card programs and green-bar printout.  How many remember their first green monitor?  I still have my Apple //c...

Most Livewire devices and software have a syslog server option. This can be a great way to "keep an eye" on a system, so to speak. Often, log information is most valuable at the moment the message is generated.  To this end, a syslog server can serve as the Matrix interface to monitor the behavior of a network and provide a way to go back and check on a problem if one does occur.

There are many syslog tools available today, and even within our own organization, different folks use different tools.  Some favorites are:

My personal favorite, however, is SysLog Server, which is a Telos Alliance program.  By dedicating an older or unused computer to running a syslog server, a lot can be learned about the health of a network.  As the devices will conform to the IETF syslog reporting levels, a properly functioning network should be relatively uneventful when devices are configured to the INFORMATIONAL logging level.
The Telos Syslog Server application.
This machine can also serve as a technician computer. With the syslog server, iProbe and Pathfinder PC Client installed to enable convenient and remote access to a Livewire network.  With remote access to this machine via Remote Desktop, TeamViewer, GoToMyPC, VNC or other means, a technician can have almost full access to a Livewire network via remote.

Thursday, February 7, 2013

Going rounds with my router

I've been going some rounds with my router.  Last fall, after throwing in the towel on my old Buffalo running OpenWRT software, I settled on purchasing a refurbished Cisco Linksys EA4500. Close contenders at the time were both the SonicWall TZ100 and Cradlepoint MBR1200B.

All I need is a bridge between my Cisco Catalyst 2960 switch and the cable router. I ended up going with the sweet refurb deal on the Cisco, and I am pleased with the choice.

I have tried as best I can to keep my lab wired as simple as possible, so a lot of thought has gone in to maintaining a single lab network. Instead of the Axia recommended separate network for Livewire, my intent is to connect the router direct to the switch with Livewire traffic present.  This often crippled the OpenWRT router if I would make a network patch and cause a packet flood, poor little guy...

Objective: Route the Livewire network

Starting from scratch across the board, I did a factory reset on the 2960 and the router. Using the auto setup on the switch, I set a 10/100 port as a router in the default config which configured the port as a trunk and roughed in a bunch of QoS settings to the switch config.  I then used the Livewire script to set the Livewire global options, set the gig port to Livewire TRUNK and every other port to Livewre ACCESS configurations.

This point stumped me for a while and created many problems. Livewire was trunking Liveiwire packets to the router port and flooding it.  No amount of configuration on the switch side would allow more than 3 or 4 streams worth of livewire audio activity. 

Enable "Filter Multicast" on a Livewire network.
One thing I did find out was that by setting up the 2960 at my typical 192.168.2.2 did leave 192.168.2.1 open for a router.  Like this, the router was often trying to take over the IGMP role from the 2960, which I specifically did NOT want to occur.  Reseting the 4500 router as IP address 192.168.2.3 cured this and left IGMP querying with the Catalyst which still had the lower IP address at 192.168.2.2. which is essential in Livewire.

What made everything work was a enabling  "Filter Multicast" setting in the router. Now everything is finally behaving as expected.  The Cisco 2960 uplinks to the Powerstation gig port which is set as TRUNK.  The other Powerstation gig port links to a QOR16 via SFP cable. Note that the off-brand SFP cable I have works between Axia switches, but not to the SFP port on the Catalyst. I think name-brand Cisco is needed for compatibility.

Finally, a line patches from the QOR16 to a QOR32 in a mobile rack.  So far, so good! Traffic is holding true on the  router port.  I have yet to truly hammer down on the net load, but that testing will come.  

So the Cisco 4500 has a lot of bells and whistles which I find worthy. Updating to the Cisco Smart Wi-Fi offered some really nice convenience tools like a smart phone app.  It's too bad that the features scared Cisco into selling the product line, but it seems the product is in good hands yet.

Resulting Catalyst 2960 config is available here.

Wednesday, January 23, 2013

MS Remote Desktop and the IP Audio Driver

I have always preferred Microsoft Remote Desktop as a remote entry tool of choice.  It stems, I believe, from being lazy efficient, and Remote Desktop is always there.  There is even a Remote Desktop client application available for OS X.

The problem is that Remote Desktop by default likes to transfer the audio from the remote computer to the client computer. The Axia IP driver doesn't like this so much, thus using Remote Desktop to connect to sysrtems with driver in use for programs like iProfiler will cause the audio connection to the application to break in favor of sending the audio to the remote client.  Fortunately this is pretty easy to fix by setting some parameters in Remote Desktop before making the connection.

Remote Desktop Server

Enable Remote Desktop Connections on the target computer.
By default, any users in the Administrators group for the computer automatically will be able to make a remote connection now.

Remote Desktop Connection


The way to connect to a computer is with the Remote Desktop Connection application.  This app is a part of all Windows versions since Windows XP.  
To connect to a computer with the  IP driver, it is necessary to have the Remote audio playback feature set to "Play on remote computer." This can be found under the Remote Audio Settings under the Local Settings tab.

An even easier shortcut is to make a remote desktop protocol file for common computer connections.  This is a text file saved with a .RDP extension which can contain the specific parameters needed to connect to a remote system and leave the audio on the remote computer.

Here are default file contents:

audiomode:i:1
screen mode id:i:1
connect to console:i:1
desktopwidth:i:900
desktopheight:i:750
full address:s:192.168.2.202

Change the IP address to the destination and then save this text file with a .RDP extension.

The window size can be adjusted to taste as needed.  Their is also a configuration to access the console session of a server which is good for administering Pathfinder Server login sessions.  This file will work with both the Windows client application and Mac OS X Remote Desktop.

Friday, January 4, 2013

Don't Forget Dot Net

Axia Livewire and Telos VX software programs are largely built upon Microsoft's ASP.NET technology, often called "Dot Net" or written .NET. Visiting Microsoft's .NET website at http://www.microsoft.com/net, the framework offered is version 4.5.  Much of the Telos software is actually based upon the 3.5 version of the software.
Looking a bit closer, Microsoft's page shows a link for downloading an earlier version. The needed version is the most recent 3.5 which is 3.5 SP1. This is the version that comes already installed in Windows 7.  Windows 8, however, does not have 3.5 installed by default, and has 4.5 installed instead. Fortunately, it is not necessary to download an installer from Microsoft to activate version 3.5 in Windows 8.

Install .NET 3.5 SP1 in Windows 8

  1. Under \Control Panel\Programs\Programs and Features, select Turn Windows Features on or off.
  2. Select .NET Framework 3.5 (includes .NET 2.0 and 3.0).  Press OK.
The installer will then handle installing the framework.  Note that the computer may still need to fetch updates from the Internet to complete the install.

This is all it takes to install the needed 3.5 framework for tools like Pathfinder, iProbe, and VX Producer in Windows 8.

Monday, December 31, 2012

Hybrids, Codecs, and Encoders

One string means one vibration, or sine wave.
A single mono audio channel.
What's the difference between HYBRIDS, CODECS, and STREAM ENCODERS?

Hybrid

In the broadcast world, a Telephone Hybrid is needed in place of a telephone handset to connect a a caller to AIR.  The phone mixes or duplexes both incoming and outgoing audio together so that the phone company only needs to transport a single audio channel.

As broadcasters, we would like to have two audio channels on the hybrid: in and out, just like a phone has a mic and an earpiece.  Discrete audio is preferred so that the audio is mixed in the console instead of the phone line.  Mr. Steve Church, founder of the company which employs yours truly, was the first person to figure out how do do this with digital signal processing instead of analog circuitry.  Cool!

The phone companies caught onto the idea of using digital transmission instead of analog and (mostly) standardized digital signal over the same copper telephone wires with ISDN technology back in the '80s. Since there are a gazillion phones in the world, an ISDN phone circuits can be connected to regular telephone lines, and the phone company handles the switching, a caller can call from their telephone to a radio station's hybrid and be heard "on the air," clean and without echo. This is done with the same copper phone lines as always used for Plain Old Telephone System [POTS] phones.

Here is a comparison of the various Telos-brand hybrids used for communicating with callers via POTS, ISDN, and even SIP circuits as well as the features of each.

Codec

An audio codec in broadcast is a device or used to connect remote audio to the broadcast when a device can be specified at each end of the connection. Since both ends of the connection are on common devices, it it's possible to specify the audio codec used. The Zephyr, Telos' first codec, was the first device to use .MP3 audio encoding to deliver superior sounding audio over the same ISDN lines. Codecs sounded much superior to what could be achieved with a hybrid.

The voice tracking community uses codecs frequently and extensively to be able to transmit high quality audio real-time over great distances. In the broadcast world, a connection of this type is often referred to "zephyring" in honor of Mr. Churches first codec, the Zephyr.

Now, Telos offers codecs for both ISDN and Internet-IP connections. The Zephyr Xstream is the current incarnation of the classic Zephyr, AND still compatible all around.  The classy Z/IP One is a modern 19" 1U Internet codec which is even capable of making high quality connections over 3G wireless connections.

Stream Encoders

An audio encoder in the broadcast realm typically refers to a stream encoder. Quite simply, the stream encoder makes a digital "stream" source which can be relayed to end listeners via the Internet as an alternative to traditional terrestrial radio signals. When one clicks on a "listen" link at a station's website or listens to Pandora, the data flows continuously from the stream encoder to the listening device, and there are  all manners of ways of doing this.

Telos has a hardware encoder called "ProSTREAM" and Omnia has a software encoder called "A/XE." The approach of each of these tools is:
  • Receive stereo input audio as analog or Livewire
  • Process the audio both for best listening and for proper encoding
  • Encode with authentic Franhaufer codecs
  • Embed the station and current play metadata
  • Deliver the audio to a public streaming server for replication and delivery
Live audio is alive and well in the Internet age, thank you very much!

Monday, November 5, 2012

Time, Daylight Savings, and Axia Broadcast Consoles

Daylight Savings Time has come and gone again.  If you have not already, please remember to reset the time on your Element consoles!  The Axia Element broadcast console does not have the functions needed to set DST automatically, so these clocks will need to be changed individually.

If you have a QOR based console, the ability to automatically configure DST switching is available, but it is not intuitive.

Axia Element

The Element console has a basic clock configuration.  From the web configuration for the Element, it is possible to set an NTP time server as well as a deviation from GMT.  If the NTP is operational, it is simplest to just switch the Time Zone offset ± 1 hour depending on "spring ahead or fall back."
In the US, here is how the timezones break down for the appropriate season:
US DST offsets from GMT
Timezone Summer Winter
Eastern GMT -4 GMT -5
Central GMT -5 GMT -6
Mountain GMT -6 GMT -7
Pacific GMT -7 GMT -8
In the event that an NTP server is unavailable, the time in an Element console can be set by pressing and holding the "Timer Options" button on the monitor/navigation module for 5 seconds.  This will reveal the "Clock and Timer Options" menu and allow for setting of the time and date.

Axia QOR line (iQ, Radius, DESQ, RAQ)

The QOR line of Axia consoles adds the feature of automatic DST offset switching to the time configuration.
In order to configure the automatic switching, it will be necessary to know the Daylight Savings rules for your location.  In the United States, DST starts on the second Sunday in March and goes to the first Sunday in November.

Network Time Protocol Service (NTP)

NTP is a means to have a networked device automatically update it's time against a reference clock.  Since breaks in radio can be tight, it is of course desirable to keep the time on a broadcast console as accurate as possible.  

The standard way to set up a Livewire network is to keep the network closed and not accessible via the outside world.  This makes it difficult to sync a console to an Internet NTP server.  Fortunately, there are many tools and programs available to provide NTP service to a local network.  In the case of a Livewire network, it will be necessary to run the NTP service on a computer which has access to both the Internet and the Livewire network.  Often, this is done with a computer with two network adapters installed.

Many versions of Microsoft Windows can be modified to activate an internal NTP server if desired.  Often it is easier to download a program or service to do the same.  Here are some possible solutions:

NTP Servers

Once you are ready to set your time with the proper NTP tool, all that remains is to set a server.  There are many accurate time servers out there, but the service in particular which seeks to be used as a time base is http://www.ntp.org/.  Since some NTP clients can only be configured via direct IP address, issuing a ping from a command shell can reveal the IP address needed for a configuration.

Friday, November 2, 2012

lawnGreen meters, who knew?

The up and coming 1.1 software for the xNode includes something that is probably not going to get many highlights in the pamphlets, yet displays some ├╝ber-slick coding: HTML metering. No longer will it be necessary to install Java to get real-time audio or GPIO status in a web browser.

HTML metering in modern browsers actually creates all of the meter components from raw html web code, and javascript (completely different than Java, btw...).  The javascript is what changes the html realtime to represent the audio level. And it does it FAST! In my opinion, My impression is the new metering is more accurate than the java meters ever were. It makes sense if there is one less program like Java getting in the way of the information flow from device to screen pixels.

Dissecting the code generated for the meters reveals how every single "LED" is created in html without any image files.  The VU meter itself is a <table> element with each frequency as a row. Each "LED" is represented by changing the background color between black and the desired RGB values with javascript. It's very creative use of modern browser technology and darn impressive coding!

So in trying to "help" me pull this code apart and take a look at it, Google Chrome browser assigns names to the RGB color values set by the xNode code. The green bar in the VU meters is called lawnGreen!

Nice work, development team! Anybody interested in more information about the fantastic invention that is the xNode, please visit http://axiaaudio.com/xnodes.