[Serusers] Question on gateway routing through UA proxy

John Todd jtodd at loligo.com
Mon Jan 20 19:08:01 CET 2003


At 2:34 PM +0100 1/20/03, Jiri Kuthan wrote:
>
>At 08:41 PM 1/19/2003, John Todd wrote:
>[...]
>>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.
>
>If you wish to authenticate with iconnect, configure iconnect credentials
>in you end-device, that's it. There are devices too (like Cisco 7960 or
>snom) that can handle multiple SIP accounts too, if you need that. That's
>imho simpler than inserting a middle-man authenticating on your behalf.

Yes, I understand that mapping a single end device works; I had that 
working in a few seconds, and I understand that process.  However, my 
goal is not to have a single device that is mapped to a single 
service.  I'd like to have ser make intelligent decisions on call 
routing, using the iconnecthere.com account gateway as one of a 
number of different destinations for calls to land from any of the 
six devices in my house.  (with "my house" being a demo for a small 
office environment)

>
>>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?
>
>see above -- maybe I missed some aspect of your scenario, but I do not
>currently see why you should need B2BUA. ser is not a B2BUA and cannot
>be configured to act so. That would take writing new code.

I think there is a minor misunderstanding, which is probably due to 
my poor explanation.

Understood that ser is not a B2BUA.  My goal is to re-write the calls 
to a B2BUA that is statically mapped to the iconnecthere.com service 
as a "portal" to my account there.  (that is, of course, if I even 
need a B2BUA.)

Theoretical outbound call process:

Start
1) Handset picked up in my house on one of the ATA-186 units.
2) User dials 1-650-555-1212
3) Call is referred to ser process running on system in my house
4) Ser examines call like this:
     a) Is the call bound for an extension elsewhere in the house?
        If yes, re-route call to that extension.  Break.
        If no, proceed.
     a) Is the call bound for a 1-503-xxx-xxxx number?
        If yes, then send to local 2610 gateway into the 503 area code.  Break.
        If no, proceed.
     b) Is the call bound for a 1-301-xxx-xxxx or 1-410-xxx-xxxx number?
        If yes, then send to a Cisco 3640 with PRI interface located 
in Maryland, local to those area codes.  Break.
        If no, proceed.
     d) Send call to iconnecthere.com, using my "username" and 
"password" credentials for the single account I have at their 
service.  Break.
End

To use IP terminology, the iconnecthere.com account would be my 
"default route" when no other specific route is known.

My problem is part "d", where I am uncertain how to refer a call out 
to a service that is expecting a UA, with a different username and 
password than what I have on my local ATA-186.  ser has the ability 
to alter the username and password on a pass-through, but is that 
what I'm looking for?  I can't wrap my head around that concept when 
working with a system that expects a UA.  Do I send the call to a 
B2BUA after step 5?  Is there some way of re-writing the credentials 
within ser?

Again, if I do need a B2BUA, what would anyone suggest for a package 
that runs in a non-Java environment?

>  >  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.
>
>as said, phones can register with and receive calls from servers
>without b2bua functionality.
>
>>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.
>
>http://www.iptel.org/phpBB/viewtopic.php?topic=28&forum=1&0
>particularly, the second link mentions how one can set up
>advertising the public address in ATA's signaling. I hope
>we will add some more details in there.

Yes, I'd seen this in the Cisco documentation, but as I mention in 
the question I'm looking for how to manage NAT addressed UA's where 
the external IP address changes on a very regular basis.  The link 
above only seems to discuss how one can configure an ATA-186 to 
"hold" an external address by sending periodic packets through the 
translation; this doesn't touch on how one would get a system to work 
correctly after initial activation without manual intervention.

The "via" header  (and related rport extension) seems like the 
solution to this problem, but does ser do the "right thing" with 
those data?  That is discussed a bit lower in the document under the 
heading "Receiver-tagged VIA header ".  I could find no reference to 
it in the documentation for ser, and a brief test with NAT addressed 
devices did not display successful results when the appropriate bit 
flag was set in the ATA-186.  By examining the source code, I do find 
that some features of the "received=" header are implemented in ser, 
but I am unsure of their exact use and I find no mention in the 
source of "rport" which has been discussed in other threads as a key 
to NAT RTP session mapping.

JT




More information about the sr-users mailing list