IP Telephony VARs….Selling IP Video Surveillance Yet? What Are You Waiting For?

July 24, 2008 by Garrett Smith

If you have established a business or consultancy around VoIP and IP Telephony, expanding your product/service offerings to include IP Video Surveillance should be easy. If you are selling your customers IP PBX and/or hosted IP Centrex services, many of these same customers will have needs for surveillance. The surveillance industry, much like telephony, is moving away from legacy CCTV (Closed Circuit Television – Analog) to IP based platforms….which plays right into your sweet spot.

If you have experience deploying, administering and maintaining IP Communications platforms such as Asterisk, FreeSwitch, Switchvox, Trixbox, etc….picking up the fundamentals of IP Video Surveillance will be a snap.

First Off – Pick an NVR (Network Video Recorder) Platform. There are literally dozens of vendors offering both Windows and Linux based platforms. A few of the more popular products include:

Axis Camera Station
Milestone
ONSSI
Mobotix MX Control Center
Exacq
ZoneMinder (Open Source!)

ZoneMinder is the closest thing to an “Asterisk equivalent”, OSS project….and it is a capable platform that runs on a Linux footprint….but lacks the huge, vibrant developer community that surrounds Asterisk.

Second – Download eval software. All of these vendors offer trial-ware. Zoneminder, as mentioned, is completely free and open source.

Third – Build an NVR Server. A standard Intel based PC or server is all you need. P4 or better, Gig of RAM and a decent amount of hard drive storage. One Note of Interest – there are a number of video formats supported by platform and camera vendors. MJPEG and MPEG4 are most prevalent, but many vendors are moving to H.264 as it offers more compression while maintaining image quality. Many IP cameras support both MJPEG and MPEG4 video codecs, and they are user selectable. Video cameras supporting H.264 are just now coming to market. H.264 offers several advantages in that it cuts down on bandwidth requirements (much like G.729 versus G.711) and storage requirements for archiving video footage. A handy Bandwidth and Disk Size Calculator is available for free download here.

Next – Get an IP Camera. There are a wide variety of IP Video Camera manufacturers, offering a range of products. Cameras come in fixed view or PTZ (Pan, Tilt and Zoom) varieties, as well as a range of resolutions and advanced features + form factors depending upon your application. Leading IP Video Camera manufacturers include:
Axis
Mobotix
Panasonic
Vivotek

Interesting Note – Similar to analog FXS gateways in the VoIP world which allow for integration of legacy telecommunications gear like analog phones and fax machines….Video Servers (Encoders) are available to facilitate the integration of legacy CCTV (Analog, Closed Circuit Television) cameras with an IP based NVR platform. If your customer has a significant investment in analog security cams, why not supplement their existing solution by integrating it with a more feature rich, IP-Based NVR platform? This “Hybrid” approach should be familiar to you from the VoIP world. You can take a look at some of these video server / gateway products here. Similar to VoIP gateways, video servers come in 1, 2, 4, 8, 16 and 24 port densities (channels), depending upon the number of analog cameras you want to attach. They also encode analog video to MJPEG, MPEG4 or H.264 depending on the model you choose. Refer to the manufacturer specification to see the codecs supported.

Finally – Get busy learning the in’s and out’s of the solution. If you have a solid grasp of TCP/IP networking fundamentals, you’re 90% of the way there. IP Video Surveillance utilizes the same Client / Server relationship you are accustomed to with VoIP / Telephony. The NVR Sofware is installed on a server or PC on your network, and accessed via a GUI from a browser or on the local machine.

Configuring the video camera is as easy as plugging the camera into your LAN, letting it get an initial IP address via DHCP, and then logging into the camera itself (via the built-in webserver in the camera) and resetting it to a fixed IP address. Next, in much the same fashion as you would create an extension on an IP PBX and provision an IP phone….log into the NVR server and configure the camera server-side.

Once you have the camera configured, there are a range of other features you can play with, such as motion detection, software PTZ controls for manipulating cameras remotely, alarms, notifications and even advanced software video analytics on some platforms.

In a post-911 world, demand for video surveillance is exploding. Businesses….Local, State and Federal Government Agencies, Educational Institutions, and even private residential users are all driving demand for next generation, IP based surveillance solutions.

Like I said….What are you waiting for?

Setting up an Audiocodes MP-114/118 FXO with Asterisk and FreeSwitch

Audiocodes is one of the better, if not the best, SIP PSTN gateways available on the market. Problem has always been its most unfriendly user interface. They sure don’t make it easy. When they say you have to pay for quality one doesn’t consider both literally and figuratively. Any wrong setting can throw the whole thing off. You WILL RTFM!!! Not to say that I’m not the better for all that reading, just my eyes kind of hurt now. If you’re the type, like me, that doesn’t give up easily then Audiocodes may be for you. Quitters should stop reading now.

This is an FXO unit with 4 ports. The setup would be pretty much the same for a 118. I am using a standard vanilla Asterisk 1.4 install. I’ve always preferred a lunchbox Asterisk setup to a user friendly GUI because I find it much easier to troubleshoot when things aren’t working as advertised. This will be the first part in a continuing series on setting up these gateways in different scenarios. My FreeSwitch setup is using the vanilla default profile setup.

We only need to configure sip.conf and extensions.conf to get a working setup on the asterisk end.
Asterisk Setup:

sip.conf : We can use one (type=friend) or two (type=user & type=peer ) entries.

Single or Friend Settings

[pstn]
type=friend
context=inbound
dtmfmode=inband
host=192.168.xxx.xxx ; IP address of MP-114
nat=no
canreinvite=no

Paired or User/Peer Settings

[pstn-out] ; used for dialing out
type=peer ; peers help deliver the calls for us.
allow=ulaw
context=outbound ;not necessary to, but lets us know its function
dtmfmode=inband
host=192.168.xxx.xxx ; (This is the IP of the MP-114)
nat=no
qualify=no
[pstn-in]
canreinvite=no
context=inbound ; Where to deliver the inbound calls in extensions.conf
dtmfmode=inband
host=192.168.xxx.xxx
nat=never
type=user ;we are a user of MP-114 FXO

extensions.conf ; Doesn’t matter much here whether it’s friend or user/peer model

[outbound] ; Context for Outgoing Calls
exten => _NXXXXXX,1,Dial(SIP/${EXTEN}@pstn) ; @pstn-out if you’re using the user/peer model
exten => _NXXNXXXXXX,1,Dial(SIP/${EXTEN}@pstn)
[inbound] ; this is our telephone number
exten => _2125551212,1,Answer() ; let the gateway know we’ll handle it from here
exten => _2125551212,n,Wait(1) ; give a sec to get any passed info
exten => _2125551212,n,Dial(SIP/1001,25) ; or point it to your IVR

FreeSwitch Setup: I’m still a noob here. Originally I really completely over thought this one and made far it more complex than needed be. Failed, of course. Then I went super simple with it. Worked! I hope I don’t get flamed for poor design, but it works!
I needed to create an unauthenticated extension in the directory (extensions for asterisk users). This could dicey /unsafe, but it is internal.

/usr/local/freeswitch/conf/directory/default/pstn.xml:



Now for the dialplan settings that make it actually work . There are two place under the dialplan directory I needed to edit.

1. Let FreeSwitch know we have a number for the public to reach.

/usr/local/freeswitch/conf/dialplan/public.xml

2. Make sure the DID is in the default dialplan so FreeSwitch knows how to handle the calls

/usr/local/freeswitch/conf/dialplan/default.xml

First let’s receive calls.


Now let’s make calls. This is for 7 digit calls, but would apply to long distance also.


AudioCodes Setup
Quick Setup:

IP configuration: If you can’t figure this one out there’s little or no chance you’ll get this working. Put on dunce cap and sit in corner.

SIP parameters:
Gateway Name: I use it’s IP address so no dns issues.
Working with Proxy = Yes
Proxy IP address= the IP of the Asterisk box.
Proxy Name= the IP of the Asterisk box.

Protocol Management:
Protocol Definition ->
General Parameters:

Channel Select Mode=Ascending

And make sure SIP ports are set for 5060

Proxy and Registration:
Proxy Name and Proxy IP Address= Asterisk Server

Enable Registration: I didn’t .

Gateway Name and Registration Name: MP-114 IP address

Subscription and Registration Mode: Per Gateway (don’t remember if this matters).

Coders:make sure ulaw’s there

DTMF & Dialing: Max digits-> put a high number like 32

Routing Tables:
Tel -> IP routing and IP-> Tel routing = I used

Dest IP/Phone Prefix =*

Source IP/Phone Prefix =*

Dest/Source IP Address = Asterisk IP Address

Endpoint Phone Numbers: Match channels to phone numbers.
Channels= 1 -4
Phone numbers = your phone numbers

Hunt Group Settings:
I used Cyclical Ascending

End Point Settings:
Automatic Dialing:Destination Phone Numbers should match the numbers you have in inbound context in extensions.conf. In our example -> exten => _ 2125551212,1,Answer()

Advanced Applications:
FXO Settings: Dialing Mode should be set to One Stage.
That should get you up and running. Although little differences in setups can cause major headaches and frustrations, I hope that this gives you a good starting reference point. We’ll be putting this and other guides on our wiki when it becomes available (with screencaps).

Guest Post: It’s So Easy To Write Apps for Asterisk

July 23, 2008 by Garrett Smith

One of the most powerful things about Asterisk is the relative ease of developing and integrating new applications.   Historically, the telephony world has been a “walled-garden”, with proprietary technologies, arcane configuration methods, and non-trivial integration hurdles.  Asterisk is a pure software application, and an open source one at that.  It’s highly configurable, and through various interfaces (such as AGI and the manager API), it’s easy to write new applications.  And most importantly, Asterisk doesn’t dictate the implementation language or technology — you can develop your app in any language you want (e.g. Python, Ruby, Java, C, etc.)

I’ve built a number of simple applications for our home Asterisk system.  For example, we have one that’s used on school-day mornings.

First, the system rings scheduled wakeup calls in each of the kid’s bedrooms.  Next, as the school bus time approaches, the system announces five minute and two minute warnings on the kitchen phone.  It takes advantage of the auto-answer feature on many Ethernet phones (such as the Linksys SPA942 in our kitchen).  Pre-recorded announcements (e.g. “the bus is coming in 5 minutes“) announce automatically out of the phone’s speakerphone, without anyone having to pick up the phone.

I wrote the entire application in a few hours (most of which was spent learning how to get Asterisk to initiate outgoing calls).  The app is a simple Python script that runs early each morning (using cron) on the server hosting the Asterisk system.  It first checks to see if it’s a weekday (i.e. school day), and if it is, it queues up the wakeup calls and the two announcement calls.

Future versions will include the holiday calendar to omit the calls and announcements on school holidays, and will automatically check the local news Web site to see if school has been cancelled or delayed.

Try doing that with your Nortel PBX! DISCLOSURE: Andy Payne is an investor in Digium.

New Product Lines Featured on IPCameraSupply.com

July 22, 2008 by Garrett Smith

The IP camera world is always expanding, and so are the offerings from IP Camera Supply!  We now feature products from manufacturers Bosch, Pelco and Speco Technologies.  You can find their product lines here:

To welcome our new friends, we will be doing one week of free ground shipping (starting July 28 through Aug. 4) for the following products:

Bosch:

VEZ-021-HCCS

VEZ-021-HWCS

VG4-161-CC0

VG4-161-EC0

VG4-161-ETE

VG4-162-CTE

VG4-163-CC0

VG4-163-EC0

VG4-164-CC0

VG4-524-PTS

 

Pelco:

13FA2.3

13FD2.3

13VA1-3

13VD1-3

13ZD5.5X30

C10CH-6

DF5-0

DF5-PB-0

EH8106L

PS20

 

Speco:

WH-927

VL-6WMTDV

HT-7815DNV

VL-634

HT-650PTDZ

HT-7715DNV

CVC-627B

CVC-627W

CVC-927PTZ

VL-62

Open Source Phone Systems Missing The Mark?

Nermetes Research recently honored several IP based phone system vendors with PilotHouse awards which recognizes companies for their outstanding achievement and superior performance in areas such as customer service, technological innovation, technical service, value and strategic product development.

Not surprisingly, none of them were open source systems or based on an open source platform.

Why am I not surprised?

Well, because that is what I have come to expect; especially from analysts who, for all intent and purposes “take the money and run” when it comes to these awards and it is a shame, especially since Nermetes’ Robin Gareiss states,

“This research is a must-have for companies evaluating a new VOIP strategy, or reassessing an existing one because it relies on real experiences from real customers.”

Take a look at some of the winners: ShoreTel, Seimens, Avaya, Nortel, Cisco, 3Com, a venerable “who’s who” of the old guard. I have news for Nermetes and everyone else: I would take a SwitchVox or trixbox solution over one of the above any day. What is it that makes Shoretel the best phone system on the market? What does it have that other systems do not? I have used the system for over a year and to be honest was not impressed in any way, shape or form.

Here is some real advice, from a real customer, one who has sold IP based phone systems and has used almost every system on the market:

Don’t be fooled by research conducted for the entire purpose of giving those paying for it a badge to wear and something to market.

When it comes right down to it, there is more power, flexibility and value in an open source based phone system than in these proprietary solutions. These proprietary solutions, unknown to many, are traps. They pull you in with savvy marketing and well paid sales professionals, then hold you hostage with licensing, last generation technology, lousy business systems integration and of course a hefty bill.

Do yourself a favor. If you are in the market for a phone system, take a look at all of your options, not just the ones that pay to have their solutions talked about.

How To: Upload Firmware to a Polycom Unit

July 21, 2008 by Garrett Smith

Note: Please click here to see an updated post

Today’s discussion will be on Polycom and how to upload the latest Firmware. For some of you this will be a repetitive read, if you have done this before, but for those just starting out in the industry, or just wanting to learn some new information on VoIP, then this is for you. It will just take a little time, some elbow grease and some hardware.

To start this off let’s begin with the brains behind it all: the TFTP server, also known as, Trivial FTP server. You can find tons of programs like this on the internet but the one that we use in our house is SolarWinds.

Then enter all the required information and then click “Download Software”.

Choose which method of download you prefer and install the software on your local Windows-based machine.

In your installation process, you will be prompted to download Microsoft.net 2.0 which can be downloaded here if not already installed: http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en

Click download:

firmware upload one

After you have downloaded the .net application, open or run the Solarwinds application on your desktop:

TFTP Server

When opened it will look like this:

firmware upload 3

Next, you will want to download the Polycom Firmware and Bootrom Files from the VoIP Supply FTP website.

If you don’t have credentials, and you bought the end point from us, then give us a call or shoot us an email and we will be glad to grant you access.

Below is a picture of the site. Scroll down and you will find PDF files, BootRom Files and Firmware Release ZIP files.

file list

Place and extract the ZIP files for both firmware and bootrom into one central folder. (I called it “Polycom Firmware”):

Polycom Firmware

Create a folder called TFTP-Root and place it on your C: Drive.

Place the “Polycom Firmware Folder” inside the TFTP-Root Folder.

Go back to your TFTP Application which should be open on your desktop.

Click File, then configure and set the following:

TFTP App

After you have clicked OK, your TFTP Server application should look like this:

TFTP Server app

Now for the Polycom Phone fun!

1. Plug in your Polycom IP Phone and press the SETUP button to stop the auto-boot process when prompted.

2. Enter the password 456

3. Scroll down to the server menu and select.

4. Edit the server type to “Trivial FTP”

5. Edit the server address to the “IP Address of TFTP Server” (In my case 192.168.1.97) noted in the above screenshot.

6. Exit the server menu, and then exit the setup menu.

7. The phone will prompt you to save and reboot, select OK.

8. Upon reboot, the phone will go through its auto-boot process again, and then display Uploading Bootrom on the screen.

9. You will also see verification on the TFTP Server as the bootrom and firmware files are being uploaded to the phone.

10. When the phone completes its boot cycle, it will briefly display a welcome screen, which shows the current firmware version loaded.

11. If you see this version, you have successfully upgraded your polycom phone.

Special Notes

The Polycom Phone that you are upgrading must be on the same network as your TFTP server application (IE. TFTP Server address: 192.168.1.97, Polycom Phone address: 192.168.1.99). This is essential for the phone and the TFTP server to communicate with each other.

This process can be done on multiple Polycom units at the same time; there is no need to do one at a time if you have multiple units to upgrade.

In order to perform a correct upgrade with files with Polycom Factory Default settings, DO NOT MODIFY ANY FILES.

IPCS Word(s) of the Day: Video Streaming

Video Streaming= Streaming video is a sequence of “moving images” that are sent in compressed form over the Internet and displayed by the viewer as they arrive. Streaming media is streaming video with sound. With streaming video or streaming media, a Web user does not have to wait to download a large file before seeing the video or hearing the sound. Instead, the media is sent in a continuous stream and is played as it arrives. The user needs a player, which is a special program that uncompresses and sends video data to the display and audio data to speakers. A player can be either an integral part of a browser or downloaded from the software maker’s Web site.

Are SMB's Ready For Software Only VoIP?

On paper, software only VoIP solutions seem like a perfect fit for small medium businesses (SMB’s).

These services can take many forms, such as a hosted VoIP offering or a Voice 2.0 call aggregation service. These deployments typically cost less (since there is no or little physical equipment), are delivered by a service provider who typically handles the service, support and on-going maintenance and in general seem a lot more simple for the SMB. For those who sell these types of solutions, they often refer to their offering as a, “no brainer.”

Within this simplicity, however, lies a fair amount of confusion – created by the fact that software only VoIP solutions, for most non-technical SMB’s, are a far cry from the user experience they have become accustom to. A funny thing happens when one tries to change the user experience – they revolt. People do not inherently accept change and with something as long standing (and in many ways as stagnant as telecommunications) it is difficult to not believe that software only VoIP solutions are getting a fair amount of push-back from SMB’s.

This isn’t written to discredit them (software only VoIP solutions); in fact, software only VoIP solutions is truly the future, but that future is many, many years ahead of us. For now, I see those offering software only VoIP solutions to the SMB continuing to struggle – selling the invisible is tough, especially in a sector that has been hardware-centric for such a long time.

What do you think?

  • Featured Posts

  • Popular Posts

  • Read Our Feed

  • Latest

  • VoIP Post Categories

  • Archives