Subject: [Dime] WG: Searching for a Diameter 'Information Request' command or AVP

From: <[email-masked]>
Date: Sun, 4 May 2008 11:56:01 +0200

Hi Hannes, 

Thank you for your fast response!

Assume that we are using the Diameter IPv4 application and a session between a Mobile Node and the Diameter server was successfully established by the Home Agent. This means, that the Diameter server keeps track over the established session for the Mobile Node. 

My problem: which command type can be used by the Home Agent to retrieve information from the Diameter server regarding a certain session? This 'Information Request' isn't any authorization or authoritative request. This 'Information Request' is only a request, which is created anytime by the Diameter client to get information about a session. 

I'm searching for a command type, which provides me to establish the example below:

I want to know some information about a clients session. The client is identified by his IPv4 address, which was determined by the Diameter server. The information I would like to get from the Diameter server in a TBD (to be determined) response message are:

- the Session-ID
- the Origin-Realm
- his supported features
- etc.

so, the 'Information Request' must then look like below:

<Diameter 'Information Request'> ::=  < Diameter Header: TBD, REQ, ??? >
                                      < IPv4 Address }  
                                      { Origin-Host }
                                      { Origin-Realm }
                                      { User-Name }
                                      { MIP-Feature-Vector }

This Diameter message will then be send to the Diameter Server. 

The Diameter server determines that it is a 'Information Request' and will therefore extract from the 'IPv4 Address' AVP the IPv4 address of the client, for which the server has to look after the information specified by the other AVPs.

After he has found all information that belongs to the IPv4 Address he will create a 'Information Answer' message like below and send this to the 
Diameter client (Home Agent):

<Diameter 'Information Answer'> ::=   < Diameter Header: TBD, REQ, ??? >
                                      < IPv4 Address }  
                                      { Origin-Host }
                                      { Origin-Realm }
                                      { User-Name }
                                      { MIP-Feature-Vector }

So, I hope, that I have provided you now with a better description after that I'm looking for. 

The Command types 'AMA' and 'AMR' are only used to establish a new session, but they're don't used to get information ad-hoc. Maybe I have not understand the mechanism with the AVPs. there are AVPs witch can only can be used with specific Command types. A Request command can use AVPs specific to this command type. After sending the Request to the Diameter server, the server will retrieve a corresponding response.

Does a certain AVP with no data in the appropriate data field indicate the server to send in a Response message this AVP back, but this time only with data? Sorry for the very simple question. But I think, I have not really understood this mechanism.

Thanks a lot in advance!!!

Bernd

-----Ursprüngliche Nachricht-----
Von: Hannes Tschofenig [mailto:[email-masked]] 
Gesendet: Samstag, 3. Mai 2008 18:53
An: [email-masked]
Cc: [email-masked]
Betreff: Re: [Dime] Searching for a Diameter 'Information Request' command or AVP

Hi Bernd,

could you describe your scenario a bit more? It seems that you want a 
Query/Response protocol to retrieve state of sessions previously 
established as part of another protocol run. Is this correct? If so, 
what is your usage scenario?

Ciao
Hannes

[email-masked] wrote:
> Hello, 
>
> My name is Bernd from Germany. I would like to ask you one question regarding the Diameter protocol.
>
> As I have read RFC 3588 I have recognized, that the specification doesn’t provide any Command type or AVPs for the Diameter Client to get certain information from a Diameter Server. The Diameter Base Protocol or the Diameter MobileIPv4 Application (RFC 4004) or the Diameter Network Access Server (RFC 4005) specifying Command Types or AVPs which are only used to authenticate or authorize a Node with a Diameter Server. But there’re no Command types or AVPs defined to request certain information like a IPv4 address assigned for mobile node. This information could be needed anytime after a successful authentification and authorization procedure.
>
> As I’m a newbie regarding the Diameter-Protocol and therefore I have possibly read over such information about a already existing Command-Type providing the need information, I ask you and hope, you can provide me some information.
>
> Thanks a lot in advance.
>
> Bernd   
>
> P.S. I’m searching for a Command type or AVP that is maybe called ‘Session-Request’ or ‘Information-Request’, as the Diameter Server keeps a Session List after with specific session information of a node after a successful authentication procedure.
>   

_______________________________________________
DiME mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/dime

---

From: Hannes Tschofenig <[email-masked]>
Date: Sun, 04 May 2008 14:01:34 +0300

Hi Bernd,

[email-masked] wrote:
> Assume that we are using the Diameter IPv4 application and a session 
> between a Mobile Node and the Diameter server was successfully 
> established by the Home Agent. This means, that the Diameter server 
> keeps track over the established session for the Mobile Node.
> My problem: which command type can be used by the Home Agent to 
> retrieve information from the Diameter server regarding a certain 
> session? This 'Information Request' isn't any authorization or 
> authoritative request. This 'Information Request' is only a request, 
> which is created anytime by the Diameter client to get information 
> about a session.   
Why would you need this request? When the protocol exchange is executed 
between the Diameter Client (HA or NAS) and the Diameter Server then 
both nodes already have the necessary information established. The 
Diameter Client does not need to ask the Diameter Server again -- it 
already has the information.

> I want to know some information about a clients session. The client is 
> identified by his IPv4 address, which was determined by the Diameter 
> server. The information I would like to get from the Diameter server 
> in a TBD (to be determined) response message are:
>
> - the Session-ID
> - the Origin-Realm
> - his supported features
> - etc.
>
> The Diameter server determines that it is a 'Information Request' and 
> will therefore extract from the 'IPv4 Address' AVP the IPv4 address of 
> the client, for which the server has to look after the information 
> specified by the other AVPs.
>
> After he has found all information that belongs to the IPv4 Address he 
> will create a 'Information Answer' message like below and send this to 
> the Diameter client (Home Agent):
>

You provided me with a better description but I still do think that this 
is information the Diameter Client already have when it completed the 
Diameter MIPv4 exchange.

Hence, there is no good reason to ask for it again.

> The Command types 'AMA' and 'AMR' are only used to establish a new 
> session, but they're don't used to get information ad-hoc.
Right. They are used to establish it. Then, the two Diameter end points 
know the info. If they discard the state then the session is over and 
the Diameter client cannot retrieve it again.

Some folks in the group tried to define a protocol to synchronize state 
when a Client crashes but that's a different scenario.

>  Maybe I have not understand the mechanism with the AVPs. there are 
> AVPs witch can only can be used with specific Command types. A Request 
> command can use AVPs specific to this command type. After sending the 
> Request to the Diameter server, the server will retrieve a 
> corresponding response.
>   
A Diameter application defines a message exchange (with certain command 
codes) and the AVPs (objects) used togther with it.

You can define optional AVPs as you like. This would not require a huge 
amount of effort

> Does a certain AVP with no data in the appropriate data field indicate 
> the server to send in a Response message this AVP back, but this time 
> only with data? Sorry for the very simple question. But I think, I 
> have not really understood this mechanism.
>   
The AVP itself is a generic "container"; it does not have any behavior 
as such. You can define new AVPs to indicate what such a container 
carries inside. You can also define new applications and then you can 
define messaging behavior, if you want, including the above-mentioned 
behavior.

> Thanks a lot in advance!!!
No problem. I hope my response was useful.
I think it is important to highlight that Diameter applications 
typically assume a "session" and hence Diameter clients do not forget 
state they previously learned. When the session is over then the client 
does not need to know the state anymore. There are, however, exceptions...

Ciao
Hannes

> Von: Hannes Tschofenig [mailto:[email-masked]] Gesendet: 
> Samstag, 3. Mai 2008 18:53
> An: [email-masked]
> Cc: [email-masked]
>> As I have read RFC 3588 I have recognized, that the specification 
>> doesn’t provide any Command type or AVPs for the Diameter Client to 
>> get certain information from a Diameter Server. The Diameter Base 
>> Protocol or the Diameter MobileIPv4 Application (RFC 4004) or the 
>> Diameter Network Access Server (RFC 4005) specifying Command Types or 
>> AVPs which are only used to authenticate or authorize a Node with a 
>> Diameter Server. But there’re no Command types or AVPs defined to 
>> request certain information like a IPv4 address assigned for mobile 
>> node. This information could be needed anytime after a successful 
>> authentification and authorization procedure.
>>
>> As I’m a newbie regarding the Diameter-Protocol and therefore I have 
>> possibly read over such information about a already existing 
>> Command-Type providing the need information, I ask you and hope, you 
>> can provide me some information.
>>
>> Thanks a lot in advance.
>>
>> Bernd  
>> P.S. I’m searching for a Command type or AVP that is maybe called 
>> ‘Session-Request’ or ‘Information-Request’, as the Diameter Server 
>> keeps a Session List after with specific session information of a 
>> node after a successful authentication procedure.
>>

---

From: <[email-masked]>
Date: Sun, 4 May 2008 22:30:05 +0200

Hi Hannes,

thanks a lot for your very fast responses.

>already has the information.

I know, that the Diameter client has already the information after he has established a session. But it shouldn't be important for you to know, why I need this information. It is only important for me to know, if there is any command type or AVPs or Diameter application, which provides me to create a request ad-hoc and sends it to the Diameter server to get information about a session. That means, if a server, which supports Diameter, receives a IP-Packet and he would like to know for example to which Home-Realm the sender of the IP-Packet belongs to, the Diameter client will then create a certain Diameter request (for which I'm still looking for) --including the IP address as indicator about the session to the server-- and send it to the Diameter server. The server then will look after a session, which can be identified by the IP address, contained in the request, to provide the Diameter client with Information about the Node, which belongs to the IP address.

>when a Client crashes but that's a different scenario.

Can you give me more information about the idea of this 'protocol', please?
This could be that, what I'm looking for. If a NAS crashes, then he will lose all session information of that node he has gathered through the authorization and authentication process. Hmm, but which indicator will he use, to get the information about that nodes? Maybe he will use the source IP address of the incoming traffic -- if a Diameter client is co-located in an access router-- as indicator for the Diameter server. I don't know exactly.

>amount of effort.

If there is no command type or AVPs or even no Diameter application that suites to my described behavior, then it will be necessary for me, to write a draft, which provides me with the needed information -- if this will be the best way...--

Maybe there is a other way, to get that information by using a other protocol, which offers a interface to Diameter. Do you know something about such a protocol?

Thank you very much for your time, that you used to provide me with help!!!

Bernd

-----Ursprüngliche Nachricht-----
Von: Hannes Tschofenig [mailto:[email-masked]] 
Gesendet: Sonntag, 4. Mai 2008 13:02
An: [email-masked]
Cc: [email-masked]
Betreff: Re: [Dime] WG: Searching for a Diameter 'Information Request' command or AVP

Hi Bernd,

Ciao
Hannes

---

From: Hannes Tschofenig <[email-masked]>
Date: Sun, 11 May 2008 20:05:45 +0300

Hi Bernd,

> I know, that the Diameter client has already the information after he has established a session. But it shouldn't be important for you to know, why I need this information. It is only important for…
There is no such protocol, as far as I know.

You would have to write your own.

> This could be that, what I'm looking for. If a NAS crashes, then he will lose all session information of that node he has gathered through the authorization and authentication process. Hmm, but whi…

Please take a look at:
http://tools.ietf.org/html/draft-bodin-dime-auditing-reqs-03
http://tools.ietf.org/id/draft-asveren-dime-state-recovery-02.txt

> If there is no command type or AVPs or even no Diameter application that suites to my described behavior, then it will be necessary for me, to write a draft, which provides me with the needed infor…
Please take a look at the links above. If they don't do what you want 
then you have to write a draft.

> Maybe there is a other way, to get that information by using a other protocol, which offers a interface to Diameter. Do you know something about such a protocol?
I am not aware of anything that does what you describe.

> Thank you very much for your time, that you used to provide me with help!!!
No problem

Ciao
Hannes