package org.mobicents.media.server.ctrl.rtsp; import java.util.concurrent.Callable; import org.jboss.netty.handler.codec.http.HttpHeaders; import org.mobicents.rtsp.DefaultRtspResponse; import org.mobicents.rtsp.RtspHeaders; import org.mobicents.rtsp.RtspMethod; import org.mobicents.rtsp.RtspRequest; import org.mobicents.rtsp.RtspResponse; import org.mobicents.rtsp.RtspResponseStatus; import org.mobicents.rtsp.RtspVersion; /** * * @author amit bhayani * */ public class OptionsAction implements Callable<RtspResponse> { private RtspController rtspController = null; private RtspRequest request = null; public final static String OPTIONS = RtspMethod.DESCRIBE.getName() + ", " + RtspMethod.SETUP.getName() + ", " + RtspMethod.TEARDOWN.getName() + ", " + RtspMethod.PLAY.getName(); public OptionsAction(RtspController rtspController, RtspRequest request) { this.rtspController = rtspController; this.request = request; } public RtspResponse call() throws Exception { RtspResponse response = new DefaultRtspResponse(RtspVersion.RTSP_1_0, RtspResponseStatus.OK); response.setHeader(HttpHeaders.Names.SERVER, RtspController.SERVER); response.setHeader(RtspHeaders.Names.CSEQ, this.request.getHeader(RtspHeaders.Names.CSEQ)); response.setHeader(RtspHeaders.Names.PUBLIC, OPTIONS); return response; } }