Package javax.sip

Examples of javax.sip.SipProvider


          if(!skip) {
            dropAckCount++;
            return;
          }
        }
        SipProvider sipProvider = (SipProvider) requestEvent.getSource();
        try {
          AckReTransmissionTest.assertTrue("ACK was not successfully retransmitted 4 times", 4 == dropAckCount);
          //Create BYE request
          Request byeRequest = dialog.createRequest(Request.BYE);
          ClientTransaction ct = sipProvider.getNewClientTransaction(byeRequest);
          dialog.sendRequest(ct);
          reSendSt = null;
          reSendResponse = null;
          logger.info("shootme: Sending a BYE");
        } catch (Exception ex) {
View Full Code Here


      /**
       * Process the invite request.
       */
      public void processInvite(RequestEvent requestEvent,
          ServerTransaction serverTransaction) {
        SipProvider sipProvider = (SipProvider) requestEvent.getSource();
        Request request = requestEvent.getRequest();
        logger.info("Got an INVITE  " + request);
        try {
          Response response = protocolObjects.messageFactory.createResponse(180, request);
          ToHeader toHeader = (ToHeader) response.getHeader(ToHeader.NAME);
          toHeader.setTag("4321");
          Address address = protocolObjects.addressFactory.createAddress("Shootme <sip:"
              + myAddress + ":" + myPort + ">");
          ContactHeader contactHeader = protocolObjects.headerFactory
              .createContactHeader(address);
          response.addHeader(contactHeader);
          ServerTransaction st = requestEvent.getServerTransaction();

          if (st == null) {
            st = sipProvider.getNewServerTransaction(request);
            logger.info("Server transaction created!" + request);

            logger.info("Dialog = " + st.getDialog());
          }

View Full Code Here

        public void processAck(RequestEvent requestEvent,
                ServerTransaction serverTransaction) {
            try {
                logger.info("shootme: got an ACK! ");
                logger.info("Dialog State = " + dialog.getState());
                SipProvider provider = (SipProvider) requestEvent.getSource();
                if (!callerSendsBye) {
                    Request byeRequest = dialog.createRequest(Request.BYE);
                    ClientTransaction ct = provider
                            .getNewClientTransaction(byeRequest);
                    dialog.sendRequest(ct);
                }
            } catch (Exception ex) {
                logger.error("Unexpected exception", ex);
View Full Code Here

        /**
         * Process the invite request.
         */
        public void processInvite(RequestEvent requestEvent,
                ServerTransaction serverTransaction) {
            SipProvider sipProvider = (SipProvider) requestEvent.getSource();
            Request request = requestEvent.getRequest();
            this.inviteRequest = request;
        }
View Full Code Here

        /**
         * Process the bye request.
         */
        public void processBye(RequestEvent requestEvent,
                ServerTransaction serverTransactionId) {
            SipProvider sipProvider = (SipProvider) requestEvent.getSource();
            Request request = requestEvent.getRequest();
            Dialog dialog = requestEvent.getDialog();
            logger.info("shootme: local party = " + dialog.getLocalParty());
            try {
                logger.info("shootme:  got a bye sending OK.");
View Full Code Here

                ListeningPoint lp = sipStack.createListeningPoint("127.0.0.1",
                        myPort, "udp");

                Shootme listener = this;

                SipProvider sipProvider = sipStack.createSipProvider(lp);
                logger.info("udp provider " + sipProvider);
                sipProvider.addSipListener(listener);

            } catch (Exception ex) {
                fail("Unexpected exception");
            }
View Full Code Here

        }

        public synchronized void processNotify(RequestEvent requestEvent,
                ServerTransaction serverTransactionId) {
            SipProvider provider = (SipProvider) requestEvent.getSource();
            Request notify = requestEvent.getRequest();
            try {
                logger.info("subscriber:  got a notify count  " + this.count++);
                if (serverTransactionId == null) {
                    logger.info("subscriber:  null TID.");
                    serverTransactionId = provider.getNewServerTransaction(notify);
                }
                Dialog dialog = serverTransactionId.getDialog();
                logger.info("Dialog = " + dialog);

                if (dialog != null) {
View Full Code Here

    if (!logger.isAttached(console))
      logger.addAppender(console);
  }

  private SipListener getSipListener(EventObject sipEvent) {
    SipProvider source = (SipProvider) sipEvent.getSource();
    SipListener listener = (SipListener) providerTable.get(source);
    assertTrue(listener != null);
    return listener;
  }
View Full Code Here

    try {
      this.transport = "udp";
      // testedImplFlag = true;  // reverse RI/TI
      super.setUp();
      shootist = new Shootist(getRiProtocolObjects());
      SipProvider shootistProvider = shootist.createSipProvider();
      providerTable.put(shootistProvider, shootist);

      shootme = new Shootme(getTiProtocolObjects());
      SipProvider shootmeProvider = shootme.createSipProvider();
      providerTable.put(shootmeProvider, shootme);
      shootistProvider.addSipListener(this);
      shootmeProvider.addSipListener(this);

      getRiProtocolObjects().start();
      if (getTiProtocolObjects() != getRiProtocolObjects())
        getTiProtocolObjects().start();
    } catch (Exception ex) {
View Full Code Here

        /**
         * Process the invite request.
         */
        public void processSubscribe(RequestEvent requestEvent,
                ServerTransaction serverTransaction) {
            SipProvider sipProvider = (SipProvider) requestEvent.getSource();
            Request request = requestEvent.getRequest();
            try {
                logger.info("notifier: got an Subscribe sending OK");
                logger.info("notifier:  " + request);
                logger.info("notifier : dialog = " + requestEvent.getDialog());
                EventHeader eventHeader = (EventHeader) request.getHeader(EventHeader.NAME);
                if (eventHeader == null) {
                    logger.info("Cannot find event header.... dropping request.");
                    return;
                }

                // Always create a ServerTransaction, best as early as possible in the code
                Response response = null;
                ServerTransaction st = requestEvent.getServerTransaction();
                if (st == null) {
                    st = sipProvider.getNewServerTransaction(request);
                }

                // Check if it is an initial SUBSCRIBE or a refresh / unsubscribe
                boolean isInitial = requestEvent.getDialog() == null;
                if (isInitial) {
                    // JvB: need random tags to test forking
                    String toTag = Integer.toHexString((int) (Math.random() * Integer.MAX_VALUE));
                    response = messageFactory.createResponse(202, request);
                    ToHeader toHeader = (ToHeader) response.getHeader(ToHeader.NAME);

                    // Sanity check: to header should not ahve a tag. Else the dialog
                    // should have matched
                    if (toHeader.getTag() != null) {
                        System.err
                                .println("####ERROR: To-tag!=null but no dialog match! My dialog="
                                        + dialog.getState());
                    }
                    toHeader.setTag(toTag); // Application is supposed to set.

                    this.dialog = st.getDialog();
                    // subscribe dialogs do not terminate on bye.
                    this.dialog.terminateOnBye(false);
                    if (dialog != null) {
                        logger.info("Dialog " + dialog);
                        logger.info("Dialog state " + dialog.getState());
                    }
                } else {
                    response = messageFactory.createResponse(200, request);
                }

                // Both 2xx response to SUBSCRIBE and NOTIFY need a Contact
                Address address = addressFactory.createAddress("Notifier <sip:127.0.0.1>");
                ((SipURI) address.getURI()).setPort(udpProvider.getListeningPoint("udp")
                        .getPort());
                ContactHeader contactHeader = headerFactory.createContactHeader(address);
                response.addHeader(contactHeader);

                // Expires header is mandatory in 2xx responses to SUBSCRIBE
                ExpiresHeader expires = (ExpiresHeader) request.getHeader(ExpiresHeader.NAME);
                if (expires == null) {
                    expires = headerFactory.createExpiresHeader(30); // rather short
                }
                response.addHeader(expires);

                /*
                 * NOTIFY requests MUST contain a "Subscription-State" header with a value of
                 * "active", "pending", or "terminated". The "active" value indicates that the
                 * subscription has been accepted and has been authorized (in most cases; see
                 * section 5.2.). The "pending" value indicates that the subscription has been
                 * received, but that policy information is insufficient to accept or deny the
                 * subscription at this time. The "terminated" value indicates that the
                 * subscription is not active.
                 */

                Address fromAddress = ((ToHeader) response.getHeader(ToHeader.NAME)).getAddress();
                String fromTag = ((ToHeader) response.getHeader(ToHeader.NAME)).getTag();
                FromHeader fromHeader = headerFactory.createFromHeader(fromAddress, fromTag);
               
                Address toAddress = ((FromHeader) response.getHeader(FromHeader.NAME)).getAddress();
                String toTag = ((FromHeader) response.getHeader(FromHeader.NAME)).getTag();
                ToHeader toHeader = headerFactory.createToHeader(toAddress, toTag);
               
               
               
                CallIdHeader callId = (CallIdHeader) response.getHeader(CallIdHeader.NAME);

                ContactHeader requestContact = (ContactHeader) request
                        .getHeader(ContactHeader.NAME);
                SipURI notifyRuri = (SipURI) requestContact.getAddress().getURI();
                CSeqHeader cSeq = headerFactory.createCSeqHeader(1L, Request.NOTIFY);
                String ipAddress = sipProvider.getListeningPoint("udp").getIPAddress();
                int port = sipProvider.getListeningPoint("udp").getPort();
                ViaHeader viaHeader = headerFactory.createViaHeader(ipAddress, port, "udp", null);
                LinkedList llist = new LinkedList<ViaHeader>();
                llist.add(viaHeader);

                MaxForwardsHeader maxForwards = headerFactory.createMaxForwardsHeader(70);
View Full Code Here

TOP

Related Classes of javax.sip.SipProvider

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.