Package javax.sip.message

Examples of javax.sip.message.Request


     * Note: Alice and Bob are inverted in this test.
   */
  public void testWaitingState() throws Exception
  {
    PublishSession publishSession = new PublishSession(getAlicePhone());
        Request publish = publishSession.newPublish(getClass().getResourceAsStream("publish1.xml"), 60); // 1
        publishSession.sendRequest(publish, SipResponse.OK); // 2
       
        SubscribeSession presenceSession = new SubscribeSession(getBobPhone(), "presence");
    Request subscribe = presenceSession.newInitialSubscribe(0, getAliceUri()); // 3
    presenceSession.sendRequest(subscribe, Response.OK); // 4

    ServerTransaction tx = presenceSession.waitForNotify(); // 5
    System.out.println("5:\n" + tx.getRequest());
    presenceSession.sendResponse(Response.OK, tx); // 6
    Presence presence = getPresence(tx.getRequest());
    assertEquals(Basic.CLOSED, presence.getTupleArray()[0].getStatus().getBasic());
   
   
    SubscribeSession winfoSession = new SubscribeSession(getAlicePhone(), "presence.winfo"); // 7
    subscribe = winfoSession.newInitialSubscribe(60, getAliceUri());
    winfoSession.sendRequest(subscribe, Response.OK); // 8
   
    tx = winfoSession.waitForNotify(); // 9
    Request notify = tx.getRequest();
    System.out.println("9:\n" +notify);
    winfoSession.sendResponse(Response.OK, tx); // 10
    SubscriptionStateHeader subState = (SubscriptionStateHeader) notify.getHeader(SubscriptionStateHeader.NAME);
    assertEquals(SubscriptionStateHeader.ACTIVE.toLowerCase(), subState.getState().toLowerCase());
    assertEquals(WatcherInfoEventPackage.NAME, ((EventHeader) notify.getHeader(EventHeader.NAME)).getEventType());
    Watcherinfo watcherinfo = getWatcherinfo(notify);
    assertEquals(0, watcherinfo.getVersion().intValue());
    assertEquals(Watcherinfo.State.FULL, watcherinfo.getState());
    assertEquals(1, watcherinfo.getWatcherListArray().length);
    WatcherList watcherList = watcherinfo.getWatcherListArray(0);
View Full Code Here


  }
 
    public void testMinExpires() throws Exception
    {      
        SubscribeSession session = new SubscribeSession(getAlicePhone(), "presence.winfo");
        Request request = session.newInitialSubscribe(1, getAliceUri());
        Response response = session.sendRequest(request, SipResponse.INTERVAL_TOO_BRIEF);
        MinExpiresHeader minExpiresHeader = (MinExpiresHeader) response.getHeader(MinExpiresHeader.NAME);
        assertNotNull(minExpiresHeader);
    }
View Full Code Here

      List<ViaHeader> viaHeaders = _sipPhone.getViaHeaders();
      URI requestUri = addressFactory.createURI(to);
      Address toAddr = addressFactory.createAddress(requestUri);

      Request request = getMessageFactory().createRequest(
          requestUri,
          method,
          _sipPhone.getParent().getSipProvider().getNewCallId(),
          getHeaderFactory().createCSeqHeader(cseq, method),
          getHeaderFactory().createFromHeader(_sipPhone.getAddress(),
View Full Code Here

     * @throws ParseException
     */
    public Response register(String user, String password, String contact,
            int expiry)
    {
          Request request = createRegister(contact, expiry);
            return sendRegistrationMessage(request, user, password);
    }
View Full Code Here

   
    public Request createRegister( String contact, int expiry)
    {
      try
    {
      Request request = newRequest(Request.REGISTER, ++_cseq, _sipPhone.getAddress().getURI().toString());
      String host = ((SipURI) request.getRequestURI()).getHost();
      request.setRequestURI(getAddressFactory().createSipURI(null, host));
      request.setHeader(_callId);

      ContactHeader contactHeader;
      if (contact != null)
      { 
          Address contactAddr = getAddressFactory().createAddress(contact);
          if (!contactAddr.getURI().isSipURI()) {
            fail("URI " + contact + " is not a Sip URI");
          }

          contactHeader = getHeaderFactory().createContactHeader(contactAddr);
        if (contact.equals("*"))
        {
          contactHeader.setWildCard();
          request.addHeader(getHeaderFactory().createExpiresHeader(expiry));
        }
      }
      else
        contactHeader = _sipPhone.getContactInfo().getContactHeader();
 
      contactHeader.setExpires(expiry);
     
      request.addHeader(contactHeader);

      // include any auth information for this User Agent's registration
      // if any exists
      LinkedHashMap<String, AuthorizationHeader> auth_list =
        _sipPhone.getAuthorizations().get(_callId.getCallId());
      if (auth_list != null)
      {
          ArrayList<AuthorizationHeader> auth_headers = new ArrayList<AuthorizationHeader>(
                  auth_list.values());
          Iterator<AuthorizationHeader> i = auth_headers.iterator();
          while (i.hasNext())
          {
              AuthorizationHeader auth = i.next();
              request.addHeader(auth);
          }
      }
      else
      {
          // create the auth list entry for this phone's registrations
View Full Code Here

  public Request newPublish(byte[] body, int expires)
  {
   
    try
    {
      Request publish = newRequest(Request.PUBLISH, 1, _sipPhone.me);
      HeaderFactory hf = getHeaderFactory();
      publish.addHeader(hf.createEventHeader("presence"));
      publish.addHeader(hf.createExpiresHeader(expires));

      publish.setContent(body, hf.createContentTypeHeader("application", "pidf+xml"));
      return publish;
    }
    catch (Exception e)
    {
      if (e instanceof RuntimeException)
View Full Code Here

 
  public Request newUnpublish()
  {
    try
    {
      Request publish = newRequest(Request.PUBLISH, 2, _sipPhone.me);
      HeaderFactory hf = getHeaderFactory();
      publish.addHeader(hf.createEventHeader("presence"));
      publish.addHeader(hf.createExpiresHeader(0));
      if (_etag == null)
        throw new IllegalStateException("No Etag set");
      publish.addHeader(hf.createSIPIfMatchHeader(_etag));
     
      return publish;
    }
    catch (Exception e)
    {
View Full Code Here

  {
    if (_dialog != null)
      fail("Dialog already established. Should use newSubsequentSubscribe()");
    try
    {
      Request subscribe = newRequest(Request.SUBSCRIBE, 1, target);
      HeaderFactory hf = getHeaderFactory();
      subscribe.addHeader(hf.createEventHeader(_event));
      subscribe.addHeader(hf.createExpiresHeader(expires));
      subscribe.setHeader(_sipPhone.getContactInfo().getContactHeader());
      return subscribe;
    }
    catch (Exception e)
    {
      if (e instanceof RuntimeException)
View Full Code Here

  {
    if (_dialog == null)
      fail("Could not create subsequent request, no dialog established");
    try
    {
      Request subscribe = _dialog.createRequest(Request.SUBSCRIBE);
      HeaderFactory hf = getHeaderFactory();
      subscribe.addHeader(hf.createEventHeader(_event));
      subscribe.addHeader(hf.createExpiresHeader(expires));
      subscribe.setHeader(_sipPhone.getContactInfo().getContactHeader());
      return subscribe;
    }
    catch (Exception e)
    {
      throw new RuntimeException(e);
View Full Code Here

        try { wait(timeout); } catch (Exception e) {}
      }
      RequestEvent event = getLastRequest();
      if (event == null)
        fail("No event received");
      Request request = event.getRequest();

      if (!isLastRequestUncommited())
        fail("Response has been already sent for last request:\n" + event);
     
        if (strict && !request.getMethod().equals(method))
          fail("Received " + request.getMethod() + " when expected " + method);
                 
        while (!request.getMethod().equals(method))
        {
          try { wait(timeout); } catch (Exception e) {}
          event = getLastRequest();
          request = event.getRequest();
        }
View Full Code Here

TOP

Related Classes of javax.sip.message.Request

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.