Class AbstractSipListener

java.lang.Object
io.github.lunasaw.sip.common.transmit.AbstractSipListener
All Implemented Interfaces:
EventListener, javax.sip.SipListener
Direct Known Subclasses:
AsyncSipListener, CustomerSipListener

public abstract class AbstractSipListener extends Object implements javax.sip.SipListener
SIP监听器抽象基类 提供基础统一的SIP事件处理能力,支持自定义Processor的添加
Author:
luna
  • Field Details

  • Constructor Details

    • AbstractSipListener

      public AbstractSipListener()
  • Method Details

    • addRequestProcessor

      public void addRequestProcessor(String method, SipRequestProcessor processor)
      添加 request订阅
      Parameters:
      method - 方法名
      processor - 处理程序
    • addResponseProcessor

      public void addResponseProcessor(String method, SipResponseProcessor processor)
      添加 response订阅
      Parameters:
      method - 方法名
      processor - 处理程序
    • addTimeoutProcessor

      public void addTimeoutProcessor(String method, ITimeoutProcessor processor)
      添加 超时事件订阅
      Parameters:
      method - 方法名
      processor - 处理程序
    • removeRequestProcessor

      public void removeRequestProcessor(String method, SipRequestProcessor processor)
      移除请求处理器
      Parameters:
      method - 方法名
      processor - 处理程序
    • removeResponseProcessor

      public void removeResponseProcessor(String method, SipResponseProcessor processor)
      移除响应处理器
      Parameters:
      method - 方法名
      processor - 处理程序
    • removeTimeoutProcessor

      public void removeTimeoutProcessor(String method, ITimeoutProcessor processor)
      移除超时处理器
      Parameters:
      method - 方法名
      processor - 处理程序
    • getRequestProcessors

      public List<SipRequestProcessor> getRequestProcessors(String method)
      获取请求处理器列表
      Parameters:
      method - 方法名
      Returns:
      处理器列表
    • getResponseProcessors

      public List<SipResponseProcessor> getResponseProcessors(String method)
      获取响应处理器列表
      Parameters:
      method - 方法名
      Returns:
      处理器列表
    • getTimeoutProcessors

      public List<ITimeoutProcessor> getTimeoutProcessors(String method)
      获取超时处理器列表
      Parameters:
      method - 方法名
      Returns:
      处理器列表
    • processRequest

      public void processRequest(javax.sip.RequestEvent requestEvent)
      分发RequestEvent事件 - 基础实现
      Specified by:
      processRequest in interface javax.sip.SipListener
      Parameters:
      requestEvent - RequestEvent事件
    • processResponse

      public void processResponse(javax.sip.ResponseEvent responseEvent)
      分发ResponseEvent事件 - 基础实现
      Specified by:
      processResponse in interface javax.sip.SipListener
      Parameters:
      responseEvent - responseEvent事件
    • processTimeout

      public void processTimeout(javax.sip.TimeoutEvent timeoutEvent)
      向超时订阅发送消息 - 基础实现
      Specified by:
      processTimeout in interface javax.sip.SipListener
      Parameters:
      timeoutEvent - timeoutEvent事件
    • processIOException

      public void processIOException(javax.sip.IOExceptionEvent exceptionEvent)
      Specified by:
      processIOException in interface javax.sip.SipListener
    • processTransactionTerminated

      public void processTransactionTerminated(javax.sip.TransactionTerminatedEvent timeoutEvent)
      事物结束 - 基础实现
      Specified by:
      processTransactionTerminated in interface javax.sip.SipListener
      Parameters:
      timeoutEvent - -- an event that indicates that the transaction has transitioned into the terminated state.
    • processDialogTerminated

      public void processDialogTerminated(javax.sip.DialogTerminatedEvent dialogTerminatedEvent)
      会话结束 - 基础实现
      Specified by:
      processDialogTerminated in interface javax.sip.SipListener
      Parameters:
      dialogTerminatedEvent - -- an event that indicates that the dialog has transitioned into the terminated state.
    • shouldCreateTransaction

      protected boolean shouldCreateTransaction(String method)
      判断是否需要为特定方法创建服务器事务
      Parameters:
      method - SIP方法名
      Returns:
      是否需要创建事务
    • handleUnsupportedRequest

      protected void handleUnsupportedRequest(javax.sip.RequestEvent requestEvent)
      处理不支持的请求(子类可重写)
      Parameters:
      requestEvent - 请求事件
    • handleRequestException

      protected void handleRequestException(javax.sip.RequestEvent requestEvent, Exception exception)
      处理请求异常(子类可重写)
      Parameters:
      requestEvent - 请求事件
      exception - 异常
    • handleResponseException

      protected void handleResponseException(javax.sip.ResponseEvent responseEvent, Exception exception)
      处理响应异常(子类可重写)
      Parameters:
      responseEvent - 响应事件
      exception - 异常
    • handleIOException

      protected void handleIOException(javax.sip.IOExceptionEvent exceptionEvent)
      处理IO异常(子类可重写)
      Parameters:
      exceptionEvent - IO异常事件
    • getProcessorStats

      public String getProcessorStats()
      获取处理器统计信息
      Returns:
      统计信息