12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package model;
-
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.sdp.SessionDescription;
- import javax.sip.RequestEvent;
- import javax.sip.header.AllowEventsHeader;
- import javax.sip.header.AllowHeader;
- import javax.sip.header.CSeqHeader;
- import javax.sip.header.CallIdHeader;
- import javax.sip.header.ContactHeader;
- import javax.sip.header.ContentTypeHeader;
- import javax.sip.header.FromHeader;
- import javax.sip.header.HeaderFactory;
- import javax.sip.header.SupportedHeader;
- import javax.sip.header.ToHeader;
- import javax.sip.header.ViaHeader;
- import javax.sip.message.MessageFactory;
- import javax.sip.message.Response;
- import logger.OhmLogger;
-
- /**
- *
- * @author Jan
- */
- public class SIP200Ok
- {
- private Response response;
- private static final Logger lg200Ok = OhmLogger.getLogger();
- private RequestEvent requestEvent;
- private HeaderFactory headerFactory;
- private ContactHeader contactHeader;
- public SIP200Ok(MessageFactory messageFactory, RequestEvent requestEvent,
- ContactHeader contactHeader, HeaderFactory headerFactory)
- {
- this.requestEvent = requestEvent;
- this.headerFactory = headerFactory;
- this.contactHeader = contactHeader;
- try
- {
- response = messageFactory.createResponse(Response.OK, this.requestEvent.getRequest());
- response.addHeader((ViaHeader) this.requestEvent.getRequest().getHeader("Via"));
- System.out.println(this.requestEvent.getRequest().getHeader("Via"));
- response.addHeader((FromHeader) this.requestEvent.getRequest().getHeader("From"));
- response.addHeader((ToHeader) this.requestEvent.getRequest().getHeader("To"));
- response.addHeader((CallIdHeader) this.requestEvent.getRequest().getHeader("Call-ID"));
- response.addHeader((CSeqHeader) this.requestEvent.getRequest().getHeader("Cseq"));
- response.addHeader(contactHeader);
- AllowHeader allow = this.headerFactory.createAllowHeader("NOTIFY,INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,MESSAGE");
- AllowEventsHeader allowevents = this.headerFactory.createAllowEventsHeader("talk,hold,refer,call-info");
- response.addHeader((CallIdHeader) this.requestEvent.getRequest().getHeader("Call-ID"));
- response.addHeader(allow);
- response.addHeader(allowevents);
- lg200Ok.info("200-OK Header erstellt");
- }
- catch (Exception ex)
- {
- lg200Ok.getLogger(SIPmodel.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
-
- public void addSDP(SessionDescription sdp, String myTag)
- {
- try
- {
- response.removeHeader("To");
- ToHeader temptoring = (ToHeader) requestEvent.getRequest().getHeader("To");
- temptoring.setTag(myTag);
- response.addHeader(temptoring);
- SupportedHeader supp = this.headerFactory.createSupportedHeader("replace,path,timer");//nachschauen für was es gebraucht wird
- response.addHeader(supp);
- ContentTypeHeader content = headerFactory.createContentTypeHeader("application", "sdp");
- response.addHeader(content);
- response.setContent(sdp, content);
- }
- catch (Exception ex)
- {
- lg200Ok.getLogger(SIPmodel.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
-
- /**
- * @return the response
- */
- public Response getResponse()
- {
- return response;
- }
- }
|