Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.opencloud.slee.services.sip.registrar
Class Registrar  view Registrar download Registrar.java

java.lang.Object
  extended bycom.opencloud.slee.services.sip.registrar.Registrar
Direct Known Subclasses:
RegistrarSbb.MyRegistrationHandler

public class Registrar
extends java.lang.Object

TODO Class Description


Field Summary
private  java.lang.String[] localDomainNames
           
private  LocationService ls
           
private  long maxExpires
           
private  long minExpires
           
private  RegistrarSbb sbb
           
 
Constructor Summary
Registrar(RegistrarSbb sbb)
           
 
Method Summary
(package private)  void expireRegistration(java.lang.String sipAddress, java.lang.String sipContactAddress, java.lang.String callId, long cseq)
          Expire registration entry, remove it from location service.
static java.lang.String getCanonicalAddress(HeaderAddress header)
           
private  java.util.ArrayList getContactHeaderList(java.util.ListIterator it)
           
private  java.util.List getContactHeaders(java.util.Map bindings)
           
 java.lang.String getDomain(URI uri)
           
private  LocationService getLocationService()
           
private  boolean hasWildCard(java.util.ArrayList contactHeaders)
           
 boolean isLocalDomain(URI uri)
           
 void processRequest(ServerTransaction txn, Request request)
           
 void processResponse(ServerTransaction txn, Response response)
           
private  void sendIntervalTooBriefResponse(ServerTransaction txn, Request request)
           
private  void sendRegistrationOKResponse(ServerTransaction txn, Request request, java.util.Map bindings)
           
(package private)  void setRegistrationTimer(java.lang.String sipAddress, java.lang.String sipContactAddress, long timeout, java.lang.String callId, long cseq)
          Set a timer on a registration entry.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ls

private LocationService ls

minExpires

private long minExpires

maxExpires

private long maxExpires

localDomainNames

private java.lang.String[] localDomainNames

sbb

private RegistrarSbb sbb
Constructor Detail

Registrar

public Registrar(RegistrarSbb sbb)
Method Detail

getDomain

public java.lang.String getDomain(URI uri)

getLocationService

private LocationService getLocationService()

isLocalDomain

public boolean isLocalDomain(URI uri)

getCanonicalAddress

public static java.lang.String getCanonicalAddress(HeaderAddress header)

processRequest

public void processRequest(ServerTransaction txn,
                           Request request)

hasWildCard

private boolean hasWildCard(java.util.ArrayList contactHeaders)

getContactHeaderList

private java.util.ArrayList getContactHeaderList(java.util.ListIterator it)

setRegistrationTimer

void setRegistrationTimer(java.lang.String sipAddress,
                          java.lang.String sipContactAddress,
                          long timeout,
                          java.lang.String callId,
                          long cseq)
Set a timer on a registration entry. If a timer is already set for this registration, reset it to the new timeout value


expireRegistration

void expireRegistration(java.lang.String sipAddress,
                        java.lang.String sipContactAddress,
                        java.lang.String callId,
                        long cseq)
Expire registration entry, remove it from location service. This would be a callback from whatever timer is set in setRegistrationExpiry() above. Only remove a registration if the callId and cseq values match those of the original registration. If the values don't match, this means the registration has been updated by a more recent REGISTER request, so we should not change anything. The timer for the most recent REGISTER request will expire the entry.


getContactHeaders

private java.util.List getContactHeaders(java.util.Map bindings)

sendIntervalTooBriefResponse

private void sendIntervalTooBriefResponse(ServerTransaction txn,
                                          Request request)

sendRegistrationOKResponse

private void sendRegistrationOKResponse(ServerTransaction txn,
                                        Request request,
                                        java.util.Map bindings)

processResponse

public void processResponse(ServerTransaction txn,
                            Response response)