code: public void start() throws ChannelException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(this, tc, "start; " + getName());
          }
          if (stoppedFlag) // only start once
          {
              stoppedFlag = false;
              if (getConfig().isInboundChannel()) {
                  inboundNetworkLayer = new UDPNetworkLayer(this, workQueueManager, getConfig().getHostname(), getConfig().getPort());
                  try {
                      inboundNetworkLayer.initDatagramSocket(null);
                  } catch (IOException e) {
                      stoppedFlag = true;
                      throw new RetryableChannelException(e);
                  }
  
                  String IPvType = "IPv4";
                  if (inboundNetworkLayer.getDatagramSocket().getInetAddress() instanceof Inet6Address) {
                      IPvType = "IPv6";
                  }
  
                  String hostname = getConfig().getHostname();
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      Tr.debug(this, tc, "getHostname():  >" + hostname + "<");
  
                  if ((hostname == null) || (hostname.equals("*"))) {
                      displayableHostName = "*  (" + IPvType + ")";
                  } else {
                      InetAddress addr = inboundNetworkLayer.getDatagramSocket().getLocalAddress();
                      displayableHostName = addr.getHostName() + "  (" + IPvType + ": " + addr.getHostAddress() + ")";
                  }
                  Tr.info(tc, "CWUDP0001I", new Object[] { getConfig().getExternalName(), displayableHostName, String.valueOf(inboundNetworkLayer.getListenPort()) });
              }
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(this, tc, "start");
          }
      }
docs: /*
  @see com.ibm.wsspi.channelfw.Channel#start()