CWMP CPE (Client) implementation [closed] - soap

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am trying to get the TR-069/CWMP protocol up and running. I have found an open source ACS server called openACS. My problem is the CPE, there does not seem to be any open source CPE implementations around. I have found a few projects but none are alive. I was wondering if anyone knows about any full CPE implementation? Also, Does anyone know how much work would be involved in implementing the protocol myself?
Thank you.

I had implemented a generic stand alone CWMP client in pure C before 5-6 years. It was a project for my University (there is a publication for that http://ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F30%2F34592%2F01649657.pdf%3Farnumber%3D1649657&authDecision=-203)
Well, actually, if you read the paper you'll see that we propose there a methodology for creating (instantiating) CWMP clients through Java. You could use a java program to define the model of the CWMP client and create a configuration file which would be used by the generic CWMP client. After that you used some hooks to define what should be done on the Set or Get of each parameter of the model.
If I remember correctly, the CWMP client implemented most of the requirements of the TR-69 document and you could add its model (set and get parameters) easily without using the Java tools.
If you feel that it could help you and want to continue the CWMP client, I would gladly send to you (or upload somehere) the full source code. However I warn you - I don't remember anything about that project so I can't answer any questions !
Concerning the implementation time, it took me around 2-3 months. I had implemented my own HTTP server and SOAP parser / generator (using IXML for XML parsing). It wasn't anything fancy but it was working - it even supported SSL through OpenSSL !
Also, I've created a bitbucket repository containing the source code of the client: http://bitbucket.org/spapas/cwmpclient. I hope it's helpful - if it is, just add a reference to the original project

I recently developed GPLv2 TR-069 (cwmp) client called freecwmp. You can get it here:
http://www.freecwmp.org/

we developed a full complete open source called easycwmp. please visit http://www.easycwmp.org for more details and to download the source

It's not true that there is no actively developed CWMP client. freecwmp is under active development and it is GPLv2 licensed; it is already used in production. Main focus is on OpenWrt platform.
Also I have started doing server side ACS and CWMP proxy. More information can be found on the project web page: http://freeacs-ng.org/

The short answer is there are no fully implemented open source CPE implementations. There does not seem to be any open source implementations in progress either. Also, I believe there will be quite a lot of work involved in creating my own implementation.

Related

If you read an LGPL projects source code and that inspires an entirely different implementation, is that work still a derived work? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
I really want to use PGM for an application that I'm working on for one my companies. That application will never be distributed, it's for internal use only. There is an implementation called OpenPGM and a (I believe) derivative work javapgm that implements the protocol. Both are licensed under the LGPL.
My question is if I read the source code for these libraries and use that knowledge to help create an Erlang PGM implementation, would that be considered a derived work? I would prefer to release my implementation under the BSD license, so I'm not trying to take something for nothing, but I want to play fair.
In short then:
Would / should my version be released under the LGPL?
If my company is using it internally only, would there be any restrictions on how it could use that library? (it would never be distributed outside the company).
Is it in the spirit of the LGPL license to do what I want to do?
Thanks in advance! :)
I don't think it would be a derived work unless there is a 1:1 correlation between lines of code in your thing and the open source code. We're not talking about a patent here, where the concept of the invention is important.
If it is only used internally then it doesn't have to be.
You could never be certain that it doesn't accidentally leak out or get shared or included in another project.
You should try to work with OpenPGM to make the Erlang interface that you need; then it is open source, other people may help maintain it for you, you get a free code review

amqp or xmpp for real time online games [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 months ago.
The community reviewed whether to reopen this question 5 months ago and left it closed:
Original close reason(s) were not resolved
Improve this question
Which of these technology suite for Multi user online game project?
Project requirements:
Able to handle 2k-5k user at any given time.
client library for iphone and android (native, no javascript).
client library for Microsoft Windows (most important), also for mac os x and linux.
Good documentation specially for mod development
Project is not open-source. So, can only use libraries with suitable license.
I can program in erlang and java as well, programming language isn't an issue.
I was looking at following server technologies like Openfire, Tigase, ejabberd and RabbitMQ.
All are good for my project but I want to know more about what suite my needs, AMQP or XMPP.
What AMQP offer specially for real time online games. Is it better option then xmpp?
A key difference between XMPP and AMQP is binary content. AMQP handles binary data just fine, and XMPP seems more designed for XML. Personally for online games I use Google Protocol Buffers for message formatting and parsing, and with their very small binary footprint, I'd be more inclined to use AMQP to deliver those messages.
But do consider what AMQP server you want to use. I've been bitten by using RabbitMQ for my AMQP server in the past. RabbitMQ does not have any flow control facilities, at all. So if your clients are sending messages faster than your server can consume them, buffers on the server can fill up and blow the server up. More recent versions of RabbitMQ implement flow control in an exceedingly coarse way: they halt all consumers in the system until memory clears up.
I've never tried zeromq; perhaps it'd be better for the things I've been using RabbitMQ for...
5K users doesn't tell me much about their behaviour, but if they all submited one request within the same 10 second window then let's say you'd be looking in the 500-1000 requests per second.
I've had Active/MQ running on my relatively low-powered lap-top easily handling 300 requests per second and so I'd happily recommend it here. You can also set up clusters of brokers and achieve horizontal scalability. You can use an http protocol (STOMP) or its native binary protocol. Lots of client API libraries also for C/C++, Java, JavaScript and others. There is some initial AMQP support.
You didn't mention any persistence requirement, but again I would have thought that most RDBMSs would suffice. That said, some of the document oriented and big-table type databases look interesting from a horizontal scaling perspective.
I've also found Apache Camel highly performant and I strongly recommend it. Camel is used to implement your logic layer.

Looking for a web based diff component [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
In a content management system, moderators have to approve changes to existing articles. Currently the system shows the old and the revised version of the text in plain text. It is a pain to find the actual differences.
In GoogleDocs, there is a 'Compare revisions' feature which highlights the differences between two documents.
If there a free component out there that does the same thing?
If not, would you write such a component in JavaScript or on the server side?
All the usual diff tools are desktop applications.
John Resig wrote one in JavaScript that looks interesting.
Here it is.
Try Pretty Diff tool. It is based upon jsdifflib, but is enhanced to highlight per character differences and rebuilt for speed. It also compares minified code to unminified code. It is entirely written in JavaScript and supports JavaScript, CSS, and XML/XHTML input.
http://prettydiff.com/
jsdifflib looks like an interesting javascript-based client side library. I would lean strongly toward a client-side implementation if it provided the features that you needed. Why tax your servers on presentation logic when you're already handing the client the data anyway?
The Diff, Match and Patch Library is available with an identical API in JavaScript, Java, C#, Python, and other languages. (It seems to have been and may still be the one used in Google Docs.)
There is an online demo of the HTML output of the diff'ing options.
Given the identical API available on both client- and server-side languages, it should be easier to make a switch between them should you decide you want to...
If you're working with PHP, you may find SimpleDIFF to be helpful.
Check out the JavaScript diff library wikEd diff. It is used on Wikipedia in the gadget wikEdDiff for exactly the asked purpose to compare revisions of articles. The free (public domain) library can detect and highlight block moves, works on the word/character level, and spits out a nicely formatted text with insertions, deletions, moved blocks, and their original positions marked up. See the online demo to play with settings.

JIRA SOAP API documentation? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I'm building some custom tools to work against a JIRA install, and the exposed SOAP API is great, except that none of the arguments are named.
For example, the prototype for getIssue is:
RemoteIssue getIssue (string in0, string in1);
All of the SOAP RPC methods follow this convention, so without documentation I'm pretty hardpressed to figure out what to pass on a lot of these.
Does anyone know of a definitive API documentation guide?
Found the javadoc:
http://docs.atlassian.com/software/jira/docs/api/rpc-jira-plugin/latest/index.html?com/atlassian/jira/rpc/soap/JiraSoapService.html
I've found that it's pretty simple to intuit what the parameters are supposed to be. Depending on how complicated you're going, you might be able to guess what you're supposed to pass.
There's one super important one though (this is Python with SOAPpy):
self.proxy = WSDL.Proxy( jiraUrl )
self.token = self.proxy.login(self.username, self.password)
...
issues = self.proxy.getIssuesFromFilter(self.token, args[0])
After getting the token from the login() method, you need to pass it in as a parameter to all of the other SOAP calls. After figuring that out, it's been pretty straightforward to figure out what the parameters should be (for example, getIssuesFromFilter should take the filterId as its other parameter)
See http://confluence.atlassian.com/display/JIRA/JIRA+RPC+Services for all JIRA RPC services
The javadoc link you found is the correct one. You should also know that not everything is exposed via the SOAP or RPC interfaces, but you can do just about anything using the REST interface. Unfortunately, the REST interface isn't well documented, but you can use an HTML traffic inspector tool (like Fiddler for IE) to grab the actual POST data sent to the server from the web interface and piece together the interface for the particular call you need. Not always the easiest way but it does work.

Which continuous integration framework for Perl? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
What are the best continuous integration frameworks/projects for Perl and why?
The only one I've seen in action is Smolder (it is used for parrot). It is TAP based and therefore integrates well with standard perl testing structures. See also this presentation.
I've looked into the various ones suggest, but they all seemed a little fiddly to get going.
I've since found Hudson , from playing around with it, it seems very nice, coupled with tap-to-junit-xml it took me about 30 minutes to get a basic build happening. Very nice.
Check out Test-AutoBuild!
It is possible to have Cruise Control checkout and run your Perl source. It takes a little googling to piece together how to do it, but I have seen it done before.
I haven't tested it, but TAP::Harness::JUnit should make just about any CIS available to you. I like Bamboo, since it integrates into the rest of my (Atlassian) tools.
I've been impressed with BuildBot recently - it supports a lot of source control systems, has a nice web interface & IRC bot that work out-of-the-box, is pretty easy to configure, and very extensible (in Python).
It took some time to get it configured/extended for my current project, and I had to jump through some hoops to get it to play nicely with TAP::Formatter::HTML. But now it's up & running I'm glad I spent the time on it - it works quite well.
Wishlist items for me are stats collecttion & display, and integration of TAP.
Pjam - is a new pinto based build server for perl applications. This is the perl specific build server,
because of using pinto under the hood it gives you very control on your builds:
comparing builds
roll back project to given build
see changes for the next build
etc.
It's ruby on rails applications - see more on https://github.com/melezhik/pjam-on-rails. The author.