code: public void raVerifyConfiguration(ConfigProperties properties)
  			throws InvalidConfigurationException {
  		
  		try {
  			// get port
  			Integer port = (Integer) properties.getProperty(SIP_PORT_BIND).getValue();
  			// get host
  			String stackAddress = (String) properties.getProperty(SIP_BIND_ADDRESS).getValue();
  			if (stackAddress.equals("")) {
  				stackAddress = this.getJBossAddress();
  			}
  			
  			if(stackAddress!=null) {
  			    // try to open socket
  			    InetSocketAddress sockAddress = new InetSocketAddress(stackAddress,
  					port);
  			    try {
  	                new DatagramSocket(sockAddress).close();
  			    } catch(BindException e) {
  			        // in case already bound
  			    }
  			}
  			
  			// check transports			
  			String transports = (String) properties.getProperty(TRANSPORTS_BIND).getValue();
  			String[] transportsArray = transports.split(",");
  			boolean validTransports = true;
  			if (transportsArray.length > 0) {
  				for (String transport : transportsArray) {
  					if (!allowedTransports.contains(transport.toLowerCase()))
  						validTransports = false;
  					break;
  				}
  			}
  			else {
  				validTransports = false;
  			}
  			if (!validTransports) {
  				throw new IllegalArgumentException(TRANSPORTS_BIND+" config property with invalid value: "+transports);
  			}
  			
  			// verify existence of sipra.properties file
  			if (sipRaPropertiesLocation!=null) {
  				File f = new File(sipRaPropertiesLocation);
  				if (!f.exists() || f.isDirectory()) {
  					throw new IllegalArgumentException(SIPRA_PROPERTIES_LOCATION+" config property points to non existing file: "+sipRaPropertiesLocation);
  				}
  			}
  		}
  		catch (Throwable e) {
  			throw new InvalidConfigurationException(e.getMessage(),e);
  		}
  	}
docs: /*
  (non-Javadoc)
  @see javax.slee.resource.ResourceAdaptor#raVerifyConfiguration(javax.slee.resource.ConfigProperties)