diff --git a/app.py b/app.py index 0b9cdbc..6796203 100644 --- a/app.py +++ b/app.py @@ -63,6 +63,13 @@ def generate_config(params=None, serial=None, config_file='./config/femtocells.i def root(): return 'This is a femto-acs/tr069 server' +def fault(tree, node): + """ handle a Fault """ + cwmpid = get_cwmp_id(tree) + + LOG.error("Fault: %s", node) + return response + def inform(tree, node): """ handle a device Inform request """ cwmpid = get_cwmp_id(tree) @@ -149,6 +156,9 @@ def acs(): method, node = method + if method == "Fault": + return fault(tree, node) + if method == "Inform": return inform(tree, node) diff --git a/xmlutils.py b/xmlutils.py index 233746d..ccdacad 100644 --- a/xmlutils.py +++ b/xmlutils.py @@ -14,6 +14,8 @@ def get_cwmp_method(root): return None for child in body: + if child.tag == '{urn:dslforum-org:cwmp-1-0}Fault': + return ('Fault', child) if child.tag == '{urn:dslforum-org:cwmp-1-0}Inform': return ('Inform', child) if child.tag == '{urn:dslforum-org:cwmp-1-0}SetParameterValuesResponse':