Creating a SIP client for the OpenMoko

Matthew S. Hamrick mhamrick at cryptonomicon.net
Mon Mar 12 20:40:42 CET 2007


Viva SIP!

I've been working on some IP telephony applications at my day job,  
and the more I learn about SIP and the way people are using it, the  
more I like it. (Though I have to admit, I'm pretty illiterate with  
respect to IAX, I just like SIP more than I like SS7.) The cool part  
about using SIP (and presumably IAX) is that unlike SS7, it assumes  
that endpoints in the network have a bit of smarts, ergo you can do  
some relatively flexible things, including end-to-end encryption and  
adding "enhanced services" via client and proxy extensions. As an  
example, I'm working on a few hacks (in my copious spare time) that  
allow you to add generic bits of data to a phone call. So if you're  
on a SIP call, and the other person says, "hey, what's Bob's number",  
you can click over to your address book, lookup Bob's vCard and press  
"add to current session." It would then use the information your  
client has about the peer to automagically transfer the data.

With respect to Gizmo Project... I like everything about it except  
the fact that it doesn't seem to interface too well with the PSTN  
network. On the other hand, it is kinda free and I've been able to  
get it to run on the Mac and on the PC, so it totally gets bonus  
points. I use X-Ten's x-lite softphone client to interface with a  
commercial PSTN gateway, and haven't had too many problems with it.  
In an ideal world, we would have a client that has the nice  
presentation of Gizmo with the ability to interface with any ol' SIP  
proxy like x-lite.

With respect to SIP on the Neo1973... let's not forget that there are  
going to be future products that will have WiFi (or who knows...  
maybe even EVDO.) The Bluetooth option is not to be completely  
dismissed. While I would love to turn the 1973 into a WiFi phone, I'm  
happy to simply have it do cellular calls when I'm away from my house  
and SIP calls when I'm at home and in range of my Blooteuth net  
interface. And just to show you how crazy I am, I'd even accept  
having to plug in a USB cable to my Mac (or Linux box) and simply use  
the 1973 as a smart handset over a terrestrial network.

And... with respect to SIP... you should know that SIP is not the end  
of the story. SIP simply sets up a session for you, it doesn't  
transport the voice data. For that you need RTP (or some equivalent.)  
And this generally requires agreement as to which codecs to support  
and what-not.

Over the past six months or so, I've been working on my own  
implementation of SDP (RFC4566), SIP (RFC3261), RTP (RFC3550), MiKEY  
(RFC3830 and RFC4738) and SRTP (RFC3711) as DBUS services with  
GObject client interfaces for use with the Nokia 770. At the rate I'm  
going, I might have it finished by the end of 2008. But since I've  
started getting more interested in OpenMoKo, I might just switch over  
to making a more generic or Neo-specific stack.

But the simple answer is... yes, there are people out there that like  
SIP/(S)RTP and some of these people are interested in working on open  
platforms like the myPhone, Nokia 770 and OpenMoKo / Neo1973. And...  
using SIP/(S)RTP over Blooteuth or USB is still somewhat compelling.

-Cheers
-Matt H.


On Mar 12, 2007, at 11:50 AM, Jonathon Suggs wrote:

> Chuck Pareto wrote:
>> I was thinking about getting a Sip phone to use with the Gizmo  
>> Voip service
>> (my friend is using it and loves it), but then thought about  
>> creating a
>> Sip/Voip client to run on the OpenMoko. Does anyone know if this  
>> would be
>> possible? Can it be done exclusively in software? I don't know if  
>> this has
>> already been covered in the forums so any response would be helpful.
>> -Chuck
>>
>> --------------------------------------------------------------------- 
>> ---
>>
>> _______________________________________________
>> OpenMoko community mailing list
>> community at lists.openmoko.org
>> http://lists.openmoko.org/mailman/listinfo/community
>>
> Its been covered, I'm just too lazy to dig up the old threads.  I  
> don't think there is a problem with creating a SIP client, but the  
> main issue is the lack of a sufficiently fast enough transmission  
> (ie no WiFi).  There is bluetooth and that is a possibility, but  
> would require a Bluetooth Network Access Point.  If you have (or  
> plan to have) one of those in your home/wherever then it could make  
> sense, but that won't help you while you are on the go as network  
> access via Bluetooth is pretty scarce.  GPRS possibly even EDGE  
> (not in current hardware, but possibly in future revs) isn't great  
> for VoIP.  There is a lot of latency in those protocols, so that is  
> why voice doesn't sound that great coming over them.
>
>
> Very simplified explanation, so if you want more details just let  
> us know and I/we will be more specific.
>
> _______________________________________________
> OpenMoko community mailing list
> community at lists.openmoko.org
> http://lists.openmoko.org/mailman/listinfo/community





More information about the community mailing list