drouting module - dr_gateways table attrs field

drouting module - dr_gateways table attrs field

Hello,

I'm playing with the new module drouting on svn trunk and i need to
get "which gateway is used on last request". I might be able to get it
with "attrs_avp" and "attrs" field on dr_gateways table, i guess. I
try some values to attrs but opensips crashed.

Could you give an example to use attrs_avp and what is the value
format of "attrs" fields.

Re: drouting module - dr_gateways table attrs field

Hi Ibrahim,

have you set the attr avp? Something like:
modparam("drouting", "attrs_avp", '$avp(s:dr_attrs)')

Then after do_routing() or use_next_gw(), do :
xlog("-----gw attr is $avp(s:dr_attrs)\n");

the value of the attr is whatever you want - the module does not interpret it - it is just reading it from DB and pass it to the AVP when you use the GW. It is your decision what to put there and how to use the value.

Regards,
Bogdan

ibrahim tunali wrote:

> Hello,
>
> I'm playing with the new module drouting on svn trunk and i need to
> get "which gateway is used on last request". I might be able to get it
> with "attrs_avp" and "attrs" field on dr_gateways table, i guess. I
> try some values to attrs but opensips crashed.
>
> Could you give an example to use attrs_avp and what is the value
> format of "attrs" fields.
>
> Regards,
>
> Ibrahim TUNALI
>
> _______________________________________________
> Users mailing list
> [hidden email]> http://lists.opensips.org/cgi-bin/mailman/listinfo/users>
>

>
> Hi Ibrahim,
>
> have you set the attr avp? Something like:
> modparam("drouting", "attrs_avp", '$avp(s:dr_attrs)')
>
> Then after do_routing() or use_next_gw(), do :
> xlog("-----gw attr is $avp(s:dr_attrs)\n");
>
> the value of the attr is whatever you want - the module does not interpret it - it is just reading it from DB and pass it to the AVP when you use the GW. It is your decision what to put there and how to use the value.
>
>
> Regards,
> Bogdan
>
> ibrahim tunali wrote:
>>
>> Hello,
>>
>> I'm playing with the new module drouting on svn trunk and i need to
>> get "which gateway is used on last request". I might be able to get it
>> with "attrs_avp" and "attrs" field on dr_gateways table, i guess. I
>> try some values to attrs but opensips crashed.
>>
>> Could you give an example to use attrs_avp and what is the value
>> format of "attrs" fields.
>>
>> Regards,
>>
>> Ibrahim TUNALI
>>
>> _______________________________________________
>> Users mailing list
>> [hidden email]>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users>>
>>
>

On Thu, Jan 22, 2009 at 17:20, Bogdan-Andrei Iancu
<[hidden email]> wrote:
>
> Hi Ibrahim,
>
> have you set the attr avp? Something like:
> modparam("drouting", "attrs_avp", '$avp(s:dr_attrs)')
>
> Then after do_routing() or use_next_gw(), do :
> xlog("-----gw attr is $avp(s:dr_attrs)\n");
>
> the value of the attr is whatever you want - the module does not interpret it - it is just reading it from DB and pass it to the AVP when you use the GW. It is your decision what to put there and how to use the value.
>
>
> Regards,
> Bogdan
>
> ibrahim tunali wrote:
>>
>> Hello,
>>
>> I'm playing with the new module drouting on svn trunk and i need to
>> get "which gateway is used on last request". I might be able to get it
>> with "attrs_avp" and "attrs" field on dr_gateways table, i guess. I
>> try some values to attrs but opensips crashed.
>>
>> Could you give an example to use attrs_avp and what is the value
>> format of "attrs" fields.
>>
>> Regards,
>>
>> Ibrahim TUNALI
>>
>> _______________________________________________
>> Users mailing list
>> [hidden email]
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>

Re: drouting module - dr_gateways table attrs field

I'm using an older version in production of openser with the LCR module and I've tried using $rd to account where the call went. I get a lot of problems doing this because of things like RE-INVITES and such. It's been a real headache. It doesn't seem to be consistently accurate. I can't reproduce the problem, but if I ramp up 10,000 calls, it'll happen.

One particular problem happens like this. And I know this isn't DR, but I'd expect it to have a similar problem. First of all, understand that I'm writing my own CDR records with avp_db_query and not with ACC since I want a unified single record per call.

Ok, an old bug in Asterisk causes it to set the T1 SIP Timer to the length of time of an OPTIONS reply. This is really stupid. So Asterisk expects my OpenSER proxy to reply in 1ms to an INVITE. It just doesn't happen. So sometimes I get retransmissions. Each INVITE that is received performs a load_gws(). Which, because of the RAND in there, sometimes loads GW1, and sometimes loads GW2. Because they both have the same callid, sometimes the original INVITE $rd overwrites the retransmitted $rd and thus the wrong gateway IP is recorded in the call record (avp_db_query).

Now I've tried to resolve this by:

1. Inserting a 1 sec sleep for OPTIONS replies in openser

2. Manually replying with a 1XX reply to avoid retransmissions. I'm not sure why this was necessary. I noticed that if I don't manually do this, OpenSER's 100 reply comes at about 250ms after the request. If I manually do it, I get it at about 25ms.

I'm sure I'm probably doing something wrong here.. in maybe a number of places. I feel like I probably need a t_newtrans() somewhere, but I don't really know how to use it properly. :/

Besides all of that, it's not really the GW IP that I want to be attached to the call record, but it's the GATEWAY ID that I want. And I suspect is more useful overall. The reason is that, for example, I send calls to a SIP/PSTN gateway and prefix the calls with 001-004 to indicate PRI #1-#4. The IP is the same for all 4 trunks. So sometimes, the $rd doesn't really tell you what "trunk" it's going to go out on. Which on the CDR record is really what I want.

I feel like both LCR and DR need to write an AVP to indicate the GATEWAY ID last set to $rd. Thoughts?

<[hidden email] <mailto:[hidden email]>> wrote:
>
> Hi Ibrahim,
>
> have you set the attr avp? Something like:
> modparam("drouting", "attrs_avp", '$avp(s:dr_attrs)')
>
> Then after do_routing() or use_next_gw(), do :
> xlog("-----gw attr is $avp(s:dr_attrs)\n");
>
> the value of the attr is whatever you want - the module does not
interpret it - it is just reading it from DB and pass it to the
AVP when you use the GW. It is your decision what to put there and
how to use the value.
>
>
> Regards,
> Bogdan
>
> ibrahim tunali wrote:
>>
>> Hello,
>>
>> I'm playing with the new module drouting on svn trunk and i need to
>> get "which gateway is used on last request". I might be able to
get it
>> with "attrs_avp" and "attrs" field on dr_gateways table, i guess. I
>> try some values to attrs but opensips crashed.
>>
>> Could you give an example to use attrs_avp and what is the value
>> format of "attrs" fields.
>>
>> Regards,
>>
>> Ibrahim TUNALI
>>
>> _______________________________________________
>> Users mailing list

have you set the attr avp? Something like: modparam("drouting", "attrs_avp", '$avp(s:dr_attrs)')

Then after do_routing() or use_next_gw(), do : xlog("-----gw attr is $avp(s:dr_attrs)\n");

the value of the attr is whatever you want - the module does not interpret it - it is just reading it from DB and pass it to the AVP when you use the GW. It is your decision what to put there and how to use the value.

Regards,Bogdan

ibrahim tunali wrote:

> Hello,>> I'm playing with the new module drouting on svn trunk and i need to> get "which gateway is used on last request". I might be able to get it> with "attrs_avp" and "attrs" field on dr_gateways table, i guess. I> try some values to attrs but opensips crashed.>> Could you give an example to use attrs_avp and what is the value> format of "attrs" fields.>> Regards,>> Ibrahim TUNALI>> _______________________________________________> Users mailing list> [hidden email]> http://lists.opensips.org/cgi-bin/mailman/listinfo/users>>

Re: routing module

Julien Chavanton wrote:
> I am using "opensips-1.4.3-notls"
>
> I need to route calls to differents remote gateway based on prefix in
> the dialed number.
> Can you tell me if the module "carrierreoute", would be the
> recommended solution ?
yes, carrierroute and lcr modules are the one for doing prefix based
routing.
>
> 1- README-MODULES file does not list "carrierroute" module
probably not updated :), but check :
http://www.opensips.org/index.php?n=Resources.DocsModules14> 2- "carrierroute" does not compile
>
> error : "route_config.c:30:21: error: confuse.h: No such file or
> directory"
you need to install "libconfuse" package. See: