Load balancing with fiture Bogdans mod, or how do i handle that call my way ?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Load balancing with fiture Bogdans mod, or how do i handle that call my way ?

Grygoriy Dobrovolskyy
Good day everyone, i would like some advice & help for my unusial setup, Bogdan Andrei helped me with very valuable advices, but i am not sure if i understand all at Sip dialog level, so here is my story:


Incoming>>opensips>>Dispatcher>>6 call centers.
What i would like to do:

Incoming>>opensips>>Load balancer>>6 call centers.
Note: Bogdan told me that he will implement the feature of equal distribution i.e :
We have 2 call centers, one with 20 agents another with 10 so at 50% load we will have 10 calls at first and 5 at second. So Lets imagine that it is in place.

The quantity of agents will be updated from asterisk to opensips database(resources) every 10 min.

The problem kick in when i have no more resources left, when all agents are occupied i need to imagine a way to Queue all incoming calls, and when a resource frees pass first in line to that resource(agent)

Bogdan told me that it is possible to do during early stage, something like:

Incoming calls >>>>> "INVITE" opensips
Incoming calls <<<<< 183 "Session in Progress" opensips
And well after i dont know :) In theory opensips need to pass a call to someone who will generate the music on hold and get it back when resource is free and distribute accordinly, and keep order(first in line get resource first) But how ?

Can someone explain me at dialog level ?
What should i use to keep call in line ?
Maybe it is impossible at all ?

Thank you for your time.

_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: Load balancing with fiture Bogdans mod, or how do i handle that call my way ?

Bogdan-Andrei Iancu
Hi Grygoriy,

Grygoriy Dobrovolskyy wrote:

> Good day everyone, i would like some advice & help for my unusial
> setup, Bogdan Andrei helped me with very valuable advices, but i am
> not sure if i understand all at Sip dialog level, so here is my story:
>
>
> Incoming>>opensips>>Dispatcher>>6 call centers.
> What i would like to do:
>
> Incoming>>opensips>>Load balancer>>6 call centers.
> Note: Bogdan told me that he will implement the feature of equal
> distribution i.e :
> We have 2 call centers, one with 20 agents another with 10 so at 50%
> load we will have 10 calls at first and 5 at second. So Lets imagine
> that it is in place.
>
> The quantity of agents will be updated from asterisk to opensips
> database(resources) every 10 min.

I said I will do it this week and I did it :) . There is a new parameter
to the load_balance() function, the algorithm to be used for computing
the load. See:
       
http://www.opensips.org/html/docs/modules/1.6.x/load_balancer.html#id227286


>
> The problem kick in when i have no more resources left, when all
> agents are occupied i need to imagine a way to Queue all incoming
> calls, and when a resource frees pass first in line to that
> resource(agent)
>
> Bogdan told me that it is possible to do during early stage, something
> like:
>
> Incoming calls >>>>> "INVITE" opensips
> Incoming calls <<<<< 183 "Session in Progress" opensips
> And well after i dont know :) In theory opensips need to pass a call
> to someone who will generate the music on hold and get it back when
> resource is free and distribute accordinly, and keep order(first in
> line get resource first) But how ?
Try something like this:

1. If LB fails (no free operators), send the call to MEDIA SERVER with a
timeout (fr_inv_timer) of 10 secs, let's say.
2. The media server does not accept the call (no 200 OK), but keeps
sending the on wait audio via 183 Session in Progress
3. After 10 seconds, the branch to Media SERVER will timeout and you end
up in failure route.
4. In failure route you can test the LB again.....if available, send the
call to operator.
5. If LB still fails, from failure route, do again the same starting
with step 1.


Regards,
Bogdan



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users