Hi,
I wanted to raise the possibility of an inline signalling-only B2BUA component to Kamailio.
I know that's an extremely poor fit for Kamailio, and not at all what it's supposed to do. And there are many things about the OpenSIPS B2BUA module that reveal how awkwardly it is situated, as a square peg in a round hole. I myself am philosophically opposed to a B2BUA in Kamailio to the threshold of physical violence.
However, the reason I bring it up for discussion is that there are very few viable, high-performance signalling-only B2BUA alternatives that are FOSS. There is enormous demand for a B2BUA, mainly for topology concealment purposes, from the short-duration traffic industry, which many users of Kamailio deal with. It's why a lot of them end up going to OpenSIPS; they need the B2BUA, and prefer to consolidate on one OpenSER brand.
Anyone who has tried to run high-CPS traffic through the existing FOSS signalling-only B2BUAs out there situated in front of Kamailio has discovered, sometimes in a very financially painful way, that:
- FreeSWITCH falls over at around +/- 300 CPS.
This is with RTP relay disabled -- signalling-only. It requires horizontally scaling a large number of FreeSWITCH boxes to meet a capacity requirement of, say, 2000 CPS, which is unfortunate given the favourable proposition offered by Kamailio for the infrastructure unit economics. In other words, it's ironic to have to build a fleet of 10 FreeSWITCH boxes for the 1% problem of topology concealment when Kamailio can otherwise churn through 2000 CPS with no issues.
- SEMS' 'sbc' module is a good candidate and can handle the load, but Frafos offers practically no support for it, with all efforts focused on their commercial ABC SBC product. That's very understandable, but just not practical given the high technical knowledge SEMS requires to deploy and maintain in this capacity.
- None of the other userspace B2BUA folk traditions can handle the load.
So, like I said, I personally recoil in shock and horror at the idea of introducing a B2BUA into something that was designed to be anything but a B2BUA. But, there is a huge market opportunity for this functionality in North America, and at the moment, users who need it are mostly ending up in OpenSIPS land.
-- Alex
On 03/02/2016 12:45 PM, Alex Balashov wrote:
Hi,
I wanted to raise the possibility of an inline signalling-only B2BUA component to Kamailio.
+1 for this... for many reasons including seeing what happens when the following threshold is met:
I myself am philosophically opposed to a B2BUA in Kamailio to the threshold of physical violence.
-- Alex
Fred Posner The Palner Group, Inc. http://www.palner.com (web) +1-224-334-FRED (3733) direct
Hi, I'm not a fan of the idea of having a B2B implemented in Kamailio, but at the same time I agree with Alex's reasons for having it, so I give a +1 to this.
Cheers,
Federico
On Wed, Mar 2, 2016 at 7:01 PM, Fred Posner fred@palner.com wrote:
On 03/02/2016 12:45 PM, Alex Balashov wrote:
Hi,
I wanted to raise the possibility of an inline signalling-only B2BUA component to Kamailio.
+1 for this... for many reasons including seeing what happens when the following threshold is met:
I myself am philosophically opposed to a B2BUA in Kamailio to the threshold of physical violence.
-- Alex
Fred Posner The Palner Group, Inc. http://www.palner.com (web) +1-224-334-FRED (3733) direct
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
As not for the module, but there is b2bua FOSS in the market, Like https://github.com/sippy/b2bua
Also, as a person, that worked with OpenSIP’s b2bua module, can say it’s really strange and limited in functionality.
So, +1 for b2bua module with good design. (Like proxy|relay registrations, invites, but with top hiding and rtpproxy support)
2016-03-03 11:00 GMT+02:00 Federico Cabiddu federico.cabiddu@gmail.com:
Hi, I'm not a fan of the idea of having a B2B implemented in Kamailio, but at the same time I agree with Alex's reasons for having it, so I give a +1 to this.
Cheers,
Federico
On Wed, Mar 2, 2016 at 7:01 PM, Fred Posner fred@palner.com wrote:
On 03/02/2016 12:45 PM, Alex Balashov wrote:
Hi,
I wanted to raise the possibility of an inline signalling-only B2BUA component to Kamailio.
+1 for this... for many reasons including seeing what happens when the following threshold is met:
I myself am philosophically opposed to a B2BUA in Kamailio to the threshold of physical violence.
-- Alex
Fred Posner The Palner Group, Inc. http://www.palner.com (web) +1-224-334-FRED (3733) direct
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
The idea of a B2BUA is even more revolting when you consider that the overwhelming preponderance of people who have a topology concealment need have business models based solely on information asymmetries and arbitrage. If the only thing you've got going for you is that you can buy at one price and sell at an ever-so-slightly higher one, you should do something else.
But that doesn't stop people from a) thinking there's money in it and b) going to OpenSIPS when they find Kamailio doesn't give them what they want.
There is also the matter of 'topoh'. It's one of those things that, in theory, should work well for this case, but in practice often doesn't, perhaps due to lack of proper RR support on all sides in all cases. I can't really say why, I just know that when I've tried to deploy it for customers that insist on fitting some sort of "topology condom" over their switch platform, it's led to call duration and billing reconciliation differences in the thousands of USD. -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States
Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
Sent from my BlackBerry.
We'd also welcome a signaling-only B2BUA component for Kamailio, so +1 for this.
Regards, Paul
Am 03.03.2016 um 13:25 schrieb Alex Balashov:
The idea of a B2BUA is even more revolting when you consider that the overwhelming preponderance of people who have a topology concealment need have business models based solely on information asymmetries and arbitrage. If the only thing you've got going for you is that you can buy at one price and sell at an ever-so-slightly higher one, you should do something else.
But that doesn't stop people from a) thinking there's money in it and b) going to OpenSIPS when they find Kamailio doesn't give them what they want.
There is also the matter of 'topoh'. It's one of those things that, in theory, should work well for this case, but in practice often doesn't, perhaps due to lack of proper RR support on all sides in all cases. I can't really say why, I just know that when I've tried to deploy it for customers that insist on fitting some sort of "topology condom" over their switch platform, it's led to call duration and billing reconciliation differences in the thousands of USD. -- Alex Balashov | Principal | Evariste Systems LLC 303 Perimeter Center North, Suite 300 Atlanta, GA 30346 United States
Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
Sent from my BlackBerry.
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
I think the problem with this suggestion is that everyone would welcome it, +1, yet it's literally the worst thing imaginable. :-)
Would the proposed B2BUA be based on dialog module?
If so, I remember a few years ago that there were some fundamental problems with dialog module and it was proposed to design a new dialog-ng module. I haven't followed what (if anything) happened.
Would the proposed B2BUA also include SBC style features, such as limiting simultaneous calls, call times, etc?
Would it be possible to distribute the B2BUA to multiple parallel running servers?
-- Juha
On 03/03/2016 03:02 PM, Juha Heinanen wrote:
Would the proposed B2BUA be based on dialog module?
I am not sure the 'dialog' module would be of much help here, prima facie, but it's certainly possible that some aspect of its dialog state machine could be borrowed for a UA dialog layer. It would stand to reason that if TM can provide the UAC transaction layer, as it already does in limited cases for the 'uac' module, then 'dialog' can provide the dialog layer.
If so, I remember a few years ago that there were some fundamental problems with dialog module and it was proposed to design a new dialog-ng module. I haven't followed what (if anything) happened.
The module exists in parallel, but seems to be used only by the IMS folks, and designed in a manner complementary to IMS:
http://kamailio.org/docs/modules/4.3.x/modules/dialog_ng.html
Would the proposed B2BUA also include SBC style features, such as limiting simultaneous calls, call times, etc?
My proposal would be to limit the ambitions of such a module as much as possible, in order to make its implementation more likely. :-)
-- Alex
Daniel,
I'd be curious to know if you have any thoughts on this, although it is of course a very controversial idea.
My personal philosophical position is very much against it. It's just not what Kamailio is. However, I see demand for it _everywhere_.
If the Daniel being addressed to is me, then ...
I haven't rejected any patch with new features in kamailio that doesn't have significant impact on performance and doesn't break existing and expected functionality. So anyone is welcome to bring in code ...
Otherwise, besides (hopping to) getting the new topos module in good shape as a topology (stripping) firewall, I have no business plans that would push me to invest resources in a b2bua.
You said sems is calable but lacks docs, I guess that is less time consuming to sort out for someone really interested given it is open source than implementing something from scratch. Also Asterisk or FreeSwitch can scale pretty well if time is invested to optimize their config, besides using dispatcher to build a farm of them...
Daniel
On 21/03/16 19:16, Alex Balashov wrote:
Daniel,
I'd be curious to know if you have any thoughts on this, although it is of course a very controversial idea.
My personal philosophical position is very much against it. It's just not what Kamailio is. However, I see demand for it _everywhere_.
Daniel,
(Yes, it was addressed to you. :-)
On 03/23/2016 02:43 PM, Daniel-Constantin Mierla wrote:
I haven't rejected any patch with new features in kamailio that doesn't have significant impact on performance and doesn't break existing and expected functionality. So anyone is welcome to bring in code ...
Fair enough. It's just that the number of people with sufficient SER core development expertise to do this is, realistically, I think, quite small. I certainly couldn't do it.
Otherwise, besides (hopping to) getting the new topos module in good shape as a topology (stripping) firewall, I have no business plans that would push me to invest resources in a b2bua.
Understood. What is the essence of the new 'topos' module? I am not sure I have understood it.
You said sems is calable but lacks docs, I guess that is less time consuming to sort out for someone really interested given it is open source than implementing something from scratch.
I don't think it lacks docs so much--the Readmes embedded in the repo are actually pretty good. And it definitely performs well under high loads in my observations, especially with the SIP thread pool enabled, as discussed in Stefan's KW presentation some years ago.
What it lacks unfortunately is what might be termed FOSS critical mass. The maintaining company swamped with work on their commercial endeavours and development of their flagship commercial product (understandable). The SEMS list is dead, apart from very occasional shot-in-the-dark questions answered when Stefan has limited time. A lot of the answers are kind of "go hack this in the source yourself", which is understandable too -- it's not a criticism at all. Frafos have made clear (from my vantage point) that they are not even especially interested in supporting open-source SEMS on a commercial basis per se. Perhaps I am wrong about that, though, and if anyone from Frafos would like to weigh in on that and correct me, please do.
So, mostly empty mailing list, no thriving user community, conferences, or an ecosystem of O'Reilly and Packt Publishing books. You can understand why someone trying to use it seriously as critical infrastructure might look at this as a nonviable avenue for commercial support backstop and long-term technology strategy.
I myself am an advocate of strongly pushing SEMS as the official companion product to Kamailio for B2BUA applications rather than building a B2BUA in Kamailio. I also think that could serve as a useful commercial pipeline to Frafos for the ABC SBC product, some percentage of such users would surely want to 'upgrade' to the 'real deal'. But I myself don't of course have the resources or time to become The SEMS Guy for these purposes, and neither do most individuals.
There's a kind of spontaneous criticality effect in open-source that materialises around certain projects and not others, and so far that has not materialised around SEMS, although perhaps I am ignorant of widespread, quiet utilisation.
The only major uses of it in larger commercial platforms of which I am aware are that of Sipwise, Juha Heinanen/Tutpro's OpenSIPg product, and our CSRP. My guess is that both Sipwise and Tutpro have separate commercial arrangements with Frafos for SEMS issues, so most stuff around open-source SEMS stays in the shadows.
If that can change, I think their engine is definitely the most natural and complementary fit for Kamailio for these use-cases. But it's not clear who is in a position to drive such change unless it became a central ingredient of Frafos' strategy per se.
Also Asterisk or FreeSwitch can scale pretty well if time is invested to optimize their config, besides using dispatcher to build a farm of them...
The general problem with this is economic in nature rather than technical. Freeswitch is prone to deadlock around 300 CPS, so if you want to handle, say, 2000 CPS, as is not uncommon in the short-duration industry and also in larger "legitimate traffic" Installations, you need a farm of 5-10 Freeswitch boxes. That's a lot of boxes, and boxes are expensive. Kamailio can otherwise handle such throughput unproblematically on one server. I don't know how Asterisk call setup performance is these days, but I suspect it is not better than Freeswitch.
-- Alex
On 03/23/2016 03:01 PM, Alex Balashov wrote:
The only major uses of it in larger commercial platforms of which I am aware are that of Sipwise, Juha Heinanen/Tutpro's OpenSIPg product, and our CSRP.
Pedantic correction: I guess OpenSIPg is technically marketed by OpenXg Inc., so my nomenclature here was wrong.
Daniel-Constantin Mierla writes:
You said sems is calable but lacks docs, I guess that is less time consuming to sort out for someone really interested given it is open source than implementing something from scratch.
I have been sending requests out from Kamailio via SEMS, for example, if caller needs to be anonymized, if there is need to restrict parallel calls, etc. I have also implemented many services using SEMS DSM diagrams, such as voicemail, conferencing, call center, call recording, etc.
All of this has worked fine, but there are some issues that I have not been able to solve, which has caused minor limitations in capabilities of some services. It would be great if also the open source version of SEMS would get more attention and new developers.
-- Juha
Hi,
we are using SEMS as an SBC in almost all of our deployments and we are actually quite happy with it. We originally sponsored the development of the Transcoding capabilities in SEMS (with the condition of making it open-source) and we added Transcoding for the AMR-NB codec in our branch of SEMS (once we find time, we will add AMR-WB as well). We plan to add further resources to SEMS in the future (however this is always dependent on time/money; but with more and more VoLTE deployments running on Kamailio/SEMS, the future looks quite bright at the moment).
Thanks, Carsten
2016-03-24 7:30 GMT+01:00 Juha Heinanen jh@tutpro.com:
Daniel-Constantin Mierla writes:
You said sems is calable but lacks docs, I guess that is less time consuming to sort out for someone really interested given it is open source than implementing something from scratch.
I have been sending requests out from Kamailio via SEMS, for example, if caller needs to be anonymized, if there is need to restrict parallel calls, etc. I have also implemented many services using SEMS DSM diagrams, such as voicemail, conferencing, call center, call recording, etc.
All of this has worked fine, but there are some issues that I have not been able to solve, which has caused minor limitations in capabilities of some services. It would be great if also the open source version of SEMS would get more attention and new developers.
-- Juha
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