How to Configure Voxeo Prophecy 9 for SIP Trunking

September 18th, 2009 by Chris Maxwell

Hi, If you’ve used Prophecy 8 for IVR development, you probably found that configuring a SIP Gateway was quite easy. Voxeo is all about making Telephony easy. In Prophecy 9, we have done tons of work on the interface and management console to make day to day operations easier – but to configure connectivity to a SIP gateway – there are a few steps to go through to set it up.

In this doc, I’m going to walk you though setting up Voxeo Prophecy 9 for SIP Trunking – so that you can send VoIP calls to the SIP Gateway provider of your choice. I’ll be discussing SIP Registration in the next few weeks in a separate blog.

To get started, you first need to download and install Voxeo Prophecy 9 from www.voxeo.com/Prophecy. Prophecy 9 is a completely new platform – with tons of new goodies and sweet yummy yumminess. You definitely want to see it.

The free Prophecy 9.0 software download includes 2 free ports.

After you have downloaded it to your (this is not a typo) Windows – MAC – or Linux environment, follow the instructions below to install the platform.

INSTALLATION:

When you first run the Prophecy download it will guide you through the installation of the full set of Voxeo tools and services. The evaluation version comes with a fully functional 30-day license key, and you can upgrade to a permanent free license at any time simply by registering the software.

After the installation is complete you should have the following new services running:

* Voxeo Prophecy Server, including Voxeo’s CCXML, CallXML, and MRCP servers * Voxeo Prophecy VoiceXML Browser, the Voxeo VoiceXML 2.1-compliant server * Voxeo Prophecy Management Console, including a web server with full PHP support * Voxeo Prophecy Application Sever, including a web server with full Java servlet/JSP support * Voxeo Designer, including the Designer server and visual development tool

A menu item is also installed that allows you to access the following utilities:

* Prophecy Home, a web-based user interface that includes Prophecy Commander to assist in configuring your new software (The default p/w and usernames are: admin and admin). * Log Viewer, an interactive syslog server that allows you to easily view and filter the output from the Voxeo services * SIP Phone, a fully functional SIP phone that you can use to test your applications * Start, will start each of the Voxeo Prophecy services * Stop, will stop each of the Voxeo Prophecy services * Restart, will stop and then restart each of the Voxeo Prophecy services * Automatically Start, allows designation of Prophecy services that should start automatically

screen-capture-5.png

To Configure SIP Trunking:

Right click on the blue Voxeo V in the lower right task bar and go to “Prophecy Home”, when the Voxeo web management console appears, choose “Prophecy Commander”.

Login into the Prophecy Commander Console using the default (Admin/Admin) creds and select Manage, then Servers.

You should now see your Server listed, this is where you will set your configurations.

while in Manage/server 1. Click “New” above the Install ID, a new server config box will appear. go to IDENTITY TAB Input Name = name of Server Input Host IP Input Install ID = (leave blank) Input Site = (leave as) Default

go to CONFIGURATION TAB go to Services/ click “ADD” go to Gateway, select tab to expose options Select VoIP Gateway (v.1.0) Select SAVE from the top menu choice

screen-capture-1.png

2. Next, double click on the created gateway – check for Gateway * VoIP Gateway – and set the Port to 5060 (or whatever is required)

3. Go to Manage/Groups Create New Input Name = VoIP Group (or whatever you like) Select Member groups mode = Union SELECT the Gateway (VOIP GATEWAY)(Click – then Arrow over) Save the Group settings

screen-capture-2.png

4. Go to Manage/Virtual Platform Click on Default (at the top portion of the screen) Go down to Edit Virtual Platform – click on whatever is in (ROLE) as Gateway Double Click on this Resource (gateway) Click on new (far Left) Group: Drop down the Group name you just created (VoIP Group) Service: Drop down the VoIP Gateway 1.0 Service: Priority: 1 (or more) (this sets the priority for multiple gateways) Save your Virtual Platform setting

screen-capture-3.png
screen-capture-4.png

That’s it! You’ve now configured a SIP Trunk in Prophecy 9!

About Prophecy

Voxeo Prophecy is a powerful, entirely standards-based platform for speech, IVR, and SIP VoIP applications. Prophecy is the world’s first telephony application platform software to offer enterprise-class features with retail like simplicity, at an extremely low price. The resulting product is:

* Accessible – Prophecy is an openly available, single download product with no configuration required: just one download includes speech recognition (ASR), speech synthesis (TTS), and our Designer visual development tool.

* Simple – Prophecy includes everything needed to create and deploy any IVR or VoIP application, including full VoiceXML and CCXML browsers with high-quality speech recognition and synthesis engines, a built-in SIP soft-phone, and support for hundreds of SIP providers and devices. Prophecy works with any web development language or server including ASP, CGI, C#, Java, PERL, PHP, Python, and Ruby. Prophecy has a built-in web server that supports PHP and Java applications as well.

* 100% Standards based – Prophecy includes the first (and only) VoiceXML browser to pass 100% of the mandatory and optional VoiceXML compliance tests and includes the worlds most proven CCXML implementation.

* Inexpensive – Prophecy is free for two ports (two concurrent calls) and $249 for four ports (four concurrent calls).

Prophecy scales from two ports on low-end notebooks to tens of thousands of ports on multiple-server clusters. Discounts are available for volume, VAR, and OEM licensing. For pricing above four ports – or if you’re a developer or OEM creating and reselling solutions on the Prophecy platform – please contact us for partner and OEM pricing.


If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


The Holy Grail of VoIP to Analog PSTN: Bridging the Gap.

July 22nd, 2009 by Chris Maxwell

Many people have excitedly installed Asterisk or an IP native switch only to find the “Big Problem”.. “How in the heck do I make a phone call out to the Real World”.

VoIP Users quickly find themselves alone on a communication island – unable to communicate with the “Mainland” of the PSTN Telecommunications network.

So – What do you do in this case? Build a raft? Nope. You find a device to convert the Analog signal to VoIP – so that you can actually make calls.

Voxeo Prophecy is a SIP based IVR, meaning it’s been built as a native VoIP device. It doesn’t have a particular PSTN interface – just as Asterisk and other IP Switch devices do not have direct interfaces to “the Old World”. This is both a blessing and a curse.

Voxeo Labs has been looking for a reliable alternative to the typical solution – PC Hardware boards and software – to manage this code/decode protocol conversion from Data to Analog. We knew that devices would soon arrive on these scene that would handle this PSTN to VoIP Conversion – and Voila! They’re here!

The devices I’m referring to are called Analog Telephony Adapters, (ATA’s), and you may notice in previous blogs that the Labs have been going through massive test of many devices to serve 4/8 port Analog to VoIP needs.

The overall “Holy Grail” concept is.. Wouldn’t it be cool – to take a simple approach to replacing your Analog IVR – by simply plugging in your existing Analog lines to a box – which would then communicate directly to your IVR via IP? This would be almost too easy!

At Voxeo Labs – we’ve finally isolated an ATA device that meets our standards for reliability, configurability, management, ease of use, and general – turn it on – and leave it alone – work day and night without issue-ness.

This device is the AudioCodes MP-114/8 VoIP Gateway. This Media Gateway shares the same software with all other devices in its family, from 4 port, 8 port – all the way up to DS3 level PSTN circuits. The device is simple to use, cost effective, readily available – and best of all – it actually Works!

After months of testing with a major North Eastern University during a very stringent test scenario – the AudioCodes device passed with Flying Colors.

The topology of how this devices connects is simple. The Telecom Network PSTN (Analog lines) Simply connect into the FXO ports (4 or 8) of the Media Gateway. The SIP Device (Prophecy or Asterisk) access the IP of the Media Gateway – and all calls are converted by the AudioCodes Media Gateway – in and out – and routed to the proper SIP or PSTN Destination.

The AudioCodes device does this easily and reliably – but moreover – the gateway includes a rich routing and switching infrastructure – should you need to build complex routing via IP or Telephone number – or based on any other conditions. This makes the Audio Codes device extremely flexible for many ATA protocol conversion situations from SIP to PSTN.

In the next few days, I’ll be posting a configuration document showing in easy steps – how to configure this device for general use. It’s my hope that this device will provide you with an easy to use way to convert VoIP to Analog – and this make VoIP Telephony much easier to play with and use in your own environment.

Best regards, Chris Maxwell Director, Voxeo Labs


If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Media Gateway and ATA Testing for SIP Trunking Results

February 13th, 2009 by Chris Maxwell

This post is a follow up to the prior labs article about ATA Testing.

The background of these tests and purpose of our testing is to find a SIP Media Gateway device for conversion from SIP to PSTN. Our use case is defined for a developer with a POTS line or premise customer with existing PSTN connection that wishes to interface seamlessly with the Voxeo Prophecy IVR Server application to make inbound or outbound calls – without requiring an expensive Router or Analog or Digital Voice card such as those produced by Dialogic and others.

This particular list of devices includes the ones that “didn’t make the cut” – as well as descriptions of why they were not considered a good match for our use.

This is not to say the products described below are not good for other purposes – such as SIP Registration. In fact, all of the devices listed should be capable of providing in/outbound calls via SIP Registration. The purpose of our test was to handle calls via SIP Trunking – which involves some an advanced level of call routing and path determination at the Gateway.

You may be asking – why does a gateway device need to be smart in order to do SIP Trunking? Simply put – because the incoming – or outgoing call needs to know where to go. In SIP Registration – the ATA device maintains a Stateful relationship of the origination or destination – and the SIP Registrar – usually an IP Switch or PBX – handles how to route the call and decides what to do with the call when it is sent or received.

With SIP Trunking, the call is simply sent or received. There is no State of end device or originating device condition – and there is no predefined route that exists to direct the call to the proper intended destination. Therefore, the Media Gateway must be able to direct the call to the proper destination internally. In the case of an inbound PSTN to SIP destination, the Media ATA must convert the Analog call to SIP and send to a destination IP address to be handled. In the case of an oubound SIP to PSTN call, the SIP header information must be properly translated and sent via PSTN for the Telecom Network to interpret the dialed number correctly.

So, with these considerations in mind, I present you with the continuation of the results of our ATA tests.

Grandstream GXW4104 FXS Gateway Grandstream GXW4114 FXO Gateway “The GXW410x series allows any business to seamlessly connect multiple locations with up to 8 PSTN lines, to an IP PBX system, or with an existing traditional phone system.eatures & Benefits 4 and 8 FXO port media gateways Video surveillance port External power supply Two RJ-45 ports 10/100 Mbps (switched or routed) TFTP and HTTP firmware upgrade support Multiple SIP accounts (choice of 3 profiles per account) Programmable PSTN line settings for different countries/regions 1 or 2 stage dialing Caller ID G.168 – echo cancellation Flexible DTMF transmission: In Audio, RFC2833, SIP Info or any combination of the 3 Selectable, multiple LBR coders per channel T.38 Fax compliant” Source “www.grandstream.com” product description http://www.grandstream.com/gxw410x.html

The Grandstream devices were both very cost effective ATA’s that were not difficult to configure for network use. The Grandstream devices boast that they are full featured – including video as a device link via a port on the back of each device. While the specs of both devices – one of which was FXS and threfore – untestable for our use – are impressive.. the reality of the quality quickly came to light as our FXO device failed after the second day of use. A call to our supplier was an informative review of the product, which essentially stated that Grandstreams VoIP Phones were acceptable and a great deal for the price, the ATA’s had a high return rate. This prompted us to inquire with our supplier if it was a good idea to acquire another device and test for recommendation for our customer use, oddly enough – the answer came back that “no”.

Based on our own experience with the unreliability of our test device, and the recommendation of our supplier – we terminated further testing of the Grandstream device and moved on to other equipment. We hope to re-test Grandstream in the future, as their price point is very reasonable – but we’ll wait until the product reviews are better on their ATA gear.

Mediatrix 1204 The Mediatrix 1204 provides PSTN access for various VoIP endpoints such as IP phones, FXS devices, softphones and IP-based PBX and Key Systems. It is an efficient solution to maintain local PSTN breakout in remote locations that are converted to IP.

The Mediatrix 1204 provides a gateway to the PSTN for IP-based PBX and Key Systems. Thereby, it allows the deployment of VoIP Remote Line Extension and Branch Office Connectivity solutions without sacrificing any local PSTN access points.

By connecting CO lines from selected sites to a VoIP network, the Mediatrix 1204 enables service providers and enterprises to use a VoIP connection between pre-determined local networks. When used in conjunction with Mediatrix’ Communication Server, routing schemes and calling rights can be programmed in order to optimize the use of resources and minimize long distance fees.

The 1204 is a simple Media Gateway that was simple to configure and provides an easy to use web configuration interface. The 2104 was easy to set up, but unfortunately is primarily designed for SIP Registration use. It does not contain independent routing functionality that allows it to sent specific traffic to pre-determined IP’s – which is unfortunate for our use-case. The interface doesn’t contain config parameters to send inbound calls directly to a premise Voxeo device without this routing capability. Therefore – in a similar fashion as the Linksys device – the 1204 documentation states that the device relies upon an additional switch device to implement this kind of routing. Because of this limitation, the Mediatrix was found to be an unusable device for SIP Trunking.

Mediatrix 4104 Technical Specification Voice Processing Vocoders: G.711 (A-law, μ-law), G.723.1,G.726, G.729a/b G.168 echo cancellation (64ms) DTMF detection and generation Carrier tone detection and generation Silence detection / suppression and Comfort Noise Generation level software adjustable Configurable dejitter buffer Configurable tones (dial, ringing, busy) Configurable transmit packet length RTP/RTCP – RFC 1889, RFC 1890, RFC 2833, RFC 3389

Enhanced Security HTTPS, for the exchange of Configuration File. SRTP with MIKEY as key selection method. o Supported Cypher AES 128 bits MIKEY protocol using pre-shared keys (RFC 3830 and 4567) for negotiating SRTP keys. Certificate management. TLS transport method. o Supported Key Exchange Mechanism: RSA Diffie-Hellman o Supported Cyphers (minimum): AES (128 and 256 bits) 3DES (168 bits)

Fax and Modem Support Group 3/Super G3 Fax real-time FoIP over clear channel (G.711), G.726 or T.38 T.38 Fax relay (9.6 k, 14.4 k) G.711 Fax and Modem Bypass

Management Web-based GUI TFTP, HTTP configuration up- and download (Auto-provisioning) TFTP, HTTP firmware upgrade SNMPv1, v2 and v3 agent (MIB II and private MIB) WAN Connection 1 x 10/100 Base T Ethernet RJ-45 connector

Analog Connection Mediatrix 4124: 1 x RJ-21X TELCO 25 pairs connector, analog phone/fax (FXS) interface. Mediatrix 4116: 16 x RJ-11 connectors, analog phone/fax (FXS) interfaces. Mediatrix 4108: 8 x RJ-11 connectors, analog phone/fax (FXS) interfaces. Mediatrix 4104: 4 x RJ-11 connectors, analog phone/fax (FXS) interfaces. Mediatrix 4102: 2 x RJ-11 connectors. Source: “www.mediatrix.com” product description

The Mediatrix 4104 is an FXS as opposed to an FXO device. This means it provides dial tone for Analog handsets and Fax Machines. For the purposes of our test, this device does not provide a solution to converting existing PSTN lines into SIP for Premise Voxeo Prophecy devices, but instead – converts SIP calls for use with existing Analog equipment. I’ve removed this device from the test set because of the FXS ports as they do not apply to our use case scenario.

Patton Smartnode 4114 VoIP Media Gateway Overview The business-class SmartNode 4110 VoIP Media Gateway supports up to eight transparent phone calls and leverages VoIP for carrier and corporate access. Connecting to any analog phone, fax, or PBX, the SN4110 is an effective and flexible solution for toll-bypass, remote/branch office voice connectivity, and enhanced carrier services.

The SN4110 series is the perfect choice for phone-to-IP connectivity supporting up to 8 FXS ports or a combination of 4 FXS and 2 or 4 FXO ports. With its FXS analog ports the SN4110 connects to any legacy telephone or PBX and provides dial-tone, ringing, caller-ID and other services. When equipped with FXO ports, the local PSTN can be accessed enabling local calling and enhanced toll-bypass applications while using a single connected telephone. Flexible call integration allows per-port telephone numbers, programmable call progress tones, and distinctive ringing. With Telephony-over-IP (ToIP) call switching, calls can automatically be routed to the PSTN or the IP network while providing flexible numbering plans and end-to-end feature transparency. PPPoE, DHCP, and VLAN offers universal IP connectivity and optional IPSEC VPN with AES/3DES guarantees secure voice over the public network.

Features & Benefits 10/100 Full-Duplex Auto-Sensing Auto-MDX Ethernet port 14 LEDs for System, Ethernet, and Call status Universal 100-240VAC (contact us for 48VDC Power) Configuration and Management through Webinterface, CLI, Telnet, Console and SNMP Up to 8 Voice and FAX Calls over IP Support-Use any CODEC or T.38 FAX on any port 2,4,6 or 8 FXS ports connect to your standard telephone with programmable tones, 2 or 4 FXO ports connect to a PBX or the PSTN. Programmable call routing switches between any FXS, FXO, H.323 and SIP interface. Toll Quality CODECs & T.38 FAX-Use standard G.711 or G.726 Codecs for toll-quality or G.723.1 or G.729ab for low-bandwidth applications. T.38 FAX and FAX Bypass features allow high-quality fax over IP. H.323v4 and SIP Signaling are both supported at the same time in one firmware. Maximum interoperability and deployable into any enterprise or carrier softswitch Source: “www.patton.com”

The Patton Smartnode appeared to be an excellent candidate for a Prophecy Media Gateway according to the specs. Unfortunately the device is not operationally reliable enough to consider for our purposes. The Smartnode comes with a CLI cable, which you soon learn is require for any kind of configuration ? as the web interface does not perform a “hard write” to the firmware. In fact, the only way to “set” a web-entered configuration into the Smartnode is to hard boot the device after a change.

The unit proved to be quirky and unstable, in the beginning of my testing there was a steep learning curve of information regarding how to configure the IP network setup. The manuals are required reading for this device, but unfortunately they include every product manual with the included CD. Furthermore – the naming conventions are numbered and not logically ordered, so it’s tough to find the information you need to begin. Once I had access, I soon learned that the web configuration was un-usable for practical purposes so I resorted back to the CLI (Command Line Interface) which meant I needed to learn a proprietary Cisco-like command language to set my parameters into the device.

After obtaining unreliable results for several days based on 1. My configs from notes, 2. Upload of pre-made config files, and 3.trial and error.. I contacted Tech Support and spent several days working with them troubleshooting sending over wireshark traces and logs only to be told the firmware verson 5.x that had shipped with the server was not compatible with the simple SIP to PSTN conversion I was attempting to perform. I was told to downgrade the firmware to R.4.2.x at which point my results improved dramatically and I was actually able to get calls in and out of the gateway.

Bottom line: the Patton could be a good fit if it worked reliably but it doesn’t. It’s quirky, unstable, and very difficult to configure and analyze. The concern is not that it works as it actually does.. but the concern becomes will it continue to work. Will a Firmware upgrade cause it to lose functionality? Will a power outage erase the configuration and will the real config be applied? There are too many inconsistent variables with this device that create cause for concern in a production setting. The device could be a potential candidate for development and testing if downtime is not a huge factor. However production use would not be a good option for our needs at this time with the Patton Smartnode.


If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Linksys 400 Lab Results

February 10th, 2009 by Chris Maxwell

Voxeo Labs is testing several ATA devices in order to assess the ability of an ATA device to serve as a PSTN to VoIP signal conversion tool in order to allow the SIP Based Voxeo Prophecy IVR platform to interface directly to the Public Switched Telephone Network (PSTN). Prophecy is a native SIP based VoIP platform, it is necessary to convert SIP (VoIP) to analog TDM signals in order to send calls to the traditional Telephone devices.

For our test cases and potential typical user scenarios, it is presumed that our users will wish to terminate POTS (Plain Old Telephone Service) lines directly into the Voxeo Prophecy Server, in order to enable Prophecy to Receive and Send phone calls.

Why does all this matter anyway?

Well.. it matters because we are trying to make computers listen to – and talk – to people.

The devices tested include the following:

Linksys SPA400 Internet Telephony Gateway Grandstream GXW4104 FXS Gateway Grandstream GXW4114 FXO Gateway Mediatrix 4104 Mediatrix 1204 Patton Multiport VoIP Gateway Audio Codes MP-114

Linksys SPA400 “The SPA400 features the ability to connect up to four (4) standard analog telephones lines to a Linksys Voice System (LVS) VoIP network and includes the additional benefit of an integrated voicemail application. The SPA400 utilizes multiple analog phone lines and automatically routes calls to and from your existing PSTN telephone service. Designed to be implemented with the LVS IP Telephony System, the SPA400 enables cost-conscience business users to leverage the high value features generally found only on more expensive PBX equipment.”

The SPA400 is a very simple device designed to register against the Linksys SPA9000 IP switch device to provide a bridge between the PSTN and the Linksys Switch. Offical Linksys docs state that it is not designed to be used by other devices, and its web config tool reflects a restricted approach to alternate use, but there are docs available for other IP PBX configurations such as with Asterisk and CommuniGate. Since we’re not concerned with SIP registration for the purposes of our use – this device is essentially ineffective. Although Linksys produces quality products for a reasonable price, and we could easily get it to work via SIP registration to an IP switch, our goal is to make it easier than all that.

Our testing proved that the SPA 400 did not contain enough configurable options to allow routing and switching, and it’s limited menu structure did not allow a gateway to be defined outside of a registration state. This is likely because it’s designed as a component for a standardized system and not as a stand-alone device. The Linksys did prove the easiest to get up and running, as well as the easiest to configure from a network standpoint. However – it did not meet our criteria for providing SIP Trunking to an external IP Gateway device to act as a PSTN conversion tool for specifically – Voxeo Prophecy.


If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Bridging the Gap between VoIP and the PSTN using ATA’s

January 29th, 2009 by Chris Maxwell

Background: Analog Telephone Adapters (ATA’s) are hardware devices that are used to convert analog signals to VoIP, or VoIP to Analog. They are similar in theory to a standard Modem in that PSTN analog signals are simply converted to digital signals for use by digital equipment. ATA’s are used in the VoIP world to allow standard PSTN lines to interface with H.323 or SIP based VoIP equipment and switches (FXO)- or – to allow standard Analog phone sets to accept VoIP based phone services such as Vonage – or IP PBX connections and services.

ATA’s typically function in B2BUA environments in VoIP using SIP Registration mechanisms to IP Switch equipment, which will maintain a stateful relationship while providing VoIP services to Analog handsets, Fax Machines, or TDD devices. It is also theoretically possible to configure ATA devices to utilize VoIP Trunking capabilities – which do not require a state connection to an IP Switch device or Gateway. However, testing has confirmed that switching and routing intelligence is required within the ATA device to properly treat and handle calls to route messages.

Voxeo Labs has tested several ATA devices in order to assess the ability of an ATA device to serve as a PSTN to VoIP signal conversion tool in order to allow the SIP Based Voxeo Prophecy IVR platform to interface directly to the Public Switched Telephone Network (PSTN). Prophecy is a native SIP based VoIP platform, it is necessary to convert SIP (VoIP) to analog TDM signals in order to send calls to the traditional Telephone devices.

For our test cases and potential typical user scenarios, it is presumed that our users will wish to terminate POTS (Plain Old Telephone Service) lines directly into the Voxeo Prophecy Server, in order to enable Prophecy to Receive and Send phone calls.

For purposes of this discussion, it’s necessary to define several kinds of PSTN interfaces, FXO and FXS. ATA’s typically have several kinds of interfaces. They will always have an Ethernet Interface (or several). They will potentially have a console port for CLI operations, and they will have POTS line interfaces RJ11/RJ12 that are potentially FXS or FXO. The primary difference is that an FXO (Foreign Exchange Office) port will generate dial tone if an analog handset is attached. This can be facilitated by using a regular POTS line connected to the Telephone network, or by using a PSTN Simulator. An FXS port (Foreign Exchange Station) port does not produce dial tone when attached to an Analog handset. To generate a call from the POTS handset to a computer telephony system, you need to use an FXO connection. To generate a connection to the POTS handset, you need to configure an FXS connection. In our testing, because we were concerned with SIP Trunking using IP Authentication instead of SIP Registration to an IP Gateway using Username/PW – our scenarios required FXO connectivity which was facilitated using a PSTN simulator and home PSTN service via Analog lines.

Why does all this matter anyway?

Well.. It matters because we are trying to make computers listen to – and talk – to people.

The “Modern” Telecommunications Network uses Analog technology (PSTN) in order to interface with People. Computers are able to understand VoIP (SIP in our case) natively. The trick is how to code and decode these different languages so that they can be used for IVR and VoIP purposes. In the past, we have had to utilize very expensive specialized hardware and DSP’s (Digital Signal Processor) to perform the conversion. Dialogic, BrookTrout, NMS are leading manufacturers of voice board hardware to handle these tasks. However, this solution has greatly added to the cost and complexity of automated voice platform solutions. The move to attempt to convert PSTN signals to VoIP – Cheaply – has generated interest in IP Switching – and now – simple IP conversion via ATA’s and other devices – that code and decode PSTN Signals into VoIP messages that can be interpreted by native VoIP devices.

In the next few weeks I’ll be looking into several different kinds of ATA’s in order to assess the viability of using them for small (4-12 port) premise based IVR deployments.

Hopefully this information will allow you to make the leap from PSTN to VoIP a bit less complicated.

Cheers, Chris


If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Google’s CalDAV/iCal sync is great… except it doesn’t work for the iPhone!

December 2nd, 2008 by Dan York

As we are big Apple fans here at Voxeo, I was delighted to see in The Unofficial Apple Weblog this morning that Google has officially supported the CalDAV/iCal sync mechanism that lets your Google Calendar appear in your iCal on your Mac (along with other mechanisms outlined in the Google blog post). I’ve been using this sync mechanism for a while now and it does work great on my MacBook Pro laptop. In iCal on my local system, I can see all the appointments in my Google Calendar. I can edit them. I can delete them. I can create new appointments in iCal that then propagate up to Google Calendar. All in all, it works great.

There’s just this one wee little problem…

It doesn’t really work with the iPhone!

It sort of works… in that you can see your Google Calendar down on your iPhone… but that’s all you can do – see your GCal – and only when you sync your iPhone to your Mac.

So if I want to keep connecting my iPhone to my Mac, I can keep getting a read-only version of my Google Calendar on my iPhone. Yep… no editing… no deleting… no creating new appointments in my Google Calendar… and no updates to the calendar between syncs to the Mac. In other words, it is pretty much:

Useless.

Especially because the iPhone is typically where I most want to see and modify my calendar. It’s often when I’m out and about – or meeting someone at an event – that I want my most up-to-date calendar, and I want the ability to insert appointments right then that could be seen by others through Google Calendar.

Now iPhones can work with Apple’s MobileMe to do “Over-The-Air” (OTA) syncing of iCal calendars to the iPhone. However, MobileMe seems to only let you sync “local” iCal calendars to your iPhone (and yes, I tried it). There was no way that I could see to configure MobileMe to let you sync a calendar that was not locally created in iCal.

I want OTA syncing and I want full editing/creating of my calendar on my iPhone. It’s that simple.

To this end, several colleagues have recommended (and they use) SpanningSync which will apparently enable Google Calendar to work via MobileMe with my iPhone. So that is definitely on my list to consider…

In the meantime, I do completely applaud Google opening up Google Calendar so that it can sync with iCal (and other calendar systems). I just wish it could go the next step and get down to my mobile device.

Any other solutions that you all have found?

Technorati Tags: , , , , , , ,


If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Yammer, Present.ly, Laconica and pushing enterprise microblogging into the cloud

October 21st, 2008 by Dan York

What if you could have a Twitter-like microblogging service just for your company? What if you could share small updates of information… but include customer names inside of it? What if you could talk about internal deals or projects without worrying about exposing confidential company information? How could we trust such a service? How would we interact with it?

Those were the kinds of questions we were asking ourselves as we started doing some experimentation with corporate/enterprise microblogging. Those of you who follow our blogs know that as a company we’re extremely interested in understanding how the ways we communicate and the tools we use to communicate are changing – and anyone reading our Voxeo Developers Corner blog will notice that a lot of the demo applications we’ve written for various shows tend to involve interacting with microblogging sites like Twitter or identi.ca. In fact, you can subscribe to our Twitter account to follow the posts we publish on our site.

So you could kind of expect that we would experiment with corporate/enterprise microblogging….

Given that I had twittered about our experimentation with Yammer, and spoken about it on my weekly Thursday reports into the For Immediate Release, I’ve been asked by multiple people how the experience has been. So, to answer those questions, I naturally decided to write up this blog post.

It will, of course, be longer than 140 characters. (MUCH longer…)

CORPORATE MICROBLOGGING BENEFITS

Before I write about the tools, though, let’s perhaps take a look at the value I have seen in a corporate microblogging service. In the short period of time that we’ve been using a corporate microblogging service, there have definitely been some benefits that I have seen:

  • Breaking down silos – In any company, no matter how large or small, there are inherent silos of information. The “Sales” folks talk to each other… the “Engineering” folks talk to each other… the “Operations” folks talk to each other. It’s not necessarily intentional, but more just an outgrowth of the fact that you interact with the people with whom you directly work. They know about what you are doing, and you know what they are doing… but you don’t necessarily know what the people in other teams are doing – especially as a company becomes larger. With the posting of microblogging updates, you are able to passively observe what people are doing… either for the entire company or for a subset of employees you choose to follow. It allows you to get a better understanding of what is happening across the company.

  • Connecting a distributed work force – I work in a home office about 1,300 miles away from our central office in Orlando, FL. My peers in the Office of the CTO work in Orlando, Atlanta and San Jose and our CTO, RJ, nominally has a desk in Orlando but seems to spend more of his time on planes. We have other employees who work in home offices or branch offices scattered around the globe. For the remote employees, there is a sense of being connected into what is happening in the main office. Main office employees also get a sense of what these people are doing out in the distributed offices.
  • Presence – Related to that, the corporate microblog can help fill in presence information not necessarily found in a group calendaring system (which we also use). I can know when someone is out at lunch, for instance, or away from the office – assuming they’ve updated the microblog with that info.
  • Understanding progress – If people update their microblog, you can understand if they are working on a project with which you are involved. If you’ve asked them to do something – and they indicate later that they are working on it, you can know what progress is being made without having to ask or bother them.
  • Understanding impending sales – For some folks who are involved in delivering services to customers, it has been useful for them to be aware of impending sales (when microblogged by a sales rep) so that they know it will be coming their way soon.
  • Connecting on related activities – One of the benefits of sharing across silos is that sometimes people can learn of real-time activities that are connected to something else going on. For instance, at least once I know of a case where someone learned via the microblog of a conference call going on that could help on a project they were starting – and joined the conference call.
  • Status reports – Many of us prepare weekly status reports and a benefit of regularly updating a microblog is that creating a status report becomes easy in that you can scan back through your updates for the week and easily know what you did.
  • Inspiration – This one was a bit of a surprise to me and I almost hesitate to include it, but I will admit that I personally found some inspiration in a co-worker’s updates about the nightly biking he was doing for exercise. I do admit that this partly has motivated me to actually start doing some daily walking I kept finding reasons not to do. Perhaps “inspiration” is not the right word for the general category, but it’s the sharing of little things we didn’t know about each other that can help build the community to which we belong.

Now many of these benefits are certainly not unique to microblogging. Many of these benefits could also be found through IM groupchats, or web forums, or add-ons to other collaboration systems… but they are benefits that I’ve seen in the brief time we’ve been using microblogging.

A GETTING-STARTED CAVEAT

One caveat about our experience, and this may be a general item to consider when you look at considering enterprise microblogging – several of us involved with our initial internal efforts were solid Twitter users. Me (Dan York), naturally, as well as RJ and two or three others (who may or may not want their private Twitter accounts named in the corporate blog, so I’ll leave it at that). For those of us who Twitter, making the move to an internal microblogging platform was quite simple – and it provided our trial a ready source of prolific users.

(In truth, it was somewhat of a relief in the sense that you had the freedom to be able to microblog about work-related items without having to run the perpetual self-censorship filter that I do out on Twitter.)

The fun part was to see how rapidly a good number of others who did NOT use Twitter took to using the tool.

So let’s talk about the tools…


YAMMER

yammerlogo.jpgThe tool/service we have been using so far for corporate microblogging has been Yammer who came to fame after being the winner at the TechCrunch 50 event last month. Getting started simply involves entering your corporate email address and then being connected to your company’s shared microblogging space. You have to have an email address associated with the company’s domain – and you have to confirm through an email sent to your address there – so unless someone is somehow compromising your company’s mail servers, it seems a reasonable way to restrict access. We obviously set ours up for voxeo.com.

Yammer is a hosted service, which has both some strengths as well as weaknesses I’ll discuss below.

IT’S ABOUT THE CLIENTS, STUPID

yammer-internal.jpgOne of Yammer’s strength’s certainly is the number of different ways in which you can send and receive Yammer updates. There is a “Desktop” client based on AIR (so it runs across operating systems) pictured on the right that in many ways resembles Twhirl or several of the other Twitter clients. It operates decently, although is currently suffering from some resizing/moving/focus issues which the Yammer folks indicate will be cleaned up in an update real soon now.

There’s also a Jabber/XMPP IM interface, which allows those of us using IM clients (like Adium) and Jabber/XMPP accounts (like GoogleTalk) to very easily add Yammer interaction into our normal workflow using our standard IM client. Generally the IM service has been good, although there have been some periods where I’ve been able to receive Yammer updates via IM but not to send. While annoying, I guess the good news is that even with occasional interruptions, Yammer’s IM service beats that of Twitter since Twitter has now formally put IM on hold.

The mobile interaction story is also good. Before we switched our corporate cell phones from Blackberries to iPhones, I used the Blackberry Yammer app and it worked okay. I’ve found the iPhone app works better but in fairness I didn’t use the Blackberry app too long. It’s nice because if I’m out and about, I can very easily either read what co-workers are doing or provide my own updates. For traveling it’s been great.

Yammer also supports sending/receiving updates via SMS, although to be honest with the native iPhone app SMS has not really been of interest. It’s nice to have the option, though. There’s also an option to update via email, but in a limited test it seemed not overly useful. Because email addresses could be trivially spoofed, in order to secure the sending of the update, you have to confirm the posting via an email you get back… so you send an email, get an email response, and then reply back to that email. Seemed like a bit of extra work. Now, of course, you could turn off the email confirmation, but then you are opening it up so that anyone could send to Yammer’s site spoofing your email address. Anyway, I guess it’s a nice-to-have other option for updating.

Finally, of course, there’s the Yammer web interface which is really what you need to use to set yourself up and then can of course continue to use.

The folks at Yammer go into this in a bit more detail in their blog post: “7 Ways to Send and Receive Yammer Updates“. They also note that because of their API, Twitter clients like Twhirl may soon add interaction with Yammer, which would be quite nice.

IT’S ALSO ABOUT THE API

Regarding their API, it was great to see Yammer announce the availability of their API, something that was missing at the launch. One value this brings is that existing microblogging clients, like Twhirl, can then hook into Yammer so that those of us who use microblogging services don’t have to run yet-another client. Another advantage is that enterprises can potentially tie in other services into the Yammer microblogging service. For instance, you could imagine a trouble-ticketing service that might automatically post new critical-priority tickets out in the microblogging stream. Or a reporting system that might send out daily reports into the stream.

The only downside of the Yammer API is that it is yet-another-microblogging-API that developers have to learn. The good news is that the API documentation shows it being RESTful. The bad news is that it is rather different from the Twitter API that a number of the other microblogging services are embracing. This just means it is not as easy for the maker of a Twitter-based tool/service to modify their tool to work with Yammer.

WHAT ABOUT THE ADMINISTRATIVE “FEE”?

The one huge criticism people in the blogosphere have leveled at Yammer is the business model where anyone at a company can start a Yammer network, but for a company to administer that network, they have to pay Yammer $1/user/month. It’s a clever business model, in many ways… take away the resistance of a typical IT department by letting anyone start it up… but then require the company to pay if the want to administer the network.

The “gotcha” is – what happens when someone who is a Yammer user leaves the company? They still have full access to the flow of internal (and probably confidential) information in the Yammer feed because the login to the Yammer website is separate from your company. You need a company email to establish a Yammer account, but after that you simply login to the website (or clients) as you would to any other website. Once you’re in, you are there until you are removed by someone administering the Yammer site.

Which of course, the company has to pay for. (Which is why some in the blogosphere have referred to it less charitably than a “fee”.)

Now in fairness to Yammer, they: a) have set it up so that you can have a 30-day free trial period for admin privileges; b) do provide a range of other services for your fee which do allow you to further secure the service; and c) have to make money somehow if you realistically want to use them in your company for a while. (Companies without business models have this odd tendency to fade away. :-) It’s also “only” $1/user/month, which depending upon the size of your company may not be an overly outrageous amount. Consider that for a 100-person company, the cost would be $1200/year which is less than you are going to pay for a decent server to run software on – and you don’t have to administer it… it lives in the cloud.


yammer-suspendingauser.jpgUPDATE: Shortly after posting this article, someone at Yammer contacted me (via Twitter) to point out that there actually is a current solution for the “employee that is no longer with the company” situation that does NOT require you to obtain administrative credentials. Any user can go to any other user’s page in the Yammer directory and on that user’s page in the bottom right corner of the second column there is a simple link to click to indicate someone is no longer part of the company network (shown in the image to the right). After a confirmation screen, the user’s account is then suspended. All the user’s updates are saved, and they can get back in to the account if they re-confirm via a new message sent to their company email address. So assuming a user who is no longer with the company no longer has access to their company email address, they should not be able to confirm their account and will therefore be kept out of the company Yammer network.

While this is a simple and easy way to address the problem, I would note that it does of course open up the “annoyance” angle where a Yammer user could go and disable some other Yammer user’s account (until the target reconfirmed via email). Hopefully people would not do that…


BUT WHAT ABOUT THE CLOUD? HOW SECURE IS IT? HOW AVAILABLE?

So what about pushing corporate microblogging out into the cloud, anyway? How secure is it? How can you trust it will be there?

All good questions.

Of course, given that we provide a hosted “cloud” for voice applications, talk/write about hosted/cloud systems a good bit and in fact even allow companies to re-brand our voice application platform running on our computing cloud, we are perhaps more open to trying hosted services than others may be.

Still, how secure is it? In truth, I don’t really know. Yammer has a posted security policy which reads well. They have a Privacy Policy and Terms of Use which similarly seem decent. The Yammer clients for Desktop, iPhone and Blackberry as well as the Yammer website all use SSL to encrypt the transport across the Internet. (IM connection do not appear to do so, but that could depend upon which Jabber/XMPP server you are using and how securely it connects to the Yammer server.) Will all those corporate conversations traversing those Yammer servers, wherever they may be, be safe and secure?

And how available will Yammer’s network be? What kind of redundancy/reliability is baked into their network? All those other questions I asked in a post a while back: “Can you trust the cloud (platform) to be there?” Given that we provide a 100% uptime guarantee on our hosted voice application services – and have built the robust/redundant/reliable network to back up that guarantee, these questions about reliability are ones that I do wonder about when I evaluate other hosted services.

The reality is that certainly right now our use of Yammer is not “mission-critical” and is really more of an experiment… one that we’re finding beneficial and will continue to use, but still not critical for the functioning of its business. I do think, though, that Yammer ultimately needs to provide more information about the reliability and availability of their service. What kind of redundancy to they have? What’s their architecture like? (and other questions).

In the end I think with any hosted service (including ours) you have to do what due diligence you can on security and availability and then trust in the provider to do what they say they will do. (Or pay for an appropriate Service Level Agreement/SLA) There’s a balancing act between “security” and “access” that must be dealt with. On the one hand, we have access from anywhere using all these different clients/services mentioned above. On the other hand, we are trusting in the security of the hosted service.

OTHER COMPARISONS TO TWITTER

So let me end my Yammer comments with just a couple of comparisons to how Twitter works.

First, Yammer does let you “follow” users in your network just as you do within Twitter. Right now, as our own network is still rather small, I think most of us are simply reading the “All” feed which is the Yammer equivalent of the Twitter “Everyone” feed. It shows all posts from all employees who are part of your Yammer network. Right now that’s very manageable for me, but I could see as the network grows that there may come a point when I may want to switch to my “Following” feed and reduce the updates I see to only certain people.

Second, one nice aspect of Yammer is that it doesn’t enforce the 140 character restriction of Twitter. You can type longer messages and they still go through. (Although I haven’t used the SMS interface to see how the messages appear there.) While you might think this could lead to people typing longer email-length updates, in practice most people right now seem to be limiting themselves to smaller updates. The good news is that you’re not spending time rewriting your update so that you can get it to fit in under 140 characters!

Third, like Twitter, Yammer also supports the convention of replying to people with “@name“, so if I type “@rj” in an update, it becomes a clickable link to his profile and also (if configured) will send him an email notifying him of the reply. Yammer also has another “reply” method that winds up writing out “in reply to” which users can also use.

Fourth, I’ll note that Yammer supports the use of “hashtags” like Twitter where you can include “#text” in your update and then easily see updates related to that hashtag in the Yammer web interface.

There’s also a directory which easily lets you see who from your company is in the Yammer network, who you are following, who is following you, etc. There’s also a search function as well.

Two features One feature Yammer does NOT have that Twitter does are the ability to easily see who has replied to you and is the ability to send direct messages. It would be great if they could add a Replies tab at some point as Twitter does. I could see direct messages being useful, too.


UPDATE: Shortly after posting this article, someone from Yammer contacte me and noted that there is a “Received” tab that lets you see messages that are replies to you (either by the Yammer “reply” mechanism or the Twitter “@” convention).


FINAL THOUGHTS

In the end, I would say our experience with Yammer so far has overall been positive. The minor but annoying technical issues have probably been the biggest down side, but then again considering the service only launched September 8th I’d have to say it’s not doing too badly. If they can make the AIR Desktop client work a bit better (or if the folks at Seesmic roll out a Twhirl version with Yammer support) and fix the intermittent IM issues, they will be doing well.

Being a “security guy”, I’m still not 100% sure how much I’d bring Yammer into “production” usage until there are some of those availability/reliability questions answered: how can we trust Yammer to be there? What kind of network architecture do they have? What kind of redundancy? Is there a way we can get backup copies of all messages sent? (Hmmm… perhaps subscribing to the “All” RSS feed?)

Anyway, if you are okay with a hosted/cloud/SaaS service (and the reality is that so many services are heading that way) and understand Yammer’s business model up front, I’d say it’s worth your time to check out. (And I’d suggest finding some existing Twitter/microblogging users to help you do so.)


PRESENT.LY

presentlylogo-1.jpgI’ve been asked now several times what my thoughts are on another new service, present.ly that launched 8 days after Yammer. I did explore it’s capabilities a bit and did create a small test network. Like Yammer, it’s a hosted service but it does have some differences (shown in their tour):

  • A “network” is created by someone who is then the administrator for that network. The administrator agrees to one of the pricing plans and then invites people to participate. Pricing is very clear up front as you have to step through that in the process of signing up.

  • I’ll note that anyone can create a network and then invite anyone into that network, so in many respects it’s not much different from Yammer, except that you don’t need a company email address and you have administrative powers from the beginning.
  • To that point, the person creating the “network” starts off with full administrative powers and can also give others administration privileges. There is no separate fee as in Yammer for admin access.
  • You can create “groups” of users and then send updates or “broadcasts” to only members of that group.
  • You can attach files to an update (similar to Pownce).
  • The API is Twitter-compatible, allowing apps that work with Twitter to, in theory, be easily modified to work with present.ly.
  • There is both a Replies tab and the ability to send direct messages as you can in Twitter. (Replies are the same “@name” form as Twitter and Yammer.)
  • Updates are limited to 140 characters but there is an “Attach Text” button that allows you to add more text to your update.
  • A URL-shortener is included in the interface (which Yammer does not need as it removes the 140 character limit).
  • It supports hashtags but also includes the ability to flag updates as “Urgent” and also to send out system broadcasts.
  • You can invite people into your network who do not have a corporate email address. So you could, for instance, include partners or contract workers.

Perhaps the largest difference between present.ly and Yammer is that there was mention in their launch that Present.ly could also be licensed for a premise installation in addition to be being a hosted offering. I certainly understand that some companies want their services behind their firewall (in fact, we have a premise version of our voice application platform for this reason) and so it’s interesting that present.ly promises to offer that.

Overall it seems to also provide a fairly compelling offering for corporate microblogging – but I do see a couple of challenges:

  • Limited client support – It’s great that present.ly has a Twitter-compatible API and I commend them for doing this. But the API is not of much value unless it is actually being used. I think present.ly needs to come out with some desktop clients that will work with it’s service. It’s excellent that Twitterific can be configured to support present.ly with a command-line hack, but I think that really needs to be included into some clients in an easy-to-configure way.
  • “Mobile apps” limited to mobile web sites – It’s great that they have a mobile web interface for the presentlyapp.com web site… but viewing a mobile web site is very definitely NOT the same user experience as using a native app on an iPhone or Blackberry. At a very basic level, I can look through information in my Yammer client on the iPhone or my Blackberry when I am offline or in an area with no service coverage. The user experience in general is much better in my experience with a native app. I think the present.ly folks need to figure out how to get some apps like those.
  • IM and SMS not included in the ‘Free’ plan – It’s somewhat annoying to me that IM and SMS access are not in the “Free” plan but only in the “Basic” plan or higher, for which you need to pay $14/month or more. Yes, you can do a 60-day free trial to try it out, but then you have to pay. Now having said all this, I do understand Present.ly’s need to differentiate between different service levels.
  • SSL not in Free plan – However, as a security guy, it concerns me when I see on the Present.ly payment plans page that “Secure SSL” is NOT part of the “Free” plan. To me, potentially sending confidential corporate information over the public Internet without transport protection when such protection is easily available isn’t that bright. I know that Present.ly needs to differentiate plans, but basically offering 3 paid “secure” plans and one free “insecure” plan doesn’t seem like the right approach.
  • Security story? – What is Present.ly’s security story? What do they do to protect your data? What are they doing to ensure the availability of their service? I have all the same questions I had earlier for Yammer… but with even less published information. All they have is the Terms of Service, which says very little about what they actually do at a technical level.

Over time I’m sure many of these points will be addressed. Present.ly seems to be a decent offering and given that it’s just over a month old, I’m sure it will change and evolve in the months ahead.


LACONI.CA

UPDATE (Oct 2009): Laconi.ca has been renamed Status.net

So why don’t you just run your own Laconi.ca server?” I am asked by friends who know my preference for and advocacy of open source and free software. Laconi.ca is the open source software that powers the Identi.ca microblogging service and is available for anyone to download and install and use on their own network.

I could. But I just don’t want to… for a couple of reasons.

I should preface this by saying that I’m a huge fan of both Identi.ca and Laconi.ca. I’m an Identi.ca user, wrote about “The real meaning – and power – of Identi.ca” back in July, recorded founder Evan Prodomou’s OSCON talk so he could make it available and used Identi.ca for all the voice application demos in my own OSCON talk. So I’m definitely a fan and looking forward to seeing what evolves out of the great work going on with the project.

But here’s the basic problem:

I don’t personally want to run my own infrastructure….. today.

I don’t want to deal with installation, maintenance and upgrades. I don’t want to be responsible for the sysadmin and security of another server. I don’t want to deal with firewall and NAT traversal issues – or of having another Internet-facing server so that remote/traveling users can participate.

I just want to micro-blog. Period. End-of-story.

Now, having said this, Laconi.ca does offer some very tangible benefits for corporate microblogging:

  • Security – It’s open source, premise software. It’s behind your firewall… or within your security perimeter running on your own servers. The code is completely available to you and so you can inspect it as much as you want.
  • Clients – Because Laconi.ca uses a Twitter-compatible API, several desktop clients are available for it already, most notably Twhirl which can be configured for Identi.ca or any Laconi.ca installation. There’s a wide range of desktop, mobile and web clients listed on the Apps page of the wiki.
  • Mobile Clients – There is an iPhone app, La Twit, that will post to Twitter as well as to multiple Laconi.ca instances (in fact, it will cross-post to the different sites, i.e. you type once it goes to multiple services). You can also use Fring on the iPhone to connect in via XMPP/Jabber.
  • Excellent IM support – Laconi.ca uses XMPP/Jabber extensively and so can easily provide IM support for users… thus allowing people to simply interact right from their existing IM clients.
  • APIs and Integration – There is a Twitter-compatible API and others in development so you can link Laconi.ca into other systems quite easily. You also, of course, have the source code so you can hack away to your heart’s content.
  • Distributed architecture – Laconi.ca was designed from the start to be a distributed micro-blogging system… so you could install multiple Laconi.ca instances within a larger network (think corporate WAN) and have then interoperate.

There is great potential for using Laconi.ca for corporate microblogging for companies that want to take on the sysadmin and management tasks themselves. The parts and pieces are all there to build an outstanding system. I just don’t personally have the cycles to do so at the current time. We’ll see… maybe I’ll do so at some future point.


THE OTHER ZILLION CONTENDERS

And what about the zillion other contenders entering this space? Laura Fitton at Pistachio Consulting has been maintaining a growing list as has Jeremiah Owyang over at Forrester with his own list. Laura’s even posted an “Enterprise Microsharing Matrix” comparing Yammer and 14 other offerings.

The truth it that there’s a LOT going on in this space right now… from small startups to large companies like, oh, IBM, SAP (Developer Network) and Oracle… and pretty much everybody is just entering the game. It’s an evolving, emerging market with all the standard churn and risks of such a space. You have to expect that Microsoft will enter the space at some point, too (perhaps with a SharePoint add-on?) – and you do have to wonder if Twitter themselves will jump into the enterprise microblogging space more directly. (And what of Google?)


WHAT’S NEXT?

So what to do? Well, on our end we’ll keep on experimenting. I think it’s definitely clear to a number of us that there’s value in having an internal microblogging service available. The question now is really… which one? Will we satisfy our concerns and continue to use Yammer? Will we use another hosted service? Will we try out a Laconi.ca option? Will we use something completely different?

Stay tuned… the corporate microblogging journey is just getting started…

P.S. Have you tried a corporate microblogging solution? Which one did you opt for? What has your experience been? What do you see as issues? Where do you see this space going?

Technorati Tags: , , , , , , , , ,


If you enjoyed this post, please considering subscribing to our RSS feed or following us on Twitter.


If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Is this an Interstate or IntRAstate call I’m making? Determination of Jursidiction.

March 17th, 2008 by Chris Maxwell

Traditional Telecom billing methods used by carriers in the past to assess TDM calls have typically used the Calling Party Number and Called number in order to determine the location from which the call is placed, and the location to which the call is being placed.

This concept is widely known as “determination of jurisdiction”. In the past, this method of assessment was used to assign Interstate or Intrastate charges to calls. Intrastate – or in-state calls – typically incur a much greater charge to the consumer because of legacy TDM tarrifs, regulations, and taxes.

In the past the Caller-ID field was a dependable constant which provided an accurate measure of location within the Telecom network. Voice over IP technologies are now becoming the common technology of choice for Telecomm. These protocols allow greater control over features and functionality, including the Caller-ID field. It is now possible to utilize the Caller-ID field in VoIP to reap additional benefits and call control functionality for voice calls.

Voxeo provides a SIP based (VoIP) Voice application platform that allows people to easily create Speech enabled automated telephony solutions. These applications perform hundreds of different kinds of automated tasks and automate transactions in every market and industry using human speech, and VoIP technology via programming languages such as Callxml, VoiceXML, and CCXML.

Voxeo allows our users to control fields such as the Caller-ID field, to maintain greater control over their application, such as to provide additional data for downstream call routing, or to provide a client with the ability to show their specific corporate number to a caller to indicate that they are placing the call.

If a user decides to populate the Caller-ID field with an Intrastate number, for example Austin – at a 512, – and place a call to a 512 -xxx number, the call would appear to the carrier to be an Intrastate call. In fact, the call actually originated from one of our data centers from outside the State of Texas.

As the call is a SIP originated call from a state other than an Intrastate location, I believe that it should be charged Interstate rates on these calls. Our carriers friends agree with us, and have worked with us to find a solution to this problem.

The solution we have found for notifying the carrier of our physical location while allowing users to specify caller-id, is a SIP header field called P-Charge-Info.

P-Charge-Info is a field in the SIP Header that allows the receiving IP switch to establish the real location of the originating call while preserving the CallerId field.

Below is an informal RCF draft regarding the P-Charge-Info header that will provide a detailed explanation of the this field.

__________________________________________________________________ Internet-Draft Voxeo

P-Charge-Info – A Private Header (P-Header) Extension to the Session

Initiation Protocol (SIP)

draft-york-sipping-p-charge-info-02

Status of this Memo

By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”

The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.

The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.

This Internet-Draft will expire on August 28, 2008.

Copyright Notice

Copyright (C) The IETF Trust (2008).

Abstract

This document describes ‘P-Charge-Info’, a private Session Initiation Protocol (SIP) header (P-header) used by a number of equipment vendors and carriers to convey simple billing information.

York & Asveren Expires August 28, 2008 [Page 1]

Internet-Draft P-Charge-Info, a SIP Private Header February 2008

Table of Contents

1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . . 4 3. The P-Charge-Info Header . . . . . . . . . . . . . . . . . . . 4 3.1. Applicability Statement for the P-Charge-Info header . . . 4 3.2. Usage of the P-Charge-Info header . . . . . . . . . . . . . 4 3.2.1. Procedures at the UA . . . . . . . . . . . . . . . . . 4 3.2.2. Procedures at the Proxy . . . . . . . . . . . . . . . . 4 3.3. Examples of Usage . . . . . . . . . . . . . . . . . . . . . 5 4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 8.1. Normative References . . . . . . . . . . . . . . . . . . . 6 8.2. Informative References . . . . . . . . . . . . . . . . . . 6 Authors’ Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 Intellectual Property and Copyright Statements . . . . . . . . . . 8

Internet-Draft P-Charge-Info, a SIP Private Header February 2008

1. Overview

In certain network configurations, it is desirable to decouple the Caller ID from the number used for billing purposes. This document describes the current usage of ‘P-Charge-Info’, a private SIP header, to provide simple billing information and requests the registration of this header with IANA as required by section 4.1 of RFC 3427 [RFC3427].

In a typical configuration, “Caller ID” is derived from one of the following SIP headers:

o P-Asserted-Identity

o From (in the absence of P-Asserted-Identity)

(NOTE: Some service providers today also use the “Remote-Party-ID” header but this was replaced by P-Asserted-Identity in RFC 3325 and should no longer be used.)

This number is typically presented to the receiving UA where it is usually displayed for the end user. It is also typically used for billing purposes by the network entities involved in carrying the session.

However, in a distributed environment the “Caller ID” presented to the receiving UA may not reflect the actual reality of the underlying network in terms of costs incurred on the PSTN. This may result in excessive charging of one carrier by another based on the erroneous assumption that the call was originating from a different point on the PSTN.

There exists a need for a way to pass an additional billing identifier that can be used between network entities in order to correctly bill for services. At least one equipment provider, Sonus Networks, and several carriers have been using the “P-Charge-Info” header for the last 2-3 years as a simple mechanism to exchange this billing identifier.

Note that the 3GPP has also recognized the need for such a billing identifier and in section 4.6 of RFC 3455 [RFC3455] established a SIP P-Header, “P-Charging-Vector”, to provide similar information. There are, however, some differences in the semantics associated with P-Charging-Vector and P-Charge-Info. P-Charging-Vector is mainly used to carry information for correlation of multiple charging records generated for a single session. On the other hand, P-Charge- Info is used to convey information about the party to be billed for a call. Furthermore, P-Charging-Vector has a mandatory icid-value

York & Asveren Expires August 28, 2008 [Page 3]

Internet-Draft P-Charge-Info, a SIP Private Header February 2008

parameter, which is a globally unique value to identify the session, for which the charging information is generated. Such an identifier is not necessary when carrying information about the user to be billed.

2. Requirements Language

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

3. The P-Charge-Info Header

3.1. Applicability Statement for the P-Charge-Info header

The P-Charge-Info header is applicable within a single private administrative domain or between different administrative domains where there is a trust relationship between the domains.

3.2. Usage of the P-Charge-Info header

The P-Charge-Info header is used to convey information related to billing record for a particular call. The P-Charge-Info header is typically inserted by the SIP proxy on the originating network.

3.2.1. Procedures at the UA

The P-Charge-Info header may be inserted by PSTN gateways acting as a SIP UA, either through local policy or as a result of information received via PSTN signaling, e.g. the charge parameter in an ISUP IAM message.

The P-Charge-Info header is not used/interpreted by a regular (i.e. non-gateway) UA and should not normally be seen by such a UA. If the header is transmitted to such a UA, the UA should ignore the header.

3.2.2. Procedures at the Proxy

A SIP proxy that supports this extension and receives a request, typically a SIP INVITE, without the P-Charge-Info header MAY insert a P-Charge-Info header. The contents of the inserted header may be decided based on local policy or by querying an external entity.

A SIP proxy that does not support this extension will pass any received P-Charge-Info header unmodified in compliance with RFC 3261.

York & Asveren Expires August 28, 2008 [Page 4]

Internet-Draft P-Charge-Info, a SIP Private Header February 2008

3.3. Examples of Usage

The content of the P-Charge-Info header is typically simply a SIP URI used as a billing indicator. As such, an example would be as simple as:

P-Charge-Info:

Any other applicable SIP URI could be used.

P-Charge-Info optionally includes the numbering plan indicator as an additional parameter. This is used when an ISUP message is built from a SIP message for scenarios where SIP is used to connect two PSTN segments and needs to pass charging information between them. An example of the usage of the optional header is:

P-Charge-Info:

4. Formal Syntax

The Private Header specified in this document is described in both prose and an augmented Backus-Naur Form (BNF) defined in RFC 2234. Further, several BNF definitions are inherited from SIP and are not repeated here. Implementors need to be familiar with the notation and contents of SIP [1] and RFC 2234 [3] to understand this document.

The syntax of the P-Charge-Info header is described as follows:

P-Charge-Info = “P-Charge-Info” HCOLON (name-addr / addr-spec)* (SEMI charge-param) ; name-addr and addr-spec are specified in RFC 3261 charge-param = ((”npi” EQUAL npi-value) / generic-param) ; generic-param is specifed in RFC 3261 npi-value = (”ISDN” / “DATA” / “TELEX” / “PRIVATE” / “SPARE0″ / “SPARE1″ / “SPARE2″ / “SPARE3″ / “SPARE4″ / “SPARE5″ / “SPARE6″ / “SPARE7″ )

5. IANA Considerations

This document defines a private SIP extension header field (beginning with the prefixe “P-”).

The extension is registered as a private extension field:

RFC Number: RFCXXXX [Note to IANA: Please fill in with the RFC number of this specification.

York & Asveren Expires August 28, 2008 [Page 5]

Internet-Draft P-Charge-Info, a SIP Private Header February 2008

Header Field Name: P-Charge-Info

Compact Form: none

6. Security Considerations

Given that the information contained in the P-Charge-Info header will be used for billing purposes the proxies that share this information MUST have a trust relationship.

If an untrusted entity were inserted between the trusted entities, it could potentially interfere with the billing records for the call. If the SIP connections are not made over a private WAN, a mechanism for securing the confidentiality and integrity of the SIP connection should be used to protect the information.

7. Acknowledgements

The authors thank Miguel Garcia, Christer Holmberg and Paul Kyzivat, who, while not necessarily agreeing with the need for this header, did provide substantial input and also corrected and greatly improved the ABNF notation.

8. References

8.1. Normative References

[RFC3427] Mankin, A., Bradner, S., Mahy, R., Willis, D., Ott, J., and B. Rosen, “Change Process for the Session Initiation Protocol (SIP)”, BCP 67, RFC 3427, December 2002.

8.2. Informative References

[RFC3455] Garcia-Martin, M., Henrikson, E., and D. Mills, “Private Header (P-Header) Extensions to the Session Initiation Protocol (SIP) for the 3rd-Generation Partnership Project (3GPP)”, RFC 3455, January 2003.

______________________ Additional Info ______________________

Below is a SIP log detailing the use of P-Charge-Info in an actual log.

Details

CSeq: 1 INVITE Contact: Supported: 100rel Supported: timer Supported: replaces Supported: histinfo User-Agent: CommuniGatePro-callLeg/5.2.1a Allow: INVITE Allow: ACK Allow: BYE Allow: CANCEL Allow: OPTIONS Allow: INFO Allow: MESSAGE Allow: SUBSCRIBE Allow: NOTIFY Allow: PRACK Allow: REFER Content-Type: application/sdp Content-Length: 273

v=0 o=Sonus_UAC 1114763139 557381571 IN IP4 207.155.147.30 s=SIP 200.123.456.789 Capabilities c=IN IP4 207.155.147.10 t=0 0 m=audio 8126 RTP/AVP 0 101 c=IN IP4 207.155.147.10 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=sendrecv a=maxptime:20

CCX/voxeo-3v3lmzwxb/2008.02.15.15.38.00.531/:a6ab2d5524a338534dd26e4aa70fb032:-1:1/14/CTA-9399e7868dd4e81ed19774d438019f39/CTManager:SIP message(o): ACK sip:signode-34-B35F42D3@216.22.104.35 SIP/2.0 Via: SIP/2.0/UDP To: ;tag=000000000000034-2E6C87E6-B35F42D3 From: ;tag=0-13c4-47b5b1c6-3c83246-6784 CSeq: 1 ACK Call-ID: 0-13c4-47b5b1c6-3c83246-18be-18aac060 Contact: P-CGP-Private: 200.123.456.789 P-Charge-Info: 9991234567@sipproxy.foo.net Reason: 5125555555@sipproxy.foo.net Content-Length: 0


If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


SuperVoIPWorld and Reseller Mania

February 8th, 2008 by Chris Maxwell

VoIP networks are easier to create than ever before, in fact – many VoIP providers you encounter in the SMB market are actually “Resellers” who are providing transport access to one – or a variety of larger carriers.

How does this work?

Let’s say I want to open up Chris’ SuperVoIPWorld and provide Voice over IP Transport Services to small IP switch folks..

First, I get a switch. I then create a web interface and billing system to take your money, next – I contact the large VoIP carriers and negotiate services. I would probably pick 2 or 3 carriers to create redundancy and offer a mix of routes with varying levels of service, silver – gold – and platinum.. depending on quality of service.

Then, I allow you to access my system via your own account so that you can send calls from your device to the outside world on the carrier accounts I’ve acquired.

Essentially – I’m reselling the services of an existing VoIP network. I can then buy my yacht and paint “SuperVoIPWorld” on the back of it.

When you are shopping for VoIP, if you are a small business or individual user – you will usually encounter these providers. Why? Because it’s difficult – if not impossible – to get VoIP service in the form of 4 lines from Level3 or Verizon. They simply don’t want to sell services to individual users.

So – if you must deal with “Resellers”, what do you need to know?

1. Who are their source carriers? Are they quality providers such as established carriers, or are they other resellers?

2. How long have they been in business?

3. Are they reliable? What do others have to say about them?

4. Do they support the major codex and features on all subsequent routes? Do they have cheap routes that will drop your calls because they don’t have your codex?

5. What is their Service Level Agreement? Will they guarantee service or refund for outages?

6. Is their Price fair – or are you paying a significant overage for this “resold” service?

In many cases, it’s not easy to find reliable carrier VoIP services. If you are shopping for transport, keep in mind that your phoneline is the lifeline of your business or home. You should demand reliable service from your provider and make sure you choose a provider with a solid record of outstanding service.

After all, since it’s easy to start SuperVoIPWorld – it’s also easy to take your money and sail away – leaving you without service.

Good Luck!


If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.


Vanilla, Chocolate, or Strawberry VoIP?

January 22nd, 2008 by Chris Maxwell

SIP comes in many flavors. This isn’t unusual because as you probably know, traditional Telephony comes in many flavors. The difference here is that TDM based telephony has had about century to evolve into relatively standard Vanilla, Chocolate, and Strawberry flavors.

VoIP is rapidly evolving so it’s possible to get Skypeberry, Googleroni, or Vonagenut, or any number of other exciting new flavors.

At Voxeo we speak SIP. Session Initiation Protocol is an IEFT (Internet Engineering Task Force) defined signaling protocol which is described in RFC 3261. The SIP RFC is a set of rules for how the protocol should operate and is open to interpretation by the party creating the SIP device or SIP code stack. So – how SIP functions can vary between device or software. We use a common set of rules in our SIP stack in order to play nicely with the rest of the SIP world and as such are compatible with most devices and providers that work with the G.711u codex.

However, sometimes we encounter inconsistencies in how our SIP works with different providers and devices. In fact, the primary purpose of the Voxeo lab is to test providers and devices for VoIP compatibility.

Voxeo Prophecy, as a SIP device (some like to call it an IVR – but I know it’s much more.. ;-) ) is able to accept SIP media in one of two ways, through SIP Registration or SIP Trunking. I’d like to take a moment to define these two transport mechanisms so that we can carry on future discussions with a common foundation. I believe this is needed because I regularly encounter different terms for the same things in VoIP – and unfortunately – it’s confusing, therefore – I’d like to clear the air and help define what we are doing at Voxeo with Prophecy.

SIP Registration is a way to establish and maintain a constant state-ful media transmission connection between a SIP Host (Server) and SIP device (Client). In SIP Registration, a SIP device will transmit a username and account password that is authenticated by the SIP Host. If the account and password is valid, the connection is accepted and calls may be passed between the two devices. If the authentication is rejected, calls will not be allowed. In SIP Registration, a constant state of communication is created and the pipe is monitored at regular intervals for availability.

SIP registration is normally used for one or several SIP devices – often SIP phones, that maintain a constant state of connectivity with an IP switch or SIP provider. Prophecy is able to utilize SIP registration to provide transport for small usage systems deployments, with usually less than 10 concurrent calls.

SIP TRunking uses IP Authentication between 2 devices, in order to establish authentication and allow transmission and receipt of data packets to occur. In effect, the IP Gateway of a SIP provider is known by the transmitting SIP device so that the media is allowed to pass. This method of transport requires the specific IP address knowledge of the SIP provider, and SIP end user device – so that a direct connection can occur between the 2 points.

Wholesale or large scale VoIP service providers and customers typically use this kind of VoIP transmission in order to allow large volumes of traffic to pass quickly through IP Gateways.

In most cases, small scale Prophecy deployments are able to effectively use SIP Registration services, while large scale deployments will utilize SIP Trunking scenarios for transport.

In future posts I will address both SIP Registration and SIP Trunking, as I discuss various topics around how Prophecy works with other VoIP Providers and Devices.

Until then, try out our BusinessVoIP service – which uses SIP Registration to maintain a state-ful connection to our Voxeo BusinessVoIP network. Just a teaser, there are many cool things that you can do with a state-ful connection to a VoIP Network. ;-)


If you found this post interesting or helpful, please consider either subscribing via RSS, becoming a fan on Facebook, or following us on Twitter.