H323 Gatekeeper – RAS Messages

Hello All,
H323 RAS Messages exchanged between the endpoints and the Gatekeeper.
In the last post, we configured the Gateway (CME) and Gatekeeper. Today, let’s discuss about the RAS Messages exchanged between the endpoints and the Gatekeeper.

Gatekeeper Discovery
GRQ (Gatekeeper_Request) A message sent by endpoint to gatekeeper.
GCF (Gatekeeper_Confirm) A reply from gatekeeper to endpoint which indicates the transport address of the gatekeeper RAS channel.
GRJ (Gatekeeper_Reject) A reply from gatekeeper to endpoint that rejects the endpoint’s request for registration. Usually due to gateway or gatekeeper configuration error.
RRQ (Registration_Request) RAS Registration and Unregistration. Sent from an endpoint to a gatekeeper RAS channel address.
RCF (Registration_Confirm) RAS Registration and Unregistration. A reply from the gatekeeper that confirms endpoint registration.
IRQ (Information Request) RAS Status Information. A status request sent from gatekeeper to endpoint.
IRR (Information Request Response) RAS Status Information. Sent from endpoint to gatekeeper in response to IRQ. This message is also sent from endpoint to gatekeeper if the gatekeeper requests periodic status updates. The IRR is used by gateways to inform the gatekeeper about the active calls.
ACF (Admission Confirm) RAS Admissions. An authorization by the gatekeeper to admit the call. This message contains the IP address of the terminating gateway or gatekeeper and enables the original gateway to initiate call control signaling procedures.
ARJ (Admission Reject) RAS Admissions Denies the request of the endpoint to gain access to the network for this particular call.
ARQ (Admission Request) RAS Admissions. An attempt by an endpoint to initiate a call.
RRJ (Registration Reject) RAS Registration and Unregistration. A reply from the gatekeeper that rejects endpoint registration.

GATEWAY – GATEKEEPER RAS MESSAGE

Scenario 1 :- Let’s take one scenario where R1-CME as per the previous post tries to register with the Gatekeeper and the Gatekeeper accepts the requests and allow R1-CME to register

R1-CME RAS Message

*Mar  1 00:08:05.187: RASLib::GW_RASSendGRQ: GRQ (seq# 17) sent to 60.1.1.1
R1#h323chan_dgram_send:Sent UDP msg. Bytes sent: 75 to 60.1.1.1:1719 fd=2
*Mar  1 00:08:10.199: RASLib::GW_RASSendGRQ: GRQ (seq# 17) sent to 60.1.1.1
*Mar  1 00:08:10.271: h323chan_chn_process_read_socket
*Mar  1 00:08:10.275: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data
*Mar  1 00:08:10.275:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=2
*Mar  1 00:08:10.279: h323chan_dgram_recvdata:rcvd from [60.1.1.1:1719] on fd=2
*Mar  1 00:08:10.279: GCF (seq# 17) rcvd from h323chan_dgram_send:Sent UDP msg. Bytes sent: 106 to 60.1.1.1:1719 fd=2
*Mar  1 00:08:10.295: RASLib::GW_RASSendRRQ: RRQ (seq# 18) sent to 60.1.1.1
*Mar  1 00:08:10.335: h323chan_chn_process_read_socket
*Mar  1 00:08:10.339: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data
*Mar  1 00:08:10.339:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=2
*Mar  1 00:08:10.343: h323chan_dgram_recvdata:rcvd from [60.1.1.1:1719] on fd=2
*Mar  1 00:08:10.351: RCF (seq# 18) rcvd
*Mar  1 00:08:10.363: %CCH323-6-REGSTR: Gateway R1-CME registered with Gatekeeper R1-CME
*Mar  1 00:08:10.371: h323chan_chn_process_read_socket
*Mar  1 00:08:10.371: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data
*Mar  1 00:08:10.375:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=2
*Mar  1 00:08:10.375: h323chan_dgram_recvdata:rcvd from [60.1.1.1:1719] on fd=2
*Mar  1 00:08:10.379: RASDecodeData: IRQ rcvdh323chan_dgram_send:Sent UDP msg. Bytes sent: 102 to 60.1.1.1:1719 fd=2
*Mar  1 00:08:10.399: RASLib::GW_RASSendIRR: IRR (seq# 7) sent to 60.1.1.1

R2-CME GATEKEEPER RAS Message

*Mar  1 00:14:17.587:  RecvUDP_IPSockData  successfully rcvd message of length 75 from 10.1.1.50:58512
*Mar  1 00:14:17.595: GRQ (seq# 30) rcvd
*Mar  1 00:14:17.607:  IPSOCK_RAS_sendto:   msg length 31 from 60.1.1.1:1719 to 10.1.1.50: 58512
*Mar  1 00:14:17.607:       RASLib::RASSendGCF: GCF (seq# 30) sent to 10.1.1.50
*Mar  1 00:14:17.707:  RecvUDP_IPSockData  successfully rcvd message of length 106 from 10.1.1.50:58512
*Mar  1 00:14:17.715: RRQ (seq# 31) rcvd
*Mar  1 00:14:17.739:  IPSOCK_RAS_sendto:   msg length 102 from 60.1.1.1:1719 to 10.1.1.50: 58512
*Mar  1 00:14:17.739:       RASLib::RASSendRCF: RCF (seq# 31) sent to 10.1.1.50
Gatekeeper#
*Mar  1 00:14:17.739:  IPSOCK_RAS_sendto:   msg length 29 from 60.1.1.1:1719 to 10.1.1.50: 58512
*Mar  1 00:14:17.743:       RASLib::RASSendIRQ: IRQ (seq# 11) sent to 10.1.1.50
*Mar  1 00:14:17.835:  RecvUDP_IPSockData  successfully rcvd message of length 102 from 10.1.1.50:58512
*Mar  1 00:14:17.843: IRR (seq# 11) rcvd

Scenario 2 :- Let’s take another scenario where we have a mismatch in the configuration the Gateway end which tries toregister with the Gatekeeper with a different ID but the Gatekeeper Rejects the registration
R1-CME RAS Message

R1#h323chan_dgram_send:Sent UDP msg. Bytes sent: 75 to 60.1.1.1:1719 fd=2
*Mar  1 00:20:00.663: RASLib::GW_RASSendGRQ: GRQ (seq# 41) sent to 60.1.1.1
*Mar  1 00:20:00.727: h323chan_chn_process_read_socket
*Mar  1 00:20:00.731: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data
*Mar  1 00:20:00.731:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=2
*Mar  1 00:20:00.735: h323chan_dgram_recvdata:rcvd from [60.1.1.1:1719] on fd=2
*Mar  1 00:20:00.739: GRJ (seq# 41) rcvd

R2-CME GATEKEEPER RAS Message

Gatekeeper#
*Mar  1 00:19:03.123:  RecvUDP_IPSockData  successfully rcvd message of length 75 from 10.1.1.50:58512
*Mar  1 00:19:03.135: GRQ (seq# 42) rcvd
*Mar  1 00:19:03.143:  IPSOCK_RAS_sendto:   msg length 12 from 60.1.1.1:1719 to 10.1.1.50: 58512
*Mar  1 00:19:03.147:       RASLib::RASSendGRJ: GRJ (seq# 4
2) sent to 10.1.1.50

Scenario 3 :- Let’s take another scenario where Extension 1000 calls Extension 2000 via the Gatekeeper.

R1-CME RAS Message

R1#h323chan_dgram_send:Sent UDP msg. Bytes sent: 183 to 60.1.1.1:1719 fd=2
*Mar  1 01:24:51.623: RASLib::GW_RASSendARQ: ARQ (seq# 179) sent to 60.1.1.1
*Mar  1 01:24:51.667: h323chan_chn_process_read_socket
*Mar  1 01:24:51.667: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data
*Mar  1 01:24:51.671:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=2
*Mar  1 01:24:51.675: h323chan_dgram_recvdata:rcvd from [60.1.1.1:1719] on fd=2
*Mar  1 01:24:51.679: ACF (seq# 179) rcvdparse_acf_nonstd: ACF Nonstd decode succeeded, remlen = 0h323chan_dgram_send:Sent UDP msg. Bytes sent: 87 to 60.1.1.1:1719 fd=2
*Mar  1 01:24:51.759: RASLib::GW_RASSendRRQ: RRQ (seq# 180) sent to 60.1.1.1
*Mar  1 01:24:51.919: h323chan_chn_process_read_socket
*Mar  1 01:24:51.923: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data
*Mar  1 01:24:51.927:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=2
*Mar  1 01:24:51.927: h323chan_dgram_recvdata:rcvd from [60.1.1.1:1719] on fd=2
*Mar  1 01:24:51.931: RCF (seq# 180) rcvd
*Mar  1 01:24:52.311: h323chan_chn_process_read_socket
*Mar  1 01:24:52.311: h323chan_chn_process_read_socket: fd=3 of type CONNECTED has data
*Mar  1 01:24:52.315:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=3
*Mar  1 01:24:52.391: h323chan_chn_process_read_socket
*Mar  1 01:24:52.391: h323chan_chn_process_read_socket: fd=3 of type CONNECTED has data
*Mar  1 01:24:52.395:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=3
*Mar  1 01:24:57.747: h323chan_chn_process_read_socket
*Mar  1 01:24:57.747: h323chan_chn_process_read_socket: fd=3 of type CONNECTED has data
*Mar  1 01:24:57.751:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=3
h323chan_dgram_send:Sent UDP msg. Bytes sent: 167 to 60.1.1.1:1719 fd=2
*Mar  1 01:24:57.779: RASLib::GW_RASSendIRR: IRR (seq# 181) sent to 60.1.1.1
*Mar  1 01:24:57.847: h323chan_chn_process_read_socket
*Mar  1 01:24:57.847: h323chan_chn_process_read_socket: fd=3 of type CONNECTED has data
*Mar  1 01:24:57.851:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=3
*Mar  1 01:24:59.627: h323chan_chn_process_read_socket
*Mar  1 01:24:59.627: h323chan_chn_process_read_socket: fd=3 of type CONNECTED has data
*Mar  1 01:24:59.631:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=3
h323chan_dgram_send:Sent UDP msg. Bytes sent: 104 to 60.1.1.1:1719 fd=2
*Mar  1 01:24:59.695: RASLib::GW_RASSendDRQ: DRQ (seq# 182) sent to 60.1.1.1
*Mar  1 01:25:00.647: h323chan_chn_process_read_socket
*Mar  1 01:25:00.647: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data
*Mar  1 01:25:00.647:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=2
*Mar  1 01:25:00.647: h323chan_dgram_recvdata:rcvd from [60.1.1.1:1719] on fd=2
*Mar  1 01:25:00.647: DCF (seq# 182) rcvd

R2-CME GATEKEEPER RAS Message

Gatekeeper#
*Mar  1 01:23:23.987:  RecvUDP_IPSockData  successfully rcvd message of length 183 from 10.1.1.50:58512
*Mar  1 01:23:23.995: ARQ (seq# 179) rcvdparse_arq_nonstd: ARQ Nonstd decode succeeded, remlen = 0
*Mar  1 01:23:24.015:  IPSOCK_RAS_sendto:   msg length 60 from 60.1.1.1:1719 to 10.1.1.50: 58512
*Mar  1 01:23:24.019:       RASLib::RASSendACF: ACF (seq# 179) sent to 10.1.1.50
*Mar  1 01:23:24.179:  RecvUDP_IPSockData  successfully rcvd message of length 87 from 10.1.1.50:58512
*Mar  1 01:23:24.187: RRQ (seq# 180) rcvd
*Mar  1 01:23:24.195:  IPSOCK_RAS_sendto:   msg length 68 from 60.1.1.1:1719 to 10.1.1.50: 58512
Gatekeeper#
*Mar  1 01:23:24.199:       RASLib::RASSendRCF: RCF (seq# 180) sent to 10.1.1.50
*Mar  1 01:23:24.207:  RecvUDP_IPSockData  successfully rcvd message of length 124 from 40.1.1.50:54206
*Mar  1 01:23:24.215: ARQ (seq# 68) rcvdparse_arq_nonstd: ARQ Nonstd decode succeeded, remlen = 0
*Mar  1 01:23:24.227:  IPSOCK_RAS_sendto:   msg length 29 from 60.1.1.1:1719 to 40.1.1.50: 54206
*Mar  1 01:23:24.231:       RASLib::RASSendACF: ACF (seq# 68) sent to 40.1.1.50
Gatekeeper#
*Mar  1 01:23:30.071:  RecvUDP_IPSockData  successfully rcvd message of length 167 from 40.1.1.50:54206
*Mar  1 01:23:30.083: IRR (seq# 69) rcvdparse_prCll_nonstd: prCll Nonstd decode succeeded, remlen = 0
*Mar  1 01:23:30.159:  RecvUDP_IPSockData  successfully rcvd message of length 167 from 10.1.1.50:58512
*Mar  1 01:23:30.171: IRR (seq# 181) rcvdparse_prCll_nonstd: prCll Nonstd decode succeeded, remlen = 0
Gatekeeper#
*Mar  1 01:23:31.943:  RecvUDP_IPSockData  successfully rcvd message of length 104 from 40.1.1.50:54206
*Mar  1 01:23:31.947: DRQ (seq# 70) rcvdparse_rasusginfo_nonstd: Ras Usage Info Nonstd decode succeeded, remlen = 0
*Mar  1 01:23:31.955:  IPSOCK_RAS_sendto:   msg length 3 from 60.1.1.1:1719 to 40.1.1.50: 54206
*Mar  1 01:23:31.959:       RASLib::RASSendDCF: DCF (seq# 70) sent to 40.1.1.50
*Mar  1 01:23:32.267:  RecvUDP_IPSockData  successfully rcvd message of length 87 from 40.1.1.50:54206
*Mar  1 01:23:32.275: RRQ (seq# 71) rcvd
*Mar  1 01:23:32.283:  IPSOCK_RAS_sendto:   msg length 68 from 60.1.1.1:1719 to 40.1.1.50: 54206
Gatekeeper#
*Mar  1 01:23:32.287:       RASLib::RASSendRCF: RCF (seq# 71) sent to 40.1.1.50
*Mar  1 01:23:32.911:  RecvUDP_IPSockData  successfully rcvd message of length 104 from 10.1.1.50:58512
*Mar  1 01:23:32.919: DRQ (seq# 182) rcvdparse_rasusginfo_nonstd: Ras Usage Info Nonstd decode succeeded, remlen = 0
*Mar  1 01:23:32.927:  IPSOCK_RAS_sendto:   msg length 3 from 60.1.1.1:1719 to 10.1.1.50: 58512
*Mar  1 01:23:32.931:       RASLib::RASSendDCF: DCF (seq# 182) sent to 10.1.1.50

R3-CME RAS Message

*Mar  1 00:25:46.163: h323chan_chn_process_read_socket
*Mar  1 00:25:46.163: h323chan_chn_process_read_socket: fd=3 of type ACCEPTED has data
*Mar  1 00:25:46.167:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=3
h323chan_dgram_send:Sent UDP msg. Bytes sent: 124 to 60.1.1.1:1719 fd=2
*Mar  1 00:25:46.207: RASLib::GW_RASSendARQ: ARQ (seq# 68) sent to 60.1.1.1
*Mar  1 00:25:46.311: h323chan_chn_process_read_socket
*Mar  1 00:25:46.315: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data*Mar  1 00:25:46.315:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=2
R3#
*Mar  1 00:25:46.319: h323chan_dgram_recvdata:rcvd from [60.1.1.1:1719] on fd=2
*Mar  1 00:25:46.323: ACF (seq# 68) rcvd
R3#h323chan_dgram_send:Sent UDP msg. Bytes sent: 167 to 60.1.1.1:1719 fd=2
*Mar  1 00:25:51.887: RASLib::GW_RASSendIRR: IRR (seq# 69) sent to 60.1.1.1
R3#h323chan_dgram_send:Sent UDP msg. Bytes sent: 104 to 60.1.1.1:1719 fd=2
*Mar  1 00:25:53.699: RASLib::GW_RASSendDRQ: DRQ (seq# 70) sent to 60.1.1.1
*Mar  1 00:25:53.787: h323chan_chn_process_read_socket
*Mar  1 00:25:53.787: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data
*Mar  1 00:25:53.791:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=2
*Mar  1 00:25:53.795: h323chan_dgram_recvdata:rcvd from [60.1.1.1:1719] on fd=2
*Mar  1 00:25:53.795: DCF (seq# 70) rcvdh323chan_dgram_send:Sent UDP msg. Bytes sent: 87 to 60.1.1.1:1719 fd=2
*Mar  1 00:25:53.843: RASLib::GW_RASSendRRQ: RRQ (seq# 71) sent to 60.1.1.1
R3#
*Mar  1 00:25:54.347: h323chan_chn_process_read_socket
*Mar  1 00:25:54.351: h323chan_chn_process_read_socket: fd=2 of type CONNECTED has data
*Mar  1 00:25:54.351:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=2
*Mar  1 00:25:54.355: h323chan_dgram_recvdata:rcvd from [60.1.1.1:1719] on fd=2
*Mar  1 00:25:54.363: RCF (seq# 71) rcvd
*Mar  1 00:25:54.951: h323chan_chn_process_read_socket
*Mar  1 00:25:54.951: h323chan_chn_process_read_socket: fd=3 of type ACCEPTED has data
*Mar  1 00:25:54.951:  h323chan_chn_process_read_socket: h323chan accepted/connected fd=3

There are few more RAS Messages shared between the Gatekeeper and the endpoints, however, will try to simulate and share it soon.
Cheers!!!

You may also like...

2 Responses

  1. Karunakar K says:

    Hi Avinash,
    This is great docement.
    Regards,
    Karunakar K

Leave a Reply

Your email address will not be published. Required fields are marked *