Module: sip-router Branch: master Commit: 59c31fe72e95d60f42752bfcae3a18563b2c9700 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=59c31fe7...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: Fri Feb 12 14:03:24 2010 +0100
dispatcher(k): basic framework for load dispatching
- a lightweight system to do a fair distrubution based on load - no dependency on dialog, by using an internal table of active calls with minimal info, to keep the module suitable for small devices and have good performances - not completed, requires xavp support for a compact info structure to be carried in transaction for each failover step
---
modules_k/dispatcher/dispatch.c | 94 ++++++++++++- modules_k/dispatcher/dispatch.h | 6 + modules_k/dispatcher/dispatcher.c | 10 ++ modules_k/dispatcher/ds_ht.c | 278 +++++++++++++++++++++++++++++++++++++ modules_k/dispatcher/ds_ht.h | 67 +++++++++ 5 files changed, 453 insertions(+), 2 deletions(-)
Diff: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=59c3...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: Fri Feb 12 14:03:24 2010 +0100
dispatcher(k): basic framework for load dispatching
- a lightweight system to do a fair distrubution based on load
- no dependency on dialog, by using an internal table of active calls
with minimal info, to keep the module suitable for small devices and have good performances
- not completed, requires xavp support for a compact info structure to
be carried in transaction for each failover step
This sounds really cool.
/O
2010/2/12 Daniel-Constantin Mierla miconda@gmail.com:
- a lightweight system to do a fair distrubution based on load
- no dependency on dialog, by using an internal table of active calls
with minimal info
Hi, where and how is such info about "active calls" stored? If it doesn't depend on "dialog" module how are active calls deleted when there is no BYE signalling and so?
Regards.
Hello,
On 02/15/2010 02:12 PM, Iñaki Baz Castillo wrote:
2010/2/12 Daniel-Constantin Mierlamiconda@gmail.com:
- a lightweight system to do a fair distrubution based on load
- no dependency on dialog, by using an internal table of active calls with minimal info
Hi, where and how is such info about "active calls" stored?
it is an internal hash table with minimal info.
If it doesn't depend on "dialog" module how are active calls deleted when there is no BYE signalling and so?
this is load balancer, probably you will have the proxy or application server behind that will detect it. I don't think you need to balance calls to users. However, there is a max timeout for dispatcher active calls, just in case ... so the resource is automatically released when time expires.
Cheers, Daniel
El Lunes, 15 de Febrero de 2010, Daniel-Constantin Mierla escribió:
Hello,
On 02/15/2010 02:12 PM, Iñaki Baz Castillo wrote:
2010/2/12 Daniel-Constantin Mierlamiconda@gmail.com:
- a lightweight system to do a fair distrubution based on load
- no dependency on dialog, by using an internal table of active calls with minimal info
Hi, where and how is such info about "active calls" stored?
it is an internal hash table with minimal info.
If it doesn't depend on "dialog" module how are active calls deleted when there is no BYE signalling and so?
this is load balancer, probably you will have the proxy or application server behind that will detect it. I don't think you need to balance calls to users. However, there is a max timeout for dispatcher active calls, just in case ... so the resource is automatically released when time expires.
Ok, understood, thanks :)