GetACoder.com

 
 

Home | My Account | Post Project | Browse Projects | RSS Feeds New!

 

VoIP Internet Radio Integration

 
 
Download the Free Step-by-Step Guide
     
Budget: $ 300-1000
Status: Closed for Bidding
Project Creator:
jvdsandt  
  Rating: (No Feedback Yet)
Required Skills: C++ / C, Programming, Python
Attached Files: (None)
 
post new project
email this project
discuss this project
send private message to project creator
more options

NEW

SEND

DISCUSS

CONTACT

OPTIONS

Description
Assignment description VoIP and Internet Radio integration

We have a platform where users can dial in to listen to podcasts and other audio content. The platform uses VoIP and SIP/RTP technology to offer this functionality in an efficient way.

We would like to offer our users to possibility to listen to Internet radio stations via their mobile phones. Another feature that we would like to offer is the reverse: Let one or more users on the phone broadcast their conversation on the Internet as an audio stream. This is similar to a personal Internet radio station.

Currently both features are implemented as proof of concepts. We think that custom development is required to make them robust and scalable. Below are the technical details of both features. We are looking for a Linux C (and/or Python) programmer who can help us to make these features production ready.


Listening to Internet radio stations via VoIP

Functionality: A user dials our access number and selects a radio station by typing in (DTMF) its code, for example #644 for “Lounge Radio”.

Currently this feature is implemented using the Music-on-Hold functionality (MoH) of Asterisk, see for example http://nerdvittles.com/index.php?p=92 This approach works but has a number of disadvantages:

The transcoding from wma or mp3 to the G711 codec has to be performed on the Asterisk server. Transcoding is a very CPU intensive process limiting the scalability of the PBX.

When no one is listening to a particular radio station it’s very complex to stop the streaming. So often a lot of bandwidth is wasted streaming audio that nobody listens to.

We think that a better solution is to develop a specialized VoIP/SIP user agent that is responsible for reading the audio stream from the Internet, transcoding it and stream it via SIP/RTP to the phone listener. In this case the Asterisk PBX server only has to forward the caller to the correctly configured user agent, after this step the media will be transferred via a direct connection between the two user agents (or via a PSTN gateway).

The PJSIP library (http://www.pjsip.org/) already offers a lot of the functionality required, for example the PJSUA, a command line SIP client, can play a wav file when it receives a call. By using a program like ffmpeg the wma/mp3 Internet radio stream can be transcoded to wav on the fly.

On top of the PJSIP library it should be possible to develop a Linux executable that can handle the following requirements:

At startup it must be possible to specify the SIP server where the user-agent must register itself. Also the URL of the Internet Radio station must be a startup parameter.

When it receives the first call it should start the streaming and transcoding process. A small delay for buffering to prevent hiccups is allowed.

The executable must be able to handle multiple simultaneous calls, the single “in” stream must be transcoded and passed to all the callers.

When the last caller leaves the executable must stop reading the Internet radio stream to save bandwidth.

The executable must be able to handle DTMF input and possibly transfer a caller based on the input given.


Make a VoIP conversation accessible via the Internet

Functionality: A user dials a special access number and then selects the option (via DTMF) to start broadcasting. From that moment everything he/she says must be accessible as an Internet audio stream similar to an Internet radio station. Another option is that the conversation of a conference call (multiple callers) is made avaialble as an audio stream via the Internet.

Currently this functionality is implemented by a specialized SIP user agent that outputs the conversation as “raw” WAV to a named pipe. Programs like ffmpeg and VideoLan can than be used to transcode this audio and make it available as a correctly configured audio stream that users can listen to using Windows Media Player, Apple Quicktime or other media player software. The “specialized” SIP user agent is just the PJSUA command line client with the --rec-file --auto-rec parameters. See: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/2008-February/001767.html

We require a custom PJSIP based user agent that can receive calls and output the audio as a correctly formatted Internet audio stream. It must support different formats like MP3 and WMA. When no call is active is must be capable to just output silence or repeat a special prerecorded message until a call is received.

Summary

To help develop the programs described above we are looking for an experienced Linux C and/or Python programmer. Preferably the person should have experience with one or more of the following products/libraries:

* VoIP / SIP / PJSIP
* ffmpeg or gstreamer or mplayer

Reminder
You may not start working in this and any project before your bid is accepted. Any user who violates this policy may have their account permanently suspended.

 Bids Received (6)   Shortlist (0)   Declined Bids (0)   
Average bid amount:   $5,225.00   Average delivery time:   45 Day(s)
Place Bid | Post Similar Project | Send Project | Message Board(1) | Contact jvdsandt

Order by:

 

Remember that contacting the other party outside the site (by email, phone, etc.) on all business projects (before the project is awarded) is a violation of our terms of use. We supervise all site activity for such infringements and can immediately expel transgressors on the spot, so we thank you in advance for your cooperation. If you notice a violation please help out the site and report it. Thank you for your help.
 

          nbsp;    

 


 
Get the Free Step-by-Step Guide on How to Use GetACoder
The act of outsourcing projects has become easy in the past few years thanks to GetACoder. However, our team aims at making the whole process even easier. So, it has now come the time to provide you with a step-by-step guidance on how to use this service and succeed in the outsourcing world totally for FREE.

It doesn’t matter if you are a more experienced user or a novice; using GetACoder will become even simpler with the help of this E-book. There are two major sections: a Buyers section and a Coders section.

Buyers will learn:
  • How to outsource safely
  • How to pick the best freelancers
  • How to manage time and money

Coders will learn:

  • How to get the best projects
  • How to secure their payments
  • How to build a long-lasting relationship with buyers

    …and  MUCH MORE
Clear examples and pictures illustrating key situations, great tips and real testimonies of some of our best users… all in this Outsourcing Guide.  So don’t loose the outstanding opportunity to download GetACoder FREE E-book.
The Outsourcing Revolution: Why It Makes Sense and How to Do It Right
The Outsourcing Revolution: Why It Makes Sense and How to Do It Right
What is GetACoder?

GetACoder.comGetACoder is a leading Global Services Marketplace doing business in more than 200 countries. Our unique system accelerates your time to market and provides your business with key competitive advantages. When you use GetACoder you are stretching your budget and saving as much as 60% over traditional outsourcing. GetACoder is changing business, now it's no longer about what you own or build but which resources and talent you can access. With GetACoder you reduce expenses, increase efficiencies, aggressively grow your business, and create a sustainable competitive advantage. GetACoder makes outsourcing to any part of the world an easy task! With GetACoder it's simple to outsource any business project, gain access to global talent and manage projects online.

One of the main advantages of GetACoder is the low labor cost. The typically rates are about seven times lower than the ones in the US or Europe. Posting a project at GetACoder allows the right professional or company to find you and to bid for your work. We are building a reputation for exceeding our customers' expectations and for becoming an extremely cost effective way to outsource work. Use GetACoder when you want to save money, increase efficiency or accelerate the development of your project. With GetACoder you focus on growing your business and let others do the tedious work. Post your project on GetACoder for free. Find out why people outsource projects with us day after day.

Thousands of Satisfied Customers - Submit/View Quotes


-I'm very happy to have discovered GetACoder. I just got my site fixed for a low price and it was very fast. Thanks! - Marcelo
-We are highly impressed! Getacoder team has made a great effort to bring buyers and service providers together in a Global Marketplace. Thanks a lot!!! - eCerebrals
-This is an awesome contribution to the freelance community... I really love this site. - waseem
Report Violation    Privacy Policy     Affiliate Program    Terms of Use    Contact Us    Help      GetACoder.com Latest Projects RSS Feed
© 2004-2008 GetACoder. All rights reserved.