de.fhg.fokus.diameter.DiameterPeer.data.DiameterDPR Class Reference

Inheritance diagram for de.fhg.fokus.diameter.DiameterPeer.data.DiameterDPR:

de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage List of all members.

Detailed Description

This class defines the Diameter Message Disconnect-Peer-Request.

Author:
Dragos Vingarzan vingarzan -at- fokus dot fraunhofer dot de

Definition at line 39 of file DiameterDPR.java.

Public Member Functions

 DiameterDPR ()
void addAVP (AVP child)
 Adds one AVP to the message.
int getAVPCount ()
 Returns the count of the AVPs.
AVP getAVP (int index)
 Returns the AVP.
void deleteAVP (AVP avp)
 Deletes the given AVP from the list of AVPs.
AVP findAVP (int Code, boolean Mandatory, int Vendor_id)
 Searches for an AVP inside the Vector of AVPs.
AVP findAVP (int Code)
 Searches for an AVP inside the Vector of AVPs.
AVP[] findAVPs (int Code)
 Searches for all AVPs with the same code inside the Vector of AVPs.
AVP getSessionId ()
 Searches for the Session-Id AVP inside a message.
String toString ()
 Human readable version of the AVP for logging.

Public Attributes

AVP origin_host
AVP origin_realm
AVP disconnect_cause
int commandCode
 Command Code.
boolean flagRequest = true
 If the message is a Request.
boolean flagProxiable = true
 If the message is proxiable.
boolean flagError = false
 If the message contains a protocol error.
boolean flagRetransmission = false
 Potentially retransmission.
int applicationID = 0
 Application ID.
long hopByHopID = 0
 Hop-by-Hop identifier.
long endToEndID = 0
 End-to-End identifier.
Vector< AVPavps
 Contained AVPs.
long networkTime = 0
 statistical time - close to media

Static Public Attributes

static final int Code_CE = 257
 Command code of Capabilities-Exchange Request/Answer.
static final int Code_DW = 280
 Command code of Device-Watchdog Request/Answer.
static final int Code_DP = 282
 Command code of Disconnect-Peer-Request/Answer.
static final int DIAMETER_SUCCESS = 2001
 ResultCode returned is 2001, when the request was successfully completed.
static final int DIAMETER_NO_COMMON_APPLICATION = 5010
 ResultCode returned is 5010, when CER message is received, and there are no common applications supported between the peers.
static final int DIAMETER_UNABLE_TO_COMPLY = 5012
 ResultCode returned is 5012, when a request was received, whose version number is unsupported.

Package Attributes

int version = 1
 The version of the message.


Constructor & Destructor Documentation

de.fhg.fokus.diameter.DiameterPeer.data.DiameterDPR.DiameterDPR (  ) 

Definition at line 45 of file DiameterDPR.java.

00046     {
00047         super(DiameterMessage.Code_DP,true,0);
00048         AVP avp;
00049                 
00050         /* Origin-Host */
00051         avp = new AVP(AVP.Origin_Host,true,0);
00052         this.addAVP(avp);
00053         this.origin_host = avp;
00054         
00055         /* Origin-Realm */
00056         avp = new AVP(AVP.Origin_Realm,true,0);
00057         this.addAVP(avp);
00058         this.origin_realm = avp;
00059 
00060         /* Disconnect-Cause */
00061         avp = new AVP(AVP.Disconnect_Cause,true,0);
00062         this.addAVP(avp);
00063         this.disconnect_cause = avp;
00064         
00065     }


Member Function Documentation

void de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.addAVP ( AVP  child  )  [inherited]

Adds one AVP to the message.

Parameters:
child 

Definition at line 132 of file DiameterMessage.java.

References de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.avps.

Referenced by de.fhg.fokus.diameter.DiameterPeer.DiameterPeer.newRequest(), de.fhg.fokus.diameter.DiameterPeer.DiameterPeer.newResponse(), de.fhg.fokus.diameter.DiameterPeer.TestEventListener.recvMessage(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_CE_add_applications(), and de.fhg.fokus.diameter.DiameterPeer.DiameterPeerTest.UAR().

00133     {
00134         avps.add(child);
00135     }

int de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.getAVPCount (  )  [inherited]

Returns the count of the AVPs.

Returns:
The number of all available AVPs.

Definition at line 142 of file DiameterMessage.java.

References de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.avps.

00143     {
00144         return avps.size();
00145     }

AVP de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.getAVP ( int  index  )  [inherited]

Returns the AVP.

Parameters:
index 
Returns:
the found AVP or null if out of bounds

Definition at line 152 of file DiameterMessage.java.

References de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.avps.

00153     {
00154         if (index<avps.size())
00155             return (AVP)avps.get(index);
00156         else return null;
00157     }

void de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.deleteAVP ( AVP  avp  )  [inherited]

Deletes the given AVP from the list of AVPs.

Parameters:
avp 

Definition at line 163 of file DiameterMessage.java.

References de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.avps.

00164     {
00165         avps.remove(avp);
00166     }

AVP de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.findAVP ( int  Code,
boolean  Mandatory,
int  Vendor_id 
) [inherited]

Searches for an AVP inside the Vector of AVPs.

Parameters:
Code 
Mandatory 
Vendor_id 
Returns:
the found AVP, null if not found

Definition at line 175 of file DiameterMessage.java.

References de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.avps, de.fhg.fokus.diameter.DiameterPeer.data.AVP.code, de.fhg.fokus.diameter.DiameterPeer.data.AVP.flag_mandatory, and de.fhg.fokus.diameter.DiameterPeer.data.AVP.vendor_id.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Elect(), de.fhg.fokus.diameter.DiameterPeer.routing.RoutingEngine.getRoute(), de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.getSessionId(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Process_CEA(), and de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.processMessage().

00176     {
00177         AVP avp;
00178         for(int i=0;i<avps.size();i++){
00179             avp = (AVP) avps.get(i);
00180             if (avp.code == Code &&
00181                 avp.flag_mandatory == Mandatory &&
00182                 avp.vendor_id == Vendor_id) 
00183                     return avp;
00184         }
00185         return null;
00186     }

AVP de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.findAVP ( int  Code  )  [inherited]

Searches for an AVP inside the Vector of AVPs.

Parameters:
Code 
Returns:
the found AVP, null if not found

Definition at line 223 of file DiameterMessage.java.

References de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.avps, and de.fhg.fokus.diameter.DiameterPeer.data.AVP.code.

00223                                  {
00224         AVP avp;
00225         for(int i=0;i<avps.size();i++){
00226             avp = (AVP) avps.get(i);
00227             if (avp.code == Code) {
00228                 
00229                 return avp;
00230             }
00231         }
00232         return null;    
00233         
00234     }

AVP [] de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.findAVPs ( int  Code  )  [inherited]

Searches for all AVPs with the same code inside the Vector of AVPs.

Parameters:
Code 
Returns:
the found AVP, null if not found

Definition at line 193 of file DiameterMessage.java.

References de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.avps, and de.fhg.fokus.diameter.DiameterPeer.data.AVP.code.

00194     {
00195         AVP[] avpset;
00196         int j = 0, count = 0;
00197         AVP avp;
00198         
00199         for(int i=0;i<avps.size();i++){
00200             avp = (AVP) avps.get(i);
00201             if (avp.code == Code)
00202                 count++;
00203         }
00204         
00205         if (count == 0) return null;
00206         avpset = new AVP[count];
00207         for(int i=0;i<avps.size();i++){
00208             avp = (AVP) avps.get(i);
00209             if (avp.code == Code) {
00210                 avpset[j++] = avp;
00211                 if (j == count) break;
00212             }
00213         }
00214         
00215         return avpset;
00216     }

AVP de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.getSessionId (  )  [inherited]

Searches for the Session-Id AVP inside a message.

Returns:
the found Session-Id AVP, null if not found

Definition at line 240 of file DiameterMessage.java.

References de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.findAVP().

Referenced by de.fhg.fokus.diameter.DiameterPeer.DiameterPeer.newResponse().

00240                               {
00241         return findAVP(AVP.Session_Id);
00242     }

String de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.toString (  )  [inherited]

Human readable version of the AVP for logging.

Definition at line 247 of file DiameterMessage.java.

References de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.applicationID, de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.avps, de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.commandCode, de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.endToEndID, de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.flagError, de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.flagProxiable, de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.flagRequest, de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.flagRetransmission, and de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.hopByHopID.

Referenced by de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.processMessage(), de.fhg.fokus.diameter.DiameterPeer.TestTransactionListener.receiveAnswer(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPA(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPR(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DWA(), and de.fhg.fokus.diameter.DiameterPeer.DiameterPeerTest.test().

00248     {
00249         StringBuffer x = new StringBuffer();
00250         x.append("Diameter: Code=");x.append(commandCode);
00251         if (flagRequest) x.append(" R");
00252         if (flagProxiable) x.append(" P");
00253         if (flagError) x.append(" E");
00254         if (flagRetransmission) x.append(" T");
00255         
00256         x.append(" AppID=");x.append(applicationID);
00257         x.append(" HbHID=");x.append(hopByHopID);
00258         x.append(" E2EID=");x.append(endToEndID);
00259         
00260         x.append("\n");
00261         for(int i=0;i<avps.size();i++){
00262             x.append("\t");
00263             x.append(avps.get(i).toString());
00264             x.append("\n");
00265         }       
00266         return x.toString();
00267     }


Member Data Documentation

AVP de.fhg.fokus.diameter.DiameterPeer.data.DiameterDPR.origin_host

Definition at line 41 of file DiameterDPR.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPR().

AVP de.fhg.fokus.diameter.DiameterPeer.data.DiameterDPR.origin_realm

Definition at line 42 of file DiameterDPR.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPR().

AVP de.fhg.fokus.diameter.DiameterPeer.data.DiameterDPR.disconnect_cause

Definition at line 43 of file DiameterDPR.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPR().

int de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.version = 1 [package, inherited]

The version of the message.

Definition at line 50 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.data.Codec.decodeDiameterMessage(), and de.fhg.fokus.diameter.DiameterPeer.data.Codec.encodeDiameterMessage().

int de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.commandCode [inherited]

Command Code.

Definition at line 53 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.data.Codec.decodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.Codec.encodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.DiameterPeer.newResponse(), de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.processMessage(), and de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.toString().

boolean de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.flagRequest = true [inherited]

If the message is a Request.

Definition at line 56 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.data.Codec.decodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.Codec.encodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.processMessage(), de.fhg.fokus.diameter.DiameterPeer.transaction.TransactionWorker.recvMessage(), de.fhg.fokus.diameter.DiameterPeer.transaction.TransactionWorker.sendRequestBlocking(), de.fhg.fokus.diameter.DiameterPeer.transaction.TransactionWorker.sendRequestTransactional(), and de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.toString().

boolean de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.flagProxiable = true [inherited]

If the message is proxiable.

Definition at line 59 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.data.Codec.decodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.Codec.encodeDiameterMessage(), and de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.toString().

boolean de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.flagError = false [inherited]

If the message contains a protocol error.

Definition at line 62 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.data.Codec.decodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.Codec.encodeDiameterMessage(), and de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.toString().

boolean de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.flagRetransmission = false [inherited]

Potentially retransmission.

Definition at line 65 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.data.Codec.decodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.Codec.encodeDiameterMessage(), and de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.toString().

int de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.applicationID = 0 [inherited]

Application ID.

Definition at line 68 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.data.Codec.decodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.Codec.encodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.DiameterPeer.newResponse(), and de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.toString().

long de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.hopByHopID = 0 [inherited]

Hop-by-Hop identifier.

Definition at line 71 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.data.Codec.decodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.Codec.encodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.transaction.TransactionWorker.getTransaction(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.I_Snd_CER(), de.fhg.fokus.diameter.DiameterPeer.DiameterPeer.newResponse(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_CEA(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPA(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPR(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DWA(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DWR(), de.fhg.fokus.diameter.DiameterPeer.transaction.TransactionWorker.takeTransaction(), and de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.toString().

long de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.endToEndID = 0 [inherited]

End-to-End identifier.

Definition at line 74 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.data.Codec.decodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.Codec.encodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.transaction.TransactionWorker.getTransaction(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.I_Snd_CER(), de.fhg.fokus.diameter.DiameterPeer.DiameterPeer.newResponse(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_CEA(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPA(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPR(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DWA(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DWR(), de.fhg.fokus.diameter.DiameterPeer.transaction.TransactionWorker.takeTransaction(), and de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.toString().

Vector<AVP> de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.avps [inherited]

Contained AVPs.

Definition at line 77 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.addAVP(), de.fhg.fokus.diameter.DiameterPeer.data.Codec.decodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.deleteAVP(), de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.DiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.Codec.encodeDiameterMessage(), de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.findAVP(), de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.findAVPs(), de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.getAVP(), de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.getAVPCount(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Process_CER(), and de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.toString().

long de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.networkTime = 0 [inherited]

statistical time - close to media

Definition at line 81 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.run(), de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.sendDirect(), de.fhg.fokus.diameter.DiameterPeer.transaction.TransactionWorker.sendRequestBlocking(), and de.fhg.fokus.diameter.DiameterPeer.transaction.TransactionWorker.sendRequestTransactional().

final int de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.Code_CE = 257 [static, inherited]

Command code of Capabilities-Exchange Request/Answer.

Definition at line 270 of file DiameterMessage.java.

final int de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.Code_DW = 280 [static, inherited]

Command code of Device-Watchdog Request/Answer.

Definition at line 273 of file DiameterMessage.java.

final int de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.Code_DP = 282 [static, inherited]

Command code of Disconnect-Peer-Request/Answer.

Definition at line 276 of file DiameterMessage.java.

final int de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.DIAMETER_SUCCESS = 2001 [static, inherited]

ResultCode returned is 2001, when the request was successfully completed.

Definition at line 281 of file DiameterMessage.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.process().

final int de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.DIAMETER_NO_COMMON_APPLICATION = 5010 [static, inherited]

ResultCode returned is 5010, when CER message is received, and there are no common applications supported between the peers.

Definition at line 287 of file DiameterMessage.java.

final int de.fhg.fokus.diameter.DiameterPeer.data.DiameterMessage.DIAMETER_UNABLE_TO_COMPLY = 5012 [static, inherited]

ResultCode returned is 5012, when a request was received, whose version number is unsupported.

Definition at line 293 of file DiameterMessage.java.


The documentation for this class was generated from the following file:
Generated on Tue Oct 14 04:04:20 2008 for Open IMS Core JavaDiameterPeer by  doxygen 1.5.2