Package org.cipango.kaleo.location

Examples of org.cipango.kaleo.location.Binding


    });
    JSON.getDefault().addConvertor(Binding.class, new Convertor()
    {
      public void toJSON(Object obj, Output out)
      {
        Binding binding = (Binding) obj;
        out.add("contact", binding.getContact());
        out.add("expiration", new Date(binding.getExpirationTime()));
      }
      public Object fromJSON(Map object)  { return null; }
    });
   
    JSON.getDefault().addConvertor(XcapPolicy.class, new Convertor()
View Full Code Here


    assertEquals(State.INIT, reginfo.getRegistrationArray(0).getState());
    assertEquals(0, reginfo.getRegistrationArray(0).getContactArray().length);
   
    Registration registration = new Registration(aor);
    registration.addListener(regResource)
    Binding binding1 = new Binding(new UriImpl("sip:alice@localhost"), "123@localhost", 1, now + 100000);
    registration.addBinding(binding1);
   
    //System.out.println(regResource.getState().getContent());
    assertEquals(1, reginfo.getRegistrationArray(0).getContactArray().length);
    assertEquals(State.ACTIVE, reginfo.getRegistrationArray(0).getState());
    Contact contact = reginfo.getRegistrationArray(0).getContactArray(0);
    assertEquals(Event.REGISTERED, contact.getEvent());
    assertEquals("sip:alice@localhost", contact.getUri());
    //assertTrue(contact.getExpires().intValue() > 98 && contact.getExpires().intValue() <= 100);
   
    registration.addBinding(new Binding(new UriImpl("sip:alice@localhost:5070"), "567@localhost", 1, now + 200000));
    assertEquals(2, reginfo.getRegistrationArray(0).getContactArray().length);
    assertEquals(State.ACTIVE, reginfo.getRegistrationArray(0).getState());
    assertEquals(Event.REGISTERED, reginfo.getRegistrationArray(0).getContactArray(1).getEvent());
    assertEquals("sip:alice@localhost", reginfo.getRegistrationArray(0).getContactArray(0).getUri());
    assertEquals("sip:alice@localhost:5070", reginfo.getRegistrationArray(0).getContactArray(1).getUri());
View Full Code Here

                response.addHeader(Constants.MIN_EXPIRES, Integer.toString(_minExpires));
                response.send();
                return;
              }
            }
            Binding binding = null;
           
            for (int i = 0; i < bindings.size() && binding == null; i++)
            {
              binding = bindings.get(i);
              if (!contact.getURI().equals(binding.getContact()))
                binding = null;
            }
            if (binding != null)
            {
              if (callId.equals(binding.getCallId()) && cseq < binding.getCSeq())
              {
                _log.debug("Got lower CSeq for aor {} and call-ID {}", aor, binding.getCallId());
                register.createResponse(SipServletResponse.SC_SERVER_INTERNAL_ERROR, "Lower CSeq").send();
                return;
              }
              if (expires == 0)
              {
                if (_log.isDebugEnabled())
                  _log.debug("removing binding {} for aor {}", binding, aor);
                record.removeBinding(binding);
              }
              else
              {
                if (_log.isDebugEnabled())
                  _log.debug("updating binding {} for aor {}", binding, aor);
                record.updateBinding(binding, contact.getURI(), callId, cseq, now + expires*1000);
              }
            }
           
            if (binding == null && expires != 0)
            {
              binding = new Binding(contact.getURI(), callId, cseq, now + expires*1000);
             
              if (_log.isDebugEnabled())
                _log.debug("adding binding {} to aor {}", binding, aor);
              record.addBinding(binding);
            }
          }
        }
        bindings = record.getBindings();
      }
    }
    finally
    {
      _locationService.put(record);
    }
   
    SipServletResponse ok = register.createResponse(SipServletResponse.SC_OK);
    ok.addHeader(Constants.DATE, _dateFormat.format(new Date(now)));
    if (bindings != null)
    {
      for (Binding binding : bindings)
      {
        Address address = _sipFactory.createAddress(binding.getContact());
        address.setExpires((int) ((binding.getExpirationTime() - now) / 1000));
        ok.addAddressHeader(Constants.CONTACT, address,false);
      }
    }
    ok.send();
  }
View Full Code Here

    {
      invite.createResponse(SipServletResponse.SC_NOT_FOUND).send();
      return;
    }
   
    Binding binding = bindings.get(0);
   
    invite.getSession().setHandler(getServletName());
    invite.getProxy().proxyTo(binding.getContact());
  }
View Full Code Here

TOP

Related Classes of org.cipango.kaleo.location.Binding

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.