Hi Klaus,
Using exec is not a nice solution. Maybe it would be better to write a new module (or modify an existing module which add/rewrites headers). Also avops is very powerful and can rewrite and add headers.
I agree with you that exec is not the kind of technology to be used in production systems. ;)
Can you describe the task of the external script? Maybe we can find a better solution.
Our focus is on what I suppose the exec interface was primarily intended to do: lowest-cost testing mechanism. Basically it's (or at least should be) a way to test features before they are implemented - as you suggested - within dedicated modules.
Alternatively, a specific example: integration of an existing Diameter client into OpenSER for testing purposes.
Most of the tasks we'd like to do can probably be implemented using operations supported by avpops. My initial question was more conceptual in nature - is the exec() module intended to be used bidirectionally or not. The answer is: apparently not, as I see some kind of triangle routing via avpops and databases. ;)
My personal opinion is that for OpenSER module prototyping a bidirectional exec interface can be an excellent help.
Thanks to you and Daniel for your replies, regards --Joachim