package com.rayo.server;
import org.apache.log4j.MDC;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.web.context.support.XmlWebApplicationContext;
import com.voxeo.logging.Loggerf;
import com.voxeo.moho.Application;
import com.voxeo.moho.ApplicationContext;
import com.voxeo.moho.IncomingCall;
import com.voxeo.moho.State;
public class MohoDriver implements Application {
private static final Loggerf log = Loggerf.getLogger(MohoDriver.class);
private CallManager callManager;
public void destroy() {}
public void init(final ApplicationContext context) {
log.info("Initializing Moho Driver");
XmlWebApplicationContext wac = (XmlWebApplicationContext)WebApplicationContextUtils
.getRequiredWebApplicationContext(context.getServletContext());
callManager = wac.getBean(CallManager.class);
callManager.setApplicationContext(context);
callManager.start();
}
@State
public void onIncomingCall(final IncomingCall call) throws Exception {
MDC.put("CallID", call.getId());
callManager.publish(call);
}
}