H.323 Signaling

H.323 operates using three main protocols, discussed at length in Chapter 4:

RAS Messaging Details

The RAS protocol supported by CallManager includes specific message types and information elements. The RAS message support provided by CallManager is the H.225 version 2 protocol. Tables C-1 through C-7 describe the specific fields. The tables are arranged alphabetically by message type. Table C-1 shows the fields that an H.323 entity uses to discover the gatekeeper. CallManager does not currently support RAS discovery messages, but they are included here for completeness.

Table C-1. H.225 RAS Terminal and Gateway Discovery Message Details: User-User Information Element (UUIE) Fields

Message

Field Name

Comments

GRQ (Gatekeeper Request) to GK (Gatekeeper)

requestSeqNumber

Not used in CallManager 4.1

protocolIdentifier

nonStandardData

rasAddress

endpointType

gatekeeperIdentifier

callServices

endpointAlias

alternateEndpoints

tokens

cryptoTokens

authenticationCapability

algorithmsOIDs

integrity

integrityCheckValue

GCF (Gatekeeper Confirmation) from GK

requestSeqNumber

Allowed, but ignored when received

protocolIdentifier

nonStandardData

gatekeeperIdentifier

rasAddress

alternateGatekeeper

authenticationMode

tokens

cryptoTokens

algorithmsOIDs

integrity

integrityCheckValue

GRJ (Gatekeeper Reject) from GK

requestSeqNumber

Allowed, but ignored when received

protocolIdentifier

nonStandardData

gatekeeperIdentifier

rejectReason

altGKInfo

Tokens

cryptoTokens

integrityCheckValue

CallManager uses registration messages to register with the gatekeeper that the manual or automatic discovery process identifies. CallManager attempts to register with the gatekeeper and, if not successful, retries the registration at configurable intervals.

Table C-2 shows the fields that CallManager uses to register with the gatekeeper.

Table C-2. H.225 RAS Registration Message Details: UUIE Fields

Message

Field Name

Comments

RRQ (Registration Request) to GK

requestSeqNumber

Unique sequence number that is incremented for each new request

protocolIdentifier

Set to v2

nonStandardData

Not used

discoveryComplete

Set to false

callSignalAddress

Set to the IP and port of the call signaling address

rasAddress

Set to the IP and port of the RAS signaling address

terminalType

Set to indicate terminal or gateway device

terminalAlias

No alias set

gatekeeperIdentifier

Gatekeeper ID set

alternateEndpoints

Set to transport addresses of alternate CallManager nodes

timeTolive

Set to configuration value; defaults to 60

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

keepAlive

Set to true if this is a refresh registration

endpointIdentifier

Endpoint ID set

willSupplyUUIEs

Defaults to false

RCF (Registration Confirmation) from GK

requestSeqNumber

Unique sequence number

protocolIdentifier

CallManager does not screen this field

nonStandardData

Not used

callSignalAddress

CallManager sends H.225 signaling to this address

terminalAlias

Not used

gatekeeperIdentifier

Identifies the H.323 zone

endpointIdentifier

Endpoint identifier

alternateGatekeeper

Defines gatekeepers to contact if registering gatekeeper is unavailable

timeTolive

CallManager periodically reregisters according to this timer

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

willRespondToIRR

Ignored

pregrantedARQ

Not used

RRJ (Registration Reject) from GK

requestSeqNumber

Unique sequence number

protocolIdentifier

Not screened

nonStandardData

Not used

rejectReason

Reject reason

gatekeeperIdentifier

Indicates the zone of the rejecting gatekeeper

altGKInfo

Indicates an alternate gatekeeper with which to register

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

CallManager uses unregistration messages to unregister from the gatekeeper when a gatekeeper registered device is stopped. Table C-3 shows the fields that CallManager uses to unregister from the gatekeeper.

Table C-3. H.225 RAS Unregistration Message Details: UUIE Fields

Message

Field Name

Comments

URQ (Unregister Request) to GK

requestSeqNumber

Unique sequence number that is incremented for each new request

protocolIdentifier

Not screened

callSignalAddress

Set to the IP and port of the call signaling address

endpointAlias

Not set

nonStandardData

Not used

endpointIdentifier

Indicates the identifier of the unregistering request

alternateEndpoints

Not used

gatekeeperIdentifier

Not set

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

reason

CallManager sets no reason and ignores the reason when receiving a URQ

UCF (Unregister Confirm) from GK

requestSeqNumber

Allowed, but ignored when received

nonStandardData

tokens

cryptoTokens

integrityCheckValue

URJ (Unregister Reject) from GK

requestSeqNumber

Allowed, but ignored when received

rejectReason

nonStandardData

altGKInfo

tokens

cryptoTokens

integrityCheckValue

CallManager uses call admission control to discover routes to other CallManager clusters and gateways and to determine whether enough bandwidth exists for CallManager to place or receive a call.

Table C-4 shows the fields that CallManager uses to exchange call admission control messages with the gatekeeper.

Table C-4. H.225 RAS Admission Message Details: UUIE Fields

Message

Field Name

Comments

ARQ (Admission Request) to GK

requestSeqNumber

Unique sequence number that is incremented for each new request

callType

Set to point to point

callModel

Not set

endpointIdentifier

Set to endpoint ID

destinationInfo

Up to 16 E.164 addresses

destCallSignalAddress

IP address, if set by CallManager

destExtraCallInfo

Not set

srcInfo

If present, a list of up to 16 E.164 addresses

srcCallSignalAddress

Set to the IP and port of the call signaling address

bandwidth

Requested bandwidth to be used

callReferenceValue

Set to call reference value for this call

nonStandardData

Not used

callServices

Set to None

conferenceId

Unique conference identifier

activeMC

Set to false for no multipoint controller (MC)

answeredCall

Set to true if call is incoming, false on outgoing

canMapAlias

Set to true

callIdentifier

Unique call identifier

srcAlternatives

Set to None

gatekeeperIdentifier

Not set

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

transportQOS

Not supported

willSupplyUUIEs

Defaults to false

ACF (Admission Confirm) from GK

requestSeqNumber

Unique sequence number

bandWidth

Not used

callModel

CallManager always acts as if the response is direct

destCallSignalAddress

Uses the IP address to specify the call signaling address; used if configured for anonymous device; ignored otherwise

irrFrequency

Used to specify the Information Request Response (IRR) frequency in seconds while on the call

nonStandardData

Not used

destinationInfo

Not used

destExtraCallInfo

Not used

destinationType

Not used

remoteExtensionAddress

Not used

alternateEndpoints

Transport address of associated H.323 trunks

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

transportQOS

Not supported

willRespondToIRR

Not used

uuiesRequested

Not used

ARJ (Admission Reject) from GK

requestSeqNumber

Unique sequence number

rejectReason

Used only for ARJ trace display

nonStandardData

Not used

altGKInfo

If provided, CallManager contacts the alternate gatekeeper

tokens

Not supported

cryptoTokens

Not supported

callSignalAddress

Not used

integrityCheckValue

Not supported

CallManager does not use bandwidth control messages by default. Bandwidth control messages are used if you set the service parameter to enable bandwidth control. Table C-5 shows the bandwidth message fields.

Table C-5. H.225 RAS Bandwidth Message Details: UUIE Fields

Message

Field Name

Comments

BRQ (Bandwidth Request) from GK

requestSeqNumber

CallManager returns a BRJ (Bandwidth Reject)

 

endpointIdentifier

 
 

conferenceID

 
 

callReferenceValue

 
 

callType

 
 

bandWidth

 
 

nonStandardData

 
 

callIdentifier

 
 

gatekeeperIdentifier

 
 

tokens

 
 

cryptoTokens

 
 

integrityCheckValue

 
 

answeredCall

 

BRQ (Bandwidth Request) to GK

requestSeqNumber

Unique sequence number

endpointIdentifier

Endpoint identifier

conferenceID

Unique conference identifier

callReferenceValue

Call reference value

callType

Point to point

bandWidth

New bandwidth

nonStandardData

Not used

callIdentifier

Unique call identifier

gatekeeperIdentifier

Not supported

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

answeredCall

True on terminating side

BCF (Bandwidth Confirm) from GK

requestSeqNumber

Unique sequence number

bandWidth

Bandwidth granted

nonStandardData

Not used

tokens

Not used

cryptoTokens

Not used

integrityCheckValue

Not used

BRJ (Bandwidth Reject) from GK

requestSeqNumber

Unique sequence number

rejectReason

Reason bandwidth change was disallowed

allowedBandWidth

Amount of bandwidth allowed

nonStandardData

Not used

altGKInfo

ID of alternate gatekeeper

tokens

Not used

cryptoTokens

Not used

integrityCheckValue

Not used

Gatekeepers use disengage messages to force a call to be dropped. CallManager uses disengage messages to indicate that an endpoint is being dropped.

Table C-6 shows the fields that CallManager uses to exchange disengage messages with the gatekeeper.

Table C-6. H.225 RAS Disengage Message Details: UUIE Fields

Message

Field Name

Comments

DRQ (Disengage Request) to or from GK

requestSeqNumber

Unique sequence number

endpointIdentifier

Endpoint identifier

conferenceID

Unique conference identifier

callReferenceValue

Call reference value

disengageReason

If sent, set to reason; if received, used to set the release complete reason

nonStandardData

Not used

callIdentifier

Unique call identifier

gatekeeperIdentifier

Not used

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

answeredCall

Supported

DCF (Disengage Confirm) to or from GK

requestSeqNumber

Unique sequence number

nonStandardData

Not used

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

DRJ (Disengage Reject) from GK

requestSeqNumber

Unique sequence number

rejectReason

CallManager ignores

nonStandardData

Not used

altGKInfo

Not supported

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

The gatekeeper sends Information Request (IRQ) messages to request status information. CallManager responds to information request messages from the gatekeeper with Information Request Response (IRR) messages, but CallManager does not send unsolicited IRQ messages to the gatekeeper. IRR messages are sent at the intervals specified by the irrFrequency field in the ACF message.

Table C-7 shows the fields that CallManager uses to exchange information request messages with the gatekeeper.

Table C-7. H.225 RAS Information Request Message Details: UUIE Fields

Message

Field Name

Comments

IRQ (Information Request) from GK

requestSeqNumber

Unique sequence number

callReferenceValue

Call reference value

nonStandardData

Not used

replyAddress

Not used

callIdentifier

Not used

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

uuiesRequested

Not used

IRR (Information Request Response) to GK

nonStandardData

Not used

requestSeqNumber

Unique sequence number

endpointType

Set to terminal or gateway

endpointIdentifier

Endpoint identifier

rasAddress

Set to the IP address and port of the RAS signaling address

callSignalAddress

Not present

endpointAlias

Not present

perCallInfo

See the following perCall fields

perCallInfo.nonStandardData

Not used

perCallInfo.callReferenceValue

Call reference value

perCallInfo.conferenceId

Unique conference ID

perCallInfo.originator

Set to false

perCallInfo.audio

Not set

perCallInfo.video

Not set

perCallInfo.data

Not set

IRR (Information Request Response) to GK

perCallInfo.h245

Set to false

perCallInfo.callSignaling

Not present

perCallInfo.callType

Point to point

perCallInfo.bandwidth

Set to 1280 for a G.711 call; 480 for a G.729 call

perCallInfo.callModel

Set to direct

perCallInfo.callIdentifier

Call ID

perCallInfo.tokens

Not supported

perCallInfo.cryptoTokens

Not supported

perCallInfo.substituteConfIDs

Not supported

perCallInfo.pdu

Not supported

tokens

Not supported

cryptoTokens

Not supported

integrityCheckValue

Not supported

needResponse

Not supported

IACK (Information Request Acknowledgement) from GK

requestSeqNumber

Allowed, but ignored when received

nonStandardData

tokens

cryptoTokens

integrityCheckValue

INAK (Information Request Negative Acknowledgement) from GK

requestSeqNumber

Allowed, but ignored when received

nonStandardData

nakReason

altGKInfo

tokens

cryptoTokens

integrityCheckValue

 

H.225 Messaging Details

H.323 messages, including the call signaling messages, follow the ITU-T Q.931 recommendation as specified in H.323. In H.323, the user-user information element (UUIE) conveys the H.323-related information. The H.323 user information protocol data unit (PDU) is ASN.1-encoded. The ASN.1 is encoded using the basic aligned variant of the packed encoding rules as specified in X.691. The ASN.1 structure begins with H323-UserInformation.

H.225 is the call signaling protocol that is supported in the H.323 protocol umbrella. H.225 includes the call signaling messages and the RAS messages. This section covers the specific details of the H.225 call signaling messages.

Table C-8 lists each H.225 message and provides the specific UUIE fields of the H.225 call signaling messages that CallManager exchanges with an H.323 gateway or CallManager H.323 trunk (gateway in table).

Table C-8. H.225 Call Signaling Message Details: UUIE Fields

Message

Field Name

Comments

Alerting from gateway

protocolIdentifier

Assumes version 2 (v2); only v2 fields are processed

destinationInfo

Used

h245Address

Used if present

callIdentifier

Unique call identifier

h245SecurityMode

Not supported

tokens

Not supported

cryptoTokens

Not supported

fastStart

Supported

Alerting to gateway

protocolIdentifier

Set to v2

destinationInfo

Endpoint type terminal

h245Address

If present at alerting, contains the IP address and port of the CallManager H.245 transport address

callIdentifier

Unique call identifier

h245SecurityMode

Not supported

tokens

Not supported

cryptoTokens

Not supported

fastStart

Supported

CallProceeding from gateway

protocolIdentifier

Assumes v2; only v2 fields are processed

destinationInfo

Used

h245Address

Used if present

callIdentifier

Unique call identifier

h245SecurityMode

Not supported

tokens

Not supported

cryptoTokens

Not supported

fastStart

Supported

CallProceeding to gateway

protocolIdentifier

Set to v2

destinationInfo

Endpoint type terminal

h245Address

If present at CallProceeding, contains the IP address and port of the CallManager H.245 transport address

callIdentifier

Unique call identifier

h245SecurityMode

Not supported

tokens

Not supported

cryptoTokens

Not supported

fastStart

Supported

Connect from gateway

protocolDiscriminator

Assumes v2; only v2 fields are processed

h245Address

Used if present; required if not present in previous message

destinationInfo

Used

conferenceId

Required

callIdentifier

Unique call identifier

h245SecurityMode

Not supported

tokens

Not supported

cryptoTokens

Not supported

fastStart

Supported

Connect to gateway

protocolDiscriminator

Set to v2

h245Address

Contains the IP address and port of the CallManager H.245 transport address

destinationInfo

Endpoint type terminal

conferenceId

Unique conference identifier

callIdentifier

Unique call identifier

h245SecurityMode

Not supported

tokens

Not supported

cryptoTokens

Not supported

fastStart

Supported

Facility from and to gateway

protocolDiscriminator

Set to v2

alternativeAddress

Not used

alternativeAliasAddress

Not used

conferenceID

Not used

reason

Used

callIdentifier

Unique call identifier

destExtraCallInfo

Not used

remoteExtensionAddress

Not used

tokens

Not used

cryptoTokens

Not used

conferences

Not used

h245Address

Not used

UserInformation from gateway

protocolIdentifier

Assumes v2; only v2 fields are processed

callIdentifier

Not used

UserInformation to gateway

protocolIdentifier

Set to v2

callIdentifier

Unique call identifier

Progress from gateway

protocolIdentifier

Assumes v2; only v2 fields are processed

destinationInfo

Not used

h245Address

Used if present; required if not present in previous message

callIdentifier

Unique call identifier

h245SecurityMode

Not supported

tokens

Not supported

cryptoTokens

Not supported

fastStart

Supported

Progress to gateway

protocolIdentifier

Set to v2

destinationInfo

Endpoint type terminal

h245Address

Contains the IP address and port of the CallManager H.245 transport address

callIdentifier

Unique call identifier

h245SecurityMode

Not supported

tokens

Not supported

cryptoTokens

Not supported

fastStart

Supported

ReleaseComplete from gateway

protocolIdentifier

Assumes v2; only v2 fields are processed

reason

Reason for disconnect

callIdentifier

Unique call identifier

ReleaseComplete to gateway

protocolIdentifier

Set to v2

reason

Reason for disconnect

callIdentifier

Unique call identifier

Setup from gateway

protocolIdentifier

Assumes v2; only v2 fields are processed

h245Address

Contains the IP address and port of the CallManager H.245 transport address

sourceInfo

Not used

sourceAddress

Source address if provided

destinationAddress

Not used; E.164 address is in the Q.931 called party number IE (information element)

destCallSignalAddress

Not used

destExtraCallInfo

Not used

destExtraCRV

Not used

activeMC

Used

conferenceId

Unique conference identifier

conferenceGoal

Used

callServices

Not used

callType

Used

sourceCallSignalAddress

Used

remoteExtensionAddress

Not used

callIdentifier

Unique call identifier

h245SecurityCapability

Not supported

tokens

Not supported

cryptoTokens

Not supported

fastStart

Supported

mediaWaitForConnect

Used if present; defaults to false if not present

canOverlapSend

Not used

Setup to gateway

protocolIdentifier

Set to v2

h245Address

Contains the IP address and port of the CallManager H.245 transport address

sourceInfo

Endpoint type terminal

sourceAddress

Source address as E.164 address, H.323 alias, or both

destinationIAddress

E.164 address present here and also included in the Q.931 called party number IE (information element)

destinationCallSignalAdd ress

Not used

destExtraCallInfo

Not used

destExtraCRV

Not used

activeMC

Used

conferenceId

Unique conference identifier

conferenceGoal

Set to create

callServices

Not used

callType

Point to point

sourceCallSignalAddress

Used

remoteExtensionAddress

Not used

callIdentifier

Unique call identifier

h245SecurityCapability

Not supported

tokens

Not supported

cryptoTokens

Not supported

fastStart

Supported

mediaWaitForConnect

Set to true

canOverlapSend

Set to false

Категории