Native Communication Protocols
Universal Messaging supports the following native communication protocols:
- Universal Messaging socket protocol (nsp)
- Universal Messaging SSL protocol (nsps)
- Universal Messaging HTTP protocol (nhp)
- Universal Messaging HTTPS protocol (nhps)
These wire protocols are available for client-to-realm and realm-to-realm connections.
Universal Messaging Socket Protocol (nsp)
The Universal Messaging socket protocol (nsp) is a plain TCP socket protocol optimized for high throughput, low latency, and minimal overhead.

Universal Messaging Socket Protocol (nsp)
Universal Messaging SSL Protocol (nsps)
The Universal Messaging SSL protocol (nsps) uses SSL sockets to provide the functions of the Universal Messaging socket protocol that is combined with encrypted communications and strong authentication. Use the nsps protocol in production environments for data security.

Universal Messaging SSL Protocol (nsps)
Universal Messaging HTTP Protocol (nhp)
The Universal Messaging HTTP rotocol (nhp) uses a native HTTP stack that runs over plain TCP sockets to provide access to Universal Messaging applications that run behind a single or multiple firewall layers.
This protocol simplifies communication with realms on private address range (NAT) networks, the internet, or within another organization's DMZ.
There is no requirement for a web server, proxy, or port redirector on your firewall to take advantage of the flexibility that the Universal Messaging HTTP protocol offers. The protocol also supports the use of HTTP proxy servers, with or without proxy user authentication.
An nhp interface also supports connections using the nsp protocol. For this reason, use this protocol initially when you evaluate Universal Messaging.

Universal Messaging HTTP Protocol (nhp)
Universal Messaging HTTPS Protocol (nhps)
The Universal Messaging HTTPS protocol (nhps) offers all the functionality of the Universal Messaging HTTP protocol, which is combined with SSL-encrypted communications and strong authentication.
Use the Universal Messaging HTTPS protocol for production-level applications that communicate over the internet or mobile networks.

Universal Messaging HTTPS Protocol (nhps)
Protocol Usage Notes
Use the Universal Messaging HTTP protocol (nhp) for Universal Messaging native clients because this protocol is the easiest to use and supports both nhp and nsp connections.
When you deploy internet applications, use the Universal Messaging HTTPS protocol (nhps) for its firewall traversal and security features.
When the system handles many inbound connections that do not require the HTTP or HTTPS protocol, use the Universal Messaging socket protocol (nsp) or the Universal Messaging SSL protocol (nsps).
RNAMEs
The RNAME used by a native Universal Messaging client to connect to a Universal Messaging realm server that uses a native communication protocol is a non-web-based URL with the following structure:
<protocol>://<hostname>:<port>
Where <protocol> can be one of the following wire protocol identifiers:
- Nsp
- Nsps
- Nhp
- Nhps
An RNAME string consists of a comma-separated list of RNAMEs.
A Universal Messaging realm can have multiple network interfaces, each supporting any combination of native and comet communication protocols.
User@Realm Identification
When a Universal Messaging native client
connects to a Universal Messaging realm, it supplies the username of the currently logged-in user on
the client host machine. This username is used along with the hostname of the realm to create a
session credential of the form user@realm.
For example, if you are logged on to your client machine as user fred,
and you specify an RNAME string of nsp://realmserver.mycompany.com:9000, then your
session is identified as fred@realmserver.mycompany.com.
However, note that if you were running the client application on the same machine as the
Universal Messaging realm and decided to use the
localhost interface in your RNAME string, you would be identified as
fred@localhost - which is a different credential.
The realm and channel access control lists (ACL) checks are performed against this credential, so be careful when specifying an RNAME value.