This chapter covers the Oracle Communications Instant Messaging Server configuration parameters used in the httpbind.conf configuration file.
Any time you modify the httpbind.conf file, you must restart the XMPP/HTTP Gateway by using the tools provided by your web container.
By default, the configure utility creates the httpbind.conf file within the configuration directory (InstantMessaging_cfg) of the default server instance, for example:
Solaris OS:
/etc/opt/sun/comms/im/default/config/httpbind.conf
Red Hat Linux and Oracle Linux:
/etc/opt/sun/im/default/config/httpbind.conf
If you create multiple instances of Instant Messaging Server, the name of the /default directory varies depending on the instance. See the topic on creating multiple instances from a single Instant Messaging Server installation in Instant Messaging Server Installation and Configuration Guide. This file is created by the configure utility only in the default instance's InstantMessaging_cfg 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 be specified with a backslash (\).
If you make changes to the httpbind.conf file, you must refresh the gateway's web container in order for the new configuration settings to take effect.
Note:
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.
Table 32-1 describes the configuration parameters in httpbind.conf.
Table 32-1 XMPP/HTTP Gateway Configuration Parameters in httpbind.conf
Parameter | Default Value | Description |
---|---|---|
httpbind.pool.nodeId |
Not applicable |
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 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 |
Not applicable |
Contains a comma-separated list of ID keys, or gwdomain-ids, which the gateway uses as a configuration key to determine which domains, hosts, host passwords, and component JIDs the gateway should use. See "httpbind.config ID Keys" 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 |
Not applicable |
Specifies the maximum permissible value for the hold attribute in the client request. 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 |
Not applicable |
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 is 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 32-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.
Table 32-2 httpbind.config ID Keys
Key | Description |
---|---|
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. |
gwdomain-id.multihosting |
If set to true, allows a packet destined to a domain, which is not preconfigured in httpbind.conf, to be sent to Instant Messaging Server. You use this parameter for a hosted domain setup. The default value for this parameter is true. |