Packetizer Logo
 

Setting the Call Reference Value (CRV) Flag (Q118)

The information in this article applies to:

H.225.0 uses a Call Reference Value (CRV) to distinguish call legs signaled between two entities. This purpose for the CRV originates in Q.931, where two signaling peers might have multiple call legs between them and have a need to discern one call from another. H.225.0v2 introduced the idea of a global call identifier which provides a better solution to this problem than CRV, but the CRV field simply cannot be removed from the standard and must still be properly populated.

Within the CRV field, the most significant bit is called the "flag" bit. This bit indicates which entity created the call reference. The entity that creates the call reference will always send messages with the flag bit set to 0. The entity that did not create the call reference will set the bit to 1. The reason for this is that two devices may originate a call between each other at the same time and may happen to select the same call reference value. By using the flag bit, it is possible to tell if an incoming message refers to a call the receiver of the message originated or whether it refers to a call the sender of the message originated.

For H.323 devices, there are special rules above any beyond those defined in Q.931. The procedures are described in the balance of this note.

When initiating a new call, the calling H.323 endpoint will allocate a CRV value to use for the call (let's call it CRV1). It will set the flag bit to 0 and use that in the ARQ. The gatekeeper will set the flag bit to 1 when it sends an RAS message related to CRV1 to the endpoint. The SETUP message will contain the same CRV (CRV1) as was used in the ARQ and will have the flag bit set to 0. Remember, the CRV is only "link significant", so the destination endpoint will select a new CRV (CRV2) to send to its gatekeeper when sending an ARQ. It may happen to be the same value, but that should just be coincidence. In the ARQ sent from the called endpoint to its gatekeeper, that CRV will have the flag bit set to 0. Messages from the gatekeeper to the called endpoint related to CRV2 will have the the flag bit to 1. The destination endpoint will also set the flag bit to 1 when it sends messages to the calling endpoint, including CALL PROCEEDING, ALERTING, and CONNECT.