Hi Trevor,
The proper (as syntax) way of doing the lookup should be:
dp_translate("1","$si_$Ri/$var(out)",$avp(foo))
Also, instead of using the attr, you can use directly the repl_exp to
return some value.
In terms of processing and unpacking the returned value, better use
transformations. And to really simplify things, use ';' as separator
rather than ',' (to have a string similar to a list of parameters:
attrs: route=2;forced_socket=41.213.100.200
$var(my_route) = $(avp(foo){param.value,route});
See:
http://www.opensips.org/Documentation/Script-Tran-2-1#toc52
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 05.08.2015 12:44, Trevor Steyn wrote:
Ho Bogdan,
Thanks for this just want to make sure i am doing this the right way
So im my thinking i have the following tables in dialplan
*************************** 1. row ***************************
id: 6
dpid: 1
pr: 1
match_op: 0
match_exp: 196.2.97.165_41.213.100.100
match_flags: 0
subst_exp:
repl_exp:
timerec:
disabled: 0
attrs: route=2,forced_socket=41.213.100.200
*************************** 2. row ***************************
id: 4
dpid: 1
pr: 1
match_op: 0
match_exp: 196.2.97.165_41.213.100.200
match_flags: 0
subst_exp:
repl_exp: \2
timerec:
disabled: 0
attrs: route=1,forced_socket=41.213.100.100
In my script I will have something like this
if (dp_translate("1",/$si+"_"+$Ri,$avp(foo)) {
Do some routing
}
Is this the way you envisioned doing this, Also what is the correct way
to to get seperate AVP's for the attributes column i have not been able
to find the answer to this i currently manually get the attributes avp
Lets say my attributes column has the following
route="1";somethingelse="random"
I currently get the route by using avp_subst like so
avp_subst("$avp(foo)/$avp(string_custom_route)/",
'/.*Route=[^"]*"([^"]*).*/\1/');
then i use ///$avp(string_custom_route)/ to route the call, I feel like
this is not good practice if you could guide me here i would appreciate it
as i have tried finding examples with no avail.
Regards
Trevor Steyn
/
On 05/08/2015 09:50, Bogdan-Andrei Iancu wrote:
Hi Trevor,
Why not using the dialplan module which allows you do operate with
custom data, it does regexp search and caching too.
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 04.08.2015 21:32, Trevor Steyn wrote:
Hi All,
I would like to be able to route calls based on Source IP and
Destination IP (always one of opensips IPs), As usual there are many
ways to skin a cat,
My first thought was to have a table such as the address table but
modify the IP field to a concatenation of $si and $RI
so you would have a table like this
*************************** 1. row ***************************
id: 6
grp: 1
ip: 196.2.97.165_41.213.100.100
mask: 32
port: 0
proto: udp
pattern:
context_info: Route=2;Forced_Socket=41.213.100.200
So in the route script i would do something like this
/check_cource_address("1",$si+"_"+$Ri) /
Obviously i cannot just do this with the permissions module as it
wont accept this in the IP field as it expects a valid IP,
So before i go down that road i was wondering if anyone knows an out
of the box way i can do this without impacting performance, I could
easily use avp_ops for this but as far as i can see it does a db
query for every transaction, this is not something that needs to be
called for every new sip transaction it should be loaded into memory
at startup.
Your thoughts would be appreciated I would just like to be pointed in
the right (Best possible way to do this) direction.
Regards
Trevor Steyn
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users