[ 
https://issues.apache.org/jira/browse/FELIX-642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620254#action_12620254
 ] 

Francesco Furfari commented on FELIX-642:
-----------------------------------------

I forgot to say that you can change the MX paramenter of the M-Search in order 
to overcome the inconvenient of receiving only 50/60 announcements.
For example by launching the Tester bundle with the system property 
-Dcyberdomo.ssdp.mx=10 , that's 10 seconds to receive MSearch responses 
(default is 5), will give time to the Tester to receive 100 replies from the 
different BinaryLight devices.




> upnp event delivery to OSGi event listeners fails on random devices after a 
> certain period of time
> --------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-642
>                 URL: https://issues.apache.org/jira/browse/FELIX-642
>             Project: Felix
>          Issue Type: Bug
>          Components: UPnP Subproject
>    Affects Versions: upnp-basedriver-0.8.0
>            Reporter: Daniel Felsing
>            Priority: Blocker
>             Fix For: upnp-basedriver-0.8.0
>
>
> Ok...overall problem is as follows:
> upnp event delivery to OSGi event listeners fails on random devices after a 
> certain period of time
> Overall Environment Setup
> -------------------------
> - i have two hosts A and B => A is a Bridge exporting about 20 devices at the 
> moment (will get more - it's a X10 like system), B acts as a central server 
> for the devices (Smart Home implementation)
> - A is a SensorBridge...and B a central controlpoint importing all those 
> devices
> - both ends use upnpbasedriver 0.8 and extra bundle from felix project
> - the two hosts are connected through a Gigabit Switch (NO WIRELESS USED!)
> - all the devices on the server (so the central smart home controller) that 
> get imported get refined. They subscribe to the upnp device it refines to get 
> notified on event change.
> - on the central server (Host B) i subscribe to UPnP Devices exported by Host 
> A using UPnPSubscriber Helper class of the extra bundle
> Issues
> ------
> - "SOMETIMES" on INITIAL subscription not all devices get notified about the 
> initial status (devices get found properly though)
>   ( see also http://www.mail-archive.com/[EMAIL PROTECTED]/msg01781.html for 
> that)
> - after some time of operation random devices begin to fail - that 
> means..they do not get notified about event changes anymore, but devices are 
> still present (so they are still there as UPnPDevice instances in the central 
> server)... 
> => i had debug enabled....and as i see i still receive the event-change 
> notifies on my Host B (=central server)....if i "resubscribe" to the event 
> listener of the failed device everything works again (i dont need to restart 
> the whole basedriver or osgi framework to let it work again - just my 
> refining driver must be restarted which does the subscription to the devices 
> using UPnPSubscriber class) ...
> SO this STILL GETS DELIVERED, but listeners do not get notified about the 
> change:
> ================REQUEST=====================
> NOTIFY /evetSub HTTP/1.0
> Content-Type: text/xml; charset="utf-8"
> HOST: 192.168.0.5
> NT: upnp:event
> NTS: upnp:propchange
> SID: uuid:956d-a11b-fe88-e08e
> SEQ: 0
> Content-Length: 165
> Connection: close
> <?xml version="1.0" encoding="utf-8"?>
> <propertyset xmlns:e="urn:schemas-upnp-org:event-1-0">
>    <property>
>       <Status>off</Status>
>    </property>
> </propertyset>
> -------------------------------------------- 
> Tests:
> -----------------
> - yes - every device exported by the upnpsensorbridge (=Host A) gets found by 
> the central server (=Host B) 
> - upnp tester of felix project experiences same issues
> - the REFINED devices on the SERVER themselves are using the felix helper 
> class to subscribe to the events:
>               // create upnp listener - if evented is true
>               subscriber = new UPnPSubscriber(bundleContext, this);
>               subscriber.subscribeAllServicesOf(super.getUPnPDeviceUDN());
> - i also tried:               EventListener test = new EventListener();
>                               servReg = 
> context.registerService(UPnPEventListener.class.getName(), test, null);
> (so not using UPnPSubscriber) => same problem...so UPnPSubscriber may not be 
> the root of the problem
> - the upnp device implementation on the host exporting the upnp devices ( 
> =Host A, sensorbridge) are using the following line to expose event notifier
>               // setup event notifier
>               notify_switch = new UPnPEventNotifier(context, this, 
> switchdevswitchservice, switchDev);
> ================================================================================
> Is it possible that my issue is connected to this one mentioned in the 
> cyberlink forum?
> Stefano answered to it in the cyberlink forum!!
> http://sourceforge.net/forum/forum.php?thread_id=1952657&forum_id=258158
> ----------------------------------------------------------------------------------------------------------------------------
> if you need something else please contact me! :)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to