public interface AccountingAnswer extends DiameterMessage
9.7.2. Accounting-Answer The Accounting-Answer (ACA) command, indicated by the Command-Code field set to 271 and the Command Flags' 'R' bit cleared, is used to acknowledge an Accounting-Request command. The Accounting-Answer command contains the same Session-Id and includes the usage AVPs only if CMS is in use when sending this command. Note that the inclusion of the usage AVPs when CMS is not being used leads to unnecessarily large answer messages, and can not be used as a server's proof of the receipt of these AVPs in an end-to-end fashion. If the Accounting- Request was protected by end-to-end security, then the corresponding ACA message MUST be protected by end-to-end security. Only the target Diameter Server, known as the home Diameter Server, SHOULD respond with the Accounting-Answer command. One of Acct-Application-Id and Vendor-Specific-Application-Id AVPs MUST be present. If the Vendor-Specific-Application-Id grouped AVP is present, it must have an Acct-Application-Id inside. The AVP listed below SHOULD include service specific accounting AVPs, as described in Section 9.3. Message Format <Accounting-Answer> ::= < Diameter Header: 271, PXY > < Session-Id > { Result-Code } { Origin-Host } { Origin-Realm } { Accounting-Record-Type } { Accounting-Record-Number } [ Acct-Application-Id ] [ Vendor-Specific-Application-Id ] [ User-Name ] [ Accounting-Sub-Session-Id ] [ Accounting-Session-Id ] [ Acct-Multi-Session-Id ] [ Error-Reporting-Host ] [ Acct-Interim-Interval ] [ Accounting-Realtime-Required ] [ Origin-State-Id ] [ Event-Timestamp ] * [ Proxy-Info ] * [ AVP ]
Modifier and Type | Field and Description |
---|---|
static int |
commandCode |
Modifier and Type | Method and Description |
---|---|
AccountingRealtimeRequired |
getAccountingRealtimeRequired()
Returns the value of the Accounting-Realtime-Required AVP, of type Enumerated.
|
long |
getAccountingRecordNumber()
Returns the value of the Accounting-Record-Number AVP, of type Unsigned32.
|
AccountingRecordType |
getAccountingRecordType()
Returns the value of the Accounting-Record-Type AVP, of type Enumerated.
|
byte[] |
getAccountingSessionId()
Returns the value of the Accounting-Session-Id AVP, of type OctetString.
|
long |
getAccountingSubSessionId()
Returns the value of the Accounting-Sub-Session-Id AVP, of type Unsigned64.
|
long |
getAcctApplicationId()
Returns the value of the Acct-Application-Id AVP, of type Unsigned32.
|
long |
getAcctInterimInterval()
Returns the value of the Acct-Interim-Interval AVP, of type Unsigned32.
|
java.lang.String |
getAcctMultiSessionId()
Returns the value of the Acct-Multi-Session-Id AVP, of type UTF8String.
|
DiameterIdentity |
getErrorReportingHost()
Returns the value of the Error-Reporting-Host AVP, of type DiameterIdentity.
|
java.util.Date |
getEventTimestamp()
Returns the value of the Event-Timestamp AVP, of type Time.
|
DiameterAvp[] |
getExtensionAvps()
Returns the set of extension AVPs.
|
DiameterIdentity |
getOriginHost()
Returns the value of the Origin-Host AVP, of type DiameterIdentity.
|
DiameterIdentity |
getOriginRealm()
Returns the value of the Origin-Realm AVP, of type DiameterIdentity.
|
long |
getOriginStateId()
Returns the value of the Origin-State-Id AVP, of type Unsigned32.
|
ProxyInfo[] |
getProxyInfos()
Returns the set of Proxy-Info AVPs.
|
long |
getResultCode()
Returns the value of the Result-Code AVP, of type Unsigned32.
|
java.lang.String |
getSessionId()
Returns the value of the Session-Id AVP, of type UTF8String.
|
java.lang.String |
getUserName()
Returns the value of the User-Name AVP, of type UTF8String.
|
VendorSpecificApplicationId |
getVendorSpecificApplicationId()
Returns the value of the Vendor-Specific-Application-Id AVP, of type Grouped.
|
boolean |
hasAccountingRealtimeRequired()
Returns true if the Accounting-Realtime-Required AVP is present in the message.
|
boolean |
hasAccountingRecordNumber()
Returns true if the Accounting-Record-Number AVP is present in the message.
|
boolean |
hasAccountingRecordType()
Returns true if the Accounting-Record-Type AVP is present in the message.
|
boolean |
hasAccountingSessionId()
Returns true if the Accounting-Session-Id AVP is present in the message.
|
boolean |
hasAccountingSubSessionId()
Returns true if the Accounting-Sub-Session-Id AVP is present in the message.
|
boolean |
hasAcctApplicationId()
Returns true if the Acct-Application-Id AVP is present in the message.
|
boolean |
hasAcctInterimInterval()
Returns true if the Acct-Interim-Interval AVP is present in the message.
|
boolean |
hasAcctMultiSessionId()
Returns true if the Acct-Multi-Session-Id AVP is present in the message.
|
boolean |
hasErrorReportingHost()
Returns true if the Error-Reporting-Host AVP is present in the message.
|
boolean |
hasEventTimestamp()
Returns true if the Event-Timestamp AVP is present in the message.
|
boolean |
hasOriginHost()
Returns true if the Origin-Host AVP is present in the message.
|
boolean |
hasOriginRealm()
Returns true if the Origin-Realm AVP is present in the message.
|
boolean |
hasOriginStateId()
Returns true if the Origin-State-Id AVP is present in the message.
|
boolean |
hasResultCode()
Returns true if the Result-Code AVP is present in the message.
|
boolean |
hasSessionId()
Returns true if the Session-Id AVP is present in the message.
|
boolean |
hasUserName()
Returns true if the User-Name AVP is present in the message.
|
boolean |
hasVendorSpecificApplicationId()
Returns true if the Vendor-Specific-Application-Id AVP is present in the message.
|
void |
removeAccountingRealtimeRequired()
Removes the Accounting-Realtime-Required AVP from the message.
|
void |
removeAccountingRecordNumber()
Removes the Accounting-Record-Number AVP from the message.
|
void |
removeAccountingRecordType()
Removes the Accounting-Record-Type AVP from the message.
|
void |
removeAccountingSessionId()
Removes the Accounting-Session-Id AVP from the message.
|
void |
removeAccountingSubSessionId()
Removes the Accounting-Sub-Session-Id AVP from the message.
|
void |
removeAcctApplicationId()
Removes the Acct-Application-Id AVP from the message.
|
void |
removeAcctInterimInterval()
Removes the Acct-Interim-Interval AVP from the message.
|
void |
removeAcctMultiSessionId()
Removes the Acct-Multi-Session-Id AVP from the message.
|
void |
removeErrorReportingHost()
Removes the Error-Reporting-Host AVP from the message.
|
void |
removeEventTimestamp()
Removes the Event-Timestamp AVP from the message.
|
void |
removeExtensionAvps()
Removes all extension AVPs from the message.
|
void |
removeOriginHost()
Removes the Origin-Host AVP from the message.
|
void |
removeOriginRealm()
Removes the Origin-Realm AVP from the message.
|
void |
removeOriginStateId()
Removes the Origin-State-Id AVP from the message.
|
void |
removeProxyInfos()
Removes all Proxy-Info AVPs from the message.
|
void |
removeResultCode()
Removes the Result-Code AVP from the message.
|
void |
removeSessionId()
Removes the Session-Id AVP from the message.
|
void |
removeUserName()
Removes the User-Name AVP from the message.
|
void |
removeVendorSpecificApplicationId()
Removes the Vendor-Specific-Application-Id AVP from the message.
|
void |
setAccountingRealtimeRequired(AccountingRealtimeRequired accountingRealtimeRequired)
Sets the value of the Accounting-Realtime-Required AVP, of type Enumerated.
|
void |
setAccountingRecordNumber(long accountingRecordNumber)
Sets the value of the Accounting-Record-Number AVP, of type Unsigned32.
|
void |
setAccountingRecordType(AccountingRecordType accountingRecordType)
Sets the value of the Accounting-Record-Type AVP, of type Enumerated.
|
void |
setAccountingSessionId(byte[] accountingSessionId)
Sets the value of the Accounting-Session-Id AVP, of type OctetString.
|
void |
setAccountingSubSessionId(long accountingSubSessionId)
Sets the value of the Accounting-Sub-Session-Id AVP, of type Unsigned64.
|
void |
setAcctApplicationId(long acctApplicationId)
Sets the value of the Acct-Application-Id AVP, of type Unsigned32.
|
void |
setAcctInterimInterval(long acctInterimInterval)
Sets the value of the Acct-Interim-Interval AVP, of type Unsigned32.
|
void |
setAcctMultiSessionId(java.lang.String acctMultiSessionId)
Sets the value of the Acct-Multi-Session-Id AVP, of type UTF8String.
|
void |
setErrorReportingHost(DiameterIdentity errorReportingHost)
Sets the value of the Error-Reporting-Host AVP, of type DiameterIdentity.
|
void |
setEventTimestamp(java.util.Date eventTimestamp)
Sets the value of the Event-Timestamp AVP, of type Time.
|
void |
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.
|
void |
setOriginHost(DiameterIdentity originHost)
Sets the value of the Origin-Host AVP, of type DiameterIdentity.
|
void |
setOriginRealm(DiameterIdentity originRealm)
Sets the value of the Origin-Realm AVP, of type DiameterIdentity.
|
void |
setOriginStateId(long originStateId)
Sets the value of the Origin-State-Id AVP, of type Unsigned32.
|
void |
setProxyInfo(ProxyInfo proxyInfo)
Sets a single Proxy-Info AVP in the message, of type Grouped.
|
void |
setProxyInfos(ProxyInfo[] proxyInfos)
Sets the set of Proxy-Info AVPs, with all the values in the given array.
|
void |
setResultCode(long resultCode)
Sets the value of the Result-Code AVP, of type Unsigned32.
|
void |
setSessionId(java.lang.String sessionId)
Sets the value of the Session-Id AVP, of type UTF8String.
|
void |
setUserName(java.lang.String userName)
Sets the value of the User-Name AVP, of type UTF8String.
|
void |
setVendorSpecificApplicationId(VendorSpecificApplicationId vendorSpecificApplicationId)
Sets the value of the Vendor-Specific-Application-Id AVP, of type Grouped.
|
clone, getAvps, getCommand, getDestinationHost, getDestinationRealm, getHeader, setDestinationHost, setDestinationRealm
static final int commandCode
boolean hasSessionId()
java.lang.String getSessionId()
getSessionId
in interface DiameterMessage
void setSessionId(java.lang.String sessionId)
setSessionId
in interface DiameterMessage
java.lang.NullPointerException
- if sessionId
is null
.void removeSessionId()
boolean hasResultCode()
long getResultCode()
hasResultCode()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Result-Code AVP has not been set on this messagevoid setResultCode(long resultCode)
void removeResultCode()
boolean hasOriginHost()
DiameterIdentity getOriginHost()
getOriginHost
in interface DiameterMessage
void setOriginHost(DiameterIdentity originHost)
setOriginHost
in interface DiameterMessage
java.lang.NullPointerException
- if originHost
is null
.void removeOriginHost()
boolean hasOriginRealm()
DiameterIdentity getOriginRealm()
getOriginRealm
in interface DiameterMessage
void setOriginRealm(DiameterIdentity originRealm)
setOriginRealm
in interface DiameterMessage
java.lang.NullPointerException
- if originRealm
is null
.void removeOriginRealm()
boolean hasAccountingRecordType()
AccountingRecordType getAccountingRecordType()
void setAccountingRecordType(AccountingRecordType accountingRecordType)
java.lang.NullPointerException
- if accountingRecordType
is null
.void removeAccountingRecordType()
boolean hasAccountingRecordNumber()
long getAccountingRecordNumber()
hasAccountingRecordNumber()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Accounting-Record-Number AVP has not been set on this messagevoid setAccountingRecordNumber(long accountingRecordNumber)
void removeAccountingRecordNumber()
boolean hasAcctApplicationId()
long getAcctApplicationId()
hasAcctApplicationId()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Acct-Application-Id AVP has not been set on this messagevoid setAcctApplicationId(long acctApplicationId)
void removeAcctApplicationId()
boolean hasVendorSpecificApplicationId()
VendorSpecificApplicationId getVendorSpecificApplicationId()
void setVendorSpecificApplicationId(VendorSpecificApplicationId vendorSpecificApplicationId)
java.lang.NullPointerException
- if vendorSpecificApplicationId
is null
.void removeVendorSpecificApplicationId()
boolean hasUserName()
java.lang.String getUserName()
void setUserName(java.lang.String userName)
java.lang.NullPointerException
- if userName
is null
.void removeUserName()
boolean hasAccountingSubSessionId()
long getAccountingSubSessionId()
hasAccountingSubSessionId()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Accounting-Sub-Session-Id AVP has not been set on this messagevoid setAccountingSubSessionId(long accountingSubSessionId)
void removeAccountingSubSessionId()
boolean hasAccountingSessionId()
byte[] getAccountingSessionId()
void setAccountingSessionId(byte[] accountingSessionId)
java.lang.NullPointerException
- if accountingSessionId
is null
.void removeAccountingSessionId()
boolean hasAcctMultiSessionId()
java.lang.String getAcctMultiSessionId()
void setAcctMultiSessionId(java.lang.String acctMultiSessionId)
java.lang.NullPointerException
- if acctMultiSessionId
is null
.void removeAcctMultiSessionId()
boolean hasErrorReportingHost()
DiameterIdentity getErrorReportingHost()
void setErrorReportingHost(DiameterIdentity errorReportingHost)
java.lang.NullPointerException
- if errorReportingHost
is null
.void removeErrorReportingHost()
boolean hasAcctInterimInterval()
long getAcctInterimInterval()
hasAcctInterimInterval()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Acct-Interim-Interval AVP has not been set on this messagevoid setAcctInterimInterval(long acctInterimInterval)
void removeAcctInterimInterval()
boolean hasAccountingRealtimeRequired()
AccountingRealtimeRequired getAccountingRealtimeRequired()
void setAccountingRealtimeRequired(AccountingRealtimeRequired accountingRealtimeRequired)
java.lang.NullPointerException
- if accountingRealtimeRequired
is null
.void removeAccountingRealtimeRequired()
boolean hasOriginStateId()
long getOriginStateId()
hasOriginStateId()
to check the existence of this AVP.java.lang.IllegalStateException
- if the Origin-State-Id AVP has not been set on this messagevoid setOriginStateId(long originStateId)
void removeOriginStateId()
boolean hasEventTimestamp()
java.util.Date getEventTimestamp()
void setEventTimestamp(java.util.Date eventTimestamp)
java.lang.NullPointerException
- if eventTimestamp
is null
.void removeEventTimestamp()
ProxyInfo[] getProxyInfos()
void setProxyInfo(ProxyInfo proxyInfo)
java.lang.NullPointerException
- if proxyInfo
is null
.void setProxyInfos(ProxyInfo[] proxyInfos)
java.lang.NullPointerException
- if proxyInfos
is null
.void removeProxyInfos()
DiameterAvp[] getExtensionAvps()
void setExtensionAvps(DiameterAvp[] avps) throws AvpNotAllowedException
AvpNotAllowedException
- if an AVP is encountered of a type already known to this class
(i.e. an AVP for which get/set methods already appear in this class)java.lang.NullPointerException
- if avps
is null
.void removeExtensionAvps()