Looking for an experienced .NET/C# developer to implement a TR-069 CWMP compliant web service (HTTP/SOAP) for an ACS/device management server using the .NET 4.6 framework and database back-end.
Project will include implementation of the following server-side methods according to the TR-069 v1.1 specification:
1. Inform - Use reported data to populate database with device details, then respond with appropriate response message. Reported device serial number will be used as primary key to upsert rows in devices table.
2. GetRPCMethods - For each RPC method received, the server will create an entry in an RPCMethods table (if not already present), then create an entry in a join table to relate the supported method with the originating device
3. TransferComplete & AutonomousTransferComplete - On receipt of message, create log entry in DB indicating status of transfer and corresponding device
4. GetParameterNames - For each supported parameter name, an entry should be created in the respective DB table if one does not already exist.
5. GetParameterValues - For each reported parameter value, an entry should be upserted in the respective table. The table should associate records with the corresponding parameter name in as well as the reported device.
6. SetParameterValues - Server should read parameter values from appropriate DB table and send to the device for configuration.
7. Add/DeleteObject - Same behavior as Get/SetParameterValues where values are read from database and passed to client object when needed.
8. Download & Upload - Server will generate download messages based on contents of database entries for reporting device. Received Upload message contents will be logged to database.
9. GetAllQueuedTransfers - Server will log current uploads/downloads to database
Each method should populate database with relevant fields and respond with appropriate message according to the TR-069 v1.1 specification. Status values indicating success/failure should also be logged accordingly.
Developer will be provided with remote access to CWMP client device if needed for generating messages.
Developer may need to add/modify existing database schema and should follow best practices such as normalization and appropriate indexing when doing so.
Depending on quality of work product, on-going development may be available following completion of this project.