This shows you the differences between two versions of the page.

Link to this comparison view

content:tech:dna_helper [28/05/2013 17:33] (current)
Andrew Bettison created
Line 1: Line 1:
 +====== DNA Helper ======
 +The DNA Helper interface is a mechanism that allows the [[Serval DNA]] daemon to invoke an external executable (typically a script) whenever it receives a [[DNA]] **Lookup** query.  The queried [[DID]] is passed to the script's standard input, which can respond on standard output with zero or more [[URI]]s which tell the requestor how to call the requested number.  All valid output URIs are returned to the DNA requestor in addition to any URI returned by [[Serval DNA]] itself.
 +The interface was designed to tolerate all kinds of script behaviour and misbehaviour by imposing a timeout on each invocation and using escalating signals to kill scripts that run for too long.  The script's standard error is echoed to the [[Serval DNA log]] to aid development and diagnosis of scripts.  The script's output is carefully parsed to ensure it conforms to the allowed responses.  Any malformed output is logged but not sent.
 +The DNA Helper interface was designed and implemented in mid 2012 as part of the [[:content:activity:naf1]], in order to implement [[Commotion OpenBTS]].