The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Reading guide to VOIP technology (for developers?)

Hello,

I am looking for a recommended "bibliography" of white papers and existing documentation in order to get up to speed on VOIP from a developer's viewpoint. I am an experienced Win32 developer with little or no telco experience.

I need to develop a voice conference system. My client has decided on a particular vendor's VOIP platform that (at least the sales literature) claims to be capable of what we need. I am unclear  on the significance and role of the various pieces such as SIP.

I would rather not start with raw RFCs or trying to read open source projects. Some overview reading of the technical environment would be really nice.

Thanks.
Hank Landry
Wednesday, October 03, 2007
 
 
I don't know whitepapers but I can overview some terms that you can research further.

"Signalling" includes the call setup, and is implemented by SIP. For example if I want to call you, then my phone sends a SIP "INVITE" to your phone. Your phone replies with "100 Trying" (meaning that my INVITE has been received and needn't be retransmitted), "180 Ringing", and eventually "200 OK" (when you pick up your phone), after which we can establish the media streams. Complications of the above include 3-way-calling, conferencing, call forwarding, handing-off calls from one phone to another, and the existence of a "SIP Proxy" or two between your phone and mine.

"Media" is to do with the "real-time" voice signal. The "media stream" is implemented as "codec" which is transmitted over a protocol such as "RTP". The media stream starts after the call is established via SIP.

Other things that you may or may not want to know as a developer include protocols, applications, and implementations from various vendors associated with the following: opening "pin-holes" in firewalls to let SIP traffic through; interop between VoIP and traditional phone networks; implementation of call-control applications (e.g. for Call Centres); implementation of voice-enabled applications (e.g. VoiceXml and IVRs).
Christopher Wells Send private email
Wednesday, October 03, 2007
 
 
... and configuring SIP proxies, and authentication, etc.

> I need to develop a voice conference system. My client has decided on a particular vendor's VOIP platform that (at least the sales literature) claims to be capable of what we need. I am unclear  on the significance and role of the various pieces such as SIP.

With conferencing, everyone may need to hear everyone else. To do this the server needs to handle several simultaneous calls, mix the media streams, maybe translate from one codec to another if the various parties use difference codecs. Doing this is compute-intensive, hence a dedicated server (quite possibly with dedicated hardware, doing the media processing on plug-in boards).

SIP lets parties "signal" call setup events to the server, for example to say that they want to join a conference, disconnect, reconnect, and/or place themselves on "mute".

The conference server is handling several simultaneous real-time media streams, so it may need a higher-than-usual bandwidth or "Quality of Service" network connection, possibly with a protocol like RSVP.
Christopher Wells Send private email
Wednesday, October 03, 2007
 
 
> etc.

and PBXs.

Beware that I'm just a software developer: the domain (i.e. VoIP, and more generally telephony) is big enough that there are "network engineers" whose specialty is knowing the protocols, applications, and equipment, and specifying inter-component interactions, whereas my specialty is writing code.
Christopher Wells Send private email
Wednesday, October 03, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz