SIP Client

From WebOS Internals
Revision as of 17:50, 9 January 2010 by Odinsdream (talk | contribs) (New page: I've just started working on trying to get a SIP client working on the Pre. [http://www.pjsip.org/pjsua.htm PJSUA] has been compiled for the Pre [[http://forums.precentral.net/palm-pre/20...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

I've just started working on trying to get a SIP client working on the Pre.

PJSUA has been compiled for the Pre [by withineboredom at the PreCentral forums]. This is a command-line SIP client based on PJSIP, which is the core of a lot of [other open-source SIP clients] including [Siphone] for the iPhone.

If you don't have an account at PreCentral, you can download the binary straight from my site at [[1]] (1.2M)

Copy this to /opt/bin/ on the device (assuming you've already installed Optware) and then run it by executing ./pjsua

Review the documentation for the application at [[2]]

Like withineboredom says, the application doesn't automatically detect any audio devices. It otherwise works fine - you can place and receive calls (as long as you have an account with a SIP provider) and you can see the traffic going back and forth.

In researching the audio setup, apparently the Pre uses [PulseAudio] to route audio. Check out the files in /etc/pulse/ on the Pre, especially system.pa which defines some per-application sound settings.

pulseaudio is running in System mode on the device, and it interestingly doesn't have disallow-module-loading enabled. This mode is discussed at the [PulseAudio documentation site] and here's the interesting part:

"Worse security, because the user can now command a server app running under another user name. He could even load/unload modules from that sound server "

This seems like it's actually a good thing from the perspective of adding functionality to the system by loading new modules instead of altering the existing setup at all.

PJSUA has command-line flag options to specify the capture and output audio devices. I haven't been able to figure out the appropriate things to set these options to. I've tried hw:0 and pcm_output and pcm_input without luck. If anyone has more experience with PulseAudio and how to pass audio into it from PJSUA, I think we have a good chance of creating a SIP client.

With the latest announcements from CES about additional development tools from Palm, it could be possible to include [PJSIP] code directly into a native application.