Hi Alex, Nice approach. I'll try that too but I'm affraid about DB performace issues (I have a very busy mysql).
Thanks a lot. Uriel On Thu, Jul 8, 2010 at 3:05 PM, Alex Balashov <abalas...@evaristesys.com> wrote: > Maybe the database can apply the regex and give you the transformed result? > Databases are quite capable these days. I do this in PostgreSQL all the > time. > > On 07/08/2010 01:53 PM, Uriel Rozenbaum wrote: > >> Hi Alex, :) >> >> I was just trying to keep it simple, but let me explain a little bit. >> >> I'm using a Proxy+RTPProxy in mhomed mode. I have a public and a >> private IP on that Proxy and route calls in and out of a network. >> >> As I have many carriers that want different ANI and DNIS patterns I >> have to deal with some flexible configuration. So I created a table >> where I hold a special regex rule for each of them and then I get the >> regex in realtime (with SQLOps) into an AVP ($avp(s:carrierAniRegex)). >> Then I get the ANI for the incoming leg and store it on an AVP >> ($avp(s:ANI)). >> >> When I execute this regex I get the new ANI to replace in FROM, RPID and >> PAI. >> >> To be honest it's actually more complex because in a per carrier >> basis, I configure if I'll use a fix ANI, a REGEX edited one or I'll >> leave it transparently. :) >> >> If someone would like to do something similar, I'll be glad to share >> scripts and configs. >> >> Best regards, >> Uriel >> >> On Thu, Jul 8, 2010 at 12:35 PM, Alex Balashov >> <abalas...@evaristesys.com> wrote: >>> >>> There may be an easier and more elegant and more performant way to >>> accomplish what you are trying to accomplish, but we cannot know without >>> seeing the pattern and the regex. :) >>> >>> -- >>> Alex Balashov - Principal >>> Evariste Systems LLC >>> 1170 Peachtree Street >>> 12th Floor, Suite 1200 >>> Atlanta, GA 30309 >>> Tel: +1-678-954-0670 >>> Fax: +1-404-961-1892 >>> Web: http://www.evaristesys.com/ >>> >>> On Jul 8, 2010, at 10:30 AM, Uriel Rozenbaum<uriel.rozenb...@gmail.com> >>> wrote: >>> >>>> Hi Daniel, >>>> >>>> Actually I'm going to partially take your advice, implementing the >>>> following: >>>> >>>> exec_avp("echo '$avp(s:ANI)' | sed '$avp(s:carrierAniRegex)'", >>>> "$avp(s:ANIegress)"); >>>> >>>> I'll check for performance issues later but surely this simplifies a >>>> lot the config. >>>> >>>> Thanks! >>>> Uriel >>>> >>>> On Thu, Jul 8, 2010 at 5:55 AM, Daniel-Constantin Mierla >>>> <mico...@gmail.com> wrote: >>>>> >>>>> Hello, >>>>> >>>>> On 7/7/10 11:06 PM, Uriel Rozenbaum wrote: >>>>>> >>>>>> Hey guys, >>>>>> >>>>>> I'm using Kamailio 1.5.3-notls and need to apply some re operation to >>>>>> an >>>>>> AVP. >>>>>> >>>>>> The problem I have is that my re expression is held in an AVP, so the >>>>>> parser is not recognizing it :( >>>>>> >>>>>> Would it be very hard to change that behavior? Any ideas/tips to >>>>>> implement? >>>>>> >>>>>> This code >>>>>> route[16] >>>>>> { >>>>>> ... >>>>>> avp_subst("$avp(s:ANI)/$avp(s:ANIegress)", >>>>>> "$avp(s:carrierAniRegex)"); >>>>>> ... >>>>>> } >>>>>> >>>>>> returns this error >>>>>> ERROR:avpops:fixup_subst: avpops: bad subst re >>>>>> $avp(s:carrierAniRegex) >>>>>> >>>>>> This code >>>>>> route[16] >>>>>> { >>>>>> ... >>>>>> avp_subst("$avp(s:ANI)/$avp(s:ANIegress)", $avp(s:carrierAniRegex)); >>>>>> ... >>>>>> } >>>>>> >>>>>> returns this error >>>>>> CRITICAL:core:yyerror: parse error in config file, line 751, column >>>>>> 51-74: syntax error >>>>>> CRITICAL:core:yyerror: parse error in config file, line 751, column >>>>>> 74-75: bad arguments >>>>>> >>>>>> Do you think some other way I can achieve this? Be aware I'm using >>>>>> SQLops to get realtime the value of the expression... >>>>>> >>>>> >>>>> avp_subst() cannot help here, there is no support for taking the >>>>> substitution expression from a variable. >>>>> >>>>> What you can do in 1.5 is either look at dialplan to see if it fits >>>>> your >>>>> needs (it can do such substitution with expressions taken from db at >>>>> startup, which can be reloaded at runtime), otherwise try using perl >>>>> module >>>>> (or exec in 1.5+ and lua/python in devel). >>>>> >>>>> Cheers, >>>>> Daniel >>>>> >>>>> -- >>>>> Daniel-Constantin Mierla >>>>> http://www.asipto.com/ >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list >>>> sr-users@lists.sip-router.org >>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users >>> > > > -- > Alex Balashov - Principal > Evariste Systems LLC > 1170 Peachtree Street > 12th Floor, Suite 1200 > Atlanta, GA 30309 > Tel: +1-678-954-0670 > Fax: +1-404-961-1892 > Web: http://www.evaristesys.com/ > _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users