You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SIP200Ok.java 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package model;
  7. import java.util.logging.Logger;
  8. import javax.sip.RequestEvent;
  9. import javax.sip.header.AllowEventsHeader;
  10. import javax.sip.header.AllowHeader;
  11. import javax.sip.header.CSeqHeader;
  12. import javax.sip.header.CallIdHeader;
  13. import javax.sip.header.ContactHeader;
  14. import javax.sip.header.FromHeader;
  15. import javax.sip.header.HeaderFactory;
  16. import javax.sip.header.ToHeader;
  17. import javax.sip.header.ViaHeader;
  18. import javax.sip.message.MessageFactory;
  19. import javax.sip.message.Response;
  20. import logger.OhmLogger;
  21. /**
  22. *
  23. * @author Jan
  24. */
  25. public class SIP200Ok
  26. {
  27. private Response response;
  28. private static final Logger lg200Ok = OhmLogger.getLogger();
  29. public SIP200Ok(MessageFactory messageFactory, RequestEvent requestEvent,
  30. ContactHeader contactHeader, HeaderFactory headerFactory)
  31. {
  32. try
  33. {
  34. Response response = messageFactory.createResponse(200, requestEvent.getRequest());
  35. response.addHeader((ViaHeader) requestEvent.getRequest().getHeader("Via"));
  36. response.addHeader((FromHeader) requestEvent.getRequest().getHeader("From"));
  37. response.addHeader((ToHeader) requestEvent.getRequest().getHeader("To"));
  38. response.addHeader((CallIdHeader) requestEvent.getRequest().getHeader("Call-ID"));
  39. response.addHeader((CSeqHeader) requestEvent.getRequest().getHeader("Cseq"));
  40. response.addHeader(contactHeader);
  41. AllowHeader allow = headerFactory.createAllowHeader("NOTIFY,INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,MESSAGE");
  42. AllowEventsHeader allowevents = headerFactory.createAllowEventsHeader("talk,hold,refer,call-info");
  43. response.addHeader((CallIdHeader) requestEvent.getRequest().getHeader("Call-ID"));
  44. response.addHeader(allow);
  45. response.addHeader(allowevents);
  46. lg200Ok.info("200Ok Header erfolgreich erstellt");
  47. }
  48. catch (Exception ex)
  49. {
  50. lg200Ok.getLogger(SIPmodel.class.getName()).log(Level.SEVERE, null, ex);
  51. }
  52. }
  53. /**
  54. * @return the response
  55. */
  56. public Response getResponse()
  57. {
  58. return response;
  59. }
  60. }