package org.mobicents.slee.resource.diameter.cxdx.events.avp; import static net.java.slee.resource.diameter.cxdx.events.avp.DiameterCxDxAvpCodes.*; import net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem; import net.java.slee.resource.diameter.cxdx.events.avp.SIPDigestAuthenticate; import org.mobicents.slee.resource.diameter.base.events.avp.GroupedAvpImpl; /** * * SIPAuthDataItemImpl.java * * @author <a href="mailto:brainslog@gmail.com"> Alexandre Mendonca </a> * @author <a href="mailto:baranowb@gmail.com"> Bartosz Baranowski </a> */ public class SIPAuthDataItemImpl extends GroupedAvpImpl implements SIPAuthDataItem { /** * @param code * @param vendorId * @param mnd * @param prt * @param value */ public SIPAuthDataItemImpl(int code, long vendorId, int mnd, int prt, byte[] value) { super(code, vendorId, mnd, prt, value); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getConfidentialityKey() */ public String getConfidentialityKey() { return getAvpAsOctetString(CONFIDENTIALITY_KEY, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getFramedIPAddress() */ public String getFramedIPAddress() { // 6.11.1. Framed-IP-Address AVP // The Framed-IP-Address AVP (AVP Code 8) [RADIUS] is of type OctetString return getAvpAsOctetString(8); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getFramedIPv6Prefix() */ public String getFramedIPv6Prefix() { // 6.11.6. Framed-IPv6-Prefix AVP // The Framed-IPv6-Prefix AVP (AVP Code 97) is of type OctetString return getAvpAsOctetString(97); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getFramedInterfaceId() */ public long getFramedInterfaceId() { // 6.11.5. Framed-Interface-Id AVP // The Framed-Interface-Id AVP (AVP Code 96) is of type Unsigned64 return getAvpAsUnsigned64(96); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getIntegrityKey() */ public String getIntegrityKey() { return getAvpAsOctetString(INTEGRITY_KEY, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getLineIdentifiers() */ public String getLineIdentifiers() { // 6.3.42 Line-Identifier AVP // The Line-Identifier AVP is of type OctetString. This AVP has Vendor Id ETSI (13019) and AVP code 500. return getAvpAsOctetString(500, 13019L); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getSIPAuthenticate() */ public String getSIPAuthenticate() { return getAvpAsOctetString(SIP_AUTHENTICATE, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getSIPAuthenticationContext() */ public String getSIPAuthenticationContext() { return getAvpAsOctetString(SIP_AUTHENTICATION_CONTEXT, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getSIPAuthenticationScheme() */ public String getSIPAuthenticationScheme() { return getAvpAsUTF8String(SIP_AUTHENTICATION_SCHEME, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getSIPAuthorization() */ public String getSIPAuthorization() { return getAvpAsOctetString(SIP_AUTHORIZATION, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getSIPDigestAuthenticate() */ public SIPDigestAuthenticate getSIPDigestAuthenticate() { return (SIPDigestAuthenticate) getAvpAsCustom(SIP_DIGEST_AUTHENTICATE, CXDX_VENDOR_ID, SIPDigestAuthenticateImpl.class); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#getSIPItemNumber() */ public long getSIPItemNumber() { return getAvpAsUnsigned32(SIP_ITEM_NUMBER, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasConfidentialityKey() */ public boolean hasConfidentialityKey() { return hasAvp(CONFIDENTIALITY_KEY, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasFramedIPAddress() */ public boolean hasFramedIPAddress() { return hasAvp(8); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasFramedIPv6Prefix() */ public boolean hasFramedIPv6Prefix() { return hasAvp(97); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasFramedInterfaceId() */ public boolean hasFramedInterfaceId() { return hasAvp(96); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasIntegrityKey() */ public boolean hasIntegrityKey() { return hasAvp(INTEGRITY_KEY, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasSIPAuthenticate() */ public boolean hasSIPAuthenticate() { return hasAvp(SIP_AUTHENTICATE, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasSIPAuthenticationContext() */ public boolean hasSIPAuthenticationContext() { return hasAvp(SIP_AUTHENTICATION_CONTEXT, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasSIPAuthenticationScheme() */ public boolean hasSIPAuthenticationScheme() { return hasAvp(SIP_AUTHENTICATION_SCHEME, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasSIPAuthorization() */ public boolean hasSIPAuthorization() { return hasAvp(SIP_AUTHORIZATION, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasSIPDigestAuthenticate() */ public boolean hasSIPDigestAuthenticate() { return hasAvp(SIP_DIGEST_AUTHENTICATE, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#hasSIPItemNumber() */ public boolean hasSIPItemNumber() { return hasAvp(SIP_ITEM_NUMBER, CXDX_VENDOR_ID); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setConfidentialityKey(java.lang.String) */ public void setConfidentialityKey(String confidentialityKey) { addAvp(CONFIDENTIALITY_KEY, CXDX_VENDOR_ID, confidentialityKey); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setFramedIPAddress(java.lang.String) */ public void setFramedIPAddress(String framedIPAddress) { addAvp(8, framedIPAddress); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setFramedIPv6Prefix(java.lang.String) */ public void setFramedIPv6Prefix(String framedIPv6Prefix) { addAvp(97, framedIPv6Prefix); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setFramedInterfaceId(long) */ public void setFramedInterfaceId(long framedInterfaceId) { addAvp(96, framedInterfaceId); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setIntegrityKey(java.lang.String) */ public void setIntegrityKey(String integrityKey) { addAvp(INTEGRITY_KEY, CXDX_VENDOR_ID, integrityKey); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setLineIdentifier(java.lang.String) */ public void setLineIdentifier(String lineIdentifier) { addAvp(500, 13019L, lineIdentifier); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setLineIdentifiers(java.lang.String[]) */ public void setLineIdentifiers(String[] lineIdentifiers) { for(String lineIdentifier : lineIdentifiers) { setLineIdentifier(lineIdentifier); } } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setSIPAuthenticate(java.lang.String) */ public void setSIPAuthenticate(String sipAuthenticate) { addAvp(SIP_AUTHENTICATE, CXDX_VENDOR_ID, sipAuthenticate); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setSIPAuthenticationContext(java.lang.String) */ public void setSIPAuthenticationContext(String sipAuthenticationContext) { addAvp(SIP_AUTHENTICATION_CONTEXT, CXDX_VENDOR_ID, sipAuthenticationContext); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setSIPAuthenticationScheme(java.lang.String) */ public void setSIPAuthenticationScheme(String sipAuthenticationScheme) { addAvp(SIP_AUTHENTICATION_SCHEME, CXDX_VENDOR_ID, sipAuthenticationScheme); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setSIPAuthorization(java.lang.String) */ public void setSIPAuthorization(String sipAuthorization) { addAvp(SIP_AUTHORIZATION, CXDX_VENDOR_ID, sipAuthorization); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setSIPDigestAuthenticate(net.java.slee.resource.diameter.cxdx.events.avp.SIPDigestAuthenticate) */ public void setSIPDigestAuthenticate(SIPDigestAuthenticate sipDigestAuthenticate) { addAvp(SIP_DIGEST_AUTHENTICATE, CXDX_VENDOR_ID, sipDigestAuthenticate.byteArrayValue()); } /* (non-Javadoc) * @see net.java.slee.resource.diameter.cxdx.events.avp.SIPAuthDataItem#setSIPItemNumber(long) */ public void setSIPItemNumber(long sipItemNumber) { addAvp(SIP_ITEM_NUMBER, CXDX_VENDOR_ID, sipItemNumber); } }