package org.mobicents.ss7.isup.impl; import java.util.Arrays; import org.mobicents.ss7.isup.message.AnswerMessage; import org.mobicents.ss7.isup.message.ISUPMessage; import org.mobicents.ss7.isup.message.parameter.BackwardCallIndicators; import org.mobicents.ss7.isup.message.parameter.CallReference; import org.mobicents.ss7.isup.message.parameter.CircuitIdentificationCode; import org.mobicents.ss7.isup.message.parameter.ServiceActivation; /** * Start time:09:26:46 2009-04-22<br> * Project: mobicents-isup-stack<br> * Test for ANM * * @author <a href="mailto:baranowb@gmail.com"> Bartosz Baranowski </a> */ public class ANMTest extends MessageHarness { public void testTwo_Params() throws Exception { byte[] message = getDefaultBody(); //AnswerMessageImpl ANM=new AnswerMessageImpl(this,message); AnswerMessage ANM=super.messageFactory.createANM(); ANM.decodeElement(message); try{ CallReference cr = (CallReference) ANM.getParameter(CallReference._PARAMETER_CODE); assertNotNull("Call Reference return is null, it should not be",cr); if(cr == null) return; super.assertEquals("CallIdentity missmatch",65793, cr.getCallIdentity()); super.assertEquals("SignalingPointCode missmatch",478, cr.getSignalingPointCode()); }catch(Exception e) { e.printStackTrace(); super.fail("Failed on get parameter["+CallReference._PARAMETER_CODE+"]:"+e); } try{ ServiceActivation sa = (ServiceActivation) ANM.getParameter(ServiceActivation._PARAMETER_CODE); assertNotNull("Service Activation return is null, it should not be",sa); if(sa == null) return; byte[] b=sa.getFeatureCodes(); assertNotNull("ServerActivation.getFeatureCodes() is null",b); if(b == null) { return; } assertEquals("Length of param is wrong",7 ,b.length); if(b.length != 7) return; assertTrue("Content of ServiceActivation.getFeatureCodes is wrong", super.makeCompare(b, new byte[]{0x01 ,0x02 ,0x03 ,0x04 ,0x05 ,0x06 ,0x07})); }catch(Exception e) { e.printStackTrace(); super.fail("Failed on get parameter["+CallReference._PARAMETER_CODE+"]:"+e); } } @Override protected byte[] getDefaultBody() { byte[] message={ 0x0C ,(byte) 0x0B ,AnswerMessage._MESSAGE_CODE_ANM //No mandatory varaible part, no ptr ,0x01 // ptr to optional part //Call reference ,0x01 ,0x05 ,0x01 ,0x01 ,0x01 ,(byte)0xDE ,0x01 //ServiceActivation ,0x33 ,0x07 ,0x01 ,0x02 ,0x03 ,0x04 ,0x05 ,0x06 ,0x07 //End of optional part ,0x0 }; return message; } @Override protected ISUPMessage getDefaultMessage() { return super.messageFactory.createANM(); } }