code: public Frame process(Frame frame) {
      	sourceLen=frame.getLength();
      	destinationLen=sourceLen * 2;
          Frame res = Memory.allocate(destinationLen);
          
          byte[] data=frame.getData();
          byte[] resData=res.getData();
          
          for (i = 0,j = 0; i < sourceLen; i++) 
          {
          	currentIndex = data[i] & 0xff;
              resData[j++] = aLawDecompressTable_low[currentIndex];
              resData[j++] = aLawDecompressTable_high[currentIndex];
          }
          
          res.setOffset(0);
          res.setLength(destinationLen);
          res.setTimestamp(frame.getTimestamp());
          res.setDuration(frame.getDuration());
          res.setSequenceNumber(frame.getSequenceNumber());
          res.setEOM(frame.isEOM());
          res.setFormat(linear);
          res.setHeader(frame.getHeader());
          return res;
      }
docs: (Non Java-doc)
  
  @see org.mobicents.media.server.dsp.Codec#process(Frame).