<div dir="ltr">Stanislav: I may not have too much experience in FS + Kamailio setups, but I'll gladly contribute to this open project if you set it up. <br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 10, 2015 at 11:24 PM, Stanislav Sinyagin <span dir="ltr"><<a href="mailto:ssinyagin@gmail.com" target="_blank">ssinyagin@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">How about an open-design and open-source project? Many companies want<br>
the same, and now they have to design and build the whole thing from<br>
scratch. Everyone could actually benefit from a joint effort instead.<br>
<br>
I think residential mass service should be completely separated from<br>
business PBX service, as they have completely orthogonal requirements.<br>
<br>
I would propose something like this for residential users:<br>
<br>
1. Kamailio cluster handles user registrations and SIP OPTIONS pings.<br>
It also blocks some basic scanning and DOS attacks. The user<br>
registrations are stored in a backend SQL database.<br>
<br>
2. Calls from users are handled by Kamailio's DISPATCHER module, and<br>
it sends them to a pool of FreeSWITCH media servers in round-robin or<br>
hash-based fashion.<br>
<br>
3. As the call from a user arrives to FreeSWITCH server, it places it<br>
to &park() application. Then, an external routing program catches this<br>
event via ESL, and makes the routing decision: if the destination is<br>
one of our own users, we take the user's location from Kamailio's<br>
registrar database and send the call to Kamailio for further<br>
forwarding to the user (the SIP INVITE toward the user should come<br>
from registrar's IP address and port, otherwise NAT firewalls will<br>
block it).<br>
<br>
4. If the destination is not our own user, the routing program sends<br>
the call to one of PSTN trunks. Here it may also have some logic, like<br>
cost optimization and trunk status monitoring.<br>
<br>
5. Incoming calls from PSTN are also parked and handled by our routing program.<br>
<br>
6. If the SIP user is not reachable, the routing program looks up in<br>
user's preferences and sends the call to voicemail or forwarding<br>
destination. The user may also have some calendar or time-of-day<br>
options -- the program should actually be modular and extendable, so<br>
that new features are added as needed, and also third parties can add<br>
their own functionality.<br>
<br>
Golang.org is probably one of the best choices for such a routing program.<br>
<br>
-----------------<br>
<br>
for business PBX, it makes sense to register users at FreeSWITCH --<br>
then we have BLF and notofocations working out of the box. Kamailio<br>
can still be used for security screening and fault tolerance. Also<br>
business customers will want conference bridges, and probably video<br>
calls or video conferencing. So, here it's a completely different<br>
challenge, and needs to be designed separately. User registrations<br>
could be served with mod_xml_curl, and call routing could also be<br>
routed by an external program via ESL.<br>
<br>
<br>
I would be glad to jump in onto such a project if it were open-source<br>
and open-design.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
<br>
<br>
<br>
On Wed, Jun 10, 2015 at 11:47 PM, Aqs Younas <<a href="mailto:aqsyounas@gmail.com">aqsyounas@gmail.com</a>> wrote:<br>
> Thanks your for reply.<br>
><br>
> Alex: We are planning some pbx related functions too. Like voicemail, ivr,<br>
> block numbers.<br>
> Thats why we chose to keep registrations at freeswitch end.<br>
><br>
> On 10 June 2015 at 14:38, Aqs Younas <<a href="mailto:aqsyounas@gmail.com">aqsyounas@gmail.com</a>> wrote:<br>
>><br>
>> Thanks for your reply.<br>
>><br>
>> Stanislav Sinyagin : Majority of them are residential users with simple<br>
>> service.<br>
>><br>
>><br>
>> On 10 June 2015 at 14:13, Stanislav Sinyagin <<a href="mailto:ssinyagin@gmail.com">ssinyagin@gmail.com</a>> wrote:<br>
>>><br>
>>> Are those residential users with a uniform and simple service, or<br>
>>> business customers with small work groups and business-specific call<br>
>>> routing?<br>
>>><br>
>>> On Jun 10, 2015 10:54 PM, "Aqs Younas" <<a href="mailto:aqsyounas@gmail.com">aqsyounas@gmail.com</a>> wrote:<br>
>>>><br>
>>>> Hi,<br>
>>>><br>
>>>> Hope you all are having a good day. :)<br>
>>>><br>
>>>> I need some suggestions in designing SIP trunking with freeswitch.<br>
>>>> We are required to register more than 10,000 users on multiple<br>
>>>> freeswitch instances sharing same database.<br>
>>>><br>
>>>> How can we load balance registration on each freeswitch so, they have<br>
>>>> equal number of registrations.<br>
>>>><br>
>>>> I know with mod_xml_curl i can have freeswitch share same database. But<br>
>>>> how can i load balance registrations?<br>
>>>> (inbound calls must be directed to that freeswitch with which user is<br>
>>>> registered)<br>
>>>><br>
>>>> Or any suggestion how we can achieve this, so, that we can add more<br>
>>>> freeswitch in future.<br>
>>>><br>
>>>> Thanks for your help.<br>
>>>><br>
>>>><br>
>>>><br>
>>>> _________________________________________________________________________<br>
>>>> Professional FreeSWITCH Consulting Services:<br>
>>>> <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
>>>> <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
>>>><br>
>>>> Official FreeSWITCH Sites<br>
>>>> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
>>>> <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
>>>> <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
>>>><br>
>>>> FreeSWITCH-users mailing list<br>
>>>> <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
>>>> <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
>>>> UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
>>>> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
>>><br>
>>><br>
>>> _________________________________________________________________________<br>
>>> Professional FreeSWITCH Consulting Services:<br>
>>> <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
>>> <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
>>><br>
>>> Official FreeSWITCH Sites<br>
>>> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
>>> <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
>>> <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
>>><br>
>>> FreeSWITCH-users mailing list<br>
>>> <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
>>> <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
>>> UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
>>> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
>><br>
>><br>
><br>
><br>
> _________________________________________________________________________<br>
> Professional FreeSWITCH Consulting Services:<br>
> <a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
> <a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
><br>
> Official FreeSWITCH Sites<br>
> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
> <a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
> <a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
><br>
> FreeSWITCH-users mailing list<br>
> <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
> <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
> UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr">NOUSHI Fayçal<br></div></div>
</div></div>