[sip-comm-dev] SIP Communicator as a webphone


#1

Dear Developers,

I'm new to the list. My name is Zoltan, I work as a sysadmin at a VoIP company.

My question is if SIP Communicator is capable of being a Java applet
on a web page. If yes, has anyone experience in doing this?

Thank you for your answer in advance.

Best regards, Zoltan

···

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

I have investigated that use case. S-C is embedded in the Felix
framework, which can not run as an applet. It could be converted to a
Java Web Start app, but the JWS environment is not installed on all
browsers. The task of converting S-C to a pure applet would require more
research into its dependencies, and a significant effort for one or more
people. But it could be done. And I have found a couple of other people
interested in working on it. Are you interested in working on it, or
helping in some way?

···

On Tue, 2008-01-22 at 22:59 +0100, Kovács Zoltán wrote:

Dear Developers,

I'm new to the list. My name is Zoltan, I work as a sysadmin at a VoIP company.

My question is if SIP Communicator is capable of being a Java applet
on a web page. If yes, has anyone experience in doing this?

Thank you for your answer in advance.

Best regards, Zoltan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

--

(C) Matthew Rubenstein

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

You can also check out jain-sip-applet-phone.dev.java.net. It is
nowhere as complete or as good as SC but it does work as a web phone (
java applet ).

Ranga

···

On Jan 23, 2008 9:20 AM, Matthew Rubenstein <email@mattruby.com> wrote:

        I have investigated that use case. S-C is embedded in the Felix
framework, which can not run as an applet. It could be converted to a
Java Web Start app, but the JWS environment is not installed on all
browsers. The task of converting S-C to a pure applet would require more
research into its dependencies, and a significant effort for one or more
people. But it could be done. And I have found a couple of other people
interested in working on it. Are you interested in working on it, or
helping in some way?

On Tue, 2008-01-22 at 22:59 +0100, Kovács Zoltán wrote:
> Dear Developers,
>
> I'm new to the list. My name is Zoltan, I work as a sysadmin at a VoIP company.
>
> My question is if SIP Communicator is capable of being a Java applet
> on a web page. If yes, has anyone experience in doing this?
>
> Thank you for your answer in advance.
>
> Best regards, Zoltan
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
> For additional commands, e-mail: dev-help@sip-communicator.dev.java.net
>
--

(C) Matthew Rubenstein

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

--
M. Ranganathan
"There are two ways to write error-free programs; only the third one
works." -- Alan Perlis
http://www.animenewsnetwork.com/encyclopedia/anime.php?id=1052

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#4

Hi,

as part of my thesis to finish my studies I am currently working on
running Sip communicator as an applet, to embedd it into a webpage.

And it is possible to run it (with the Felix framework) inside an
applet. These are the things you need to do to archive this:

- write a custom class that extends JApplet, which starts the Felix
framework, with all its bundle parameters (at least the ones you need),
as they are currently in the felix.client.run.properties file. To load
the bundles, put them on a webserver and load them from there.
- you also have to write a small bundle which holds the JApplet Class
you created to make it available to the framework
- create an instance of this bundle before you start Felix, and pass the
reference as an parameter to the framework
- in the framework, get this instance and set the contentPane of the
applet (currently I have just changed the swing-ui bundle, so that the
main panel is set as the content pane of the applet)

That's all. I haven't done many tests on it yet, but starting it from
eclipse as an applet works quiet well, making telephone calls via SIP is
possible (at least on my ubuntu linux machine)

Sebastian

Matthew Rubenstein schrieb:

···

  I have investigated that use case. S-C is embedded in the Felix
framework, which can not run as an applet. It could be converted to a
Java Web Start app, but the JWS environment is not installed on all
browsers. The task of converting S-C to a pure applet would require more
research into its dependencies, and a significant effort for one or more
people. But it could be done. And I have found a couple of other people
interested in working on it. Are you interested in working on it, or
helping in some way?

On Tue, 2008-01-22 at 22:59 +0100, Kovács Zoltán wrote:

Dear Developers,

I'm new to the list. My name is Zoltan, I work as a sysadmin at a VoIP company.

My question is if SIP Communicator is capable of being a Java applet
on a web page. If yes, has anyone experience in doing this?

Thank you for your answer in advance.

Best regards, Zoltan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

--
/**
* Sebastian Heib
* Software Developer
*
* Synyx GmbH & Co. KG
* Business in Components
* Karlstr. 68
* 76137 Karlsruhe
*
* phone +49(0)721 66 24 866
* fax +49(0)721 66 48 877
* eMail heib@synyx.de
* www http://www.synyx.de
* irc irc.synyx.de
*
* Sitz der Gesellschaft: Karlsruhe
* Registergericht: Mannheim
* Handelsregisternummer: HRA 4793
* USt-IdNr.: DE249264296
*
* Komplementärin: Elatech Verwaltungs GmbH
* Sitz der Gesellschaft: Karlsruhe
* Geschäftsführer: Markus Daniel
* Registergericht: Mannheim
* Handelsregisternummer: HRB 7250
*/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#5

I am really looking forward to seeing you complete the applet. Let me
know if you need help, and I'll try. Also note that there have been
others talking on this list about helping to produce such an applet, who
might still be able to help. Good luck.

···

On Mon, 2008-01-28 at 10:03 +0100, Sebastian Heib wrote:

Hi,

as part of my thesis to finish my studies I am currently working on
running Sip communicator as an applet, to embedd it into a webpage.

And it is possible to run it (with the Felix framework) inside an
applet. These are the things you need to do to archive this:

- write a custom class that extends JApplet, which starts the Felix
framework, with all its bundle parameters (at least the ones you need),
as they are currently in the felix.client.run.properties file. To load
the bundles, put them on a webserver and load them from there.
- you also have to write a small bundle which holds the JApplet Class
you created to make it available to the framework
- create an instance of this bundle before you start Felix, and pass the
reference as an parameter to the framework
- in the framework, get this instance and set the contentPane of the
applet (currently I have just changed the swing-ui bundle, so that the
main panel is set as the content pane of the applet)

That's all. I haven't done many tests on it yet, but starting it from
eclipse as an applet works quiet well, making telephone calls via SIP is
possible (at least on my ubuntu linux machine)

Sebastian

Matthew Rubenstein schrieb:
> I have investigated that use case. S-C is embedded in the Felix
> framework, which can not run as an applet. It could be converted to a
> Java Web Start app, but the JWS environment is not installed on all
> browsers. The task of converting S-C to a pure applet would require more
> research into its dependencies, and a significant effort for one or more
> people. But it could be done. And I have found a couple of other people
> interested in working on it. Are you interested in working on it, or
> helping in some way?
>
>
> On Tue, 2008-01-22 at 22:59 +0100, Kovács Zoltán wrote:
>> Dear Developers,
>>
>> I'm new to the list. My name is Zoltan, I work as a sysadmin at a VoIP company.
>>
>> My question is if SIP Communicator is capable of being a Java applet
>> on a web page. If yes, has anyone experience in doing this?
>>
>> Thank you for your answer in advance.
>>
>> Best regards, Zoltan
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
>> For additional commands, e-mail: dev-help@sip-communicator.dev.java.net
>>

--

(C) Matthew Rubenstein

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#6

Hi,

at the moment I have got the following problem, when starting SIP
communicator as an applet:

The applet starts to load, but when loading the different bundles, it
fails with the following LinkageError:

ERROR: Unable to start system bundle. (java.lang.LinkageError:
sun/plugin/net/protocol/http/Handler)
java.lang.LinkageError: sun/plugin/net/protocol/http/Handler
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:169)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:781)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:93)
  at
org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:173)
  at java.net.URL.getURLStreamHandler(URL.java:1106)
  at java.net.URL.<init>(URL.java:572)
  at java.net.URL.<init>(URL.java:464)
  at java.net.URL.<init>(URL.java:413)
  at java.net.JarURLConnection.parseSpecs(JarURLConnection.java:161)
  at java.net.JarURLConnection.<init>(JarURLConnection.java:144)
  at
sun.net.www.protocol.jar.JarURLConnection.<init>(JarURLConnection.java:63)
  at
sun.plugin.net.protocol.jar.CachedJarURLConnection.<init>(CachedJarURLConnection.java:57)
  at sun.plugin.net.protocol.jar.Handler.openConnection(Handler.java:18)
  at java.net.URL.openConnection(URL.java:945)
  at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:645)
  at sun.misc.URLClassPath$JarLoader.access$600(URLClassPath.java:538)
  at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:605)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:597)
  at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:559)
  at sun.misc.URLClassPath$3.run(URLClassPath.java:331)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.misc.URLClassPath.getLoader(URLClassPath.java:320)
  at sun.misc.URLClassPath.getLoader(URLClassPath.java:297)
  at sun.misc.URLClassPath.getResource(URLClassPath.java:167)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:155)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:127)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:169)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:781)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:93)
  at
org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:173)
  at java.net.URL.getURLStreamHandler(URL.java:1106)
  at java.net.URL.<init>(URL.java:572)
  at java.net.URL.<init>(URL.java:464)
  at java.net.URL.<init>(URL.java:413)
  at
org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:301)
  at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:90)
  at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:68)
  at
org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:1069)
  at
org.apache.felix.framework.cache.BundleArchive.revise(BundleArchive.java:701)
  at
org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:143)
  at
org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:145)
  at org.apache.felix.framework.Felix.installBundle(Felix.java:2234)
  at org.apache.felix.framework.Felix.installBundle(Felix.java:2194)
  at
org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:124)
  at
org.apache.felix.main.AutoActivator.processAutoProperties(AutoActivator.java:121)
  at org.apache.felix.main.AutoActivator.start(AutoActivator.java:55)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:853)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:580)
  at
org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3771)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:853)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:580)
  at org.apache.felix.framework.Felix.start(Felix.java:828)
  at
net.java.sip.communicator.launcher.SIPCommunicatorApplet.init(SIPCommunicatorApplet.java:201)
  at sun.applet.AppletPanel.run(AppletPanel.java:418)
  at java.lang.Thread.run(Thread.java:619)

The reason seems to be, that "sun/plugin/net/protocol/http/Handler"
should be loaded a second time: As I debug it, I can see that the call
(exactly as in the above stacktrace, with the same parameters) is
successful for the first time. But as the call is performed a second
time, it fails with the shown exception.

The curious thing is, that this only happens if I start the applet in a
browser (I checked on firefox on win/ linux and on IE 6 on win - all the
same result). If the applet is started with the java appletviewer,
everything works well (there the call to load
"sun/plugin/net/protocol/http/Handler" is only performed once).

At the moment I don't know how to go on with this, as I have got no idea
what the reason for this behaviour is. I already tested it with the
newest (trunk) felix version, but no difference. Maybe somebody else
knows why it behaves like that...

Thanks
Sebastian

Matthew Rubenstein schrieb:

···

  I am really looking forward to seeing you complete the applet. Let me
know if you need help, and I'll try. Also note that there have been
others talking on this list about helping to produce such an applet, who
might still be able to help. Good luck.

On Mon, 2008-01-28 at 10:03 +0100, Sebastian Heib wrote:

Hi,

as part of my thesis to finish my studies I am currently working on
running Sip communicator as an applet, to embedd it into a webpage.

And it is possible to run it (with the Felix framework) inside an
applet. These are the things you need to do to archive this:

- write a custom class that extends JApplet, which starts the Felix
framework, with all its bundle parameters (at least the ones you need),
as they are currently in the felix.client.run.properties file. To load
the bundles, put them on a webserver and load them from there.
- you also have to write a small bundle which holds the JApplet Class
you created to make it available to the framework
- create an instance of this bundle before you start Felix, and pass the
reference as an parameter to the framework
- in the framework, get this instance and set the contentPane of the
applet (currently I have just changed the swing-ui bundle, so that the
main panel is set as the content pane of the applet)

That's all. I haven't done many tests on it yet, but starting it from
eclipse as an applet works quiet well, making telephone calls via SIP is
possible (at least on my ubuntu linux machine)

Sebastian

Matthew Rubenstein schrieb:

  I have investigated that use case. S-C is embedded in the Felix
framework, which can not run as an applet. It could be converted to a
Java Web Start app, but the JWS environment is not installed on all
browsers. The task of converting S-C to a pure applet would require more
research into its dependencies, and a significant effort for one or more
people. But it could be done. And I have found a couple of other people
interested in working on it. Are you interested in working on it, or
helping in some way?

On Tue, 2008-01-22 at 22:59 +0100, Kovács Zoltán wrote:

Dear Developers,

I'm new to the list. My name is Zoltan, I work as a sysadmin at a VoIP company.

My question is if SIP Communicator is capable of being a Java applet
on a web page. If yes, has anyone experience in doing this?

Thank you for your answer in advance.

Best regards, Zoltan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

--
/**
* Sebastian Heib
* Software Developer
*
* Synyx GmbH & Co. KG
* Business in Components
* Karlstr. 68
* 76137 Karlsruhe
*
* phone +49(0)721 66 24 866
* fax +49(0)721 66 48 877
* eMail heib@synyx.de
* www http://www.synyx.de
* irc irc.synyx.de
*
* Sitz der Gesellschaft: Karlsruhe
* Registergericht: Mannheim
* Handelsregisternummer: HRA 4793
* USt-IdNr.: DE249264296
*
* Komplementärin: Elatech Verwaltungs GmbH
* Sitz der Gesellschaft: Karlsruhe
* Geschäftsführer: Markus Daniel
* Registergericht: Mannheim
* Handelsregisternummer: HRB 7250
*/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#7

Is the URL of the second HTTP invocation also at the same
fully-qualified domain name (or IP#) server from which the applet itself
was served to the browser? Also check the browser applet security
settings.

···

On Thu, 2008-01-31 at 16:50 +0100, Sebastian Heib wrote:

Hi,

at the moment I have got the following problem, when starting SIP
communicator as an applet:

The applet starts to load, but when loading the different bundles, it
fails with the following LinkageError:

ERROR: Unable to start system bundle. (java.lang.LinkageError:
sun/plugin/net/protocol/http/Handler)
java.lang.LinkageError: sun/plugin/net/protocol/http/Handler
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:169)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:781)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:93)
  at
org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:173)
  at java.net.URL.getURLStreamHandler(URL.java:1106)
  at java.net.URL.<init>(URL.java:572)
  at java.net.URL.<init>(URL.java:464)
  at java.net.URL.<init>(URL.java:413)
  at java.net.JarURLConnection.parseSpecs(JarURLConnection.java:161)
  at java.net.JarURLConnection.<init>(JarURLConnection.java:144)
  at
sun.net.www.protocol.jar.JarURLConnection.<init>(JarURLConnection.java:63)
  at
sun.plugin.net.protocol.jar.CachedJarURLConnection.<init>(CachedJarURLConnection.java:57)
  at sun.plugin.net.protocol.jar.Handler.openConnection(Handler.java:18)
  at java.net.URL.openConnection(URL.java:945)
  at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:645)
  at sun.misc.URLClassPath$JarLoader.access$600(URLClassPath.java:538)
  at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:605)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:597)
  at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:559)
  at sun.misc.URLClassPath$3.run(URLClassPath.java:331)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.misc.URLClassPath.getLoader(URLClassPath.java:320)
  at sun.misc.URLClassPath.getLoader(URLClassPath.java:297)
  at sun.misc.URLClassPath.getResource(URLClassPath.java:167)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:155)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:127)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:169)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:781)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:93)
  at
org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:173)
  at java.net.URL.getURLStreamHandler(URL.java:1106)
  at java.net.URL.<init>(URL.java:572)
  at java.net.URL.<init>(URL.java:464)
  at java.net.URL.<init>(URL.java:413)
  at
org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:301)
  at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:90)
  at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:68)
  at
org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:1069)
  at
org.apache.felix.framework.cache.BundleArchive.revise(BundleArchive.java:701)
  at
org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:143)
  at
org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:145)
  at org.apache.felix.framework.Felix.installBundle(Felix.java:2234)
  at org.apache.felix.framework.Felix.installBundle(Felix.java:2194)
  at
org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:124)
  at
org.apache.felix.main.AutoActivator.processAutoProperties(AutoActivator.java:121)
  at org.apache.felix.main.AutoActivator.start(AutoActivator.java:55)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:853)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:580)
  at
org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3771)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:853)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:580)
  at org.apache.felix.framework.Felix.start(Felix.java:828)
  at
net.java.sip.communicator.launcher.SIPCommunicatorApplet.init(SIPCommunicatorApplet.java:201)
  at sun.applet.AppletPanel.run(AppletPanel.java:418)
  at java.lang.Thread.run(Thread.java:619)

The reason seems to be, that "sun/plugin/net/protocol/http/Handler"
should be loaded a second time: As I debug it, I can see that the call
(exactly as in the above stacktrace, with the same parameters) is
successful for the first time. But as the call is performed a second
time, it fails with the shown exception.

The curious thing is, that this only happens if I start the applet in a
browser (I checked on firefox on win/ linux and on IE 6 on win - all the
same result). If the applet is started with the java appletviewer,
everything works well (there the call to load
"sun/plugin/net/protocol/http/Handler" is only performed once).

At the moment I don't know how to go on with this, as I have got no idea
what the reason for this behaviour is. I already tested it with the
newest (trunk) felix version, but no difference. Maybe somebody else
knows why it behaves like that...

Thanks
Sebastian

Matthew Rubenstein schrieb:
> I am really looking forward to seeing you complete the applet. Let me
> know if you need help, and I'll try. Also note that there have been
> others talking on this list about helping to produce such an applet, who
> might still be able to help. Good luck.
>
>
> On Mon, 2008-01-28 at 10:03 +0100, Sebastian Heib wrote:
>> Hi,
>>
>> as part of my thesis to finish my studies I am currently working on
>> running Sip communicator as an applet, to embedd it into a webpage.
>>
>> And it is possible to run it (with the Felix framework) inside an
>> applet. These are the things you need to do to archive this:
>>
>> - write a custom class that extends JApplet, which starts the Felix
>> framework, with all its bundle parameters (at least the ones you need),
>> as they are currently in the felix.client.run.properties file. To load
>> the bundles, put them on a webserver and load them from there.
>> - you also have to write a small bundle which holds the JApplet Class
>> you created to make it available to the framework
>> - create an instance of this bundle before you start Felix, and pass the
>> reference as an parameter to the framework
>> - in the framework, get this instance and set the contentPane of the
>> applet (currently I have just changed the swing-ui bundle, so that the
>> main panel is set as the content pane of the applet)
>>
>> That's all. I haven't done many tests on it yet, but starting it from
>> eclipse as an applet works quiet well, making telephone calls via SIP is
>> possible (at least on my ubuntu linux machine)
>>
>> Sebastian
>>
>>
>>
>> Matthew Rubenstein schrieb:
>>> I have investigated that use case. S-C is embedded in the Felix
>>> framework, which can not run as an applet. It could be converted to a
>>> Java Web Start app, but the JWS environment is not installed on all
>>> browsers. The task of converting S-C to a pure applet would require more
>>> research into its dependencies, and a significant effort for one or more
>>> people. But it could be done. And I have found a couple of other people
>>> interested in working on it. Are you interested in working on it, or
>>> helping in some way?
>>>
>>>
>>> On Tue, 2008-01-22 at 22:59 +0100, Kovács Zoltán wrote:
>>>> Dear Developers,
>>>>
>>>> I'm new to the list. My name is Zoltan, I work as a sysadmin at a VoIP company.
>>>>
>>>> My question is if SIP Communicator is capable of being a Java applet
>>>> on a web page. If yes, has anyone experience in doing this?
>>>>
>>>> Thank you for your answer in advance.
>>>>
>>>> Best regards, Zoltan
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
>>>> For additional commands, e-mail: dev-help@sip-communicator.dev.java.net
>>>>
>>

--

(C) Matthew Rubenstein

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#8

Matthew Rubenstein schrieb:

  Is the URL of the second HTTP invocation also at the same
fully-qualified domain name (or IP#) server from which the applet itself
was served to the browser? Also check the browser applet security
settings.

Both calls are to the fully-qualified domain. The security should also
be no problem, as all the jars are signed, and I've locally given all
permission to the code being served from the specific domain (as the
appletviewer checks the security settings and it works there, I think
the same should apply to the browser embedded execution)

···

On Thu, 2008-01-31 at 16:50 +0100, Sebastian Heib wrote:

Hi,

at the moment I have got the following problem, when starting SIP
communicator as an applet:

The applet starts to load, but when loading the different bundles, it
fails with the following LinkageError:

ERROR: Unable to start system bundle. (java.lang.LinkageError:
sun/plugin/net/protocol/http/Handler)
java.lang.LinkageError: sun/plugin/net/protocol/http/Handler
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:169)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:781)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:93)
  at
org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:173)
  at java.net.URL.getURLStreamHandler(URL.java:1106)
  at java.net.URL.<init>(URL.java:572)
  at java.net.URL.<init>(URL.java:464)
  at java.net.URL.<init>(URL.java:413)
  at java.net.JarURLConnection.parseSpecs(JarURLConnection.java:161)
  at java.net.JarURLConnection.<init>(JarURLConnection.java:144)
  at
sun.net.www.protocol.jar.JarURLConnection.<init>(JarURLConnection.java:63)
  at
sun.plugin.net.protocol.jar.CachedJarURLConnection.<init>(CachedJarURLConnection.java:57)
  at sun.plugin.net.protocol.jar.Handler.openConnection(Handler.java:18)
  at java.net.URL.openConnection(URL.java:945)
  at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:645)
  at sun.misc.URLClassPath$JarLoader.access$600(URLClassPath.java:538)
  at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:605)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:597)
  at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:559)
  at sun.misc.URLClassPath$3.run(URLClassPath.java:331)
  at java.security.AccessController.doPrivileged(Native Method)
  at sun.misc.URLClassPath.getLoader(URLClassPath.java:320)
  at sun.misc.URLClassPath.getLoader(URLClassPath.java:297)
  at sun.misc.URLClassPath.getResource(URLClassPath.java:167)
  at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:155)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:127)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:169)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:781)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:93)
  at
org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:173)
  at java.net.URL.getURLStreamHandler(URL.java:1106)
  at java.net.URL.<init>(URL.java:572)
  at java.net.URL.<init>(URL.java:464)
  at java.net.URL.<init>(URL.java:413)
  at
org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:301)
  at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:90)
  at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:68)
  at
org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:1069)
  at
org.apache.felix.framework.cache.BundleArchive.revise(BundleArchive.java:701)
  at
org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:143)
  at
org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:145)
  at org.apache.felix.framework.Felix.installBundle(Felix.java:2234)
  at org.apache.felix.framework.Felix.installBundle(Felix.java:2194)
  at
org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:124)
  at
org.apache.felix.main.AutoActivator.processAutoProperties(AutoActivator.java:121)
  at org.apache.felix.main.AutoActivator.start(AutoActivator.java:55)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:853)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:580)
  at
org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3771)
  at
org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:853)
  at java.security.AccessController.doPrivileged(Native Method)
  at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:580)
  at org.apache.felix.framework.Felix.start(Felix.java:828)
  at
net.java.sip.communicator.launcher.SIPCommunicatorApplet.init(SIPCommunicatorApplet.java:201)
  at sun.applet.AppletPanel.run(AppletPanel.java:418)
  at java.lang.Thread.run(Thread.java:619)

The reason seems to be, that "sun/plugin/net/protocol/http/Handler"
should be loaded a second time: As I debug it, I can see that the call
(exactly as in the above stacktrace, with the same parameters) is
successful for the first time. But as the call is performed a second
time, it fails with the shown exception.

The curious thing is, that this only happens if I start the applet in a
browser (I checked on firefox on win/ linux and on IE 6 on win - all the
same result). If the applet is started with the java appletviewer,
everything works well (there the call to load
"sun/plugin/net/protocol/http/Handler" is only performed once).

At the moment I don't know how to go on with this, as I have got no idea
what the reason for this behaviour is. I already tested it with the
newest (trunk) felix version, but no difference. Maybe somebody else
knows why it behaves like that...

Thanks
Sebastian

Matthew Rubenstein schrieb:

  I am really looking forward to seeing you complete the applet. Let me
know if you need help, and I'll try. Also note that there have been
others talking on this list about helping to produce such an applet, who
might still be able to help. Good luck.

On Mon, 2008-01-28 at 10:03 +0100, Sebastian Heib wrote:

Hi,

as part of my thesis to finish my studies I am currently working on
running Sip communicator as an applet, to embedd it into a webpage.

And it is possible to run it (with the Felix framework) inside an
applet. These are the things you need to do to archive this:

- write a custom class that extends JApplet, which starts the Felix
framework, with all its bundle parameters (at least the ones you need),
as they are currently in the felix.client.run.properties file. To load
the bundles, put them on a webserver and load them from there.
- you also have to write a small bundle which holds the JApplet Class
you created to make it available to the framework
- create an instance of this bundle before you start Felix, and pass the
reference as an parameter to the framework
- in the framework, get this instance and set the contentPane of the
applet (currently I have just changed the swing-ui bundle, so that the
main panel is set as the content pane of the applet)

That's all. I haven't done many tests on it yet, but starting it from
eclipse as an applet works quiet well, making telephone calls via SIP is
possible (at least on my ubuntu linux machine)

Sebastian

Matthew Rubenstein schrieb:

  I have investigated that use case. S-C is embedded in the Felix
framework, which can not run as an applet. It could be converted to a
Java Web Start app, but the JWS environment is not installed on all
browsers. The task of converting S-C to a pure applet would require more
research into its dependencies, and a significant effort for one or more
people. But it could be done. And I have found a couple of other people
interested in working on it. Are you interested in working on it, or
helping in some way?

On Tue, 2008-01-22 at 22:59 +0100, Kovács Zoltán wrote:

Dear Developers,

I'm new to the list. My name is Zoltan, I work as a sysadmin at a VoIP company.

My question is if SIP Communicator is capable of being a Java applet
on a web page. If yes, has anyone experience in doing this?

Thank you for your answer in advance.

Best regards, Zoltan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

--
/**
* Sebastian Heib
* Software Developer
*
* Synyx GmbH & Co. KG
* Business in Components
* Karlstr. 68
* 76137 Karlsruhe
*
* phone +49(0)721 66 24 866
* fax +49(0)721 66 48 877
* eMail heib@synyx.de
* www http://www.synyx.de
* irc irc.synyx.de
*
* Sitz der Gesellschaft: Karlsruhe
* Registergericht: Mannheim
* Handelsregisternummer: HRA 4793
* USt-IdNr.: DE249264296
*
* Komplementärin: Elatech Verwaltungs GmbH
* Sitz der Gesellschaft: Karlsruhe
* Geschäftsführer: Markus Daniel
* Registergericht: Mannheim
* Handelsregisternummer: HRB 7250
*/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#9

Googling for just (applet linkageerror) brought up a lot of results
that are in code containing Felix, so your error does seem to relate to
Felix. I see that someone advised you to try the latest build of Felix
(1.0.3 snapshot, about to be released). And in the example you also
cited in that message, they were also so advised to use a more recent
Felix version (1.0.0), and that they also said they'd use "the FELX-38
mod of disabling custom URL handlers." before they stopped replying in
early September. Have you tried those? Have you tried emailing directly
the person who posted this same LinkageError problem back then?

···

On Fri, 2008-02-01 at 08:34 +0100, Sebastian Heib wrote:

Matthew Rubenstein schrieb:
> Is the URL of the second HTTP invocation also at the same
> fully-qualified domain name (or IP#) server from which the applet itself
> was served to the browser? Also check the browser applet security
> settings.
>

Both calls are to the fully-qualified domain. The security should also
be no problem, as all the jars are signed, and I've locally given all
permission to the code being served from the specific domain (as the
appletviewer checks the security settings and it works there, I think
the same should apply to the browser embedded execution)

>
> On Thu, 2008-01-31 at 16:50 +0100, Sebastian Heib wrote:
>> Hi,
>>
>> at the moment I have got the following problem, when starting SIP
>> communicator as an applet:
>>
>> The applet starts to load, but when loading the different bundles, it
>> fails with the following LinkageError:
>>
>>
>> ERROR: Unable to start system bundle. (java.lang.LinkageError:
>> sun/plugin/net/protocol/http/Handler)
>> java.lang.LinkageError: sun/plugin/net/protocol/http/Handler
>> at java.lang.Class.forName0(Native Method)
>> at java.lang.Class.forName(Class.java:169)
>> at
>> org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:781)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at
>> org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:93)
>> at
>> org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:173)
>> at java.net.URL.getURLStreamHandler(URL.java:1106)
>> at java.net.URL.<init>(URL.java:572)
>> at java.net.URL.<init>(URL.java:464)
>> at java.net.URL.<init>(URL.java:413)
>> at java.net.JarURLConnection.parseSpecs(JarURLConnection.java:161)
>> at java.net.JarURLConnection.<init>(JarURLConnection.java:144)
>> at
>> sun.net.www.protocol.jar.JarURLConnection.<init>(JarURLConnection.java:63)
>> at
>> sun.plugin.net.protocol.jar.CachedJarURLConnection.<init>(CachedJarURLConnection.java:57)
>> at sun.plugin.net.protocol.jar.Handler.openConnection(Handler.java:18)
>> at java.net.URL.openConnection(URL.java:945)
>> at sun.misc.URLClassPath$JarLoader.getJarFile(URLClassPath.java:645)
>> at sun.misc.URLClassPath$JarLoader.access$600(URLClassPath.java:538)
>> at sun.misc.URLClassPath$JarLoader$1.run(URLClassPath.java:605)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at sun.misc.URLClassPath$JarLoader.ensureOpen(URLClassPath.java:597)
>> at sun.misc.URLClassPath$JarLoader.<init>(URLClassPath.java:559)
>> at sun.misc.URLClassPath$3.run(URLClassPath.java:331)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at sun.misc.URLClassPath.getLoader(URLClassPath.java:320)
>> at sun.misc.URLClassPath.getLoader(URLClassPath.java:297)
>> at sun.misc.URLClassPath.getResource(URLClassPath.java:167)
>> at java.net.URLClassLoader$1.run(URLClassLoader.java:192)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
>> at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:155)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
>> at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:127)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
>> at java.lang.Class.forName0(Native Method)
>> at java.lang.Class.forName(Class.java:169)
>> at
>> org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:781)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at
>> org.apache.felix.framework.util.SecureAction.forName(SecureAction.java:93)
>> at
>> org.apache.felix.framework.URLHandlers.createURLStreamHandler(URLHandlers.java:173)
>> at java.net.URL.getURLStreamHandler(URL.java:1106)
>> at java.net.URL.<init>(URL.java:572)
>> at java.net.URL.<init>(URL.java:464)
>> at java.net.URL.<init>(URL.java:413)
>> at
>> org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:301)
>> at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:90)
>> at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:68)
>> at
>> org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:1069)
>> at
>> org.apache.felix.framework.cache.BundleArchive.revise(BundleArchive.java:701)
>> at
>> org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:143)
>> at
>> org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:145)
>> at org.apache.felix.framework.Felix.installBundle(Felix.java:2234)
>> at org.apache.felix.framework.Felix.installBundle(Felix.java:2194)
>> at
>> org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:124)
>> at
>> org.apache.felix.main.AutoActivator.processAutoProperties(AutoActivator.java:121)
>> at org.apache.felix.main.AutoActivator.start(AutoActivator.java:55)
>> at
>> org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:853)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at
>> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:580)
>> at
>> org.apache.felix.framework.Felix$SystemBundleActivator.start(Felix.java:3771)
>> at
>> org.apache.felix.framework.util.SecureAction$Actions.run(SecureAction.java:853)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at
>> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:580)
>> at org.apache.felix.framework.Felix.start(Felix.java:828)
>> at
>> net.java.sip.communicator.launcher.SIPCommunicatorApplet.init(SIPCommunicatorApplet.java:201)
>> at sun.applet.AppletPanel.run(AppletPanel.java:418)
>> at java.lang.Thread.run(Thread.java:619)
>>
>>
>> The reason seems to be, that "sun/plugin/net/protocol/http/Handler"
>> should be loaded a second time: As I debug it, I can see that the call
>> (exactly as in the above stacktrace, with the same parameters) is
>> successful for the first time. But as the call is performed a second
>> time, it fails with the shown exception.
>>
>> The curious thing is, that this only happens if I start the applet in a
>> browser (I checked on firefox on win/ linux and on IE 6 on win - all the
>> same result). If the applet is started with the java appletviewer,
>> everything works well (there the call to load
>> "sun/plugin/net/protocol/http/Handler" is only performed once).
>>
>> At the moment I don't know how to go on with this, as I have got no idea
>> what the reason for this behaviour is. I already tested it with the
>> newest (trunk) felix version, but no difference. Maybe somebody else
>> knows why it behaves like that...
>>
>> Thanks
>> Sebastian
>>
>>
>> Matthew Rubenstein schrieb:
>>> I am really looking forward to seeing you complete the applet. Let me
>>> know if you need help, and I'll try. Also note that there have been
>>> others talking on this list about helping to produce such an applet, who
>>> might still be able to help. Good luck.
>>>
>>>
>>> On Mon, 2008-01-28 at 10:03 +0100, Sebastian Heib wrote:
>>>> Hi,
>>>>
>>>> as part of my thesis to finish my studies I am currently working on
>>>> running Sip communicator as an applet, to embedd it into a webpage.
>>>>
>>>> And it is possible to run it (with the Felix framework) inside an
>>>> applet. These are the things you need to do to archive this:
>>>>
>>>> - write a custom class that extends JApplet, which starts the Felix
>>>> framework, with all its bundle parameters (at least the ones you need),
>>>> as they are currently in the felix.client.run.properties file. To load
>>>> the bundles, put them on a webserver and load them from there.
>>>> - you also have to write a small bundle which holds the JApplet Class
>>>> you created to make it available to the framework
>>>> - create an instance of this bundle before you start Felix, and pass the
>>>> reference as an parameter to the framework
>>>> - in the framework, get this instance and set the contentPane of the
>>>> applet (currently I have just changed the swing-ui bundle, so that the
>>>> main panel is set as the content pane of the applet)
>>>>
>>>> That's all. I haven't done many tests on it yet, but starting it from
>>>> eclipse as an applet works quiet well, making telephone calls via SIP is
>>>> possible (at least on my ubuntu linux machine)
>>>>
>>>> Sebastian
>>>>
>>>>
>>>>
>>>> Matthew Rubenstein schrieb:
>>>>> I have investigated that use case. S-C is embedded in the Felix
>>>>> framework, which can not run as an applet. It could be converted to a
>>>>> Java Web Start app, but the JWS environment is not installed on all
>>>>> browsers. The task of converting S-C to a pure applet would require more
>>>>> research into its dependencies, and a significant effort for one or more
>>>>> people. But it could be done. And I have found a couple of other people
>>>>> interested in working on it. Are you interested in working on it, or
>>>>> helping in some way?
>>>>>
>>>>>
>>>>> On Tue, 2008-01-22 at 22:59 +0100, Kovács Zoltán wrote:
>>>>>> Dear Developers,
>>>>>>
>>>>>> I'm new to the list. My name is Zoltan, I work as a sysadmin at a VoIP company.
>>>>>>
>>>>>> My question is if SIP Communicator is capable of being a Java applet
>>>>>> on a web page. If yes, has anyone experience in doing this?
>>>>>>
>>>>>> Thank you for your answer in advance.
>>>>>>
>>>>>> Best regards, Zoltan
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
>>>>>> For additional commands, e-mail: dev-help@sip-communicator.dev.java.net
>>>>>>
>>

--

(C) Matthew Rubenstein

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net