[OpenSIPS-Users] Max Concurrent Calls with drouting and dialog modules
Bogdan-Andrei Iancu
bogdan at opensips.org
Wed Aug 29 18:37:58 CEST 2012
Hi Ali,
For profiling, use the GW ID - as value for the profile - (you can
instruct DR to return the GW ID in an AVP) ; now, about the limit, use
the "attrs" from GWs to keep it
Regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 08/29/2012 07:35 PM, Ali Pey wrote:
> Hi Jeff,
>
> Thank you for the reply but unfortunately this doesn't answer my
> questions. I need to bind this to the drouting module, so when I call
> do_routing, I need a parameter for set_dialog_profile for whatever
> gateway do_routing() picks. That was my first and second questions.
>
> Also in your case, where do you set $var(dlgsize_out)? where do you
> get it from? How would you change it? I don't want to have to change
> my script or restart opensips to change this.
>
> Regards,
> Ali Pey
>
>
> On Wed, Aug 29, 2012 at 12:27 PM, Jeff Pyle <jpyle at fidelityvoice.com
> <mailto:jpyle at fidelityvoice.com>> wrote:
>
> Ali,
>
> Oops, I had some inconsistent rewrites. So much for improved
> readability. Consider this instead:
>
> # Check to see if we're at maximum capacity for this gateway
> if !(get_profile_size("outbound", "$avp(s:dlgid_out)",
> "$var(dlgsize_out)")) {
> xlog("L_INFO", "Couldn't get dialog size,
> continuing route-out\n");
> } else {
> if (is_avp_set("$avp(s:gw_maxcalls)") &&
> $var(dlgsize_out) >= $avp(s:gw_maxcalls)) {
> # We're full, so cycle around to the next
> gateway...
> }
> }
>
> That should make more sense.
>
>
> - Jeff
>
>
>
>
> On Wed, Aug 29, 2012 at 12:24 PM, Jeff Pyle
> <jpyle at fidelityvoice.com <mailto:jpyle at fidelityvoice.com>> wrote:
>
> Hi Ali,
>
> I have the same application. A little before the t_relay() to
> the gateway, I have:
>
> # Check to see if we're at maximum capacity
> if !(get_profile_size("outbound", "$avp(s:dlgid_out)",
> "$var(dlgsize_out)")) {
> xlog("L_INFO", "Couldn't get dialog size,
> continuing route-out\n");
> } else {
> if (is_avp_set("$avp(s:gw_maxcalls)") &&
> $var(dlgsize_out) >= $avp(s:car_maxcalls)) {
> # Move on to the next carrier...
> }
> }
> # Continue towards t_relay() for this gateway...
>
> This verifies our counts to make sure we have room. If I'm at
> that value (or over) I cycle around and select the next
> gateway. If all is well I run set_dlg_profile("outbound",
> "$avp(s:dlgid_out)"). Since you're using drouting, perhaps
> you'll use another variable here in place of $avp(s:dlgid_out).
>
> I implement serial forking for my gateways. In the selected
> failure_route I run unset_dlg_profile("outbound",
> "$avp(s:dlgid_out)"). If I'm in this section I know the call
> has failed, so I want to remove its count from the profile.
>
> This configure is old enough to be pre-drouting but the
> concepts are still the same.
>
> Is that helpful?
>
>
> - Jeff
>
>
>
> On Wed, Aug 29, 2012 at 11:53 AM, Ali Pey <alipey at gmail.com
> <mailto:alipey at gmail.com>> wrote:
>
> Hi All,
>
> I would like to limit number of concurrent calls to a
> gateway in dr_gateways table (drouting module).
>
> I have looked at the tutorial on the opensips webiste
> (http://www.opensips.org/Resources/DocsTutConcurrentCalls)
> and this is not the same.
>
> I do create a dialog and then I do do_routing(). At this
> point I don't know:
>
> 1- What parameters to pass to set_dlg_profile() to
> increase the number of calls for whatever particular
> gateway do_routing happened to select?
>
> 2- How to use get_profile_size() to see if the gateway has
> reached it's maximum number of channels?
>
> 3- Where would be the best place to record and read the
> max number of channels available for each gateway? some
> place that I wouldn't need to do a db quey but I would be
> able to make changes while opensips is running similar to
> the drouting module parameters itself.
>
>
> Any help/suggestion would be appreciated.
>
> Thanks,
> Ali Pey
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120829/1523615d/attachment-0001.htm>
More information about the Users
mailing list