Re: : Target Diameter server poorly specified

Miguel Garcia <[email protected]> Thu, 20 Oct 2005 13:58:37 +0300
Newsgroups gmane.ietf.aaa
Message-ID <[email protected]>
Glen Zorn (gwz) wrote:

> Miguel Garcia <mailto:[email protected]> supposedly scribbled:
> 
> ...
> 
> 
>>>>It is correct to think that there is a single Diameter server (for a
>>>>given user).
>>>
>>>
>>>No, that can't be so: there must be only one Diameter server
>>>_period_ for this to work, unless the entire farm is preconfigured
>>>to know which Diameter handles requests for any given user.  If the
>>>Diameter clients can send requests to more than one server, how do
>>>they know which one handled the previous request (and thus holds the
>>>necessary state)?  What am I missing here?     
>>
>>So... let me clarify the situation:
>>
>>On one side, we say that ***for a given user*** his data is stored in
>>a single Diameter server. We say that such Diameter server can be
>>configured as a farm of redundant servers, something that is outside
>>the scope of this specification. In this case it is required that all
>>the servers in the farm keep the data synchronized, again, something
>>that is not within the scope of this specification.  
> 
> 
> The farm to which I was referring is the "Diameter client/SIP Server 1" farm.  You say that the second request can go to any Diameter Client/SIP Server 1, but it needs data from the first request which is only held on one Diameter server (whether that server is virtual or not seems irrelevant), the Diameter server that handled the first request.  The question is, how does the Diameter client know how to correctly route the second REGISTER message?

So we were speaking about different stuff.... so, forget about our 
previous discussion.

Yes, there can be a number (farm) of "Diameter client/SIP server 1", due 
to configuration in DNS through NAPTR/SRV records. Therefore, if we 
refer for example to Figure 2 in Section 5.3, there is no guarantee that 
the REGISTER #1 and #9 are received at the same SIP server. However, 
both REGISTER requests have to be routed to the same SIP server 2, so 
that REGISTER #4 and #12 are received at the same SIP server.

To solve this problem, the MAR message #5 records the SIP URI of SIP 
server 2 in the Diameter server. Later, when SIP server 1 (potentially 
another SIP server 1 in a farm) queries the Diameter server with UAR 
#10, the Diameter server returns in UAA #11 the stored URI of SIP server 2.

So... to clarify and summarize.

- Diameter server: there is one. For redundancy there could be more than 
one but all of them have keep the data synchronized.

- SIP server 1: there is a farm, typically configured through DNS 
NAPTR/SRV records that point to diffent boxes. There is no requirement 
for these types of server to keep state.

- SIP server 2: ther are a few of them, but once the user registers for 
the first time, one is selected, allocated, and all the request should 
be processed by the same SIP server (of course, there can be redundancy 
as well, if the data is kept synchronized).

As for your original post, I agree in change the "a" with an "the":

OLD:
The Diameter client in SIP server 1 contacts a Diameter server by 
sending a Diameter UAR message (step 10) to determine the SIP server 
allocated to the user.

NEW:
The Diameter client in SIP server 1 contacts the Diameter server by 
sending a Diameter UAR message (step 10) to determine the SIP server 
allocated to the user.


I hope this solves this issue.

/Miguel


>  
> ...
> 
> ~gwz
> 
> Why is it that most of the world's problems can't be solved by simply
>   listening to John Coltrane? -- Henry Gabriel

-- 
Miguel A. Garcia           tel:+358-50-4804586
sip:[email protected]
Nokia Research Center      Helsinki, Finland