Goal: To learn about ser in a "non-critical" and very small PBX-like environment so as to be able to understand nuances of the system in a production environment at a later date at various firms whose owners who have expressed to me a high degree of interest in SIP call routing for larger enterprise and CLEC implementations.
Sub-Goal: to make all calls into and out of my house routed via IP to alternate destinations based on ser routing configuration. I have subscribed to a long-distance plan via "iconnecthere.com", I have a PRI gateway configured at a remote location (for calls into two area codes only) and my plan is to have a Cisco 2610 with FXO card for terminating my "local" phone line. My house phones are all Cisco ATA-186 devices. Based on called number, my calls will be sent to the iconnecthere.com SIP service, the Cisco PRI gateway, or the Cisco 2610 single-line gateway. Calls will also be routed appropriately based on number called on an inbound basis from any of those three gateway systems (PRI, 2610, or iconnecthere.com)
Progress: I have phone-to-phone calling working well, and I have phone-to-PRI gateway calling working well in both directions. I have not yet received the 2610, so I do not have the single-line analog gateway running, but I don't expect any issues with that system, as I understand the Cisco implementation of inbound/outbound VOIP sessions.
Problem: My "iconnecthere.com" account is a username/password protected account which (of course) requires a UA at my side of the connection. To forward calls from the various phones in the house, I would need to have something re-write my username/password requests on the fly when they are sent out to the iconnecthere.com SIP proxies/gateways. My first assumption is that I'll need a (sigh) B2BUA to act as a gateway, running (for convenience) on the same UNIX platform as ser. After thinking about it for a while, I am uncertain if that is required, but at this point I can't determine what I need to do.
I would appreciate hints on:
a) Wether I need a B2BUA at all, and if not, what config options should I be looking at in ser?
b) If I do need a B2BUA, what would you recommend? I'm using OpenBSD as my platform, and (personally) I'd like to stay away from Java for the moment.
Continuing discussion: I could see this as a fairly useful toolkit trick for a small business who wants to replace their phone switch with SER or ser-like systems. If you've got an office with 10 people, it may make economic sense to simply get "generic" accounts with a SIP long distance gateway provider like iconnecthere.com (there are others) and allocate each of those accounts to individuals in the organization. This is not a solution for a large-scale operation for the various reasons outlined in the http://www.iptel.org/info/trends/#b2bua texts, but the number of small-scale shops out there is very large and a simply understood package (and simply billed) is what would be desired for many places who still use under ~10 analog lines for outbound dialing from their PBX. Any outbound calls to certain prefixes would always be pushed through a specific account for LD calling. Additionally, inbound calling through a similar service would have to also come in via the same mechanism, with a REGISTER request being sent by the B2BUA and all subsequent calls being routed through the SER proxy.
PS: I'd appreciate any open-source hints on how to get an ATA-186 (v2.15) running behind NAT with ser on the "outside" of the NAT, without statically configuring the "NAT" address on the ATA-186 every time the outside address changes. Lots of keyword matches found on Google, but very few clues to be scraped from the resulting documents as to "how" do it from the server side.
JT