Questions regarding Kamailio/dSipRouter

Bifur

Member
Sep 13, 2020
113
8
18
Hi everyone,

So I have been testing Fusion for about a year now and it has been rock solid. I am still learning it but overall it has been working just fine. Now I am thinking about scaling it out, getting a proper server (currently on a cheap vultr instance), etc. I am trying to understand the use case of something like Kamailio or dSipRouter. I figure it will be easier to start off on the correct path then on a loaded server later on.

My thoughts are:
I want to use SIPS/TLS encryption with the endpoints
I would like to take the registration stress off of the Fusion server and have that handled by dSipRouter - I assume allowing RTP to fusion is fine or is it better to proxy as well?

If you were starting over, what would you do differently in the beginning? Obviously I would like Fusion server to run as effectively as possible and it seems encryption and sip traffic/registrations require more server resources. I have read the documentation of dSipRouter and the different install options, but I guess I am still a bit confused on if this would be the right thing to do.

Thoughts? Thanks for any feedback.
 

Dan

Member
Jul 23, 2017
52
12
8
32
The more parts you have to your tech stack, the more likely things are to break. Take a look at my issues and PRs with getting MS Teams working with dSIPRouter without FusionPBX in the middle: https://github.com/dOpensource/dsiprouter/issues?q=author:danry25

Adding FusionPBX to the mix will cover up some issues, but likely add others as well.

dSIPRouter is a neat tool for connecting a variety of PBXes to inbound DIDs while having your providers deliver inbound calls to one or two dSIPRouter servers, but you are now beholden to learning the proper care and feeding of Kamailio, Django, MySQL, the customizations made by dOpenSource and the interesting TLS config of Kamailio in addition to the proper care and feeding of FusionPBX itself.

As to the proper setup of FusionPBX with dSIPRouter, I have not succeeded in getting Mack or Quinn at dOpenSource to explain this to me (eg: Beyond the database integration, what DNS records should I set, how is the architecture supposed to work, etc). Load balancing clients across FusionPBX SIP profiles and servers using Kamailio is something that @DigitalDaz has been using for a long time IIRC, but I haven't played with it at all.

One area I wish dSIPRouter had more capability in was handling 503 Route Advance and similar messages received when sending outbound calls. I would like to handle outbound calling in dSIPRouter and advance to the next carrier when getting a response besides Q.850 reason codes 1,2,3,6,18,21,27,28,31,34,38,41,42,44,58,88,111,403,501,602,607 rather than having to route back to FusionPBX for this, but alas I haven't written or understood Kamailio logic to handle this...
 
Last edited:

pcourtney

New Member
Mar 1, 2019
9
0
1
56
@Dan
re: I have not succeeded in getting Mack to explain "Load balancing" clients across FusionPBX SIP profiles

there is this, but I agree with you it is a little sparse on detail but does explain what needs doing to get it working :)

 

Bifur

Member
Sep 13, 2020
113
8
18
Thanks for the replies. I'm just trying to think what the best option starting out is and the pros and cons. In reality just having a Fusion A, B and C when expansion is needed doesn't sound so bad and could take a lot of complexity out of it.