Jump to content
OpenSplice DDS Forum


  • Content count

  • Joined

  • Last visited

Everything posted by getviswa

  1. Hi All, OpenSpliceDDS not connecting (not working) in WAN I am running OpenSpliceDDS in public IP 'x.x.x.x' and i am trying to connect with diffent subnet ip 'x.x.y.y' with following configuration, Note: Both machines having single ethernet so OpenSpliceDDS will take the same Server Side <General> <NetworkInterfaceAddress>AUTO</NetworkInterfaceAddress> <AllowMulticast>true</AllowMulticast> <EnableMulticastLoopback>true</EnableMulticastLoopback> </General> <Partitioning> <GlobalPartition Address="multicast"/> </Partitioning> Client Side <General> <NetworkInterfaceAddress>AUTO</NetworkInterfaceAddress> </General> <Partitioning> <GlobalPartition Address="x.x.x.x"> </Partitioning> <Discovery Scope="*.*" enabled="true"> <PortNr>54120</PortNr> <ProbeList>x.x.x.x</ProbeList> </Discovery> Please help me to resolve the issue. Thanks -Viswa
  2. Subscriber QoS Policy

    Hello All, Please help me configure QoS to implement the following, I am having one publisher and many subscribers, from the subscriber side i want to receive the same content only one time. That is, publisher publishing content1,content2 Subscriber receiving content1,content2 and it will end. Again publisher publishing content3 Normally subscriber again starts receiving from content1,content2,content3 I want to configure subscriber who are all receiving the contents they should not be receiving the same content next time, that is from above example, the subscriber should be receive content3 alone in second run. How to configure the QoS to achieve this ?? Thanks -Viswa
  3. Subscriber QoS Policy

    Hi Hans, Thanks for the reply, I have configured the transient_local to achive the same but not working, following is my QoS sample code. Topic QoS topicQos.value.reliability.kind = ReliabilityQosPolicyKind.RELIABLE_RELIABILITY_QOS; topicQos.value.durability.kind = DurabilityQosPolicyKind.TRANSIENT_LOCAL_DURABILITY_QOS; topicQos.value.destination_order.kind=DestinationOrderQosPolicyKind.BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS; status = participant.set_default_topic_qos(topicQos.value); topic = participant.create_topic(topicName, typeName, topicQos.value,null, ANY_STATUS.value); Publisher and Subscriber i left it default QoS. Data Writer QoS publisher.copy_from_topic_qos(wQoS, topicQos.value); wQoS.value.writer_data_lifecycle.autodispose_unregistered_instances = false; writer = publisher.create_datawriter(topic, wQoS.value, null,ANY_STATUS.value); Data Reader QoS subscriber.get_default_datareader_qos(rQoS); subscriber.copy_from_topic_qos(rQoS, topicQos.value); reader = subscriber.create_datareader(topic, rQoS.value, null, ANY_STATUS.value); Please suggest me to achive the scenario. Thanks -Viswa
  4. CamelOS with OpenSpliceDDS

    Hi All, While i am trying to implement CamelOs with OpenSpliceDDS Evaluation 6.1 version i am facing following error (with OpenSplice version 5.3 working fine) . Please explain me what may be the issue ?? how to resolve it ?? ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.opensplice.dds.idlcompiler.IDLMojoTest [iNFO] Executing idl command[C:\Program Files (x86)\PrismTech\OpenSpliceDDS\V6.1.1p1\HDE\x86_64.win64\bin\idlpp, -d, E:\camel-windows\camelopensp lice\maven-dds\plugins\opensplice-idl-plugin arget est-classes, -S, -l, java, -c, E:\camel-windows\camelopensplice\maven-dds\plugins\opensplice -idl-plugin\pre, -D, Hello, -D, World, -I, E:\camel-windows\camelopensplice\maven-dds\plugins\opensplice-idl-plugin\myDir1, -I, E:\camel-windows\ camelopensplice\maven-dds\plugins\opensplice-idl-plugin\myDir2, E:\camel-windows\camelopensplice\maven-dds\plugins\opensplice-idl-plugin\src est \java\projects\project1\resources\durable.idl] [iNFO] C:\Program Files (x86)\PrismTech\OpenSpliceDDS\V6.1.1p1\HDE\x86_64.win64\bin\idlpp EVALUATION VERSION Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.663 sec <<< FAILURE! Results : Tests in error: testIDLCompilation(org.opensplice.dds.idlcompiler.IDLMojoTest) Tests run: 2, Failures: 0, Errors: 1, Skipped: 0 [iNFO] ------------------------------------------------------------------------ [iNFO] BUILD FAILURE [iNFO] ------------------------------------------------------------------------ [iNFO] Total time: 2:54.281s [iNFO] Finished at: Mon Jul 23 22:36:18 IST 2012 [iNFO] Final Memory: 7M/85M [iNFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project opensplice-idl-plugin: There ar e test failures. [ERROR] [ERROR] Please refer to E:\camel-windows\camelopensplice\maven-dds\plugins\opensplice-idl-plugin arget\surefire-reports for the individual test results. [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache....ailureException Thanks -Viswa
  5. CamelOS with OpenSpliceDDS

    Hello All, I found where the issue caused, in the evaluation version while compiling IDL it is displaying "EVALUATION VERSION" as result, So it takes as failure. I have used Community Edition 5.5.1 and it is compiled successfully. Thanks -Viswa
  6. Message Instance and Samples

    Hello All, I am trying to publish the sequence of messages in the topic. I can publish it successfully but i trying to subscribe the messages i am getting last message which i was published. Note I have used HelloWorld: DDSEntityManager.java from the example. Publisher Code: public static void messagePublisher(String devMessage,String devMessageType, String devDeviceSerialType,String devAction ) { SimpleDDS mgr = new SimpleDDS(); String partitionName = "MessageService"; mgr.createParticipant(partitionName); DDSMessageTypeSupport msgTS = new DDSMessageTypeSupport(); mgr.registerType(msgTS); mgr.createTopic("Messages"); mgr.createPublisher(); mgr.createWriter(); DataWriter dwriter = mgr.getWriter(); DDSMessageDataWriter ddsWriter = DDSMessageDataWriterHelper.narrow(dwriter); DDSMessage msgInstance = new DDSMessage(devDeviceSerialType, devMessageType, devAction, devMessage); ddsWriter.register_instance(msgInstance); int status = ddsWriter.write(msgInstance, HANDLE_NIL.value); ErrorHandler.checkStatus(status, "DDSMessageDataWriter.write"); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } mgr.getPublisher().delete_datawriter(ddsWriter); mgr.deletePublisher(); mgr.deleteTopic(); mgr.deleteParticipant(); try { Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } } public static void main(String[] args) { messagePublisher("112-2134354","response","XMLMessage","123"); messagePublisher("112-2134354","response","XMLMessage","1234"); messagePublisher("230-4353456","response","XMLMessage","12345"); } Subscriber Code: public static void messageSubscriber(String args) { SimpleDDS mgr = new SimpleDDS(); String partitionName = "MessageService"; mgr.createParticipant(partitionName); DDSMessageTypeSupport msgTS = new DDSMessageTypeSupport(); mgr.registerType(msgTS); mgr.createTopic("Messages"); mgr.createSubscriber(); mgr.createReader(); DataReader dreader = mgr.getReader(); DDSMessageDataReader ddsReader = DDSMessageDataReaderHelper.narrow(dreader); DDSMessageSeqHolder msgSeq = new DDSMessageSeqHolder(); SampleInfoSeqHolder infoSeq = new SampleInfoSeqHolder(); boolean terminate = false; int count = 0; while (!terminate && count < 1500) { ddsReader.take(msgSeq, infoSeq, LENGTH_UNLIMITED.value, ANY_SAMPLE_STATE.value, ANY_VIEW_STATE.value, ANY_INSTANCE_STATE.value); System.out.println(msgSeq.value.length); for (int i = 0; i < msgSeq.value.length; i++) { System.out.println(" userID : " + msgSeq.value[i].deviceSerialType); System.out.println(" type : " + msgSeq.value[i].messageType); System.out.println(" action : " + msgSeq.value[i].actionType); System.out.print(" Message : \"" + msgSeq.value[i].message + "\""); //terminate = true; } try { Thread.sleep(200); } catch(InterruptedException ie) { // nothing to do } ++count; } ddsReader.return_loan(msgSeq, infoSeq); mgr.getSubscriber().delete_datareader(ddsReader); mgr.deleteSubscriber(); mgr.deleteTopic(); mgr.deleteParticipant(); } public static void main(String[] args) { messageSubscriber("test"); } But Subscriber resulting last message which is published. Please help me. userID : XMLMessage type : response action : 12345 Message : "230-4353456" Thanks -Viswa
  7. Hello All, While i am working on the X509 authentication in ospl config, i faced issue Credentials tag missing. While analizing library file, It seems XML file parsed by "Credentails". I have changed the tags as follows it works, <Credentials>.....</Credentials> To <Credentails>.....</Credentails> Thanks -Viswa
  8. MAC access policy

    Hello All, I am using OpenSpliceVersion : 6.1 evaluation DDSServer has the list of trusted certificates of the users, i would like to restrict the users who are all not in the server trusted list. How can i implement this ?? I have configured x509 authentication and MAC access policy. Really i am struggling to know how it will work. Please explain MAC access policy. Following server configuration i done so far, ospl.xml <OpenSplice> <Domain> <Name>DDSServer</Name> <Id>0</Id> <Database> <Size>10485760</Size> </Database> <Service enabled="true" name="networking"> <Command>snetworking</Command> </Service> <Service name="durability"> <Command>durability</Command> </Service> <Service name="cmsoap"> <Command>cmsoap</Command> </Service> </Domain> <NetworkService name="networking"> <Partitioning> <GlobalPartition Address="broadcast,x.x.x.x" SecurityProfile="GlobalProfile"/> </Partitioning> <Security enabled="true" > <SecurityProfile Name="GlobalProfile"Cipher="aes128" CipherKey="716AC3C0333D38D61B4CA0734C7A7274" /> [b] <AccessControl enabled="true" policy="file:///opt/PrismTech/OpenSpliceDDS/V6.1.1p1/HDE/x86_64.linux2.6-debug/etc/config/access_policy.xml"> <AccessControlModule enabled="true" type="MAC"/> </AccessControl>[/b] [b] <Authentication enabled="true"> <X509Authentication> <Credentails> <Key>file:///opt/PrismTech/OpenSpliceDDS/V6.1.1p1/HDE/x86_64.linux2.6-debug/keyCerts/key.dds.test.pem</Key> <Cert>file:///opt/PrismTech/OpenSpliceDDS/V6.1.1p1/HDE/x86_64.linux2.6-debug/keyCerts/dds.test.pem</Cert> </Credentails> <TrustedCertificates>file:///opt/PrismTech/OpenSpliceDDS/V6.1.1p1/HDE/x86_64.linux2.6-debug/keyCerts/trusted/agent.test.pem</TrustedCertificates> </X509Authentication> </Authentication>[/b] </Security> <Channels> <Channel enabled="true" name="default" default="true"> <PortNr>2020</PortNr> </Channel> </Channels> </NetworkService> <DurabilityService name="durability"> <Network> <Alignment> <TimeAlignment>FALSE</TimeAlignment> <RequestCombinePeriod> <Initial>2.5</Initial> <Operational>0.1</Operational> </RequestCombinePeriod> </Alignment> <WaitForAttachment maxWaitCount="10"> <ServiceName>networking</ServiceName> </WaitForAttachment> </Network> <NameSpaces> <NameSpace name="defaultNamespace"> <Partition>*</Partition> </NameSpace> <Policy nameSpace="defaultNamespace" durability="Durable" alignee="Initial" aligner="True"/> </NameSpaces> </DurabilityService> <TunerService name="cmsoap"> <Server> <PortNr>50000</PortNr> </Server> </TunerService> </OpenSplice> access_policy.xml <accessControlPolicy> <secrecyLevels> <!-- for MAC --> <secrecyLevel>UNCLASSIFIED</secrecyLevel> <secrecyLevel>RESTRICTED</secrecyLevel> <secrecyLevel>CONFIDENTIAL</secrecyLevel> <secrecyLevel>SECRET</secrecyLevel> <secrecyLevel>TOP_SECRET</secrecyLevel> </secrecyLevels> <integrityLevels> <!-- for MAC --> <integrityLevel>LEVEL_0</integrityLevel> <integrityLevel>LEVEL_1</integrityLevel> <integriyLevel>LEVEL_2</integrityLevel> </integrityLevels> <users> <user> <id>123</id> <clearance> <!-- for MAC --> <secrecyLevel>RESTRICTED</secrecyLevel> <integrityLevel>LEVEL_2</integrityLevel> <compartments> <compartment>US</compartment> </compartments> </clearance> <authentication> <x509Authentication> <subject>agent.test.com</subject> </x509Authentication> </authentication> </user> </users> <resources> <resource> <type>PARTITION</type> <id>HelloWorld example</id> <topics> <topic>HelloWorldData_Msg<topic> <topics> <classification> <!-- for MAC --> <secrecyLevel>RESTRICTED</secrecyLevel> <integrityLevel>LEVEL_2</integrityLevel> <compartments> <compartment>US</compartment> </compartments> </classification> <resource> </resources> </accessControlPolicy> Thanks -Viswa
  9. Hello All, Security featue is not available issue. OSPL-INFO.LOG Report : WARNING Date : Thu Jun 14 16:03:16 2012 Description : Security feature not available, configured security profile 'testing' will not take effect on global partition Node : viswa-co Process : networking <16555> Thread : main thread 7fb9d32ba700 Internals : V5.5.1OSS/networking: initializing network/nw_controller.c/730/0/337891172 is it possible to configure security in the community version 5.5 ?? otherwise please guide me configure opensplice in secure layer (TLS/SSL) ... Here is my configuration : <NetworkService name="networking"> <Security enabled="true"> <SecurityProfile Name="testing" Cipher="aes128" CipherKey="http://localip/CipherKey.key" /> </Security> <Partitioning> <GlobalPartition Address="broadcast" SecurityProfile="testing"/> </Partitioning> <Channels> <Channel enabled="true" name="default" default="true"> <PortNr>443</PortNr> </Channel> </Channels> </NetworkService> Thanks -Viswa
  10. Security featue is not available issue

    Thanks .. I am using 6.1 evaluation version now.
  11. Hello All, I'm using 6.1 evaluation version to testing X509 authentication. I have created self signed certificate (key and cert). Steps i followed to generate self signed certificate Generating Private Key # openssl genrsa –out key.dds.pem 1024 Generating CSR # openssl req –new –key key.dds.pem –out dds.csr Generating Self Signed Key # openssl x509 -req -days 365 -in dds.csr -signkey key.dds.pem -out dds.pem key.dds.key file format: -----BEGIN RSA PRIVATE KEY----- <key> -----END RSA PRIVATE KEY----- My config file <X509Authentication> <Credentails> <Key>file://keyCerts/key.dds.pem</Key> <Cert>file://keyCerts/dds.pem</Cert> </Credentails> <TrustedCertificates>file://keyCerts/trusted/trusted1.pem</TrustedCertificates> </X509Authentication> While i am trying to start ospl i am facing following error, Please help me in solving this issue. ======================================================================================== Report : ERROR Date : Wed Jul 11 11:50:31 2012 Description : Failed to read the private key from file://keyCerts/key.dds.pem Node : viswa-co Process : networking <12899> Thread : main thread 7f9be96e5700 Internals : V6.1.1p1/6257f53/f11a680/networking: nw_authenticationResolvePrivateKeyFromUri/nw_authentication.c/525/0/1341987631.757719810 ======================================================================================== Report : ERROR Date : Wed Jul 11 11:50:31 2012 Description : Failed to read private key from URI 'file://keyCerts/key.dds.pem' Node : viswa-co Process : networking <12899> Thread : main thread 7f9be96e5700 Internals : V6.1.1p1/6257f53/f11a680/networking: nw_authenticationConfigInitPrivateKey/nw_authentication.c/563/0/1341987631.757742033 ======================================================================================== Report : ERROR Date : Wed Jul 11 11:50:31 2012 Description : Failed to initialize credentials Node : viswa-co Process : networking <12899> Thread : main thread 7f9be96e5700 Internals : V6.1.1p1/6257f53/f11a680/networking: parseX509AuthenticationElement/nw_authentication.c/696/0/1341987631.757752100 ======================================================================================== Report : ERROR Date : Wed Jul 11 11:50:31 2012 Description : Unknown error Node : viswa-co Process : networking <12899> Thread : main thread 7f9be96e5700 Internals : V6.1.1p1/6257f53/f11a680/networking: Security Module Initialization/nw_controller.c/755/0/1341987631.757762107 Thanks -Viswa
  12. Evaluation version 6.1 X509 authtication

    Hello All, File URI syntax was the issue. "file://keyCerts/key.dds.pem" changed to "file:///keyCerts/key.dds.pem". Now it is not showing errors. Thanks -Viswa
  13. Hi All, I like to configure the OpenSpliceDDS as following. Please find the image for clear understanding. I have to configure the centralized OpenSpliceDDS. It will send and receive all data from global. In the centralized dds server only 443 port will be opened. How to configure the OpenSpliceDDS with port 443 (secure layer) ?? Client machines have the local OpenSpliceDDS. the local OpenSpliceDDS should be responsible sending local data to the centralized OpenSpliceDDS with secure layer (443). How to configure with client side ?? Thanks -Viswa
  14. Getting Present Topic

    Hi All, Is this possible to list the present topics running in the DDS ? Thanks -Viswa
  15. Getting Present Topic

    Hi Hans, Is it possible to get in-use Content-Filtering topics ?? Thanks -Viswa
  16. Hi All, I am using websocket to run the publishers and subscribers from web-broswer. i.e) The web-brower sends the details to the websocket .. websocket get the details and start the publishers or subscribers using pthread on the same machine as per the requests from the web-browers. In order to reduce the server load, i would like to running the publishers and subscribers from the web-browser(i.e Client side) itself. Is there any possibility to run the publishers and subscribers from the web-browser (client-side) ?? Thanks -Viswa
  17. Getting Present Topic

    Hi All, it will be helpful to get the in-use topics Here is the code: Subscriber_var builtinSubscriber = mgr->participant->get_builtin_subscriber(); DataReader_var reader = builtinSubscriber->lookup_datareader("DCPSTopic"); TopicBuiltinTopicDataDataReader_var participantReader = TopicBuiltinTopicDataDataReader::_narrow(reader); TopicBuiltinTopicDataSeq data; ReturnCode_t status; SampleInfoSeq info; status=participantReader->take ( data, info, LENGTH_UNLIMITED,DDS::ANY_SAMPLE_STATE,DDS::ANY_VIEW_STATE,DDS::ANY_INSTANCE_STATE) ; Here is the BuidInTopic IDL struct TopicBuiltinTopicData { BuiltinTopicKey_t key; string name; string type_name; DurabilityQosPolicy durability; QosPolicy deadline; LatencyBudgetQosPolicy latency_budget; LivelinessQosPolicy liveliness; ReliabilityQosPolicy reliability; TransportPriorityQosPolicy transport_priority; LifespanQosPolicy lifespan; DestinationOrderQosPolicy destination_order; HistoryQosPolicy history; ResourceLimitsQosPolicy resource_limits; OwnershipQosPolicy ownership; TopicDataQosPolicy topic_data; }; Thanks -Viswa
  18. Getting Present Topic

    Hi Hans, Thanks for your valuable inputs, it is much helpful. i used the code you provided and it is working fine. Thanks again. Thanks -Viswa
  19. Getting Present Topic

    Thanks for the reply Hans. I couldnt find the reference in the documents provided from the prism-tech site. can u provide me some reference to do. Thanks -Viswa
  20. Real-time data publishing

    Hello All, I am facing an issue with real time data publishing. I want to push 200 messages to DDS per second. But i could able to write only very few data. Please help me. Here is my QoS configuration. tQos.history.kind = DDS::KEEP_ALL_HISTORY_QOS; tQos.history.depth = DDS::LENGTH_UNLIMITED; tQos.liveliness.kind = DDS::AUTOMATIC_LIVELINESS_QOS; tQos.reliability.kind = DDS::RELIABLE_RELIABILITY_QOS; Thanks -Viswa
  21. Real-time data publishing

    Thank you very much Simon McQueen, It is working fine. Thanks All Thanks -Viswa
  22. Real-time data publishing

    Thanks for the reply. I thought of saving memory i set that lifespan value 0. With 0 and 3600 i got the same output. In the publisher side i got 65534 messages write, . . 1324483133, 255.984, -0.369876, 4, 1.01589, 1.01504 count :65532 1324483133, 255.988, -0.368622, 0, 1.01596, 1.01504 count :65533 1324483133, 255.992, -0.346039, 0, 1.01603, 1.01504 count :65534 but in the subscriber side i have got only 4960 messages . . ECG, ECG_LAB44, 1324483133, 255.617, -0.068482, 0, 1.00629, 0.985183 4958 ECG, ECG_LAB44, 1324483133, 255.949, 0.870982, 0, 1.0152, 1.01504 4959 ECG, ECG_LAB44, 1324483133, 255.996, -0.309665, 0, 1.0161, 1.01504 4960 The above output i showed only last few Thanks -Viswa
  23. Real-time data publishing

    Hi Hans van, Thanks for the reply. I am using TopicQos properties for publisher and datawriter. Here is my TopicQos Policy tQos.durability.kind=VOLATILE_DURABILITY_QOS; DDS::Duration_t cleanup_delay = {0, 0}; tQos.durability_service.service_cleanup_delay = cleanup_delay; tQos.durability_service.history_depth=1; tQos.durability_service.max_samples=1; tQos.durability_service.max_instances=1; tQos.durability_service.max_samples_per_instance=1; tQos.reliability.kind=RELIABLE_RELIABILITY_QOS; DDS::Duration_t tempdura = {0, 0}; tQos.liveliness.kind = DDS::AUTOMATIC_LIVELINESS_QOS; tQos.liveliness.lease_duration = tempdura; tQos.lifespan.duration=tempdura; tQos.reliability.synchronous=true; tQos.history.kind=KEEP_LAST_HISTORY_QOS; tQos.history.depth=1; Thanks -Viswa
  24. Real-time data publishing

    I was able to resolve the issue. The issue seems to be not with in the publisher but from the program which generates the data. And now im able to publish more data in a second. But im facing an another issue. As i said, i was able to send more messages per second to DDS. But after certain number of messages (ranges from 25575 - 25598) has been published, the publisher program dies with out any error or core dump file. Is there any restriction to send only certain number messages or do we need to fine tune any configuration or QoS properties? Thanks -Viswa
  25. Hello All, I have created a simple setup which includes a publisher, a subscriber and OpenSpliceDDS on the same machine. I like to have a setup with Publisher, Subscriber and OpenSpliceDDS on three different machines respectively.Can you please help on this with your inputs. Note: OpenSpliceDDS have default configuration. Example : publisher(x.x.1.12) ---> OpenSpliceDDS (x.x.1.11) ---> OpenSpliceDDS (x.x.1.13) please share with me if there are any sample demos or sample codes ? Thanks -Viswa