We have a set of application servers which receive calls from custom
devices. Each app server has a different phone number associated with
it. At the moment, each app server also has its own distinct pool of
modems, but we'd like to switch to having one big pool and routing
individual calls based on called-number ID.
This looks doable through the call-check feature. The RADIUS server
would look at the called-number field in the call check request and
send back instructions to set up a netdata stream to host foo port bar.
The portmaster opens a TCP stream to host foo port bar and starts
passing data back & forth.
Here's the point where we get stuck: The application server needs the
caller ID information for the call in order to do its own
authentication. How does it get it?
We can customize a RADIUS server, or have the application server do
SNMP queries if necessary. So in theory the app server could ask the
radius server for the caller-id info, or ask the portmaster directly
through snmp. But the app server just has the IP address and port for
the client end of the netdata connection; this lets us identify the
portmaster that's hosting the call, but not the specific modem
interface. I browsed through the SNMP MIB, and it includes queries for
tcp sessions, but there was no obvious way to relate tcp sessions to
modem ports.
The best solution we've come up with so far is for the application
server to monitor a large number of server sockets (either ports or IP
addresses on virtual interfaces) and have the RADIUS server round-robin
through them somehow. This is...sub-optimal. Any advice would
be appreciated.
-- Kenneth Herron kherron@sgum.mci.com +1 916 649 6142 - To unsubscribe, email 'majordomo@livingston.com' with 'unsubscribe portmaster-users' in the body of the message. Searchable list archive: <URL:http://www.livingston.com/Tech/archive/>