[SR-Dev] search_next_avp

Jan Janak jan at iptel.org
Fri Mar 13 03:22:06 CET 2009


Ovidiu,

On 12-03 14:40, Ovidiu Sas wrote:
> search_next_avp() has a different signature in sr core compared to k core.
> 
> k variant:
> struct usr_avp *search_next_avp( struct usr_avp *avp, int_str *val  );
> 
> sr variant:
> avp_t *search_next_avp(struct search_state* state, avp_value_t *val);

Correct. Kamailio version of search_next_avp gets the previous avp as a
parameter to know where to continue with the search. In SER we needed to
remember more than just the pointer to the previous AVP so we replaced the
parameter with a pointer to an opaque search_state structure. This structure
is initialized by search_first_avp and passed to search_next_avp during
subsequent search attempts.

The process of conversion from kamailio to sip-router in this case is rather
straightforward, you just need to create a search_state variable and pass it
to both search_first_avp and search_next avp.

> This will most likely cause problem for the following modules:
>  - acc
>  - avpops

I have already updated the two modules above.

>  - osp
>  - siptrace

These probably haven't been yet because there are currently more issues.

  Jan.



More information about the sr-dev mailing list