Discussion:
JAIN SIP For Android and what"s best for community ?
Jean Deruelle
2014-10-13 10:52:49 UTC
Permalink
Vladimir,

It seems there is an issue with using android as a prefix and mass
replacing that everywhere.

The javax.sip.SipFactory, to create a SipStack, uses the following code
Constructor sipStackConstructor = Class.forName(
getPathName() +
".android.javax.sip.SipStackImpl").getConstructor(
paramTypes);

Using android as prefix, makes it that we need to pass android.gov.nist as
pathName (where in non Android case we pass gov.nist), as such the
SipFactory tries to load the
android.gov.nist.android.javax.sip.SipStackImpl and fails as only
android.gov.nist.javax.sip.SipStackImpl is present in the classes. You can
test this by modifying the examples.simplecallsetup.Shootist example

Shall we go back to our original proposal of using gov.nist.android for the
core packages and javaxx for the spec packages that was tested and working
or do you want to propose something else like renaming the gov.nist.javax
packages to android.gov.nist.android.javax which seems a little redundant
but would work ?

Thanks in advance
Best Regards,
Jean
Please note the particular commit 2323 that introduced the port to JAIN
SIP was a work in progress unfortunately commited with another issue fix
when synching back from the git repo we work on back to this SVN repo.
It was corrected in a later revision 2338. It was by no means intended as
a plug for telestax for that matter. Same thing with source headers, it
happened in the past that some source header automatically added by editors
(contained the wrong license header) made it back in the repo. It is by no
means a plug to put Mobicents or TeleStax name in there. This happened in
the past, it will probably happen in the future again. The important thing
is that it's corrected and that a red flag is raised when this is spotted
so the code stay independent and it was in both cases
Sorry to see things taking this way. We will try to be more careful in the
future on those but we are only humans (albeit probably working towards a
human 2.0 soon) so it may happen again, please raise a red flag if you see
something amiss, and we will correct it.
Jean
The biggest advantage of "android" prefix for everything is that it's
easier to do mass replace and port existing examples under a single keywork
if you will. Also please keep in mind that I do the renaming a little
differently and I merely tried to fix the broken at the time android
conversion script. Jean, I just ask you to please avoid overpromoting
telestax in not so subtle ways. Many people, including me, are building
their business on JAIN-SIP and if we all start putting ads in
inappropriate places, that can't end well. Seeing telestax package name
in the renaming script was frustrating.
Hi all,
Just a heads up that we, at TeleStax, started some work on porting the
JAIN SIP Stack to Android. We integrated into our JAIN SIP Maven Based Continous
Integration Job https://mobicents.ci.cloudbees.com/job/jain-sip the
ability to produce a jar for android as well for those that want to
write native SIPApplications on Android and have more capabilities than
the native SIP Stack Android provides (which is based on JAIN SIP as
well)
Read more at http://www.telestax.com/jain-sip-stack-for-android/ on the
reasons of the port (and to test it out). The main reason for the port is
to avoid conflcting with the Google forked SIP Stack that ships with
Android which is not accessible to developers and hidden behind their
higher layer API (which is limited in terms of features)
We started with renaming the packages to com.telestax for testing, then
settled on gov.nist.android for the core packages and javaxx for the spec
packages to stay independent. Valdimir Ralev recently made modifications to
it so that it becomes android.gov.nist and android.javax.
I was wondering if gov.nist.android and javax.android was a better fit
instead to keep the java convention of package naming and wanted to poll
the community on that. What would be your favorite package name for android
and has anyone better name ?
Note: This is also going to become part of our RestComm Android Mobile
SDK https://github.com/Mobicents/restcomm-android-sdk if anyone is
interested in contributing and helping on an open source mobile SDK for
android (with messaging, audio, video, WebRTC interop, presence, etc).
Thanks in advance
Best Regards
Jean
Vladimir Ralev
2014-10-13 16:54:05 UTC
Permalink
Right, I have some rules to port. For me it's better to have android prefix
which strongly suggests it's an android version. javaxx would be confusing
IMHO. I will take care of it and put a test a bit later.
Post by Jean Deruelle
Vladimir,
It seems there is an issue with using android as a prefix and mass
replacing that everywhere.
The javax.sip.SipFactory, to create a SipStack, uses the following code
Constructor sipStackConstructor = Class.forName(
getPathName() +
".android.javax.sip.SipStackImpl").getConstructor(
paramTypes);
Using android as prefix, makes it that we need to pass android.gov.nist as
pathName (where in non Android case we pass gov.nist), as such the
SipFactory tries to load the
android.gov.nist.android.javax.sip.SipStackImpl and fails as only
android.gov.nist.javax.sip.SipStackImpl is present in the classes. You can
test this by modifying the examples.simplecallsetup.Shootist example
Shall we go back to our original proposal of using gov.nist.android for
the core packages and javaxx for the spec packages that was tested and
working or do you want to propose something else like renaming the
gov.nist.javax packages to android.gov.nist.android.javax which seems a
little redundant but would work ?
Thanks in advance
Best Regards,
Jean
Please note the particular commit 2323 that introduced the port to JAIN
SIP was a work in progress unfortunately commited with another issue fix
when synching back from the git repo we work on back to this SVN repo.
It was corrected in a later revision 2338. It was by no means intended
as a plug for telestax for that matter. Same thing with source headers, it
happened in the past that some source header automatically added by editors
(contained the wrong license header) made it back in the repo. It is by no
means a plug to put Mobicents or TeleStax name in there. This happened in
the past, it will probably happen in the future again. The important thing
is that it's corrected and that a red flag is raised when this is spotted
so the code stay independent and it was in both cases
Sorry to see things taking this way. We will try to be more careful in
the future on those but we are only humans (albeit probably working towards
a human 2.0 soon) so it may happen again, please raise a red flag if you
see something amiss, and we will correct it.
Jean
The biggest advantage of "android" prefix for everything is that it's
easier to do mass replace and port existing examples under a single keywork
if you will. Also please keep in mind that I do the renaming a little
differently and I merely tried to fix the broken at the time android
conversion script. Jean, I just ask you to please avoid overpromoting
telestax in not so subtle ways. Many people, including me, are building
their business on JAIN-SIP and if we all start putting ads in
inappropriate places, that can't end well. Seeing telestax package name
in the renaming script was frustrating.
Hi all,
Just a heads up that we, at TeleStax, started some work on porting the
JAIN SIP Stack to Android. We integrated into our JAIN SIP Maven Based Continous
Integration Job https://mobicents.ci.cloudbees.com/job/jain-sip the
ability to produce a jar for android as well for those that want to
write native SIPApplications on Android and have more capabilities
than the native SIP Stack Android provides (which is based on JAIN SIP as
well)
Read more at http://www.telestax.com/jain-sip-stack-for-android/ on
the reasons of the port (and to test it out). The main reason for the port
is to avoid conflcting with the Google forked SIP Stack that ships
with Android which is not accessible to developers and hidden behind their
higher layer API (which is limited in terms of features)
We started with renaming the packages to com.telestax for testing, then
settled on gov.nist.android for the core packages and javaxx for the spec
packages to stay independent. Valdimir Ralev recently made modifications to
it so that it becomes android.gov.nist and android.javax.
I was wondering if gov.nist.android and javax.android was a better fit
instead to keep the java convention of package naming and wanted to poll
the community on that. What would be your favorite package name for android
and has anyone better name ?
Note: This is also going to become part of our RestComm Android Mobile
SDK https://github.com/Mobicents/restcomm-android-sdk if anyone is
interested in contributing and helping on an open source mobile SDK for
android (with messaging, audio, video, WebRTC interop, presence, etc).
Thanks in advance
Best Regards
Jean
Jean Deruelle
2014-10-13 19:02:26 UTC
Permalink
In that case, I think we can do android.javax.sip.* and
android.javax.sdp.*, which developers will use in their app and
gov.nist.android.*, which will be mostly hidden to developers albeit for
stack properties.
If that's fine for you and others. I can quickly fix and test it as we
already have an android app ready for that (that we will update to new
packages)

Thanks
Best regards,
Jean
Post by Vladimir Ralev
Right, I have some rules to port. For me it's better to have android
prefix which strongly suggests it's an android version. javaxx would be
confusing IMHO. I will take care of it and put a test a bit later.
Post by Jean Deruelle
Vladimir,
It seems there is an issue with using android as a prefix and mass
replacing that everywhere.
The javax.sip.SipFactory, to create a SipStack, uses the following code
Constructor sipStackConstructor = Class.forName(
getPathName() +
".android.javax.sip.SipStackImpl").getConstructor(
paramTypes);
Using android as prefix, makes it that we need to pass android.gov.nist
as pathName (where in non Android case we pass gov.nist), as such the
SipFactory tries to load the
android.gov.nist.android.javax.sip.SipStackImpl and fails as only
android.gov.nist.javax.sip.SipStackImpl is present in the classes. You can
test this by modifying the examples.simplecallsetup.Shootist example
Shall we go back to our original proposal of using gov.nist.android for
the core packages and javaxx for the spec packages that was tested and
working or do you want to propose something else like renaming the
gov.nist.javax packages to android.gov.nist.android.javax which seems a
little redundant but would work ?
Thanks in advance
Best Regards,
Jean
Please note the particular commit 2323 that introduced the port to JAIN
SIP was a work in progress unfortunately commited with another issue fix
when synching back from the git repo we work on back to this SVN repo.
It was corrected in a later revision 2338. It was by no means intended
as a plug for telestax for that matter. Same thing with source headers, it
happened in the past that some source header automatically added by editors
(contained the wrong license header) made it back in the repo. It is by no
means a plug to put Mobicents or TeleStax name in there. This happened in
the past, it will probably happen in the future again. The important thing
is that it's corrected and that a red flag is raised when this is spotted
so the code stay independent and it was in both cases
Sorry to see things taking this way. We will try to be more careful in
the future on those but we are only humans (albeit probably working towards
a human 2.0 soon) so it may happen again, please raise a red flag if you
see something amiss, and we will correct it.
Jean
The biggest advantage of "android" prefix for everything is that it's
easier to do mass replace and port existing examples under a single keywork
if you will. Also please keep in mind that I do the renaming a little
differently and I merely tried to fix the broken at the time android
conversion script. Jean, I just ask you to please avoid overpromoting
telestax in not so subtle ways. Many people, including me, are building
their business on JAIN-SIP and if we all start putting ads in
inappropriate places, that can't end well. Seeing telestax package
name in the renaming script was frustrating.
Hi all,
Just a heads up that we, at TeleStax, started some work on porting
the JAIN SIP Stack to Android. We integrated into our JAIN SIP Maven
Based Continous Integration Job
https://mobicents.ci.cloudbees.com/job/jain-sip the ability to
produce a jar for android as well for those that want to write native
SIPApplications on Android and have more capabilities than the native
SIP Stack Android provides (which is based on JAIN SIP as well)
Read more at http://www.telestax.com/jain-sip-stack-for-android/ on
the reasons of the port (and to test it out). The main reason for the port
is to avoid conflcting with the Google forked SIP Stack that ships
with Android which is not accessible to developers and hidden behind their
higher layer API (which is limited in terms of features)
We started with renaming the packages to com.telestax for testing,
then settled on gov.nist.android for the core packages and javaxx for the
spec packages to stay independent. Valdimir Ralev recently made
modifications to it so that it becomes android.gov.nist and android.javax.
I was wondering if gov.nist.android and javax.android was a better fit
instead to keep the java convention of package naming and wanted to poll
the community on that. What would be your favorite package name for android
and has anyone better name ?
Note: This is also going to become part of our RestComm Android Mobile
SDK https://github.com/Mobicents/restcomm-android-sdk if anyone is
interested in contributing and helping on an open source mobile SDK for
android (with messaging, audio, video, WebRTC interop, presence, etc).
Thanks in advance
Best Regards
Jean
Loading...