@Test(groups = {"functional.decode", "isup"})
  public void testDecode() throws Exception {

    byte[] data = this.getData();
    AsnInputStream ais = new AsnInputStream(data);
    OriginalCalledNumberCapImpl elem = new OriginalCalledNumberCapImpl();
    int tag = ais.readTag();
    elem.decodeAll(ais);
    OriginalCalledNumber ocn = elem.getOriginalCalledNumber();
    assertTrue(Arrays.equals(elem.getData(), this.getIntData()));
    assertEquals(ocn.getNatureOfAddressIndicator(), 3);
    assertTrue(ocn.getAddress().equals("7010900"));
    assertEquals(ocn.getNumberingPlanIndicator(), 1);
    assertEquals(ocn.getAddressRepresentationRestrictedIndicator(), 1);

    data = this.getData2();
    ais = new AsnInputStream(data);
    elem = new OriginalCalledNumberCapImpl();
    tag = ais.readTag();
    elem.decodeAll(ais);
    ocn = elem.getOriginalCalledNumber();
    assertEquals(ocn.getNumberingPlanIndicator(), 1);
    assertEquals(ocn.getAddressRepresentationRestrictedIndicator(), 0);
    assertEquals(ocn.getNatureOfAddressIndicator(), 4);
    assertEquals(ocn.getAddress(), "c48980491770922937");
  }