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