IBM MQ uses the word channel for two related but distinct purposes, and mixing them up causes weeks of misdirected troubleshooting. Message channels are the pipes queue managers use to ship messages to each other—sender pairs with receiver, data flows from a transmission queue across TCP (or other transport), and no application program opens the channel directly. MQI channels are the pipes IBM MQ clients use to send MQI calls—MQCONN, MQPUT, MQGET—to a remote queue manager as if they were local bindings. Both show up in DISPLAY CHANNEL output and both use listeners, but the payloads, lifecycle, and security differ. This tutorial compares the two families for beginners, maps CHLTYPE values to each family, explains CONNAME and listeners in both contexts, and gives a decision guide for architects documenting interfaces.
Message channels implement store-and-forward between queue managers. When a message cannot be delivered locally and routing points to another queue manager, it lands on a transmission queue; the queue manager starts or uses a sender channel to push protocol data to the partner receiver channel. MQI channels implement remote procedure-style access: the client serializes API requests; the queue manager executes them against local objects. A payment service in Kubernetes might use only SVRCONN to QM_MAIN; QM_MAIN and QM_BRANCH might use only SDR/RCVR to exchange settlement files encapsulated as messages.
| Aspect | Message channels | MQI channels |
|---|---|---|
| Purpose | Move messages QM to QM | Carry MQI from client to QM |
| Typical CHLTYPE | SDR, RCVR, SVR, RQSTR | SVRCONN, CLNTCONN |
| Started by | QM (XMITQ depth) or admin | Client connect or app |
| Data source | Transmission queue | Client API calls |
| App opens channel? | No | Indirect via MQCONNX |
Channel names must match on both sides of a pair (with cluster rules for cluster channels). Sequence numbers, heartbeat intervals, and retry attributes apply to message channels. TLS and CHLAUTH protect inter-queue-manager links the same way as client links.
123456DEFINE CHANNEL('QM1.TO.QM2') CHLTYPE(SDR) TRPTYPE(TCP) + CONNAME('qm2.example.com(1414)') XMITQ('QM2') + MCAUSER('mqm') DEFINE CHANNEL('QM1.TO.QM2') CHLTYPE(RCVR) TRPTYPE(TCP) + MCAUSER('mqm') * On QM2: matching RCVR name QM1.TO.QM2
The client does not put messages onto the channel as onto a queue—it issues MQPUT to QUEUE.NAME after connecting. Channel authentication records map TLS distinguished names or usernames to MCAUSER for authorization. Connection sharing (client reconnect options) affects how many TCP sessions you see per SVRCONN name in displays.
12345DEFINE CHANNEL('APP.PAYMENTS.SVRCONN') CHLTYPE(SVRCONN) TRPTYPE(TCP) + MCAUSER('payapp') MAXMSGL(4194304) DEFINE LISTENER('LISTENER.TCP') TRPTYPE(TCP) PORT(1414) + CONTROL(QMGR) IPADDR('*') START LISTENER('LISTENER.TCP')
Message channels are freight trains between warehouses—full of crates (messages), scheduled when the loading bay (XMITQ) has crates ready. MQI channels are a telephone line between your desk and the warehouse office—you ask the clerk to move crates (API calls) without you driving the train yourself. You need trains between warehouses and phones for remote clerks; they are not interchangeable.
A LISTENER object accepts inbound TCP connections. Receiver channels wait for partner senders; SVRCONN channels wait for clients. The port in CONNAME must match the listener. Firewall rules often allow one port for many channel names distinguished after the TCP handshake. Misconfigured listeners produce errors that look similar from client and sender perspectives—always check which channel type is involved before tuning HBINT on the wrong object.
DISPLAY CHSTATUS shows running instances—CHTYPE distinguishes SDR from SVRCONN. Message channel problems correlate with XMITQ depth and delayed partner delivery. SVRCONN problems correlate with client connection errors, CHLAUTH failures, and MCAUSER authority. Do not clear a stuck XMITQ by creating a SVRCONN with the same name; object types are not interchangeable.
Message channels are trucks between two MQ cities. MQI channels are walkie-talkies so your toy robot (client program) can tell the city hall (queue manager) what to do without living in the city.
Classify five CHLTYPE values into message or MQI family.
A developer says their app opens the sender channel—correct the statement and describe the real flow.
List three symptoms that indicate an XMITQ/message channel issue vs an SVRCONN issue.
1. Message channels primarily move:
2. SVRCONN is used by:
3. Applications start sender channels by:
4. CLNTCONN defines: