public void shutdown() { if (scheduler != null) { scheduler.shutdownNow(); } scheduler = null; if (mgcpProvider != null) { try { mgcpProvider.getJainMgcpStack().deleteProvider(mgcpProvider); } catch (DeleteProviderException e) { // TODO Auto-generated catch block e.printStackTrace(); } mgcpProvider = null; mgcpStack = null; } factory = null; }
mgcpProvider = mgcpStack.createProvider();
mgcpProvider = mgcpStack.createProvider();
@Override public synchronized void start() throws RuntimeException { assertState(SHUTDOWN); // Initialize the call agent. callAgent = new NotifiedEntity("restcomm", localIp.getHostAddress(), localPort); // Initialize the media gateway domain name. domainName = new StringBuilder().append(remoteIp.getHostAddress()).append(":") .append(remotePort).toString(); // Start the MGCP stack. try { mgcpStack = new JainMgcpStackImpl(localIp, localPort); mgcpProvider = mgcpStack.createProvider(); mgcpProvider.addJainMgcpListener(this); } catch(final Exception exception) { throw new RuntimeException(exception); } requestListeners = new ArrayList<JainMgcpListener>(); requestListenersLock = new Object(); responseListeners = new HashMap<Integer, JainMgcpListener>(); requestId = new RangeCounter(1, Integer.MAX_VALUE); transactionId = new RangeCounter(1, Integer.MAX_VALUE); mediaSessionId = new RangeCounter(1, Integer.MAX_VALUE); mediaSessions = new HashMap<Integer, MgcpSession>(); setState(RUNNING); }
public void shutdown() { if (scheduler != null) { scheduler.shutdownNow(); } scheduler = null; if (mgcpProvider != null) { try { mgcpProvider.getJainMgcpStack().deleteProvider(mgcpProvider); } catch (DeleteProviderException e) { // TODO Auto-generated catch block e.printStackTrace(); } mgcpProvider = null; mgcpStack = null; } factory = null; }
/** * @param ip * @param port * @throws UnknownHostException */ protected void bindMGCPStack(String ip, int port) throws UnknownHostException { mgcpStack = new JainMgcpStackImpl(DNSUtils.getByName(ip), port); try { mgcpProvider = mgcpStack.createProvider(); } catch (final CreateProviderException exception) { logger.error(exception, "Could not create a JAIN MGCP provider."); } }
private void powerOff(final Object message) { // Clean up the JAIN MGCP provider. try { provider.removeJainMgcpListener(this); stack.deleteProvider(provider); } catch (final DeleteProviderException exception) { logger.error(exception, "Could not clean up the JAIN MGCP provider."); } // Make sure we don't leave anything behind. name = null; localIp = null; localPort = 0; remoteIp = null; remotePort = 0; useNat = false; externalIp = null; timeout = 0; provider = null; stack = null; agent = null; domain = null; responseListeners.clear(); responseListeners = null; requestIdPool = null; sessionIdPool = null; transactionIdPool = null; }
@Override public synchronized void shutdown() { assertState(RUNNING); // Stop all the media sessions. final List<MgcpSession> sessions = new ArrayList<MgcpSession>(mediaSessions.values()); for(final MgcpSession session : sessions) { session.release(); } sessions.clear(); // Shutdown the MGCP stack. try { mgcpProvider.removeJainMgcpListener(this); mgcpStack.deleteProvider(mgcpProvider); } catch(final DeleteProviderException exception) { // There is nothing we can do except log the exception. LOGGER.error(exception); } callAgent = null; domainName = null; mgcpProvider = null; mgcpStack = null; requestListeners = null; requestListenersLock = null; responseListeners = null; requestId = null; transactionId = null; mediaSessionId = null; mediaSessions = null; setState(SHUTDOWN); } }