BSM Development has years of experience, with the installation and configuration of telephone systems, to rely on as a background for our work building telephony applications on top of those systems. We know how to integrate applications to collect data on non-programmable systems and how to add applications to programmable systems such as Asterisk, to enahnce the user's experience.

Non-programmable Systems

Non-programmable telephone systems (e.g. key systems), while still being programmable from the system configuration sense, do not allow the user to add programs into the direct operational flow of the system. One cannot add a programmable piece of functionality, of one's own making, to a non-programmable switch, for example.

However, such equipment frequently gathers information in the form of call logs, that can be post-processed, using a custom application, and stored in a database of one's choosing, whereupon further custom applications can be brought to bear on the data.

BSM Develement is very familiar with many Open Source and commercial databases and can assist with the collection of telephone data and its parsing and storage in a database, in a meaningful schema, which is the first step towards analyzing the data and utilizing it for your needs. We can also participate in the design and development of data mining and data presentation applications, which are the next steps in making that data work for you.

Programmable Systems

Programmable systems, such as Asterisk switches, afford the user the ability to make their telephone system work for them in so many more ways than just delivering telephone calls. Essentially, with systems like these, the user can insert any piece of programmable logic into the telephone call process, virtually at any point that they like. Here are some examples of the kinds of applications that we are talking about and that we can help you develop.

During the call routing process, an external database can be consulted to determine how the call should be routed. Routing decisions can also be tracked completely by logging all of the pertinent information to the external database. Selection of "next" number to call algorithms can be used in call centers to connect agents to the next prospect on a call list, etc., automatically. Load balancing algorithms can also be employed.

An external database can be consulted to select branches of an IVR tree based on the information looked up. Information, such as customer numbers, can be looked up, prior to forwarding calls to an appropriate agent to handle a call.

Voice synthesis can be used to provide callers with dynamic responses to unattended queries (made by them during a call connected to a switch), for example the result of looking up a customer record. Dynamic responses can also be created to answer other customer queries, such as when, upon dialing a certain feature code, the switch presents the user with a current weather forecast which is read by a speech synthesis program and composed from weather data scraped off the NWS Web site.

Voice Over IP

With our extensive networking experience, as a foundation for understanding how VOIP traffic is transported through the packet switched networks used by all Internet traffic, we can help with the careful planning needed to ensure successful VOIP roll-outs.

We can help with the initial installation and configuration of local POE network switches and the connection of VOIP handsets to the local network.

We understand what QOS can do and why it is important. We are well aware that bandwidth doesn't equal QOS and why it can't make up for it. We can implement QOS algorithms in your local network and edge switches to ensure that your VOIP traffic doesn't get short shrift even before it gets off your network. And, we know how to talk to the ISPs about resolving packet delivery problems and QOS issues that can kill your VOIP traffic.

If low bandwidth or high latency still plagues your VOIP traffic, we are familiar with which codecs perform best under adverse conditions and how to implement them in various switches (e.g. Asterisk).

We also know which smartphone and laptop telephony applications work best with VOIP and how to deploy them so that they cooperate with your switch, delivering good quality sound to it via VOIP. We have extensive experience with successful VOIP communication, via encrypted VPN tunnels, to a remote switch, operating from countries where network bandwidth is low, latency is high, and there is enough noise and jitter to provide many signals engineers with lifetime employment (e.g. connecting via OpenVPN to an Asterisk switch, from Africa, South America and various Caribbean islands). In these situations, the VOIP traffic is typically deliverd to a North American switch, whereupon it is either forwarded to an internal telephone network or to the traditional PSTN for delivery to regular telephones, in the US.

Application Design

With our grasp of the workings of databases, programmable switches and networking, BSM Development can assist you with your initial telephony application design or we can build your entire application from start to finish, as required. We employ a number of time- and field-tested techniques, that we have learned over the years are helpful in constructing telephony applications. These methods yield more robust and solid applications that will stand up over time.

If you'd like BSM Development to assist you with your telephone system design or building your telephony applications, please contact BSM Development and describe how you think we can help you, along with your contact information. We can handle the entire project for you — from choosing a switch and related hardware, to architecting a telephony application, through the completion and delivery of your finished application.