Creating a SIP client for the OpenMoko
Matthew S. Hamrick
mhamrick at cryptonomicon.net
Mon Mar 12 20:40:42 CET 2007
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
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.
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.
>> OpenMoko community mailing list
>> community at lists.openmoko.org
> 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
More information about the community