cnrg.itx.gtwy.pbx
Class PBXSignalingServer

java.lang.Object
  |
  +--cnrg.itx.gtwy.pbx.PBXSignalingServer

public class PBXSignalingServer
extends java.lang.Object

This is the main program class for PBXSignaling. The server's functions are: receive packets from a gateway signaling component; own a PBXSignaling object ("myPBX") which executes JTAPI functions; A PBX could handle more than one gateway; a gateway may use different PBXs for different calls. decode incoming packets and invoke the proper routines in "myPBX" for handling INVITE packets and HANGUP requests. START packets are ignored.


Inner Class Summary
private  class PBXSignalingServer.gateObject
          Inner private class that puts a SigPacket and a Socket into one object
protected  class PBXSignalingServer.ThreadWait
          Inner private class that waits for keyboard input.
 
Field Summary
private static boolean LOG
           
private static java.lang.String LOGIN
           
private static java.lang.String ME
           
private  cnrg.itx.ds.DirectoryService myDS
           
private  java.net.InetAddress myIAdd
           
private  cnrg.itx.ds.Location myLoc
           
private  PBXSignaling myPBX
           
private  cnrg.itx.ds.Password myPIN
           
private  int myPort
           
private  cnrg.itx.ds.UserID myUID
           
private static java.lang.String PASWD
           
private  java.net.ServerSocket recvSock
           
 
Constructor Summary
PBXSignalingServer(java.lang.String[] args)
          Constructor is invoked by main.
 
Method Summary
protected  void finalize()
          Destructor for PBXSignalingServer - stop all running Dialers, unregister from Directory Server, and exit
private  void handleIncomingPacket(cnrg.itx.signal.SigPacket sp, java.net.Socket gateSocket)
          This method decodes a SignalPacket and calls the required method in PBXSignaling.
private  void handlePackets()
           
static void main(java.lang.String[] args)
           
private  boolean unRegister()
          This method unregisters this PBXsrv from Directory Service
private  PBXSignalingServer.gateObject waitForPacket(java.net.ServerSocket recvSock)
           
 
Methods inherited from class java.lang.Object
, clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

LOG

private static boolean LOG

ME

private static final java.lang.String ME

LOGIN

private static java.lang.String LOGIN

PASWD

private static java.lang.String PASWD

recvSock

private java.net.ServerSocket recvSock

myPort

private int myPort

myLoc

private cnrg.itx.ds.Location myLoc

myIAdd

private java.net.InetAddress myIAdd

myUID

private cnrg.itx.ds.UserID myUID

myPIN

private cnrg.itx.ds.Password myPIN

myPBX

private PBXSignaling myPBX

myDS

private cnrg.itx.ds.DirectoryService myDS
Constructor Detail

PBXSignalingServer

public PBXSignalingServer(java.lang.String[] args)
Constructor is invoked by main. It gets a PBXSignaling object, and registers self with Directory Services.
Parameters:
args - from the command line
Method Detail

main

public static void main(java.lang.String[] args)

finalize

protected void finalize()
Destructor for PBXSignalingServer - stop all running Dialers, unregister from Directory Server, and exit
Overrides:
finalize in class java.lang.Object

handlePackets

private void handlePackets()

waitForPacket

private PBXSignalingServer.gateObject waitForPacket(java.net.ServerSocket recvSock)
                                             throws java.io.InterruptedIOException

handleIncomingPacket

private void handleIncomingPacket(cnrg.itx.signal.SigPacket sp,
                                  java.net.Socket gateSocket)
                           throws PBXSignalingException
This method decodes a SignalPacket and calls the required method in PBXSignaling.
Parameters:
sp - is the SignalPacket object received by the server thread.
gateSocket - is the socket going to our Gateway
Returns:
void

unRegister

private boolean unRegister()
This method unregisters this PBXsrv from Directory Service
Returns:
true successful deregistration, false otherwise