Dan,
Have you seen CSipSimple project?
There is already a dev for the OpenSL driver + a dev implementation
for the java.... This two devices are under Apache License.
The OpenSL-ES driver is much more clean than the java one and could
probably be embedded somewhere else... (Reason why I recently post
here about this dev implementation)...
Regards,
Régis
2011/3/7 Dan Arrhenius dan@keystream.se:
We are running the pjsua reference application on android.
Here's how to do it (on Linux):
Download and install Android NDK version r5b.
Install a standalone toolchain as described in
android-ndk-r5b/docs/STANDALONE-TOOLCHAIN.html
Download and install pjproject version 1.8.10
Apply the attached patch to pjproject.
Run autoconf (important since the patch only patches aconfigure.ac and
not aconfigure):
cd pjproject-1-8-10
autoconf aconfigure.ac >aconfigure
Run configure:
CC=<path_to_installed_android_toolchain>/bin/arm-linux-androideabi-gcc
./configure --host=arm-linux-androideabi
Run make dep and make:
make dep && make
Done.
NOTE!
No audio is supported with this patch !
I have started an implementation of a sound back-end for OpenSL ES on
Android, but it's not finished due to lack of an Android 2.3 phone to test
on.
At present we are using AudioRecord and AudioTrack to implement audio but
it's not included in this patch since it depends om pre-compiled binaries.
Regards,
Dan
Download pjproject version 1.8.10.
Apply the patch attached to this mail.
Download Android NDK version r5b.
Install a standalone toolchain
On 03/03/2011 10:26 AM, Stefan Hobbel wrote:
Hello,
has anyone compiled PJSIP for Android, running on ARM?
Can you give me pointers on how to do this, native and cross compile and
what tools I
should be using?
Thanks!
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Hi Régis,
yes I am aware of the CSipSimple project, a very nice project indeed :-)
But our aim was not to have a java version of pjproject, instead we wanted to have
pjproject "as is", but for the Android platform. We have class libraries that we want to
reuse and only build jni-classes for the methods we use in our GUI.
Also it never hurts to know how to build pjproject with the Android standalone toolchain ;-)
Thanks for the tip about the OpenSL-ES driver, I'll have a look at is as soon as I get
hold of a phone with Android 2.3.
Regards,
Dan
On 03/07/2011 04:12 PM, Régis Montoya wrote:
Dan,
Have you seen CSipSimple project?
There is already a dev for the OpenSL driver + a dev implementation
for the java.... This two devices are under Apache License.
The OpenSL-ES driver is much more clean than the java one and could
probably be embedded somewhere else... (Reason why I recently post
here about this dev implementation)...
Regards,
Régis
2011/3/7 Dan Arrheniusdan@keystream.se:
We are running the pjsua reference application on android.
Here's how to do it (on Linux):
Download and install Android NDK version r5b.
Install a standalone toolchain as described in
android-ndk-r5b/docs/STANDALONE-TOOLCHAIN.html
Download and install pjproject version 1.8.10
Apply the attached patch to pjproject.
Run autoconf (important since the patch only patches aconfigure.ac and
not aconfigure):
cd pjproject-1-8-10
autoconf aconfigure.ac>aconfigure
Run configure:
CC=<path_to_installed_android_toolchain>/bin/arm-linux-androideabi-gcc
./configure --host=arm-linux-androideabi
Run make dep and make:
make dep&& make
Done.
NOTE!
No audio is supported with this patch !
I have started an implementation of a sound back-end for OpenSL ES on
Android, but it's not finished due to lack of an Android 2.3 phone to test
on.
At present we are using AudioRecord and AudioTrack to implement audio but
it's not included in this patch since it depends om pre-compiled binaries.
Regards,
Dan
Download pjproject version 1.8.10.
Apply the patch attached to this mail.
Download Android NDK version r5b.
Install a standalone toolchain
On 03/03/2011 10:26 AM, Stefan Hobbel wrote:
Hello,
has anyone compiled PJSIP for Android, running on ARM?
Can you give me pointers on how to do this, native and cross compile and
what tools I
should be using?
Thanks!
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Hi all!
I've made a new patch for building pjproject v1.8.10 for Android(ARM). I've tested the
pjsua reference application on a Nexus S running Android 2.3 and on a LG GW620 running
OpenEtna(Android 2.2).
Audio is only supported on Android 2.3 (and higher versions).
A short instruction on compiling pjproject on Linux:
Download and install Android NDK version r5b.
Install a standalone toolchain as described in
android-ndk-r5b/docs/STANDALONE-TOOLCHAIN.html
Download and install pjproject version 1.8.10
Apply the attached patch to pjproject.
Run autoconf (important since the patch only patches aconfigure.ac and not aconfigure):
cd pjproject-1-8-10
autoconf aconfigure.ac >aconfigure
Run configure:
CC=<path_to_installed_android_toolchain>/bin/arm-linux-androideabi-gcc ./configure
--host=arm-linux-androideabi --disable-floating-point --disable-large-filter
Run make dep and make:
make dep && make
Done.
NOTE!
Audio in only supported for Android 2.3 (API level 9) and higher versions.
When building for API level 8 and lower only null_audio will be supported.
Regards,
Dan
Hi Dan that's a cool contrib.
I'd be interested to put parts of your contrib in csipsimple opensl-es
driver (I don't know if you read my already existing code).
If so, as I release this file under Apache it could mean to change
your license (or dual license it).
(Just for info the rest of the csipsimple project is under GPL, I just
do that for the pjsip port so that teluu can reuse my code with their
dual license).
Besides, I've just a remark on your code :
I think this is not a good idea. In android stream type does not
(normally) have anything to do with routing. Many manufacturer do so,
but from my experience it is not the best way to do so.
I've read the stock SIP application of android 2.3 and stream they use
is VOICE.
In previous android version it was very fuzzy, but now that's really
more clear about what we should do. Stream should be VOICE, we should
focus on this stream (as far as I know this can only be done on the java
part -- it could be interesting to see if it's possible to add a
callback just like the one there is in pjsip-2.0 to perform it a clean way).
Also we should set audioMode to IN_COMMUNICATION (this can also be done
using java api, I'm not sure whether it's available in opensl android
extension).
And to switch to speaker I think that the best solution would be to use
pcm.channelMask.
Even if for now in CSipSimple project I do that using the java api since
previous implementation already do that, I think that in opensl mask is
correct way.
Just a final info, if you want to contribute CSipSimple, you'll be
welcome :). I'm absolutely aware that for now the way I build is not
clean at all. I did that just cause I miss time. The native part is just
1% of my work time on the project thanks to teluu clean code ! :D
So if you want to join and contribute on pjsip_android part of
csipsimple do not hesitate to tell me :).
Also last point, not really linked to your patch but could be
interesting for you :
This week I successfully did a video call using pjsip-2.0 port on
android !!!! :D
I have two devices : on for opengl-es and one for android camera
capture. It works with the current pjsip-2.0 branch :) (I did successful
real tests between my ubuntu running pjsip-2.0 and CSipSimple with
pjsip2.0 :) ).
Also for others, if you are on iPhone and interested by the opengl-es
device (could be interesting if you want to integrate 3D video calls
(such as a 3D conference ;) )....
It's available here :
http://code.google.com/p/csipsimple/source/browse/branches/video/pjsip_android-2.0/apps/pjsip/project/jni/src/opengl_video_dev.c
As usually contribution to that are welcome !! Once again I did quick
things just to have a proof of concept but could be done a cleaner way I
think.
Regards,
Régis
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Hi Régis, thanks for your comments!
Sorry but I never looked at the existing code you told me about. I wanted to learn by
doing it from scratch ;-)
I have no problem releasing the audio implementation I've written under a dual GPL/Apache
license.
About the audio route, I wasn't sure at all what to do with it. At first I only used
VOICE, but then I wanted a way of playing ring tones and wav-files from pjsua using MEDIA.
That's the reason for the audio route implementation. Perhaps It's better to allow only VOICE.
About IN_COMMUNICATION and pcm.channelMask. I have missed that. I have to look into it.
Thanks!
I would like to contribute to the csipsimple project but I'm afraid I just don't have the
time at the moment. It's a cool project and really like the application (yes I have it
installed on my Android phone).
Regrads,
Dan
On 03/25/2011 02:45 PM, Régis Montoya wrote:
Hi Dan that's a cool contrib.
I'd be interested to put parts of your contrib in csipsimple opensl-es driver (I don't
know if you read my already existing code).
If so, as I release this file under Apache it could mean to change your license (or
dual license it).
(Just for info the rest of the csipsimple project is under GPL, I just do that for the
pjsip port so that teluu can reuse my code with their dual license).
Besides, I've just a remark on your code :
I think this is not a good idea. In android stream type does not (normally) have anything
to do with routing. Many manufacturer do so, but from my experience it is not the best way
to do so.
I've read the stock SIP application of android 2.3 and stream they use is VOICE.
In previous android version it was very fuzzy, but now that's really more clear about what
we should do. Stream should be VOICE, we should focus on this stream (as far as I know
this can only be done on the java part -- it could be interesting to see if it's possible
to add a callback just like the one there is in pjsip-2.0 to perform it a clean way).
Also we should set audioMode to IN_COMMUNICATION (this can also be done using java api,
I'm not sure whether it's available in opensl android extension).
And to switch to speaker I think that the best solution would be to use pcm.channelMask.
Even if for now in CSipSimple project I do that using the java api since previous
implementation already do that, I think that in opensl mask is correct way.
Just a final info, if you want to contribute CSipSimple, you'll be welcome :). I'm
absolutely aware that for now the way I build is not clean at all. I did that just cause I
miss time. The native part is just 1% of my work time on the project thanks to teluu clean
code ! :D
So if you want to join and contribute on pjsip_android part of csipsimple do not hesitate
to tell me :).
Also last point, not really linked to your patch but could be interesting for you :
This week I successfully did a video call using pjsip-2.0 port on android !!!! :D
I have two devices : on for opengl-es and one for android camera capture. It works with
the current pjsip-2.0 branch :) (I did successful real tests between my ubuntu running
pjsip-2.0 and CSipSimple with pjsip2.0 :) ).
Also for others, if you are on iPhone and interested by the opengl-es device (could be
interesting if you want to integrate 3D video calls (such as a 3D conference ;) )....
It's available here :
http://code.google.com/p/csipsimple/source/browse/branches/video/pjsip_android-2.0/apps/pjsip/project/jni/src/opengl_video_dev.c
As usually contribution to that are welcome !! Once again I did quick things just to have
a proof of concept but could be done a cleaner way I think.
Regards,
Régis
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
On 03/25/2011 02:45 PM, Régis Montoya wrote:
This week I successfully did a video call using pjsip-2.0 port on android !!!! :D
+1