[SR-Users] Need an explanation of the contents of the LCR gw_uri_avp for replacement I am making to some of the functionality of the LCR module

Will Ferrer will.ferrer at switchsoft.com
Tue Apr 29 03:49:30 CEST 2014


Hi Juha

I just wanted to update every body on what I found looking at the c code.
The values in between the pipes are as follows:

gw_index | scheme | strip | prefix | tag | ip_addr | hostname | port |
params | transport | flags


Most of these things are clearly retrievable from the DB (just look at the
lcr_gw table and you will see the values there) but I found 2 things worthy
of note:

1) gw_index: this seems that it can be any number that is unique inside the
avp, when I tried reconstructing this avp I used just 1 and 2 for my test
entries and this worked.
2) ip_addr: There is some interesting munging that happens with in the c
code to encode this value, however I found that when I over wrote the
values of the avp manually I didn't need to do the munging -- just putting
an ip address in this space worked fine.


>From my basic testing here it looks like overwriting the contents of this
avp to substitute in ones own lcr destinations should be pretty straight
forward.

All the best.

Will Ferrer


On Mon, Apr 28, 2014 at 6:22 PM, Will Ferrer <will.ferrer at switchsoft.com>wrote:

> Hi Juha
>
> Thank you very much for pointing me in the right direction. I am looking
> the c code now and I will update the list if I figure it out sufficiently.
>
> All the best.
>
> Will Ferrer
>
>
> On Sat, Apr 26, 2014 at 10:51 PM, Juha Heinanen <jh at tutpro.com> wrote:
>
>> Will Ferrer writes:
>>
>> > I have found you can overwrite the contents of the gw_uri_avp (default:
>> > $avp(i:709)) substitute this function call. However I am a bit unclear
>> > about what goes in this avp. I was wondering if any one knew of a place
>> I
>> > could find this information.
>>
>> gw_uri_avp is internal avp and is not intended for manipulation.
>>
>> > The contents of the avp is an list whose entries look something like
>> this
>> > :"2|1|0|||258722358||5060||1|1". The values separated by the | are
>> likely
>> > values from the database, and some of them are obvious (like the port
>> and
>> > the prefix), but others are not. In particular the longer number baffles
>> > me, it's not the ip of the gateway from the lcr_gw table, unless it is
>> but
>> > has been altered in some way.
>>
>> if you want to play with it, you need to check from source code what the
>> various fields mean.  the relevant functions are encode_avp_value and
>> decode_avp_value.  there are comments about the fields.
>>
>> be aware that contents gw_uri_avp may change from version to version
>> without warning.
>>
>> -- juha
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20140428/9e200cd7/attachment.html>


More information about the sr-users mailing list