When the MSC responds with a SRI-SM-Response, we match against a
user-supplied list of IMSs. If there is a match, we replace the
known prefix of the IMSI with a new known prefix.
The mgw_nat_sup supervisor now starts one mgw_nat_usr process for each
MSC-STP link defined in the configuration file. However, the actual
translation/mangling/masquerading configuration as well as runtime state
like allocated SCCP mappings is global/shared between all signalling
links.
Furthermore, a new mgw_nat_adm process is introduced to ensure config
file reloading (formerly handled by the single mgw_nat_usr) does not
have to run in the supervisor (and risk crashing it).
By keeping a module reference, we can call multiple functions inside the
module, and not just one. This will allow us to propagate a 'reload_config'
function call into the rewrite actors.
Instead of a static configuration of rewrite/mangling/patching steps,
we now introduce the concept of a 'rewrite_actor', which is a callback
function that determines which rewrite/patching code to call at which
particular layer of the protocol.
The default rewrite actor "bow_onw" resembles the existing rewrite
behavior.
There is a stub new rewrite actore "vfuk_onw", which will be used
for Camel phase rewriting.