Hiya guys,
I'm toying with the idea of developing a Voice over IP or Voicechat module for a drupal community based site.
Voice over IP is quickly becoming one of the hottest things on the web...where two people can talk to each other phone-2-phone over the internet very very cheaply...the phone call basically goes across the internet as opposed to the phone lines..if you know what I mean.
So, my idea is very simple and am wondering what other drupalers think or if you guys have had experience of doing same/similar:
the functionality would be very simple:
a) in a drupal built community - not only would members be able to text chat online in the chat area (already possible via chatbox.module), but they would be also be able to have voicechat functionality...i.e. member AA clicks on a little phone icon that appears if the member ZZ is online...and connects the two in a voice chat. like a phone call..but simply computer-2-computer chat via the internet.
That's it. I think it would be very valuable for commercial/community based networking sites, for example. the text chatbox module is fine for community sites built around similar interests..but I'm thinking of taking that a step further...
I am fairly new to drupal..php etc. but I have managed to teach myself just about enough to "create" my first module...so what I'm doing now is checking out how other voice over IP systems work...or how webphones work with a view of just picking up on the core php that makes them work.
I'm not going to attempt to build it from scratch...
So anyone out there who has thought/tried or heard of a similar thing please let me know.
Cheers and thanks for taking time to read this.
Jason
Comments
just to clarify what i meant..
Voice over IP means I can call someone elses phone over the internet...i.e. using a desktop application I can dial and the software will connect me to the other persons REAL phone...if you know what I mean. its a big money saver for people as they can make long distance phone calls computer-2-phone..
Thats very clever..but its not really what I'm looking to do...
I'm simply trying to develop a webphone.module for drupal that allows people to voice chat computer-2-computer....
Jason
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
protocols?
Correct me if I'm wrong, but this sounds like a third-party application to me, and all you would have to do to intgrate it with any webpage is assign the correct protocol handler. Like how mailto: calls your e-mail program, http: calls you browser, etc...
I'm not sure what the handler would be for voip... and the user would need software installed, the handler registered in their OS, and probably a voip service number in their drupal profile (dependant on their software).
Cheers,
Kieran
Not neccesarily
If you're talking about setting up a Voice over IP system, yeah, I think protocols and stuff is required. I was thinking of something simpler..
Consider a chatbox module that connects two drupal users together via voice..
- drupal user AA clicks on a phone icon that appears if drupal user ZZ is online.
- webphone.module "dials" user ZZ
- User ZZ sees a pop-up or notice similar to the MONITOR ACTIVITY function on the existing chatbox.module.
- User ZZ has the option of answering or not-answering the "call".
- if user ZZ accepts the call from user AA...they simply talk to each other via standard soundcard Mics & speakers.
I suppose yo are right....I could just pop up a third-party webphone piece of software that handshakes with drupal in some way to "route the call" to a specific user.
Similar to the way some drupal sites I have seen pops up third party webmail, forums etc.
Would prefer to have a drupal module to do this..do you think I'm wasting my time?
Should I just use a third-party product?
Cheers
Jason
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
software needed
for something like voip, there will need to ve some fairly sophisticated software run on the users local machine.. I'm not sure even a plug-in would be sufficient, nor appropriate.
Drupal could handle "calling the connection" so to speak... by linking to voip:#voip_phone_number# if the application accepts it.
the third party webmail / forums are all using this model too:
http: (browser is the application used)
address (browser: use this address)
does that make sense?
cheers,
kieran
I think so..
I think I know what you mean..
..just on a quick pedantic note...if the drupal user had a Voice over IP account with a providor..all they would have to do is dial the drupal members phone number on the VOIP software they have...or drupal could push a users_phone_number_profile_field with a link.
I understand that bit of what you said..i.e. using third party products....simply getting drupal to include an argument in the link that launches the third party product.
Maybe that is the easiest approach...was hoping I could embed what I need a webphone.module to do into a module so everything fits with everything else.
Thanks for the feedback Kieran...appreciate it..if you have any other gems of wisdom or know of any third party webphone (not Voip) tools I could start messing with, please point me in the right direction.
Jason
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
I like this idea. I ran one
I like this idea. I ran one end of a research project for someone who was studying learning second languages for adults. We had a group of users in Peru (university students studying english) and a group of users in New Hampshire (high school spanish students). It was fairly difficult to manage the project because we used Skype on Win 98 machines (doesnt work so well) on the Peru-end, and we had a set schedule so that users would be online at the same time in order to have a partner to speak/do their language exchange with. Exactly what would have made this much simpler is if the users did not have Skype accounts, but accounts on a Drupal-run site with VoIP built-in so there is not platform dependency (ie skype on win 98 not so great) nor need for application to be installed on users machine (Skype still not *yet* as popular as Messenger here, so you have to install it each time you go to the internet cafe since the hard drives re wiped after each reboot, which is once to several times a day in an internet cafe, unless the internet cafe installs the software permanently). VoIP built into a Drupal site would let you build a community around such a project as described above, instead of trying to run it so disparately whereby users have no common ground to meet (only buddy lists on Skype) and see who is online, allow for new users to join in easily, and offer other supplemental informational. This relates to this story I wrote here about my friend trying to chat from the US to his Bulgarian friends in a public library.
Here are a couple links I collected back in April or May, maybe it will be helpful, but I havent looked back into this much since then. The tuxmobil has a bunch of related links:
http://www.wifo.uni-mannheim.de/~kuhlins/paper/voip.pdf
http://www.tuxmobil.org/phones_linux_server.html
EXCELLENT!
Thanks Dev...appreciate the links...
Fantastic idea btw....applying language training over the web, my cousin is a TEFL teacher (teach english in a foreign language) in dublin and most of her work is conversational development...i.e. not grammer/vocab but simple conversation practice..
She could threoretically help expand her courses (she is freelance) whenher students return to spain/italy/france etc. using a simple drupal site with a webphone module. Extremely handy to be able to link conversations to lessons to users etc.
Most european countries have broadband now as standard. So it's fairly practical.
You have sparked off another application idea for a webphone.module...so thanks for the inspiration...I'm definitely going to look into this deeper rather than go the third-party route..I didn't even think of the webcafe side of things if I used a third party tool....
Any other links or reference appreciated...
Jason
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Skype "callto://"
Do a "Skype" module that lets users include their Skype username as part of their account. Create links that look like callto://skype-username (mine would be borismann). Voila! VoIP. There *is* an API for showing online status, but it's Windows only right now.
You can't do VoIP in PHP *directly* -- PHP/your browser doesn't give access to soundcard/mic. You could do it with a Flash application that's embedded as part of your Drupal install, but that would also require some other software to be installed on the server.
Contact me if you need more info.
have looked at Skype..
I understand the logic of using skype to leverage VoiP into drupal as oposed to re-inventing the wheel, and while the skype software is good, it is over 10mbytes and requires a re-boot.
As I understand it..Skype is VoiP computer-2-phone software...and a good option.
I'm thinking more of a simpler computer-2-computer voice thing integrated into drupal.
Jason
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
No, it's either
Computer-to-computer or computer-to-phone. Theoretically it works over dial-up as well.
You should probably try Skype before you dismiss it. 10MB is a small program these days...
I can tell you it is impossible to get done natively in PHP. Check http://www.flashmeeting.com for a Flash example.
Skype charges for making
Skype charges for making calls from computer-to-phone. Is there a software where computer-to-phone calling is free?
yep..
download the cuphone...
http://www.cuphone.com
It allows you to call any USA, European, Canadian, Asian and some african landline phones for free with a time limit on the call...
use at your own risk though...there are few of these on the web. no idea to the integrity of what they are doing beyond making phone calls.
Dub
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
found this....has a CVS very similar to drupal
HI Dev.
Found the following site that provides precisely what I was looking for from the links you gave me..
http://savannah.nongnu.org/projects/linphone
the project is open source and has a CVS repository very similar to drupal...with Core API for LINPHONE - which is just a computer-2-computer voice chat system for linux.
Did you come aross this when you were thinking about doing a webphone.module before?
Am about to go digging in search of what maybe used for a drupal webphone.module.
Jason
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
requires the app to be installed on your desktop
Hi Jason
It looks like this requires the app to be installed on your desktop, versus server/web-based. From Boris's comment it sounds like just w/ PHP is not possible. Skype is definintely great for computer-to-computer to use it to call up through a module...and it works on many platforms, besides not so much on win98 :( In the community I describe, when a user is logged in, that would assume they have a skype account, which would be in their profile...what other helpful ways could a module facilitate working w/ skype?
If this can be done w/o need for client app., like w/ Flash, I wonder how much a server could handle, say in a shared hosting envt, and how much bandwidth too?
Macromedia flash
Flash has ability to record and uplaod sound and webcam images, and thus can do what you wan.t I know there is such a flash script/app around, but i cannot find it anymore.
[Ber | Drupal Services webschuur.com]
conference call
If you do find a way to do this, conferencing would be a great option as well.
On another topic, the hard thing is finding a system that will work well in all settings, not just developed countries with good high speed access.
I notice....
Hi JasonW
I notice that a lot of the stuff out there allows for mutli-calls or conferencing.
the difficulty is trying to find the code that taps into someones sound card, in both directions.
everyone from yahoo seems to have it...and a lot of developers have embedded the same into large applications that require download.
Will keep trying to find a very simple server side audio "tunnel" that can be applied to a drupal module.. It's not rocket science and audio is essentially 1s and 0s anyway on a computer..
Found one extremely old..bordering on "antique"...bit of code that worked with 2400 baudrate modems! Anyone old enough to remember pre-Internet bulletin boards? unfortunately the source wasn't usable but...I reckon its out there somewhere...
Will keep searching...if anyone has time to help...please let me know as it's difficult to filter out searches that toss up results of corporate versions of the same thing.
Cheers
Jason
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
I have VOIP
and there are some open source voip systems out there, but they are a much larger beast than what you are talking about. My only suggestion is don't use VOIP in your search or you will got lots of corporate hits.
quick update & current status of the voice_chat.module
Hi guys,
Thanks for all the tips and pointers guys...your tip of omitting VOIP from my searches was a nugget JasonW..thanks for that...saved me a lot of messing round and clicking through bogus "free" sites..
have been doing quite a bit of work on the idea and after a lot of trawling through websites there is scope to do this..i.e. create a module that allows members of a drupal site to voice chat to each other.
Have narrowed it down to a few key products that are based on simple technology and will attempt the integration of one or two over the next few weeks and post a link up to a demo here.
The functionality will be very simple and here's the way I see it working:
a) beside users name there is a little telephone icon and online-now indicator.
b) user clicks on telephone icon and the module will "call" the other user - in a similar way to the way text-chat rooms play a sound when someone has posted a new message.
c) call reciever has the option of accepting the call or redirectring it to a voice message box.
That's it, from what I have garnered from reasearching this, the above is fairly straightforward using a server side mix of java and flash. So the flash file just needs to be able to handshake with the module. I envisage something very similar to the HTML AREA module...i.e. a third party product with a custom drupal module that allows it to "handshake" with the drupal system.
It maybe even simpler still to just combine the user-2-user voice functionality in with aan upgraded drupal chatbox...as it allows people without a microphone and speakers to communicate as well.
A simple user-2-user application seems acheivable with my limited knowledge...the conference-call thing looks a bit tricky and too complex for me. So I think I will just keep things simple develop the first stage and maybe it will inspire someone with more knowledge to take it further.
I have also looked at the VOIP stuff...and while that stuff looks great...it is not necessary for a community based around a drupal site...let's face it if people have VOIP, they would probably have a headset with mic...so instead of paying to talk to another drupal user...they could do it for free using my module idea. Which would add to the stickiness of a community based site. I think.
Anyway. thats the latest. Just thought I would update this topic with where I'm at and ask everyone if they have any nifty ideas that could be integrated into version 1.0
cheers
Jason..
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Update on Skype/Jyve
Skype's latest BETA supports conference calling.
One finger branching off is Jyve and their Q-Card http://jyvesolutions.jyve.com/ for which offers a nifty code snippet.
There is a also a French developer working on a MOD for phpBB 2.0.10.
http://www.phpbb2.de/rlink/rlink.php?url=http://www.reddevboard.com/foru...
Interesting....
G.
Hi Ghandi..
thanks for posting that.
I really like the way that JYVE card thing works, very simple and neat...will do a bit of digging round to see if it could be integrated into drupals user profile or maybe a simple add-on module...(I'm a newbie to drupal, so, am limited on what I can do...)
it's definitely an area that is worth pursuing. if you're interested in FREE p2p communications..click below for a small p2p download that I'm checking out at the moment.
http://www.bearware.dk
Another nifty and neat facility is the following...which allows you to record your own video/audio message and paste it into your weblog (drupal, plone, wordpress, whatever..u just have to paste a few lines of html).
http://drupal.org/node/14519
Cheers..
Jason
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
found this..
Quick note about a team/conference voice chat thing I found..
It's a peer-2-peer voice communication programme that allows for conference or team chats.
I'm not thinking of using it in the webphone.module idea I have..just stumbled across it and thought I'd mention it to you..
http://www.bearware.dk/
Worth noting as well..that the flash comunicator does what you want it to do, i.e. chat rooms with webcam video and voice...conference chat etc. It's a commercial product. and found at http://www.macromedia.com
nice thing about the flash thing is you don't have to download anything. It's out-of-the-box stuff for a website.
Jason
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
nearlky finished a new webphone.module
Hiya Guys..
Almost finished a new webphone.module.
Have started a new thread here:
http://drupal.org/node/20911
Feel free to post any requests/questions..
Dub
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
If at all you think of VoIP
If at all you think of VoIP again, do consider Asterisk, possibly the best open source implementation. It has computer-telephony integration too:
http://www.asterisk.org/
had a quick look at asterisk
Thanks ramdak...
had a quick look at the asterisk.org site before and while it looks very interesting I need more time to look into it in detail and how it could be incorporated into a drupal module...
the main reason I went with Skype is it's simplicity and cross-platform compatibility. Indcluding pocket PCs...not forgetting that if someone is using VOIP it's quite likely they are using skype...they have a reputed 100million users.
Am slightly behind where i hope to be at today (sunday 24th). won't be able to get the test module up today..apologies in advance to anyone who is waiting for it.
Email me if you want a rough ZIP to start playing with..otherwise..I'll upload the module into my sandbox during the week.
Thanks
Dub
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Hi Dublin,Any udpated on
Hi Dublin,
Any udpate on this, could not find the module on your sandbox ?
waiting for skype..
Hi Gunny,
Yeah..I have been working on it. But the problem is that - at the moment - you need to use third party sites and products to be able to integrate it properly. or worse...users have to download a bit of software and change firewall stuff just to get it working. and limited to windows based PCs.
I'm waiting for Skype to unleash an API that makes it easier to integrate in at the website side or server side..at the moment it's not equipped to be integrated into a website community in a way that is useful...
There are a lot of third party plugins you can download. Such as
http://www.jyve.com
or at http://www.skypeteer.com
if you're waiting for the skype module, it will be a while before skype release an API that allows website integration. In the meantime suggest:
if you have a web community and a drupal site and think skype would be of value to the members...
(a) setup a new PROFILE FIELD for skype where users can enter in their skype id.
The link to launch the skype phone and call a skype user is
a href="callto://username"(b) for an online status indicator you could use this: http://jyvesolutions.jyve.com/
(c) use http://www.skyperunners.com/instant/ to let users at your site to send other users Skye "text" messages.
(d) if you want to make money from the skype affiliate programme (i.e. you get a comission from your website community signing up to skype)
http://www.skype.com/partners/affiliate/
I have taken the advice of another poster on here to look at other VOIP models and while I'm waiting for skype to unleash new server side ingeration options, I'm delving deeper into that area. a "skype.module" is still useful and I'll do it, but, I think a seperate voip.module is definitely an option as the base code and protocols behind voip is open source and will offer more options to drupal site admins, than just skype...
hope that makes sense..the third party bits above are "use at your own risk" type links. I wouldn't use them in any drupal site I have - I'd prefer to wait until we can do it for ourselves..
Dub
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
quick addendum
Hi Gunny,
Just thought I'd add that one of the busiest online communities using drupal - the ecademy - are trying to integrate skype into their site..but are having dificulties...
http://www.ecademy.com/node.php?id=47070
Hope that makes sense..if there is a c++ programmer in the house and knows how to take the SKYPE API and turn it into a server side suite of applications..please give me a shout.
I'm waiting for skype to unleash their "website API"..but perhaps a C++ programmer would know how to speed up that process.
http://forum.skype.com/viewtopic.php?t=3557
Dub
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Asynchronous phone to server
I feel that the excitement about VoIP and Drupal is justified but the emphasis on the conversation is wrong. Drupal doesn't have much to add to VoIP in terms of facilitating computer-to-(desktop client) computer or computer-to-phone calling, other than disseminating peoples handles and/or providing callto: links. You can use Skype and related technologies to show when someone is online, which might also be interesting, but this is small stuff.
The real potential for VoIP and Drupal, in my opinion, is getting recorded voice messages and/or full conversations onto the server. Imagine a forum where you can post text replies or voice replies. A dating service where you Skype the person of your dreams and leave a message on the server that they have to pay for to hear. Imagine a citizen-journalist site where people can call the site from their cell phone and report on what is happening in front of them. You can do all this, by the way, with Skype and Pamela[1], though I've talked to developers working with the SkypeAPI who say that even better solutions are on the way.
If anyone is really interested in VoIP programming, these are the ideas to tackle. The first 10 site ideas that come to mind with such a paradigm are absolute money bomb business ideas too.
[1] http://www.pamela-systems.com/
- Robert Douglass
-----
http://www.hornroller.com/French_Horn_News
www.robshouse.net
you have a point...
You have a point Robert, but, I disagree. I don't think the discussion is misguided here.
I think you are confusing VOIP with multmedia applications on the web. VOIP isn't needed for the application you mentioned..(a dating site taking messages or a forum with audio messages. check out the open source VOCWEB system which is like pamela-systems but it is open source and web based instead of a windows only download-and-install application)
If you want people to be able to put voice messages/video messages into a drupal driven site, you don't need VOIP to do that. You can use variations of the flexinode or a third party service like this: http://avblog.userplane.com/message.cfm : that allows bloggers to copy n paste video/audio/podcasts into their blogs.
Think about it. If you want people to leave messages and they are already using VOIP..they would, therefore, already have a microphone plugged in and drupal modules already exist that allows people to submit multimedia content to a site.
Besides, what you are talking about is basically creating a new application, I'm simply talking about a module that integrates into existing applications.
My initial idea of nudging the drupal community to think about a webphone.module starting with skype was more to do with the fact that there are a lot of existing skype users out there and other drupal sites such as the ecademy were having difficulties in integrating it in, beyond just having links to a users skype number.
So there is a demand there for a skype.module at that level. And I have posted some tips on how to do that using third party products.
I would prefer to wait until the APIs become more accessible from the server side before unleashing a skype.module...and would then tend to look beyond Skype and others in developing a VOIP.MODULE.
I don't see it as a problem or being misguided with having a skype.module and then following up with a full blown voip.module down the line for example.
My skills are limited when it comes to programming so I'm hoping a C++ programmer out there might help tackle the need to delve into the existing APIs out there (there are a lot of them) in such a way that is simple, scalable, server side and therefore multiplatform.
Anyway...thanks for chipping in..and I hope that makes sense And please post any more links on here that you think miught be of use as reference. I'm spending my spare time looking into how other sites are integrating VOIP into web communities so any pointers are appreciated.
if you are looking at this area, there are quite a few linux based VOIP server based applications already out there that maybe worth looking at instead of windows based client side apps. especially VOCP which is like pamela-systems but is open source.
Dub
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Misguided was the wrong word
And thanks for the tips to these other projects -- it's really difficult staying abreast of everything on offer out there.
The beauty of putting voice messages on a site with VoIP is that once you're done recording, the data is already transferred. Don't most other strategies for doing this require a local audio file to be made and then transferred to the server? And how many of the other strategies would let you call your blog from a payphone?
- Robert Douglass
-----
http://www.hornroller.com/French_Horn_News
www.robshouse.net
why would you do that?
HI Robert,
I'm not sure why someone would phone their own blog from a landline in the first place but the open source VOCWEB system has the basics for doing that.
to quote the site:
With the voicemails stored on the server...and accessible anywhere via a web browser, it requires just a bit of hacking together a module to make the voicemails available to a users blog.
To accept a call from a payphone, requires a normal phone-to-internet gateway...which is precisely what skype and all the others offer. I'm not sure if the VOCPWEB system comes with that gateway...have linked it above if you want to dig deeper.
Wouldn't it be more likely that someone with a weblog will have a mobile phone as well?
So, like the way the MOBLOG module handles graphics/video sent from mobile phones, it might be easier to just send the audio the same way..via email.
The video/audio in a blog system I linked earlier at userplane uses MACROMEDIA FLASH to record and save the audio from a web browser to a file. The service is very neat and tidy..with a very well thought out interface, but, as I undesrtand it the costs for the server side application for that from macromedia is quite expensive. I think it's as high as USD$5,000.
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Skype + Pamela = free
Right - you see where I'm going with this.
So now say you've got this forum (for this example imagine a pure-voice forum) where the thread is comprised entirely of called-in messages. This would be a perfect asynchronous version of call-in opinions on radio shows. Offer the feed as a podcast and the user experience of the forum would be just like a real-time conversation. Best of all, if you can pick up your telephone and call, without needing one ounce of computer saavy, you're more likely to use it.
- Robert Douglass
-----
http://www.hornroller.com/French_Horn_News
www.robshouse.net
The Pamela example
>> Besides, what you are talking about is basically creating a new application, I'm simply talking about a module that integrates into existing applications.
I'm thinking rather about the Drupal side of things here. Working with the Pamela example, there are still lots of problems to be solved by the Drupal module before a voice forum would be viable. For instance, how can one Skype user instance, running on the server, know which forum the voice message is to be posted to? Scenerio:
I'm reading a forum and I would like to voice-in my opinion "that's great" as a comment on the discussion. I call the site with Skype, say "that's great" and Pamela makes sure there is an mp3 of my call in a known folder on the server. How does Drupal 1) know that the file is there? 2) know where to put it? (whom it is from can be taken from the filename).
One light-weight solution that I thought of would be for all of a user's voice clips to appear in an img_assist-like tool so that the user can paste them into posts just like we now do with images. Since there is currently no way to attach meta-data to a Skype call, it is impossible to make a special callto: link with ?name=value parameters (like q=comment/reply/13988/41994).
Maybe we should think up a VoIP project that students could work on as a Summer of Code project?
- Robert Douglass
-----
http://www.hornroller.com/French_Horn_News
www.robshouse.net
Possible hack
One possible workaround would be to trigger the callto: via javascript. The javascript would first send a request to the Drupal site with the necessary parameters (which post, which user), then trigger the callto:. When the call comes in, the parameters would already be on the server. When Drupal processes the call it would look and see what the last set of parameters from that user were and process the call accordingly. There'd need to be a time limit - 1 minute, for example, because callto: activated calls would not be the only ones coming in. There would also be direct calls.
- Robert Douglass
-----
http://www.hornroller.com/French_Horn_News
www.robshouse.net
you mean like yahoo chat?
A voice forum is a completely different application Robert. There are numerous tools out there already that can do that...the majority using macromedia flash. or microsoft net meeting, yahoo chat or a neat danish application called teamtalk.
For placing a "that's great" comment in a blog...there are a lot of applications out there, including userplane linked earlier..just do a google.
If you're thinking in that direction and creating a voicemail.module.....worth looking at the userplane way of doing things first...it's very user friendly and a very simple model to work from.
Hope that helps..
Dub
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
I'll check them out
Thanks!
- Robert Douglass
-----
http://www.hornroller.com/French_Horn_News
www.robshouse.net
Asynchronous voice forum
I've not found any examples of a forum where the entire thread is available as an audio stream, asynchronously. Do you know of any?
- Robert Douglass
-----
http://www.hornroller.com/French_Horn_News
www.robshouse.net
you mean like wimba?
Hi Robert,
Do you mean like wimba asynchronous forums or duber that has a mix of audio/video forums?
if you're developing a module for that please keep me posted..and I recommend you check out podcasting. A lot of people will understand that quicker than the term "asynchronous voice forum "...i.e. people contribute to a [insert forum topic] podcast.
Hope that makes sense...and I think there is a lot of Java applets and podcasting tools out there that will help.
Dub
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Duber is spot on
That's what I mean - only you nead to run that macromedia stuff on your server. I'm proposing that you have to run that Skype stuff on your server instead :-)
- Robert Douglass
-----
http://www.hornroller.com/French_Horn_News
www.robshouse.net
true..
if that's what you're trying to do...you should look at the following:
http://www.amfphp.org
It allows you to do flash remoting using php and without a flash communicator server. Not sure how legal it is...but worth checking it out.
You could use that for a "duber" type voiceforum.module with straightforward flash front end for the recorder/playback.
By the way..I'm working on something else today..if you do manage to get that amfphp working...please let me know..I was trying for ages to get the stunning image browser/gallery working with drupal but gave up after a while...
Dub
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
amfphp v0.9
Is working fine after modifying the gateway.php...
I´m using it for data communication with mssql.
But v0.9 is really slow :( waiting for v1.0.
if you need a really goog realtime lossless datacompression just go to
http://www.oberhumer.com/
Cheers, SlowMo
thanks slowmo
thanks slowmo
did you get the gallery working with drupals image.module? or did you mean you just got it working?
Dub
DUBLIN DRUPALLER
___________________________________________________
A drupal user by chance and a dubliner by sheer luck.
Using Drupal to help build Artist & Band web communities.
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Cool ideas!
I just read (most of ) this thread.
Want to say that being able to call a member - and vice versa (answering the caller calls up the member screen in drupal) - would take Drupal some steps towards becoming a hotline product and a crm produkt! Civicspace is working on CRM.
Gunnar Langemark
http://www.langemark.com
VoIP, Conferencing, Directory-servers,NAT and firewall traversal
Hi,
I have worked with developing VoIP and videoconferencing products and services since 1996. I thought I'd just input my €.02s ... :-)
To have a voice-connection with someone via the PC you need both a client program handling the codec and directory-lookup, as well as a headset/microphone. Most people using VoIP and possibly even have subscriptions to VoIP services, are using this low-cost approach.
The client-program is typically called a softphone.
Recently, companies have started to offer more hardware-based services ... where the user interface is the well-known telephone handset. There are several ways to do this. One is by having a box from http://www.sipura.com/ or similarly, a SIP/H.323 enabled broadband-router, where you would have a telephone jack. Of course in these cases, you deal with telephone-numbers and number-plans from telcos.
When you use other interfaces than the traditional number-pad only telephone handset, you can call using different addresses schemes - which might be a mail-address (very common in SIP-terms), or a IP-address and port-number (very common in H.323 terms - but see ITU standard E.164 for further addressing). Both H.323 and SIP frequently use servers which act as directories (i.e phonebooks) and lists all available users. The Skype service synchronizes such a service, relaying the caller to a direct media-connection afterwards. The directory server is intermediating and is part of the call setup (see ITU Q.931 standard).
The centralized directory server is contacted when the user does the AAA-procedure to login and make himself available. The directory server can be a H.323 Gatekeeper, a SIP-server or similar. Asterisk * is a fantastic product for SIP and other PABX-, IVR- and VoIP-services in general. So, voicemail etc. is normally offered as services through theses servers. Both the SIP- and ITU H.323-standards cover this functionality for voice and video.
There exists proprietary clients which circumvent the use of directory servers, and may offer voicemail and other services of their own.
For Skype to recieve voicemails, you need to pay for the Skype voicemail service. If you have a device or program that let you record your own voicemail, then you will be acting as a server on your own, and the voicemail service would not work when your Skype client is not logged in.
To make VoIP calls you need the client program which includes the codec (or at least the use of the codec). That means the client program must be pre-installed - like NetMeeting, Skype and a whole host of other softphone-clients, or the client must be downloaded at the time of accessing a service - like a Drupal-based website.
Making call-references using pre-installed softphones is a trivial task. Using the standardized callto:-tag (like mentioned before) you can facilitate the direct-connection with no server-directory services involved - using the ip-address and ip-port pair. The catch-22 here is of course NAT- and firewall-traversal. Using the callto:-tag with a username/mailaddress and using a directory-server is much more preferrable.
For the downloaded client to work, it must most times be able to do NAT- as well as firewall-traversal. Most homeusers are subjected to at least NAT. The client must also handle the use of the voice codec, i.e it will use some CPU resources as well as interfacing with hardware resources - most commonly through media-APIs.
With a downloaded client I mean of course a Java applet or a Flash-based application.
When using the downloaded client it is possible to have the client taking care of the voicemail service and store it locally on the PC, but it's also possible for the website to negotiate the storage of the voicemail - acting like a intermediating server. Furthermore, it is also possible for the website to act as a directory server - receiving voicemails for users which are currently not online, or just setting up the call connection/rerouting the call.
There exist some Java-applet based calling softphones, but I have no overview of how many and what standards they adhere to or their capabilities. I remember one from the IBM developersite.
Most hardware-based VoIP products like Sipura uses the G.711 codec which requires around 80kbps both ways to give top quality - equalling or even surpassing ISDN 64-kbps call quality. While most free softphones which are multi-platform might offer a limited range of codecs - like G.711 (or PCM) and GSM (which is a very low bandwidth codec - and bad quality). Most Windows-based softphones offer the usage of many of the bundled commercial codecs on the windows platform which includes low-bandwith high-quality codecs (more CPU-intensive - just like with video) - like G.729.1 etc. which offer toll quality.
There are as you see, several considerations to offering VoIP-enhanced services through a website.
The biggest problem which has mared the Voip-industry has been the commercialization of the codecs as well as the overly complex standards with ever-changing products and services on the Internet. E.g I worked in Telenor in 1997 when we launched the world's first commercial H.323 service and programmed the client on top of Windows TAPI and using Java servlets to interface AAA login to a Ericsson supplied H.323 Gatekeeper (the worlds largest Java program at the time). The service worked ok, and we even had our own numbering plan which meant we had PC-POTS and POTS-PC capabilities. We offered a pricing plan based on Deltathree's IP backbone for VoIP.
Later on, standards like Megaco etc. just showed that there still was things to consider, and H.323 became like a umbrella-standard wanting to interoperate and incorporate every possible function and standard. Typical ITU stuff in other words. I also worked in TANDBERG (after selling my company to them in 1999) making the jump from ISDN-based videoconferencing systems to IP-based videoconferencing systems (both Putin and Bush uses high-end TANDBERG systems to talk to each other).
The SIP standard followed soon with increasingly popularity because of it's simplified text-based protocol similar to HTTP. That meant lower-cost of implentation and production - as well as faster time-to-market.
Now, Skype is very popular using G.711 over AES/Rjindael encrypted tunnels, traversing NAT and firewalls like a hot knife through butter. It also uses advanced technology like Global IP-Sound to smooth packetloss etc.
I don't think that Skype is the final word in IP telephony. The next big thing now is mobile cellular phones connecting through WiFi/WiMax hotspots or cells (WiMax IEEE 802.16 mobile offers roaming and up to 5km ranges). I used to work in NOKIA Telecommunications R&D as well, and in 1995 I was working on the switching platforms with multimedia over ATM networks and IP-tunneling etc. But now, Nokia is supporting Intel in their launch of the first WiMax chipsets, and low-power-requiring WiFi chipsets for mobile cellular phones.
There also exists stuff for connecting normal phones to Skype - see Siemens-site for Skype-phone dongle - which means newer Siemens handsets can connect to the Skype service via your PC - and you can use more advanced addressing than just the numberpad (it has a display with Skype status etc.). Just recently www.ipdrum.com announced a mobile cellular phone connecting device for Skype.
The big thing on the markets is going to be IP-based services which connects to cellular phones - one example is www.who-is.no which sends a map of the address from the phonebook-service when you ask for the address and driving directions to a phonenumber (e.g missed calls).
The other big thing is educational - as also mentioned here - where conferencing and archiving of courses and classes is very important. Mix this in with digital tv services - digitv - and you get the idea; VOD - video-on-demand. This has a potential huge impact in the developing world, where it could mean that rural areas could get access to university courses. Check out e.g BBC and their P2P push, as well as the MIT opencourse stuff for more on this - even mentioned on Wired some times.
Back to the original ideas raised here, you could do a intermediating service, whereby you could chose to reroute to a callto:-tag or reroute to a voicemail-service, based on the fact if the user was logged in or not, or even willing to answer (on no-disturb i.e). Taking the recording of the voicemail is non-trivial since it involves processing and storage of the voice-data possibly using high-cost commercial codecs. The better approach would be instructing the client application to record it locally, and then upload it - or even simultaneously uploading it. It could even be MP3, or better Ogg-Vorbis or AAC. This involves creating a fairly complex client softhphone which would be downloaded when logging in to the site (or perhaps even for anonymous users - optionally maybe). The client would be enabled inside the browser page - and then opening a separate application window when needing to - like when calling or setting options maybe.
When touching on the subject of multi-party conferencing, with muxing of audio - maybe even video, that is so complex and resources-demanding that most websites would not consider this. Take a look at the TANDBERG line of products e.g. They are equipped with several real-time OS-running embedded processors to handle the media streams - no normally equipped PC or server can do this. Examples of these dedicated processors are Philips TriMedia, Equator and TI 320cx64. All of these are multimedia-specialized VLIW-processors.
Muxing only audio is easier, but still requires some well designed very-responsive software and server, since any delay over 250 ms or around there will be an experience like using a walkie-talkie or radio where you say "over" to let anyone else speak, which sort of defies the idea of muxing audio. :-)
In any case - receiving voicemail other than pre-processed data is fairly complex. Requiring something like Asterisk is maybe overkill, but certainly the most flexible since it's a full-fledged PABX. Writing your own software is not a small project if you are going to handle live VoIP and the codecs. Writing your own client might also be a hassle if you need the client softphone to be able to handle receiving calls - which means you need to traverse NAT and/or firewalls. Otherwise the client softphone could "poll" the server - which could create immense problems on a popular website. My TAPI-based client in 1997 polled for continously AAA, but that was every 1 or 2 minutes - hardly a time someone would wait for someone to pick up the phone. Of course calling was directly using Q.931 - not polling, only AAA was polling.
I think the best overall solution would be a type of a wrapper around Skype if it's possible. Whereby it would be downloaded with a Java applet or Flash application - and then some extra functionality could be included which could make the voicemail and other features interact with the Drupal-based website. I'm sure it's not doable yet with the still evolving Skype API - and perhaps they will never allow it - they are a business after all.
I can't think of another SIP-based softphone client right now which can be wrapped - but maybe someone else has the right candidate.
I hope this information can be useful, as to what the considerations and some of the workings of current VoIP technologies are, and trying to incorporate it into a Drupal site, or module.
Also, www.voxilla.com has a lot of VoIP related discussion, on both services, software and equipment - like Asterisk.
superb
superb input eladrin and some great links. nice one.
Dub
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Gizmo Project
Don't forget about Gizmo Project http://www.gizmoproject.com API soon to be released.
More on Gizmo
Gizmo is nice, because it uses the SIP standard (well, sorta standard), which is also one of a small field of players in the ever-intesifying battle to control presence management...
I totally don't get the idea about embedding a voice app into drupal, given the number of existing clients and alternatives already out there... Certainly, for chat, I don't want to (generally) talk in a box on a website, I want to use GAIM, or iChat, or whatever and consolidate all my different accounts/communities under one chat umbrella.
The more I use VoIP, the more I want the same thing to happen with phone presence - especially since, with a combination of Asterisk and ProjectGizmo, I can more or less make* free calls anywhere in the world, and receive VoIP or REGULAR phone calls at any one of my home or work computers, my home landline, or my cell phone (Asterisk has decent phone-hunting features), or let my "nigh infinite 500GB voicemail box" take a message. Anyway, I guess, I'm just saying I'd agree with those who are touting the "callto:" type link, rather than a full-fledged client... It just seems Drupal is so well suited to the "show if I'm online/taking calls" world/community aesthetic, rather than the various flash/embedded one-off solutions out there.
But, if someone can do both, even better! ;)
first VOIP.MODULE for Drupal
Just thought I'd update this thread for anyone following it that the first VOIP module for drupal has been unleashed by Malthus using the open source Asterisk API.
The Asterisk.Module is here:
http://drupal.org/node/31142
The development & demo site is here:
http://phone.com.jm/drupal/
Diub
Currently in Switzerland working as an Application Developer with UBS Investment Bank...using Drupal 7 and lots of swiss chocolate
Just a note ...
Like I mentioned earlier, rerouting callto-functionality by polling is pretty straightforward - but pretty cool to do with Asterisk !
Getting voicemail to function is a different kind of beast, but might be worth the pondering to figure out a best compromise. Voicemail would be a killer feature if it can be done easily.
Good luck to the author on the module.
;-)
Voice over IP
Hey, Did this ever go anywhere? Sounds like a cool idea. Are there any live video chat modules? Can you point me to where any working chat or video chat or voice over IP functions are available?
Thanks.
Karl Erb
Communications Strategist
Information Architect, User Interface Designer
How to use DTMF signaling (sending and receiving DTMF) with Ozek
I really enjoyed reading this post, big fan. Keep up the good work and please tell me when can you publish more articles or where can I read more on the subject?
Here I can 1 more information about VoIP solution that isOzeki VoIP SIP Softphone solution, 1 of the popular and advance soluiton of VoIP.
http://www.voip-sip-sdk.com/p_91-softphone-development-basics-how-to-use...