Class OutboundClientHandler

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.channel.SimpleChannelInboundHandler<EslMessage>
com.bytedesk.call.esl.client.internal.AbstractEslClientHandler
com.bytedesk.call.esl.client.outbound.OutboundClientHandler
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler

class OutboundClientHandler extends AbstractEslClientHandler
Specialised AbstractEslClientHandler that implements the base connecction logic for an 'Outbound' FreeSWITCH Event Socket connection. The responsibilities for this class are:
  • To send a 'connect' command when the FreeSWITCH server first establishes a new connection with the socket client in Outbound mode. This will result in an incoming EslMessage that is transformed into an EslEvent that sub classes can handle.
Note: implementation requirement is that an ExecutionHandler is placed in the processing pipeline prior to this handler. This will ensure that each incoming message is processed in its own thread (although still guaranteed to be processed in the order of receipt).
  • Field Details

  • Constructor Details

  • Method Details

    • channelActive

      public void channelActive(io.netty.channel.ChannelHandlerContext ctx) throws Exception
      Specified by:
      channelActive in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      channelActive in class io.netty.channel.ChannelInboundHandlerAdapter
      Throws:
      Exception
    • handleEslEvent

      protected void handleEslEvent(io.netty.channel.ChannelHandlerContext ctx, EslEvent event)
      Specified by:
      handleEslEvent in class AbstractEslClientHandler
    • handleAuthRequest

      protected void handleAuthRequest(io.netty.channel.ChannelHandlerContext ctx)
      Specified by:
      handleAuthRequest in class AbstractEslClientHandler
    • handleDisconnectionNotice

      protected void handleDisconnectionNotice()
      Specified by:
      handleDisconnectionNotice in class AbstractEslClientHandler