Hi Bogdan,
why do you need a variable key name?
To generate and store a time- and call-id- (and maybe tag)-dependent string at first time when a proxy sees a specific call-id. And to be able to retrieve this string at later time (possibly from other proxies when they process messages having this call-id). Background: add/remove information/headers in the core network that must not be visible to the UA.
wouldn't this work for you?
avp_printf("i:10", "$hdr(call-id)-$Ts"); avp_pushto("$Myheader","i:10");
Two problems that I see: 1. This stores the attribute on a per-contact base. In the case of an UA having several concurrent calls (imho) I can track at most one call. 2. Other proxies can not access this info (as it could if the call-id-related stuff was written to a DBS with the call-id as name/key)
The main requirement is thus firstly to have database- stored AVPs on a per-call base. And, secondly, to be able to retrieve the AVP values from the DBS when processing the content of any message belonging to this call, even by a component that did not generate this AVP.
regards --Joachim
Joachim Fabini wrote:
Hi,
Is there a way or workaround to generate AVPs with header values as AVP name? It seems to me that the current AVP concept defines the AVPs at OpenSER startup, so header-value-based names are not feasible.
What I need is the following: Store/retrieve a (key,value) pair where the key is the current message's call-id and the value some combination of header values and pseudo- variables.
e.g. use the ops avp_printf("$hdr(call-id)", "$hdr(call-id)-$Ts"); avp_pushto("$Myheader","$hdr(call-id)");
in order to append the following header to the SIP message: Myheader: 23459@10.0.0.1-4235627623
Any idea how to do this in OpenSER?
thanks in advance --Joachim
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users