I think you have already heard about the recent canary release from SIPFoundry. In this release, we removed all components that are either not used by most people or are so unstable that it becomes hard to maintain it in a real production environment. One of the items that needed to go is the proxy NTAP plug in and sipXrelay. The original intent was to leverage Kamailio as the ingress proxy (which is still the case in canary) and use it as the NAT anchor in conjunction with rtpproxy-ng. However, we learned that kamailio utilizes record routes to preserve NAT states (2 for each call). If the call goes in from and back out to the internet, the total record route inserted with the INVITE is 5 adding the record route inserted by the proxy for its own state persistence. For me, this is a show stopper because we are guaranteed to fragment packets for remote workers.
So we are using a new approach to this and that is by utilizing a B2BUA to handle remote workers. This B2BUA will sit infront the open internet and sipx-ng and would take care of NAT and media anchoring. This is similar, in a way, to sipXbridge but is written in C++ and has a built-in media relay, also written in C++. The downside to this, is since the ingress proxy already own ports 5060 and 5061, the B2BUA has to sit on a different port, presumably port 5062. This would require that DNS/SRV records visible from the internet should point to 5062 and not 5060. Only internal phones will register to 5060 directly, bypassing the need for the B2BUA.
Does this make sense to most people or do you see any problems you will encounter with this approach? We are expecting to release this feature as an update by next week.
Joegen