Oracle Communications Instant Messaging Server XMPP/HTTP Gateway Configuration Parameters in httpbind.conf
By default, the configure utility creates the httpbind.conf file within the configuration directory (im-cfg-base) of the default server instance, for example:
- Solaris OS:
- Red Hat Linux:
If you create multiple instances of Instant Messaging, the name of the /default directory varies depending on the instance. See Creating Multiple Instances from a Single Instant Messaging Installation for more information. This file is created by the configure utility only in the default instance's im-cfg-base directory.
The httpbind.conf file is a plain ASCII text file, with each line defining a gateway parameter and its value(s):
- A parameter and its value(s) are separated by an equal sign ( = ) with spaces and tabs allowed before or after the equal sign.
- A value can be enclosed in double quotes ( " " ). If a parameter allows multiple values, the entire value string must be enclosed in double quotes.
- A comment line must have an exclamation point ( ! ) as the first character of the line. Comment lines are for informational purposes and are ignored by the server.
- If a parameter appears more than once, the value of the last parameter listed overrides the previous value.
- A backslash ( \ ) is used for continuation and indicates the value(s) are longer than one line.
- Each line is terminated by a line terminator (\n, \r, or \r\n).
- The key consists of all the characters in the line starting with the first non-whitespace character and up to the first ASCII equal sign ( = ) or semi-colon ( ; ). If the key is terminated by a semi-colon, it is followed by "lang-" and a tag that indicates the language in which this value is to be interpreted. The language tag is followed by an equal sign ( = ). All whitespace characters before and after the equal sign are ignored. All remaining characters on the line become part of the associated value string.
- Multiple values in the value string are separated using commas ( , ).
- Within a value, if any special characters like comma, space, newline, tab, double quotes, or backslash are present, the entire value needs to be within double quotes. In addition, every carriage return, line feed, tab, backslash, and double quotes within the value must specified with a backslash ( \ ).
- If you make changes to httpbind.conf, you must refresh the gateway's web container in order for the new configuration settings to take effect.
The httpbind.conf file is initialized by the configure utility and should be modified only as described in this information.
HTTPBIND performs round-robin load balancing among the component sessions (connections from HTTPBIND to a back end) in a circular linked-list fashion to decide which back end is used.
A change in connection status is reflected almost immediately (as soon as a StreamStatusChanged event occurs). Thus, if a disconnection happens for a particular back end, it is out of the list. When the connection resumes, it comes back to the available list.
The following table describes the configuration parameters in httpbind.conf.
|httpbind.pool.nodeId||N/A||If httpbind.pool.support is set to true, this parameter specifies the full URL for the server node in the server pool. This URL should not point to a load balancer, but to an Instant Messaging server instance.|
|httpbind.pool.support||false|| This parameter defines whether or not the gateway is in a server pool deployment. If no httpbind.pool.nodeId is specified, the value for this parameter is set to false. The value for this parameter can be:
|httpbind.config||N/A||Contains a comma-separated list of ID keys, or gwdomain-id, which the gateway uses as a configuration key to determine which domains, hosts, host passwords, and component JIDs the gateway should use. See Table B-2 for more information on ID keys.|
|httpbind.content_type||text/xml; charset=utf-8||The default value for the content-type HTTP header the gateway uses when sending a response back to the client.|
|httpbind.hold||N/A||Specifies the maximum permissible value for the hold attribute in the client request as defined in http://www.jabber.org/jeps/jep-0124.html. If the client specifies a value higher than the gateway in the request, the gateway's value will be used. Otherwise, the value in the client request will be used.|
|httpbind.inactivity||180||The maximum time in seconds of client inactivity after which the gateway will terminate the connection to the client.|
|httpbind.log4j.config||N/A||The location of the log4j configuration file the gateway will use for logging. If you leave this parameter blank, then logging for the gateway is turned off. The logger name is "httpbind" (log4j.logger.httpbind).|
|httpbind.polling||1 (second)||The minimum time, in seconds, a client must wait before sending another request.|
|httpbind.requests||2||The number of concurrent requests a client can make to the gateway. If the value of this parameter is less than the value for the JEP 124 hold attribute in the client request, the value for this parameter will be set to hold+1. Do not set this parameter to 1, as doing so could severely degrade performance. See httpbind.hold for more information.|
|httpbind.round_trip_delay||1 (second)||The amount of time, in seconds, to allow in addition to time-outs for round trips to account for network latencies. Setting this value too high may degrade performance.|
|httpbind.wait_time||120 (seconds)||The default time, in seconds, within which the gateway will send a response to the client. If the client wait time is set to a value higher than the gateway wait time, the gateway's wait time is used.|
|httpbind.component.password.cipher.delegate||com.sun.im.tools.passwordtool.Crypto||If you want to use an encrypted password, this property and its default value are required.|
|httpbind.component.password.cipher||com.sun.im.tools.passwordtool.CommsClientCipher||If you want to use an encrypted password, this property and its default value are required.|
Table B-2 describes the keys used to define each ID in the httpbind.config_ parameter. In each key described in the table, gwdomain-id is a domain identifier specified in httpbind.config.
|gwdomain-id.domains||Comma-separated list of domains for this ID.|
|gwdomain-id.hosts||Space-separated list of hosts for this ID. Each of these hosts must be able to service the domains listed in gwdomain-id.domains. This list helps provide failover across the domains. If no explicit route host mentioned in the request, one of the hosts listed in this key will be used to service that request.|
|gwdomain-id.componentjid||The component JID to use to connect to the host.|
|gwdomain-id.password||The password to use to connect to the host.|