package org.mobicents.smsc.slee.services.mt; import java.util.Date; import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertTrue; import javax.slee.ActivityContextInterface; import javax.slee.Address; import javax.slee.facilities.TimerID; import org.mobicents.protocols.ss7.map.MAPParameterFactoryImpl; import org.mobicents.protocols.ss7.map.MAPSmsTpduParameterFactoryImpl; import org.mobicents.protocols.ss7.map.api.MAPException; import org.mobicents.protocols.ss7.map.api.primitives.ISDNAddressString; import org.mobicents.protocols.ss7.map.api.service.sms.SM_RP_DA; import org.mobicents.protocols.ss7.map.api.service.sms.SM_RP_OA; import org.mobicents.protocols.ss7.map.api.service.sms.SmsSignalInfo; import org.mobicents.protocols.ss7.map.api.smstpdu.NumberingPlanIdentification; import org.mobicents.protocols.ss7.map.api.smstpdu.SmsStatusReportTpdu; import org.mobicents.protocols.ss7.map.api.smstpdu.Status; import org.mobicents.protocols.ss7.map.api.smstpdu.StatusReportQualifier; import org.mobicents.protocols.ss7.map.api.smstpdu.TypeOfNumber; import org.mobicents.protocols.ss7.sccp.parameter.SccpAddress; import org.mobicents.slee.ChildRelationExt; import org.mobicents.smsc.library.Sms; import org.mobicents.smsc.library.SmsDeliveryReportData; import org.mobicents.smsc.library.SmsSet; import org.mobicents.smsc.slee.services.deliverysbb.PendingRequestsList; import org.mobicents.smsc.slee.services.smpp.server.events.InformServiceCenterContainer; import org.mobicents.smsc.slee.services.smpp.server.events.SendRsdsEvent; import org.testng.annotations.Test; public class MtTest3 { @Test(groups = { "Mt" }) public void ReportTest() throws Exception { MtSbbProxy3 proxy = new MtSbbProxy3(); Date submitDate = new Date(2015, 1, 2, 12, 30); Date deliveryDate = new Date(2015, 1, 2, 12, 40); Sms sms = new Sms(); sms.setSourceAddr("111199990000"); sms.setSourceAddrNpi(1); sms.setSourceAddrTon(1); sms.setShortMessageText("Hello 111"); sms.setSubmitDate(submitDate); sms.setMoMessageRef(34); SmsSet smsSet = new SmsSet(); smsSet.setDestAddr("888899990000"); smsSet.setDestAddrNpi(1); smsSet.setDestAddrTon(1); smsSet.setNetworkId(0); smsSet.addSms(sms); SmsDeliveryReportData smsDeliveryReportData = new SmsDeliveryReportData(); smsDeliveryReportData.setDeliveryDate(deliveryDate); smsDeliveryReportData.setStatusReportQualifier(StatusReportQualifier.SmsSubmitResult); smsDeliveryReportData.setStatusVal(64); SmsSignalInfo smsSignalInfo = proxy.createSignalInfoStatusReport(sms, true, smsDeliveryReportData); String s1 = smsSignalInfo.toString(); assertNotNull(smsSignalInfo); SmsStatusReportTpdu si = (SmsStatusReportTpdu) smsSignalInfo.decodeTpdu(false); assertEquals(si.getDischargeTime().getMinute(), 40); assertEquals(si.getServiceCentreTimeStamp().getMinute(), 30); assertFalse(si.getForwardedOrSpawned()); assertEquals(si.getMessageReference(), 34); assertTrue(si.getMoreMessagesToSend()); // assertNull(si.getParameterIndicator()); assertEquals(si.getProtocolIdentifier().getCode(), 0); assertEquals(si.getRecipientAddress().getAddressValue(), "888899990000"); assertEquals(si.getRecipientAddress().getNumberingPlanIdentification(), NumberingPlanIdentification.ISDNTelephoneNumberingPlan); assertEquals(si.getRecipientAddress().getTypeOfNumber(), TypeOfNumber.InternationalNumber); assertEquals(si.getStatus().getCode(), Status.REMOTE_PROCEDURE_ERROR); assertEquals(si.getStatusReportQualifier(), StatusReportQualifier.SmsSubmitResult); } public class MtSbbProxy3 extends MtSbb { public MtSbbProxy3() { this.mapSmsTpduParameterFactory = new MAPSmsTpduParameterFactoryImpl(); this.mapParameterFactory = new MAPParameterFactoryImpl(); } public SmsSignalInfo createSignalInfoStatusReport(Sms sms, boolean moreMessagesToSend, SmsDeliveryReportData smsDeliveryReportData) throws MAPException { return super.createSignalInfoStatusReport(sms, moreMessagesToSend, smsDeliveryReportData); } @Override public void setInformServiceCenterContainer(InformServiceCenterContainer informServiceCenterContainer) { // TODO Auto-generated method stub } @Override public InformServiceCenterContainer getInformServiceCenterContainer() { // TODO Auto-generated method stub return null; } @Override public void setTcEmptySent(int tcEmptySent) { // TODO Auto-generated method stub } @Override public int getTcEmptySent() { // TODO Auto-generated method stub return 0; } @Override public void setResponseReceived(int responseReceived) { // TODO Auto-generated method stub } @Override public int getResponseReceived() { // TODO Auto-generated method stub return 0; } @Override public int getMapApplicationContextVersionsUsed() { // TODO Auto-generated method stub return 0; } @Override public void setMapApplicationContextVersionsUsed(int mapApplicationContextVersions) { // TODO Auto-generated method stub } @Override public void setNnn(ISDNAddressString nnn) { // TODO Auto-generated method stub } @Override public ISDNAddressString getNnn() { // TODO Auto-generated method stub return null; } @Override public void setMessageSegmentNumber(int mesageSegmentNumber) { // TODO Auto-generated method stub } @Override public int getMessageSegmentNumber() { // TODO Auto-generated method stub return 0; } @Override public void setSegments(SmsSignalInfo[] segments) { // TODO Auto-generated method stub } @Override public SmsSignalInfo[] getSegments() { // TODO Auto-generated method stub return null; } @Override public void setSmRpDa(SM_RP_DA sm_rp_da) { // TODO Auto-generated method stub } @Override public SM_RP_DA getSmRpDa() { // TODO Auto-generated method stub return null; } @Override public void setSmRpOa(SM_RP_OA sm_rp_oa) { // TODO Auto-generated method stub } @Override public SM_RP_OA getSmRpOa() { // TODO Auto-generated method stub return null; } @Override public void setNetworkNode(SccpAddress sm_rp_oa) { // TODO Auto-generated method stub } @Override public SccpAddress getNetworkNode() { // TODO Auto-generated method stub return null; } @Override public void setSriMapVersion(int sriMapVersion) { // TODO Auto-generated method stub } @Override public int getSriMapVersion() { // TODO Auto-generated method stub return 0; } @Override public ChildRelationExt getRsdsSbb() { // TODO Auto-generated method stub return null; } @Override public void fireSendRsdsEvent(SendRsdsEvent event, ActivityContextInterface aci, Address address) { // TODO Auto-generated method stub } @Override public void setTargetId(String targetId) { // TODO Auto-generated method stub } @Override public String getTargetId() { // TODO Auto-generated method stub return null; } @Override public void setCurrentMsgNum(long currentMsgNum) { // TODO Auto-generated method stub } @Override public long getCurrentMsgNum() { // TODO Auto-generated method stub return 0; } @Override public void setDlvIsInited(boolean deliveringIsInited) { // TODO Auto-generated method stub } @Override public boolean getDlvIsInited() { // TODO Auto-generated method stub return false; } @Override public void setDlvIsEnded(boolean deliveringIsEnded) { // TODO Auto-generated method stub } @Override public boolean getDlvIsEnded() { // TODO Auto-generated method stub return false; } @Override public void setPendingRequestsList(PendingRequestsList pendingRequestsList) { // TODO Auto-generated method stub } @Override public PendingRequestsList getPendingRequestsList() { // TODO Auto-generated method stub return null; } @Override public TimerID getDeliveryTimerID() { // TODO Auto-generated method stub return null; } @Override public void setDeliveryTimerID(TimerID val) { // TODO Auto-generated method stub } } }