package uk.co.mmscomputing.device.capi.q931; import uk.co.mmscomputing.device.capi.*; public class UserUser extends Q931{ // ITU Recommendation Q.931 (03/93) p116 4.5.30. // uk.co.mmscomputing.device.capi.parameter.AdditionalInfo // Information Element Identifier 0x7E static final public int IA5=4; private int pd=-1; // protocol discriminator private String info=""; // input, decode public UserUser(Rider r){ r.setLength(); try{ pd =r.read(); // Octet 3 info =r.readString(); // octet 4+ }catch(IndexOutOfBoundsException ioobe){ }finally{ r.skip(); } } public UserUser(byte[] data){ this(new Rider(data)); } public int getProtocolDiscriminator(){return pd;} public String getInformation(){return info;} public String toString(){ String s="User-User Information - \n"; if(pd!=-1){ s+="\n\tprotocol discriminator: "+pd; switch(pd){ case IA5: s+="\n\t"+new String(info); } }else{ s+="\n\tNo User-User data"; } return s; } static public class Out extends StructOut{ public Out(String ia5Info){ // allowed length network dependent i.e. 31,131 super(1+ia5Info.length()); writeByte(4); // Octet 3 : IA5=4 writeData(ia5Info.getBytes(),0,ia5Info.length()); // Octet 4 + } } }