Hi,

I think the best guide closest to your description is here : http://kb.asipto.com/asterisk:realtime:kamailio-4.0.x-asterisk-11.3.0-astdb

Here is what you need to do. (Besides mentioning what you tried and what problems were faced).

1 - Configure kamailio to use the DB schema where your users are stored with their password and PBX to use info.
2 - Point Phones to REGISTER to your kamailio.
3 - When a User makes a call execute query in Kamailio to find what client this user belongs to  and what Asterisk it should be routed to.
4 - Send Calls to the selected Asterisk. 

You can further add Memcache to save your DB query in step-3. 

Good Part:
1 - Kamailio Authenticates all users and calls.
2 - One Public IP to point all domains/PBX tenants to. 
3 - Use RTPproxy to bridge media to Asterisks and you can shift your Asterisks on Private Subnet too.(depends on your design)
4 - Sending a hand crafted REGISTER to Asterisk makes asterisk aware of the device state and hence BLF/MWI are handled by Asterisk.

Less Good Part: (As I see it)

Kamailio sends REGISTER packet to just one Asterisk ! thereby only one server out of pool is aware of the device states. It can be resolved by extra effort required as following:

      a) Yes we can use Dispatcher and send to failover/loadbalanced asterisks in the pool
      b) A script of some sorts can be written and started in asterisk servers to share device states/hints and \
          hence all asterisk servers in pool know whats going on. (I haven't tried it myself)
      c) REGFWD route can be blocked and BLF, MWI are handled solely by Kamailio.  ( I personally had rough time with this mostly due to different standards from IP Phones)

I'd love to hear other valuable suggestions and experiences.

Regards,
Sammy

Hello Kevin,
If I understood properly you want to build a system which authenticates users and routes the Asterisk servers for communication.

First, Kamailio supports the routing, balancing and authentication. For example we use Kamailio and Freeswitch. Here the how its work:
We have 1 Kamailio server that makes routes and balancing issues.
First client goes to our Kamailio servers:

Client -> Internet -> Kamailio (authentication) (address, asked for communication)

After that, Kamailio looks the Freeswitch servers, which is free for routing.

                  (sending)
Kamailio -----------------> Freeswitch Server
                  (user req)

After routing proccess, Kamailio fade from the scene and clients start communicate with themselves via Freeswitch servers.

BTW, our Freeswitch servers and Kamailio servers stay on different servers. Of course you can serve on same server too.
If I understood properly, you can do it like this. If I did not, you can give more details for understanding :)

Regards.

Barış.

From: kfpelletier@connextek.ca
To: sr-users@lists.sip-router.org; sr-dev@lists.sip-router.org; buisness@lists.kamailio.org
Date: Fri, 26 Feb 2016 15:35:50 -0500
Subject: [SR-Users] Help

Hi,

 

I work for a VOIP service provider, and have been tasked with optimizing our infrastructure.  We have been providing VOIP services to our clients via Asterisk VM’s (PIAF) in an ESXi environment, hosted in a datacenter.  We are looking for some kind of SIP Router, which would authenticate clients and route their SIP traffic to the appropriate server.  By doing so, we are hoping to further secure our infrastructure and to possibly have only one Public IP (which would resolve to the Private IP of the SIP router).  The Asterisk servers serve IVR/RINGGROUPS/OUTBOUNDTRUNKS/INBOUNDROUTES/OUTBOUNDROUTES.  The Sip Router would therefore route all SIP traffic between the phones and the Asterisk servers, ad the phones would register to the SIP Router.  I have tried many solutions (Kamailio, OpenSER, siproxd, Brekeke), but have not been able to configure these services to work the way we want them to.  I am including a chart along with this email to outline what we would like to accomplish.

 

Any suggestions or guides would be immensely appreciated.

 

Thank you all for your time.

 

 

 

 

Kevin Farrell Pelletier - Technicien informatique

 

 

TI // Réseautique // Téléphonie IP // Programmation
IT // Networking // VoIP // Application development

9060, boul Parkway, Anjou, Québec, Canada H1J1N5
Téléphone / Phone :
514.907.2000 Ext.203
F :
1.888.582.4001  -  SF/TF : 1.855.907.2001 Web :
www.connextek.ca  
Pensez ENVIRONNEMENT, c'est important: n'imprimez que si nécessaire

            Consider the ENVIRONMENT before printing





_______________________________________________ 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

_______________________________________________
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