[Devel] Changing a newly added header in the branch_route
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Thu Jun 14 19:22:32 CEST 2007
Klaus Darilion wrote:
> Ardjan Zwartjes wrote:
>>> Probably now the answer you want to hear, but: Why not adding the
>>> header in the branch route instead of changing?
>>
>> Because in fact I'm developing several related modules with 1 core
>> module. 1. The core module initializes the header with some information.
>> 2. Optionally one of the extra modules adds some extra information in
>> the branch route.
>>
>> So even when nothing happens in the branch route the header should
>> exist.
>
> Maybe you can work around by using AVPs to signal values from core to
> related modules and let the header be added by the related module.
this is a possibility - make sure that the branch route is used on all
the case and add the header only there.
>
> Another workaround would be to process the lumps and then re-parse the
> message (as it would be needed for SIP Identity)
I think this is a too complicate approach for this purpose. Plus there
are no means to do it and it does pay the effort (in this case)
regards,
bogdan
>
>
> regards
> klaus
>
>>
>>
>>
>>
>>> Ardjan Zwartjes wrote:
>>>> I'm currently working on a OpenSER module for which I need the
>>>> following
>>>> functionality:
>>>>
>>>> 1. In the "route" block in the configuration an initialize
>>> function is
>>>> called which adds a header using something similar to
>>> append_hf from
>>>> the textops module, for example say it adds the header
>>> "X-Test: test".
>>>> 2. The scripts performs some functions and branches the call. 3. In
>>>> the branch_route I want to change the "X-Test" header to
>>> another value
>>>> based om some data gathered by my module.
>>>>
>>>> I hoped this would be a simple task, but so far I haven't
>>> been able to
>>>> implement this. This is the problem:
>>>>
>>>> - append_hf uses insert_new_lump_before() to add the new
>>> header to the
>>>> msg->add_rm or msg->body_lumps lump lists, so a subsequent textops
>>>> msg->calls
>>>> like remove_hf call won't find the header.
>>>> - I have circumvented this problem by creating a function that also
>>>> looks through the msg->add_rm and msg->body_lumps lists and if
>>>> necessary changes the lump->u.value to a new string so a different
>>>> header will be added. This works as long as I do this in the route
>>>> block.
>>>> - If I call this function in the branch_route however the
>>> lump that adds
>>>> the header cannot be found but the header also isn't
>>> accessible through
>>>> the msg->headers list (even when it's fully parsed).
>>>> So my question is: Does anybody knows what I need to do to change a
>>>> header that was added in the route block to a new value in the
>>>> branch_route? Thanks in advance!
>>>>
>>>> Kind regards,
>>>> Ardjan Zwartjes.
>>>>
>>>> _______________________________________________
>>>> Devel mailing list
>>>> Devel at openser.org http://openser.org/cgi-bin/mailman/listinfo/devel
>
> _______________________________________________
> Devel mailing list
> Devel at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/devel
>
More information about the Devel
mailing list