public ParkedCallEvent(final org.asteriskjava.manager.event.ParkedCallEvent event)
      throws InvalidChannelName {
    super(event);
    final AsteriskPBX pbx = (AsteriskPBX) PBXFactory.getActivePBX();

    if (event.getParkerDialString() != null)
      this.fromChannel =
          pbx.internalRegisterChannel(event.getParkerDialString(), ChannelImpl.UNKNOWN_UNIQUE_ID);
    else this.fromChannel = null;
    this.timeout = event.getTimeout();
    this.exten = event.getExten();
  }
示例#2
0
  void handleParkedCallEvent(ParkedCallEvent event) {
    // Only bristuffed versions: AsteriskChannelImpl channel =
    // getChannelImplById(event.getUniqueId());
    AsteriskChannelImpl channel = getChannelImplByNameAndActive(event.getChannel());

    if (channel == null) {
      logger.info("Ignored ParkedCallEvent for unknown channel " + event.getChannel());
      return;
    }

    synchronized (channel) {
      // todo The context should be "parkedcalls" or whatever has been configured in features.conf
      // unfortunately we don't get the context in the ParkedCallEvent so for now we'll set it to
      // null.
      Extension ext = new Extension(null, event.getExten(), 1);
      channel.setParkedAt(ext);
      logger.info(
          "Channel " + channel.getName() + " is parked at " + channel.getParkedAt().getExtension());
    }
  }