Server Channels

Not every enterprise allows a central queue manager to open TCP port 1414 to the internet. Firewalls often permit outbound connections from branch offices to the hub but block inbound connections to the data center. IBM MQ server channels (CHLTYPE SVR) paired with requester channels (CHLTYPE RQSTR) invert initiation compared to sender/receiver: the branch requester dials the hub server, while messages still flow according to your XMITQ and routing design. Beginners confuse SVR with SVRCONN because both contain server in the name—this page clarifies that SVR is a message channel for queue-manager-to-queue-manager traffic with RQSTR, not a client connection channel. You will learn when to choose SVR/RQSTR over SDR/RCVR, how to define both sides, listener requirements on the server queue manager, and operational monitoring similar to other message channels.

Requester/Server vs Sender/Receiver

In sender/receiver, the queue manager with messages on the XMITQ runs SDR and connects out. In requester/server, the queue manager that cannot receive inbound runs SVR and listens (or shares a listener), while the partner with messages to send or pull runs RQSTR with CONNAME pointing at the server. The message direction and which XMITQ is involved depend on whether the hub pulls from branch or branch pushes to hub—document your pattern explicitly in integration specs.

Channel pair comparison
PairWho connectsTypical use
SDR + RCVRSDR connects to RCVRStandard point-to-point
RQSTR + SVRRQSTR connects to SVRFirewall-friendly hub
Client + SVRCONNClient connectsApplication MQI

Defining Server and Requester

shell
1
2
3
4
5
6
7
8
9
10
11
* === Hub QM (cannot accept inbound from internet) === DEFINE LISTENER('HUB.LISTEN') TRPTYPE(TCP) PORT(1414) START LISTENER('HUB.LISTEN') DEFINE CHANNEL('BRANCH.TO.HUB') CHLTYPE(SVR) TRPTYPE(TCP) + MCAUSER('mqm') HBINT(300) * === Branch QM (initiates outbound to hub) === DEFINE QLOCAL('XMIT.TO.HUB') USAGE(XMITQ) DEFINE CHANNEL('BRANCH.TO.HUB') CHLTYPE(RQSTR) TRPTYPE(TCP) + CONNAME('hub.mq.corp(1414)') XMITQ('XMIT.TO.HUB') + MCAUSER('mqm') START CHANNEL('BRANCH.TO.HUB')

Channel name BRANCH.TO.HUB matches on both sides with complementary CHLTYPE. Hub runs SVR; branch runs RQSTR. CONNAME on RQSTR targets hub listener. Verify message flow direction with test puts and DISPLAY QLOCAL depth on both queue managers.

Explainer: Call Me Instead of Me Calling You

Sender/receiver is you calling a friend who answers. Server/requester is you telling a friend they must call you because your phone cannot receive calls—when they call (RQSTR to SVR), you can talk and exchange packages according to the rules you agreed.

Listeners on the Server Queue Manager

SVR still requires a listener on the hub so RQSTR can connect— the firewall blocks unsolicited inbound from random hosts but allows the branch IP to connect. Restrict with CHLAUTH and network ACLs. SVR is not SVRCONN: clients still use separate SVRCONN definitions for application traffic.

Message Flow and XMITQ

The queue manager that forwards messages to the partner assigns XMITQ on the channel definition that reads that queue—often on RQSTR in branch-initiated designs but validate against IBM patterns for your scenario. Misassigned XMITQ leaves messages stranded locally. Trace one message with MQ trace in test before production volume.

States, Retries, and Sequence Numbers

SVR and RQSTR instances use the same STATUS values—BINDING, RUNNING, RETRY—as SDR/RCVR. SHORTRTY and SHORTTMR apply to RQSTR when hub is down. Sequence numbers apply to message channel protocol batches across the pair—coordinate RESET with partners after DR. See channel states, retries, and sequence number tutorials.

When Not to Use Server Channels

  • Both sites allow SDR/RCVR—prefer simpler model.
  • Application-only remote access—use SVRCONN, not SVR.
  • Cluster traffic—use CLUSSDR/CLUSRCVR.

Operations

  1. DISPLAY CHSTATUS for SVR on hub when branch RQSTR connects.
  2. Correlate branch XMITQ depth with RQSTR RUNNING.
  3. Hub listener must be up before branch START CHANNEL.
  4. Document which side owns message ordering guarantees.

Explain Like I'm Five: Server Channels

A server channel is the doorbell at home that only works when your friend rings it from outside because your phone cannot receive calls from them.

Practice Exercises

Exercise 1

Sketch firewall arrows for RQSTR/SVR vs SDR/RCVR for branch-to-hub traffic.

Exercise 2

Why is SVRCONN not a substitute for SVR?

Exercise 3

Write MQSC for hub SVR and branch RQSTR with shared channel name.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. Server channel CHLTYPE is:

  • SVR
  • SDR
  • SVRCONN
  • TOPIC

2. RQSTR channel typically:

  • Initiates TCP to SVR
  • Only listens
  • Is MQI only
  • Replaces DLQ

3. SVR/RCVR confusion is avoided by:

  • Matching RQSTR with SVR only
  • Mixing SDR with SVR
  • No listener
  • No names

4. Server channels are often chosen when:

  • Inbound TCP to hub is blocked
  • No network
  • Only pub/sub
  • Only topics
Published
Read time16 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation