Media Management

Now we're getting into more advanced stuff here -- customizing the greetings that play in the system and also uploading media and distributing it (MP3 streams and audio calling).

Not only can you use the phone as a recording device to generate media (MP3's) but you can also upload your own MP3 media and distribute it streaming ont he web and over the phone (voice channel) as an audio call.

Use the phone as a new kind of recording device - generate user content -- social content - and add a new level of depth and richness to your application.

We support MP3 file upload (simple binary multipart mime) via the API , which results in a media ID, itself a pointer to the media that you upload to the system.  

Audio generated the easy way - no headset required, no downloads, no clients, no special plugins, nothing.  User generated media via the phone is easy and simple - you do it every day when you leave people voice mail.

In Telesocial's API we let you do the following:
  • Upload MP3's to be used as media
  • Record via mobile voice
In each case you will be generating mediaID's related to your application.  The media generated can be distributed via mp3 streaming links from our media servers through the URL's returned from the Media Status function or through the mobile voice channel via the Blast feature.

First, we do not really manage media here at Telesocial -- we generate mediaID's and collections of media that are related to your app, but the in-app logic is completely up to you, the developer.

So first make a persistent data store like a DB table to track mediaID's

CREATE TABLE `messages` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `status` enum('pending','alive','removed') COLLATE utf8_unicode_ci NOT NULL,
  `type` text CHARACTER SET utf8 NOT NULL,
  `mediaID` text COLLATE utf8_unicode_ci NOT NULL,
  `send` tinyint(1) NOT NULL DEFAULT '0',
  `memberID` bigint(20) unsigned NOT NULL,
  `fromID` bigint(20) unsigned NOT NULL,
  `fromName` text COLLATE utf8_unicode_ci NOT NULL,
  `fromPicture` text COLLATE utf8_unicode_ci NOT NULL,
  `createTime` int(10) unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `memberID` (`memberID`),
  KEY `fromID` (`fromID`)

You can see from this example that it's important for your application to know what the intended media use is, display rules, and parameters that describe the media's role in your app.