@Override public void onPayload(Association association, PayloadData payloadData) { byte[] data = new byte[payloadData.getDataLength()]; System.arraycopy(payloadData.getData(), 0, data, 0, payloadData.getDataLength()); logger.debug("SCTP Client received data of length [{}]", data.length); try { // make a message out of data and process it getParent().onMessageReceived(ByteBuffer.wrap(data)); } catch (AvpDataException e) { logger.debug("Garbage was received. Discarding."); // storage.clear(); getParent().onAvpDataException(e); } }
@Override public void onPayload(Association association, org.mobicents.protocols.api.PayloadData payloadData) { try { M3UAMessage m3UAMessage; if (this.m3UAManagementImpl.sctpLibNettySupport) { ByteBuf byteBuf = payloadData.getByteBuf(); processPayload(association.getIpChannelType(), byteBuf); } else { byte[] m3uadata = payloadData.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(m3uadata); processPayload(association.getIpChannelType(), byteBuf); } } catch (Throwable e) { logger.error( String.format("Error while trying to process PayloadData from SCTP layer. payloadData=%s", payloadData), e); } }
@Override public void onPayload(Association association, PayloadData payloadData) { // set payload and stream number values; payloadProtocolId = payloadData.getPayloadProtocolId(); streamNumber = payloadData.getStreamNumber(); byte[] data = new byte[payloadData.getDataLength()]; System.arraycopy(payloadData.getData(), 0, data, 0, payloadData.getDataLength()); logger.debug("SCTP Server received a message of length: [{}] ", data.length); try { // make a message out of data and process it getParent().onMessageReceived(ByteBuffer.wrap(data)); } catch (AvpDataException e) { logger.debug("Garbage was received. Discarding."); // storage.clear(); getParent().onAvpDataException(e); } }
@Override public void onPayload(Association association, org.mobicents.protocols.api.PayloadData payloadData) { try { M3UAMessage m3UAMessage; if (this.m3UAManagementImpl.sctpLibNettySupport) { ByteBuf byteBuf = payloadData.getByteBuf(); processPayload(association.getIpChannelType(), byteBuf); } else { byte[] m3uadata = payloadData.getData(); ByteBuf byteBuf = Unpooled.wrappedBuffer(m3uadata); processPayload(association.getIpChannelType(), byteBuf); } } catch (Throwable e) { logger.error( String.format("Error while trying to process PayloadData from SCTP layer. payloadData=%s", payloadData), e); } }
txBuffer.put(payloadData.getData());