Pre-Submission Checklist

Type Of Change

Checklist:

Description

proposal for xavp_copy()
param1: source xavp name
param2: source xavp index
param3: destination xavp name

The command will copy only one specific xavp from the stack.
If the destination xavp stack exist it will append else it will create a new one, it seems to be more or less compatible to what we do with XAVP in general.

We can not reorder xavp stack like in the following example :

route[TEST] {
        $xavp(a=>x) = "a-0-x";
        $xavp(a[0]=>y) = "a-0-y";
        $xavp(a=>x) = "a-1-x";
        $xavp(a[0]=>y) = "a-1-y";
        xinfo("$$xavp(a[0]) = [$xavp(a[0]=>x)][$xavp(a[0]=>y)]\n");
        xinfo("$$xavp(a[1]) = [$xavp(a[1]=>x)][$xavp(a[1]=>y)]\n");

        $var(src_idx) = 1;
        $var(v) = "b";
        xavp_copy("a", "$var(src_idx)", "$var(v)");
        $var(src_idx) = 0;
        xavp_copy("a", "$var(src_idx)", "$var(v)");
        xinfo("$$xavp(b[0]) = [$xavp(b[0]=>x)][$xavp(b[0]=>y)]\n");
        xinfo("$$xavp(b[1]) = [$xavp(b[1]=>x)][$xavp(b[1]=>y)]\n");
}
 2(137) INFO: <script>: $xavp(a[0]) = [a-1-x][a-1-y]
 2(137) INFO: <script>: $xavp(a[1]) = [a-0-x][a-0-y]
 2(137) INFO: pv [pv.c:827]: w_xavp_copy(): xavp_copy(new): $xavp(a[1]) >> $xavp(b)
 2(137) INFO: pv [pv.c:833]: w_xavp_copy(): xavp_copy(append): $xavp(a[0]) >> $xavp(b)
 2(137) INFO: <script>: $xavp(b[0]) = [a-0-x][a-0-y]
 2(137) INFO: <script>: $xavp(b[1]) = [a-1-x][a-1-y]

You can view, comment on, or merge this pull request online at:

  https://github.com/kamailio/kamailio/pull/2070

Commit Summary

File Changes

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.