Hello Ben,
Thank you for your advices!
  
>Четверг, 26 сентября 2019, 21:16 +03:00 от Ben Newlin <ben.new...@genesys.com>:
> 
>Oleg,
> 
>OpenSIPS stores all the changes you make to the INVITE and applies them all 
>together right before sending it out. This is to be more efficient. So you 
>cannot usually see these types of changes during processing. This means if you 
>want to keep using those headers in your script you need to remember them 
>yourself.
> 
>The easiest way to do this from your code is to just access the same $json 
>variable in the BALANCE route. JSON variables in OpenSIPS are just like $var 
>in that they are persistent within an OpenSIPS process [1] (so make sure you 
>initialize!). So as long as you are not calling any async function in between, 
>the values will all still be there.
> 
>Alternatively, you can store the values in AVPs [2]. Assuming you are using 
>TM, AVPs are attached to the transaction and will persist through branches and 
>replies, in case you need the values there as well. AVPs are stacks, so the 
>model I have used for data like this is to have 2 AVPs – one for the keys and 
>one for the values – and keep them in sync.
> 
>[1] -  https://opensips.org/html/docs/modules/2.4.x/json.html#pv_json
>[2] -  https://www.opensips.org/Documentation/Script-CoreVar-2-4#toc2
> 
>Ben Newlin 
> 
>From:  Users < users-boun...@lists.opensips.org > on behalf of Oleg Podguyko 
>via Users < users@lists.opensips.org >
>Reply-To:  Oleg Podguyko < podgu...@mail.ru >, OpenSIPS users mailling list < 
>users@lists.opensips.org >
>Date:  Thursday, September 26, 2019 at 1:49 PM
>To:  "users@lists.opensips.org" < users@lists.opensips.org >
>Subject:  [OpenSIPS-Users] Take the value of the newly added SIP X-header for 
>the log
> 
>Hello everebody!
> 
>My opensips works as proxy. Get INVITE from one side and communicates with a 
>remote web server via rest. Opensips sends a request to the web server and 
>receives a lot of custom data, which it converts to SIP X-header. In the end I 
>get 10 different SIP X-headers
> 
>$var(i) = 0; 
>            while( $json(resp/headers[$var(i)]) )
>            {
>                $var(header)=$json(resp/headers[$var(i)]/header);
>                $var(value)=$json(resp/headers[$var(i)]/value);
>                $var(i) = $var(i) + 1;           
>                # add sip headers
>                append_hf("$var(header):$var(value)\r\n");
>            } 
>        route(BALANCE);
>        route(RELAY);  
> 
> Everything works. Now, In the next route (BALANCE), I want to output the 
>header that was just added to the log
>xlog("L_INFO", "$X-My-Custom-Header: $(hdr(X-My-Custom-Header))");
> 
>But in the log I always see null. Although in the INVITE wich opensips sends, 
>all SIP X-header in place. 
>Does this mean I can't get the value of the newly added SIP X-header? What 
>should I do to get these values?
> 
> 
> 
> 
> 
>--
>Олег Подгуйко 
 
 
--
Олег Подгуйко
 
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to