Hello, I have such infrastructure:
Asterisk1 (provider 1) - IP1 Asterisk2 (provider 2) - IP2
Softphones on client computers with configured two IPs to two Asterisk servers. User has to manually switch between each server.
I need to change this that user will have only one account configured (eg. Kamailio) and Kamailio will be used only to forward to Ast1 or Ast2 by previously defined rules. How is it possible?
comp1 --------> Kamailio -------> Ast1 comp2 --------> Kamailio -------> Ast1 comp3 --------> Kamailio -------> Ast2 comp4 --------> Kamailio -------> Ast2
Thank you, Marcin
That's quite easy - that's a typical load-balancer setup.
Just store the mapping for example in a DB and then use the sqlops module to query the DB and get the respective IP address of the user.
But before you add this "routing logic" I would recommend to add Kamailio with a static forwarding - e.g. always route to a single Asterisk server and make sure the config works fine. You also have to deal with calls in direction Ast -> Kamailio -> client. Therefore you usually have to a) use the PATH module (only supported in latest Asterisk) or b) store the registrations also in Kamailio.
Only if it works with this static routing, add the dynamic routing.
Klaus
On 28.11.2013 10:52, driver wrote:
Hello, I have such infrastructure:
Asterisk1 (provider 1) - IP1 Asterisk2 (provider 2) - IP2
Softphones on client computers with configured two IPs to two Asterisk servers. User has to manually switch between each server.
I need to change this that user will have only one account configured (eg. Kamailio) and Kamailio will be used only to forward to Ast1 or Ast2 by previously defined rules. How is it possible?
comp1 --------> Kamailio -------> Ast1 comp2 --------> Kamailio -------> Ast1 comp3 --------> Kamailio -------> Ast2 comp4 --------> Kamailio -------> Ast2
Thank you, Marcin
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
2013-11-28 10:52, driver skrev:
Hello, I have such infrastructure:
Asterisk1 (provider 1) - IP1 Asterisk2 (provider 2) - IP2
Softphones on client computers with configured two IPs to two Asterisk servers. User has to manually switch between each server.
I need to change this that user will have only one account configured (eg. Kamailio) and Kamailio will be used only to forward to Ast1 or Ast2 by previously defined rules. How is it possible?
comp1 --------> Kamailio -------> Ast1 comp2 --------> Kamailio -------> Ast1 comp3 --------> Kamailio -------> Ast2 comp4 --------> Kamailio -------> Ast2
Thank you, Marcin
I've a kamailio setup for this scenario. We have two providers and incoming and outgoing calls that our kamailio route to the same asterisk every time.
We solved it with a custom database table for our routing and avpops for the queries: http://kamailio.org/docs/modules/stable/modules/avpops.html
I've read that sqlops are more efficient, so maybe you should evaluate that first: http://kamailio.org/docs/modules/stable/modules/sqlops.html
Also, you could cache the information using a htable, but for me it's completly acceptable to have a sql query for each call.
The custom config is a good starting point, you just change $ru to the asterisk's sip-address and run t_relay(). This is the default in the route[RELAY]-block, so I just verify that the request is ok, and run router(RELAY).
Hi Marcin
It sounds like your requirements will be more complex and the other posters in this thread seem to have a good handle on things but for simple load balancing scenarios there is always the dispatcher module:
module: http://kamailio.org/docs/modules/3.1.x/modules_k/dispatcher.html
All the best
Will Ferrer
On Sat, Nov 30, 2013 at 7:36 AM, Johan Wilfer lists@jttech.se wrote:
2013-11-28 10:52, driver skrev:
Hello,
I have such infrastructure:
Asterisk1 (provider 1) - IP1 Asterisk2 (provider 2) - IP2
Softphones on client computers with configured two IPs to two Asterisk servers. User has to manually switch between each server.
I need to change this that user will have only one account configured (eg. Kamailio) and Kamailio will be used only to forward to Ast1 or Ast2 by previously defined rules. How is it possible?
comp1 --------> Kamailio -------> Ast1 comp2 --------> Kamailio -------> Ast1 comp3 --------> Kamailio -------> Ast2 comp4 --------> Kamailio -------> Ast2
Thank you, Marcin
I've a kamailio setup for this scenario. We have two providers and incoming and outgoing calls that our kamailio route to the same asterisk every time.
We solved it with a custom database table for our routing and avpops for the queries: http://kamailio.org/docs/modules/stable/modules/avpops.html
I've read that sqlops are more efficient, so maybe you should evaluate that first: http://kamailio.org/docs/modules/stable/modules/sqlops.html
Also, you could cache the information using a htable, but for me it's completly acceptable to have a sql query for each call.
The custom config is a good starting point, you just change $ru to the asterisk's sip-address and run t_relay(). This is the default in the route[RELAY]-block, so I just verify that the request is ok, and run router(RELAY).
-- Johan Wilfer
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users